A workbench, not a dashboard
Laid out like your editor: a palette on ⌘K, an activity bar, tabs, a bottom panel. A change opens as a document with six views — Overview, Tasks, Review, Gates, Ledger, Agent — and the review is a file tree beside the diff, walked with j/k.
The workbenchVerified means verified
Your committed gate, run by Devplane rather than the agent, against a digest of the working tree — uncommitted files included, hashed byte for byte. Touch one file and it is stale. Only the gate that defines done can make a change verified.
Verified doneWeakened checks first
A skipped test, a removed assertion, a test that asserts nothing, a loosened tolerance, an edited CI file: read before anything is green, and the offer waits until you have. Your spec folder — Spec Kit, OpenSpec, Kiro — says what was asked for.
Review before you mergeAny ACP agent, and the ones you already run
Drives Claude Code, Codex, GitHub Copilot, OpenCode and Gemini CLI, or any agent you name in one file. Watches the sessions you started yourself, and says which ones it cannot see.
Driving agentsDevplane never approves
It can refuse a tool call and put one in front of you; it cannot approve one. Rules use Claude Code’s syntax, reach through shell tricks, and fail closed when the file will not load. An agent cannot answer its own permission.
PermissionsWho decided
Every decision is on the record with its authority — a person, a rule, a timer, nobody, or Devplane doing what your project wrote down. “Refused” is not an answer; “refused by Bash(rm *)” is.
The decision log