I3259 — Where the policy says completed means complete, finish refuses completed while a criterion the task serves is unmet, and writes no intent state
Revive milestone finish-reads-what-its-work-serves as a-finish-reads-the-criteria-its-work-serves from origin/rescue/d1/feature/a-finish-reads-what-its-work-serves (dabafa5740a, 2026-10-09): finish asks intents.binding and the verdict for the criteria the task serves and, where policy requires, refuses outcome completed while one is unmet; partial is always available and the refusal says so.
BLOKOVÁNO vlna 1 · p1 · profil implementation · bezpečné paralelně
Part of a-finish-reads-the-criteria-its-work-serves — A finish reads what its work serves.
Blocked. This issue cannot start until I3255, milestone:a-finish-reads-the-criteria-its-work-serves are done. The status is derived from that, not declared.
Cíl
Revive milestone finish-reads-what-its-work-serves as a-finish-reads-the-criteria-its-work-serves from origin/rescue/d1/feature/a-finish-reads-what-its-work-serves (dabafa5740a, 2026-10-09): finish asks intents.binding and the verdict for the criteria the task serves and, where policy requires, refuses outcome completed while one is unmet; partial is always available and the refusal says so.
Proč
Accepted 2026-10-07: no completion without criterion-level evidence; 2026-10-16: finish should feed intent verification. On master finish discharges obligations only (ADR 0107) and the two meet in no code. Sources: chatgpt-majordomus:c270#4.
Aktuální stav
lib/finish.sh and the obligations closure judge evidence tokens; case 895 proves a finished task does not satisfy an intent; the completion policy of #821 ('done is one policy') is also unlanded (rescue branch).
Cílový stav
finish reads the verdict through one capability call and decides nothing about the intent.
Rozsah
- lib/finish.sh
- apps/majordomus-cli/src/intent_binding.rs
- .ai/repo/policy.yaml
Závislosti
Co na tom čeká
Kritéria přijetí
- With the policy set, finish completed is refused naming the unmet criterion; finish partial succeeds
- Without the policy, finish behaves as before
- No intent record changes
Validace
- majordomus plan validate
- majordomus intent validate
- bash test/run.sh 895_a_finished_task_does_not_satisfy_an_intent
Požadované důkazy
- case_a_finish_reads_what_its_work_serves
Důkazy
Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.
Časová osa
- zahájeno
- —
- ověřeno
- —
- dokončeno
- —
Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.
Canonical record: .ai/repo/project/issues/I3259.yaml. Read it back with majordomus plan show I3259.