Files
commandkit/docs/adr/README.md

3.2 KiB

Architectural decision records

These records explain major structural and ownership decisions. The architecture policy owns normative boundaries; GoDoc and the CLI reference own implemented contracts. The roadmap owns planned work and implementation status.

ADR Decision
0001 Dispatch, captured declarations, and typed inputs
0002 Public facade and internal CLI backend
0003 Configuration scopes and declared capabilities
0004 Optional integration modules and upstream ownership
0005 Alias routing and canonical command ownership
0006 Invocation reporting, outcomes, and presentation ownership

Alpha consolidation

On 2026-11-07, the maintainer authorized a one-time exception to ADR immutability while CommandKit was in alpha. Fourteen records were consolidated, revised, and consecutively renumbered into the six above. The normal ADR policy continues to apply after this cleanup. This exception does not authorize rewriting published releases or changing implemented behavior through documentation alone.

The pre-consolidation records remain available in Git history. Earlier references use that historical numbering. The mapping below identifies where rationale or current contracts now belong; it does not preserve removed records as parallel specifications.

Former record Current owner
0001 — Dispatch and inputs ADR 0001
0002 — Cobra backend ADR 0002
0003 — Public facade ADR 0002; module boundaries in ADR 0004
0004 — Inspection surface Capability rationale in ADR 0003; command inventory in the CLI reference
0005 — Invocation outcomes ADR 0006; numeric statuses and exact behavior in CLI/API contracts
0006 — Command grammar Shared parsing rationale in ADR 0001; grammar in the CLI reference
0007 — Native YAML reports Disclosure ownership in ADR 0004; presentation ownership in ADR 0006; current formats in the CLI reference
0008 — Semantic comparison Upstream ownership in ADR 0004; comparison reports and outcomes in CLI/API contracts
0009 — Configuration scopes ADR 0003
0010 — Optional modules ADR 0004
0011 — Captured declarations Structural decisions in ADR 0001; detailed mechanics in GoDoc
0012 — Comparison pairs Input/state separation in ADR 0001; provider lifetimes and selectors in CLI/API contracts
0013 — Alias routing ADR 0005
0014 — Invocation reporting ADR 0006

Current command and API contracts remain in force. Accepted changes to format handling and independent comparison selections remain planned in the adoption roadmap until implemented. Removing an ADR's detailed specification does not silently remove those contracts or implement their planned replacements.