007-family-envelope

The family envelope: every --json answer in the exit and JSON contract spec-spine speaks

Lifecycle approvedImplementation in-progressVerification unknownQualification unknown

Amends 006 sections 3.3 and 3.4. Every --json answer this product writes becomes the envelope spec-spine has written since 0.26.0 (its spec 132 section 3.4): schemaVersion, tool, verb, outcome, exitCode, summary, then report for exit 0 or 1 and error for 2, 3 or 4, where error.kind is one of the family's ten tokens. No exit number moves. A usage error under --json is an envelope on stdout. The replacement of 002 section 3.23's check translation, which #118 proposed for the same change, is left to the spec-spine 0.28.0 adoption, which changes the producer answer it would read. Replaces the historical proposal from #118 with the amendment that the current model requires (001 section 5).

Read the full pinned specification ↗

Relationships

Claimed units

  • extends
    {
      "nature": "corrective",
      "spec": "006-command-surface",
      "unit": {
        "kind": "directory",
        "path": "crates/statecraft-cli/"
      }
    }

Source headings

  1. 007: The family envelope
  2. 1. Purpose
  3. 2. Territory
  4. 3. Behavior
  5. 3.1 The envelope
  6. 3.2 Error kinds
  7. 3.3 Usage errors
  8. 3.4 What does not change
  9. 4. Out of scope
  10. 5. Resolved decisions
  11. Verification

Frozen anchors

No frozen anchors declared.