I4001 — The execution state machine has Authorizing, Claimed, Verifying, Refused and UnknownOutcome
Add Authorizing, Claimed, Verifying, Refused and UnknownOutcome to the execution state machine with may_move_to for each edge and a versioned event schema (Mission Control B3).
BLOCKED wave 1 · p1 · implementation profile · runs alone
Blocked. This issue cannot start until I4000 is done. The status is derived from that, not declared.
Objective
Add Authorizing, Claimed, Verifying, Refused and UnknownOutcome to the execution state machine with may_move_to for each edge and a versioned event schema (Mission Control B3).
Why
The executor knows only running and its terminal states, so a refused start, a claimed-but-not-started item and a run whose outcome is unknown are indistinguishable.
Current state
Not built: this issue is planned by the milestone a-session-proceeds-through-the-mesh and nothing of it exists.
Desired state
The acceptance criteria below hold and case 4001 proves them.
Scope
- apps/majordomus-cli/src/execution/model.rs
- apps/majordomus-cli/src/execution
- share/schemas/majordomus
- docs/EXECUTIONS.md
- test/cases/4001_the_execution_state_machine_names_authorizing_to_unknown_outcome.sh
- .ai/repo/project/issues/I4001.yaml
Dependencies
What waits on this
Acceptance criteria
- may_move_to admits exactly the declared edges and refuses every other
- Every event carries a schema version and an older reader refuses a newer one by name
- An execution whose outcome cannot be read ends UnknownOutcome, never completed
Validation
- env -u MAJORDOMUS_SHARE -u MAJORDOMUS_HTTP_HOST -u MJ_ROOT bash test/run.sh 4001_the_execution_state_machine_names_authorizing_to_unknown_outcome
Evidence required
- case_4001_the_execution_state_machine_names_authorizing_to_unknown_outcome
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/I4001.yaml. Read it back with majordomus plan show I4001.