Skip to main content

A review-needed lane between "done" and "completed"

· 2 min read
Anchor maintainers

Agent-claimed Done when and human-verified done were the same event. Now they don't have to be.

Every .plans/ lane up to now was either ready to execute, claimed, parked, or archived — and the move from in-progress/ straight to completed/ was entirely self-certified: an agent decided its own Done when held, moved the file, and that was that. For low-stakes work that's fine. For anything a human wants eyes on first, there was no middle step.

review-needed/ is that middle step. An agent that believes a plan's Done when holds can now git mv it from in-progress/ to review-needed/ instead of completed/ — same as today's move, just a different destination when sign-off is wanted. From there:

  • A human moves it on to completed/ when satisfied.
  • A human can send it back to in-progress/ if changes are needed — the same agent (or another) picks it back up.
  • A human can release/return it to bugs//features/ like any other parked work.

The one hard rule: agents must never perform the review-needed/completed/ move themselves. That's not a style preference — it's the entire reason the lane exists. Every doc surface that describes the agent move rule (/work for Claude and Grok, .plans/README.md, the doctrine and fleet-workers docs) states this as an explicit "never," not just an omission from the allowed-moves table.

review-needed/ is never auto-picked or auto-executed by bare /work, the same as ambiguous//blocked/ — and it now counts as open work for Depends on checks, so a plan waiting on one sitting in review-needed/ correctly treats it as unfinished rather than done.

Fresh scaffolds get .plans/review-needed/ automatically; existing projects pick it up on anchor --upgrade.