feat(admission): surface pending proposals
The board stays honest.
The Hub's web app, its MCP endpoint, and the CLI read the same state. "In progress" means an agent is working right now, not that someone forgot to move a card.

Live state, and the reason behind it.
Live counts
Running, queued, waiting, blocked, and completed over the last 48 hours, across every project in the organization.
Running agents
Which issue each agent has, how long it has been working, and what it is doing right now: dispatch, gate command, or Change Request.
Why something is stopped
The lane, plus the actual reason: dependency not ready, project paused, plan capacity reached, landing refused with its reason.
Token, budget, and rate limit
Live spend against your cap and the current rate-limit posture, so a run that is about to hit a wall is visible before it does.
Reports and activity
Reports, an activity feed, and saved Work views that show where work is accumulating and how long it sits in each lane.
Density and staleness
Compact, cozy, and comfy card densities, in the same Templ and HTMX shell on desktop and narrow screens.
The dashboard is also an API. Everything the browser renders is available as JSON. Dashboard and APIs →
Detent's configured delivery path.
The Hub's native board holds the lanes. GitHub issues can be imported into it; they are not the source of truth.
feat(health): surface stranded active work
chore(safety): guard dispatch capacity paths
fix(scheduler): clean orphan cycle state
fix(orchestrator): add token progress brake
released only by you
fix(board): collapse staleness warnings
docs(cli): refresh version output example
test(project): relax watcher deadlock guard
The six lanes shown come from Detent's own production configuration, not a fixed product state model; each workflow defines its own states. This is not a live board: the issue numbers and titles come from real merged work in digitaldrywood/detent, composed across the path for this illustration. The counts describe the illustration; 3202 is the all-time landed pull requests on that repository. Lanes for other kinds of work →
Your own agent can read the board.
The Hub exposes its board, issues, changes, runners, and settings over MCP, and the CLI reads the same state.
$ detent state
fleet and project state
$ detent issue
issue explanation reads
$ detent report
operations report exportCreate a key in Settings › API & MCP and point your client at your organization's MCP endpoint. Your agent can file issues, read run history, and review changes.
API & MCP setup →The same system this site is built in.
The dashboard's palette, type scale, and geometry are the ones you are reading right now. The marketing site imports the product's tokens instead of approximating them.
Four semantics, one accent
ok, warn, error, and info, plus teal for interactivity only. Never a fifth semantic, and never accent for status.
Hairlines, not shadows
1px borders carry every boundary. Card radius 6px, chip radius 4px, on a strict 4px spacing grid.
Mono means machine
State names, config, CLI output, and lane labels are set in Geist Mono because they are literal strings, not decoration.
One thing animates
A 6px pulsing dot per active agent, and the held card's ring. Reduced-motion turns both off.
Start free on Detent Cloud. Paid plans add concurrent work and hosted artifacts.
The Hub and runners, the state machine, the gate model, worktree isolation, and serialized landing.
The interaction-model argument, the default choices, and the comparison matrix.
Install a runner or your own Hub: platform-tabbed commands, requirements, and the first run.
Reviewed recordings of Detent moving real work through checked-in workflows.
The curated operator reference, mirrored from a pinned Detent release.
FSL-1.1-ALv2, the repository, releases, contributing, and how Detent builds itself.