Skip to content

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.

BLOCKED wave 1 · p1 · implementation profile · parallel safe

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.

Objective

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.

Why

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.

Current state

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).

Desired state

finish reads the verdict through one capability call and decides nothing about the intent.

Scope

  • lib/finish.sh
  • apps/majordomus-cli/src/intent_binding.rs
  • .ai/repo/policy.yaml

Dependencies

What waits on this

Acceptance criteria

  • 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

Validation

  • majordomus plan validate
  • majordomus intent validate
  • bash test/run.sh 895_a_finished_task_does_not_satisfy_an_intent

Evidence required

  • case_a_finish_reads_what_its_work_serves

Evidence

None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.

Timeline

started
—
verified
—
completed
—

Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.

Canonical record: .ai/repo/project/issues/I3259.yaml. Read it back with majordomus plan show I3259.

Searches the titles and descriptions of every page this site publishes.