Files
commandkit/docs/adr/README.md

52 lines
3.2 KiB
Markdown
Raw Normal View History

# Architectural decision records
These records explain major structural and ownership decisions. The
[architecture policy](../policy/architecture.md) owns normative boundaries;
GoDoc and the [CLI reference](../cli.md) own implemented contracts. The
[roadmap](../roadmap/promptkit-v0.19.0.md) owns planned work and implementation status.
| ADR | Decision |
| --- | --- |
| [0001](0001-command-dispatch-and-inputs.md) | Dispatch, captured declarations, and typed inputs |
| [0002](0002-public-facade-and-cli-backend.md) | Public facade and internal CLI backend |
| [0003](0003-configuration-scopes.md) | Configuration scopes and declared capabilities |
| [0004](0004-optional-integration-modules.md) | Optional integration modules and upstream ownership |
| [0005](0005-application-alias-routing.md) | Alias routing and canonical command ownership |
| [0006](0006-invocation-reporting.md) | 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](../policy/documentation.md#architecture-decision-records) 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](https://gitea.maximumdirect.net/eric/CommandKit/src/commit/76c00e32d05eb9f2f150f3554bd578192efe3a61/docs/adr)
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.