Skip to content

Definition Of Done

A command change is done when a reader can run or inspect the command path, understand which lower crate owns the real behavior, and see proof for the operator-facing claim. The command crate is allowed to compose; it is not allowed to hide ownership.

Completion Gate

changed surface done means proof to start from
command name or flags the public invocation is documented and stable enough for operators command guide plus a focused CLI integration test
workflow sequencing the command still hands work to the owning lower crate in a readable order workflow guide plus the integration test for that workflow
reporting output explains the lower-crate result without inventing new scientific or repository meaning reporting guide plus report assertions
validation command accepted and rejected cases identify the owner of the failed contract validation guide plus validation integration proof
Rust facade exports remain a deliberate convenience layer, not an accidental mixed library facade guide, public API, and guardrail tests

Reader Questions Before Commit

  • What operator problem does this command surface solve?
  • Which lower crate owns the behavior after argument parsing?
  • What exact output, exit status, artifact, or validation result changed?
  • Which test would fail if the command handed work to the wrong owner?
  • Does the handbook route the reader to the owning crate when the question is no longer command-level?

Proof Route

  1. Read the command boundary guide.
  2. Read the relevant command-local guide: command, workflow, reporting, validation, or facade.
  3. Select the focused test from the command test guide.
  4. Update this handbook only when the reader-facing command contract moved.

Do not call a command change done because a lower crate test passed. The command proof must show that the operator route still selects, presents, and explains the lower-owned behavior correctly.