Skip to content

I2963 — The README's exit codes are the commands' contract

State in the README's command table the exit codes each command's model declares, and hold the table to share/commands.yaml (through its generated projection) with a case, so the sentence 'Exit codes are a contract' is true of the table above it.

DONE wave 0 · p0 · implementation profile · parallel safe

Part of development-runtime — The runtime has a development surface.

Objective

State in the README's command table the exit codes each command's model declares, and hold the table to share/commands.yaml (through its generated projection) with a case, so the sentence 'Exit codes are a contract' is true of the table above it.

Why

Truth sweep 2026-10-18 (f6, S11, verified): README.md:300-315 gave check '0 / 10', watch '0 / 11', init and start '0 / 15', update '0 / 10 / 15' and wrong codes for 13 of its 14 rows, under the sentence 'Exit codes are a contract'. share/commands.yaml declares check [0, 2, 10, 12, 13], watch [0, 2, 10, 11], init [0, 2, 10, 13, 15], start and update [0, 2, 10, 12, 15]; its exit_codes are reconciled against each lib file's MJ_EX_* constants.

Current state

Corrected in this change: every row of the README's command table states the model's codes. Generating the table from the model is post-alpha (ledger row derivable-counts-in-prose).

Desired state

Case 3365 refuses a README whose command table states any command's exit codes otherwise than the model declares them, and proves its comparison on a mutated row.

Scope

  • README.md
  • test/cases/3365_the_readme_exit_codes_are_the_contracts.sh

Dependencies

None. This issue is a root of the graph.

What waits on this

Acceptance criteria

  • Every row of the README's command table states the exit codes its command's model declares
  • Case 3365 fails on a row whose codes differ from the model

Validation

  • majordomus plan validate

Evidence required

  • case_the_readme_exit_codes_are_the_contracts

Evidence

coverstypecommandresultat commit
case_the_readme_exit_codes_are_the_contractstestbash test/run.sh 3365_the_readme_exit_codes_are_the_contracts14 passed, 0 failed, 0 skipped on master dd4c0a87cbadd4c0a8

Timeline

started
2026-10-19T13:57:59Z
verified
—
completed
2026-10-19T13:58:32Z

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/I2963.yaml. Read it back with majordomus plan show I2963.

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