A human ratifies intent, dispatches one bounded work order at a time with an explicit capability grant, an agent works inside that grant, a separate review checks the result against the record, and the human accepts on evidence. Between work orders the project is locked. Everything is plain files in your repository. There is no service.
Spec tools answer what should the agent build. Plumbline answers what comes after: who authorized this change, what was the agent allowed to touch, what did it try, what was actually blocked, and what did a human accept.
Repository: github.com/HLLMR/plumbline
It ran on itself for ten work orders. The credibility hook is one number and it is the honest one: 0 capability surfaces were fully mechanically enforced under the strict definition, in every counted order, because the shipped hook covers the file-edit tools and not writes made through a shell. The same log records 12 denials and 0 successful out-of-grant mutations. Both facts are in the repository.
A wall nobody has watched deny anything is an assumption.
Doctrine 8.3.5
The methodology is document control, moved from construction to software. In building automation you do not accept a smoke damper because the submittal says it closes. You put it in alarm and you watch it close. That is the birth test. You do not regenerate a plan from the as-built and call the drift resolved. You hold the plan and the state as two documents that must agree. A decision without its rejected alternatives transfers the conclusion and not the ability to judge the next case. Twenty years of that discipline is where every part of Plumbline came from.
The full mapping is an essay: Document control for AI-assisted development. It is the argument in long form, and it stands on its own without the repository.
Stated plainly, because the methodology requires it of itself.
| Enforcement | The only mechanical enforcement shipped is a Claude Code adapter. With any other agent it is instruction-bounded, and the README uses those two words. The hook also cannot fail closed on its own absence: if it does not start, it does not block. |
| Sessions | Agents still degrade inside long sessions. The method makes sessions short and their deaths cheap. It does not make them immortal. |
| Judgment | A vacuous plan yields vacuous conformance. Gates check work against intent. They cannot supply intent. |
| Evidence | One pilot on one repository. It shows the records exposed real drift and that tested channels blocked forbidden actions. It does not prove Plumbline lowers cost or generalizes to other teams. |
Limits from Doctrine Part 10 and adapters/claude-code/README.md.