I1407 — One issue travels the whole path and back, as an executable case
Prove the milestone with a case that carries one synthetic issue from outcome to accepted completion and then traverses the same chain backwards, offline, against fixtures.
DONE wave 3 · p1 · implementation profile · runs alone
Objective
Prove the milestone with a case that carries one synthetic issue from outcome to accepted completion and then traverses the same chain backwards, offline, against fixtures.
Why
Every claim in this milestone is about a chain, and a chain is only proved end to end. Testing each link separately is how a model passes its tests and still cannot answer which outcome a merged pull request served.
Current state
test/cases/45_github_projection.sh covers the adapter's rendering and its refusal to overwrite. Nothing covers the path from milestone through branch, commit and pull request to accepted evidence.
Desired state
A case builds a synthetic repository, walks the chain forwards and backwards, and fails if any link cannot be derived.
Scope
- test/cases
- apps/majordomus-cli/tests
- .ai/repo/use-cases
Out of scope
- A test that reaches the network by default
Dependencies
- I1404DONE The drift check is a gate, so a projection that stops being applied cannot stay silent
- I1405DONE A pull request names the issue it realises, and the edge is derived rather than remembered
- I1406DONE The plan's derivations are capabilities, so every surface reads the readiness the terminal reads
Acceptance criteria
- The forward path is derived: milestone, issue, branch, worktree, commits, pull request, checks, evidence, accepted
- The backward path is derived from a merged commit to the acceptance criteria it satisfied and the outcome it served
- The case runs offline against fixtures and is deterministic
- Completion is refused when evidence is absent even though the remote issue is closed, proved by the case
Validation
- bash test/run.sh
- majordomus usecase coverage
Evidence required
- chain_proved_both_ways
Evidence
| covers | type | command | result | at commit |
|---|---|---|---|---|
| chain_proved_both_ways | test | bash test/run.sh 99_work_graph_chain | one synthetic issue carried outcome to accepted completion and walked back from both the work commit and the merge commit to the issue and milestone they served; a commit with no contract reports unattributed rather than being dropped; completion is refused while required evidence is missing even though the fixture remote has the issue closed, and the projection reports that as DRIFT closed; offline, no token | 0df29db |
Risk
Low, once the links exist.
Timeline
- started
- 2026-09-09T22:00:42Z
- verified
- 2026-09-09T22:00:54Z
- completed
- 2026-09-09T22:00:58Z
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/I1407.yaml. Read it back with majordomus plan show I1407.