Part of #195. Blocked on #215 (the role runner).
Today
adopt ranks evidence that an item is already delivered: a checked plan box or a closed issue naming it, then the item's own verify: command, then — for anything still unproven — an assessor model, asked in one call, with citations.
The assessor is asked to produce citations for a repository it cannot read. It gets whatever context the caller assembled and must decide whether work exists, from that.
Why this is the same defect
"Is this already done?" is the most look-at-the-repository question in the harness. It is entirely evidence-gathering. A model doing it from a snapshot is guessing with footnotes.
This is not hypothetical: #149 was exactly this failure at the rung below. A verify: command that matched nothing exited 0 and was accepted as proof, because one exit code was the whole decision. The fix made a passing verification an unconfirmed candidate requiring a second rung — and the second rung is this assessor, which cannot verify anything either.
What is wanted
The assessor becomes a role-runner call with a read-only environment. It can grep for the symbol the item names, read the test that would prove it, and cite what it actually found.
Everything that makes adopt safe is unchanged and must stay: a proposal is never a decision; nothing is dropped unless a human names it with --approve-drop; uncertainty resolves to still-to-do; ambiguous matches and prior failed attempts are reported rather than resolved.
Read-only for the obvious reason — an assessor that can edit the repository could make an item true.
Acceptance
- An assessor citation names a file and line it found by searching, and the citation is checkable.
- The rung ordering is unchanged: a failing
verify: still outranks an assessor done.
--approve-drop is still required. A more capable assessor must not become an automatic one.
- Mock end-to-end test proving the assessor cannot write, and proving an unconfirmed candidate still leaves the work to do.
Blind spots
- A more convincing assessor is more dangerous, not less: better citations make a wrong drop easier to approve. The
--approve-drop gate is the only thing standing between this and lost work, and nothing measures how often a human agrees with it.
- Cost per adopted project rises with repository size, and
adopt reads a whole project rather than one item.
Part of #195. Blocked on #215 (the role runner).
Today
adoptranks evidence that an item is already delivered: a checked plan box or a closed issue naming it, then the item's ownverify:command, then — for anything still unproven — anassessormodel, asked in one call, with citations.The assessor is asked to produce citations for a repository it cannot read. It gets whatever context the caller assembled and must decide whether work exists, from that.
Why this is the same defect
"Is this already done?" is the most look-at-the-repository question in the harness. It is entirely evidence-gathering. A model doing it from a snapshot is guessing with footnotes.
This is not hypothetical: #149 was exactly this failure at the rung below. A
verify:command that matched nothing exited 0 and was accepted as proof, because one exit code was the whole decision. The fix made a passing verification an unconfirmed candidate requiring a second rung — and the second rung is this assessor, which cannot verify anything either.What is wanted
The assessor becomes a role-runner call with a read-only environment. It can
grepfor the symbol the item names, read the test that would prove it, and cite what it actually found.Everything that makes
adoptsafe is unchanged and must stay: a proposal is never a decision; nothing is dropped unless a human names it with--approve-drop; uncertainty resolves to still-to-do; ambiguous matches and prior failed attempts are reported rather than resolved.Read-only for the obvious reason — an assessor that can edit the repository could make an item true.
Acceptance
verify:still outranks an assessordone.--approve-dropis still required. A more capable assessor must not become an automatic one.Blind spots
--approve-dropgate is the only thing standing between this and lost work, and nothing measures how often a human agrees with it.adoptreads a whole project rather than one item.