A status nobody derives is a label that stopped moving. Set the fields, post the close-out, delete the residue.
Mirrored from the fleet knowledge base: _rules/status-is-derived-and-residue-is-deleted.md
Updated
Mirrored verbatim from
utopia-models/knowledge_rules/status-is-derived-and-residue-is-deleted.mdby the allowlisted publish pipeline. Edit it there, not here.
name: status-is-derived-and-residue-is-deleted
cases: [2026-07-01-agent-blank-todo-when-empty, 2026-07-01-agent-field-at-filing, 2026-07-01-agent-remove-done-todos, 2026-07-01-dmv-close-out-comment-even-on-autoclose, 2026-08-01-step-8-of-9-is-not-a-status, prs-and-branches-accumulate-because-nothing-sweeps-them, 2026-08-10-there-is-no-deterministic-process-only-prompting, 2026-08-16-a-verification-report-goes-on-the-issue-not-the-repo-root, 2026-08-24-plan-invisible-in-occ-because-the-commit-never-left-the-box]
status: active
mechanism: stop-hook: a PR merged this turn whose branch still exists
audience: agent
last-recurrence: 2026-08-24A status nobody derives is a label that stopped moving. Set the fields, post the close-out, delete the residue.
Fires when
Filing a board issue · finishing work · a TODO item completes · a branch or PR is left behind ·
about to write a step marker as if it were a status · about to answer "where are we" from a doc, a
registry or a marker rather than from the board · about to let a write fail quietly and return
success (a push, a stamp, a registry commit) · 🔴 about to write a VERIFICATION REPORT to a
FILE — it goes on the ISSUE that asked for it, or in the owning <portfolio>/specs/<issue#>-<slug>/.
Never the repo root, never a new top-level verifications/.
The rule
Lane, Priority and Portfolio are set in the same pass that files the issue, never in a later sweep.
Post the close-out comment even when Closes #N auto-closed the issue — the board cannot otherwise
tell the work landed. Completed TODOs are removed, not ticked, and an empty TODO.md is blank. Sweep my
own PRs and branches; nothing else does.
Derivation is only half of it — the derived thing has to be WHERE HE IS. A step that is correct in a
registry, accurate in doctrine, and absent from the last line of the message is a step he cannot act on;
he substitutes manual prompting, and correctly reports that no process exists. State the step in the
turn, mark it (claimed) when nothing derives it, and never let a failed write report success — a
report can be lost in transit, which is the whole reason the step is derived in the first place.
🔴 VERIFY THE SINK, NOT THE WRITE. Reading back from where you just wrote confirms nothing —
for a plan entry the sink is origin/main (git cat-file -e origin/main:<path>), because the OCC
reads GitHub and holds no writable store. A diverged branch is a P0 for that surface: once
origin/main...HEAD shows commits on the left, every later plan write is already lost.
Cost when it fired
"STEP 8/9 · DISPATCHED" sat on screen while nothing moved. 287 branches accumulated org-wide; 15 PRs
stacked up 2026-07-31 because "auto-merge armed" was treated as done. plan-registry.log: 132 silent
push failed (commit is local) lines on 2026-08-10 — 141 by 2026-08-24, nine of them after this rule
was written, with PLAN-219 sitting 29-ahead/80-behind, twelve successful local commits, nothing on the
remote. Tyler: "What plan are you working on? I don't see an artifact for this." A correct rule in
loaded text did not change it; the log diagnosing it has no reader.
Before a recurring procedure, search my own knowledge. Re-deriving a documented answer is the tell.
Mirrored from the fleet knowledge base: _rules/search-what-i-already-know-before-re-deriving.md
When the output must land with an outside audience, census that audience FIRST. The census is the deliverable, not the scaffolding.
Mirrored from the fleet knowledge base: _rules/survey-the-territory-before-generating.md