I0103 — Implement the decision and prove it holds
Make the chosen behaviour real in the question store and the blocker gate, and turn the characterisation case from I0101 into a case that fails when the behaviour is removed.
DONE wave 2 · p1 · implementation profile · runs alone
Part of M001 — A blocking question survives a handover.
Objective
Make the chosen behaviour real in the question store and the blocker gate, and turn the characterisation case from I0101 into a case that fails when the behaviour is removed.
Why
The gate is the only mechanism in the tool that stops a completed finish for a human reason. A gate with a known escape is worse than none, because people trust it.
Current state
The gate reads only unresolved questions belonging to the active task.
Desired state
The behaviour the decision chose is implemented, and removing it turns a case red.
Scope
- lib/question.sh
- lib/check.sh
- test/cases
Out of scope
- Changing any other line of the finish contract
Dependencies
What waits on this
Acceptance criteria
- The case from I0101 asserts the chosen behaviour rather than the gap
- Reverting the implementation turns that case red, demonstrated by running it against the reverted source
- majordomus doctor and majordomus watch stay green
Validation
- bash test/run.sh 50_blocker_across_handover
- bin/majordomus doctor
Evidence required
- behaviour_tested
Evidence
| covers | type | command | result | at commit |
|---|---|---|---|---|
| behaviour_tested | test | bash test/run.sh 50_blocker_across_handover | 1 passed — a question opened by one task refuses a completed finish in the next, any task can resolve it, the shipped template comment is not an entry, and a probe that narrows the gate back to the active task reproduces the escape while the real gate refuses it | 83b72cb |
Risk
The question store's line format is machine-written and read by three commands; a change to it has to keep every existing entry parseable, which majordomus.questions-store-integrity checks.
Timeline
- started
- 2026-09-04T07:05:35Z
- verified
- 2026-09-04T07:32:11Z
- completed
- 2026-09-04T07:32:14Z
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/I0103.yaml. Read it back with majordomus plan show I0103.