I3381 — A task counts as accepted only by the written definition of an accepted outcome, with the issue's furthest delivery stage shown beside it
Fill accepted from I0401's definition, called through its function and never restated; show beside it the issue's furthest delivery stage from plan.delivery (pr_open, merged, released, deployed) as a separate field.
BLOCKED wave 1 · p1 · implementation profile · parallel safe
Blocked. This issue cannot start until I3376, I0401 are done. The status is derived from that, not declared.
Objective
Fill accepted from I0401's definition, called through its function and never restated; show beside it the issue's furthest delivery stage from plan.delivery (pr_open, merged, released, deployed) as a separate field.
Why
T3 of the owner's report of 2026-10-19 asks for accepted results. I0401 owns the definition, which must match what the finish contract enforces; a second definition would let the two drift. Delivery stage is shown apart because merged is not accepted.
Current state
share/events.yaml:48-62 declares task.finished with outcome and contract; I0401 is BLOCKED (milestone cost-per-accepted-outcome waits on execution-telemetry), which I3373 asks the owner to cut; apps/majordomus-cli/src/plan/delivery.rs:1-15 (I2740) derives delivery stages.
Desired state
Every record carries accepted by I0401 and the delivery stage, or not_observed until I0401 lands.
Scope
- apps/majordomus-cli/src/economics
- apps/majordomus-cli/tests/economics.rs
- docs/ECONOMICS.md
Out of scope
- Defining accepted (I0401)
- Changing finish
Dependencies
- I3376READY One capability states each task's wall time and episodes from every checkout's ledger, and names every field it cannot yet fill as not observed
- I0401BLOCKED Define an accepted outcome, and join it to its measurements without storing the join
What waits on this
Acceptance criteria
- A task finished as partial is not accepted
- A task finished completed and refused by the contract is not accepted
- accepted equals I0401's function on the same fixture
- Delivery stage is a separate field and never changes accepted
Validation
- cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test economics
- majordomus plan validate
Evidence required
- test_task_accepted_is_the_finish_definition
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/I3381.yaml. Read it back with majordomus plan show I3381.