Plan staged CommandKit implementation

This commit is contained in:
2026-10-07 03:55:36 +00:00
parent 0f6ced42ef
commit e5c361d2cb
5 changed files with 811 additions and 36 deletions

View File

@@ -11,6 +11,11 @@ breaking changes. The decisions recorded below are accepted; other recommendatio
remain proposed. Implementation details and exact Go API declarations remain
future work.
The ADRs record architectural choices and their rationale. Detailed selection,
acquisition coordination, report formatting, and diagnostic-delivery mechanics
below remain proposals unless explicitly marked accepted. Their presence here
does not establish additional contracts in the ADRs.
### Accepted planning decisions
- Use namespace/resource first: `app config show` and `app promptkit show`.
@@ -212,8 +217,9 @@ available names in the diagnostic; there is no fallback to `app`.
Scopes use stable semantic names rather than executable names such as `notarius`.
Additional independently meaningful configuration scopes declare their supported
inspection operations and applicable providers. CommandKit validates declared
wiring and coordinates explicit dependencies, reusing compatible provider results
within an invocation. Scope inventory and help report the supported operations.
wiring. This roadmap proposes coordinating explicit dependencies and reusing
compatible provider results within an invocation; the coordination contract
remains API design work. Scope inventory and help report the supported operations.
An unsupported scope-operation selection receives a usage diagnostic before
acquisition. `all` retains its all-scope meaning and checks coverage for the
requested operation. [ADR 0009](../adr/0009-configuration-scopes.md) owns the model.
@@ -259,8 +265,8 @@ When `--config` is omitted, CommandKit invokes the registered acquisition callba
with that absence preserved. It exposes supplied discovery, environment, and
default-only metadata in help. Sharing acquisition code with ordinary execution is
recommended consumer practice; execution loading and filesystem discovery remain
application choices. [ADR 0010](../adr/0010-configuration-selection.md) owns the
parsing and propagation contract.
application choices. The detailed selection and propagation rules in this section
remain proposals for integration API design.
`--overlay` always selects a configuration overlay, never a PromptKit execution
profile. Follow ConfigKit's naming and resolution semantics: omission, an empty
@@ -358,7 +364,8 @@ implements acquisition, composition, defaults, decoding, and domain resolution
according to its public result contract. The PromptKit adapter requests upstream
configuration validation with all-definition coverage. Missing upstream support
is a dependency of that capability, rather than the entire integration.
[ADR 0008](../adr/0008-inspection-lifecycle.md) owns this boundary.
The acquisition lifecycle and dependency coordination described here remain
proposals for provider API design.
CommandKit's validation handler requests the declared configuration-validation
operation and writes its result. Request preparation, execution, and operational
@@ -670,8 +677,9 @@ CommandKit release version. `--format yaml` changes presentation of the selected
identity. Version subjects are separate from configuration scopes. CommandKit
uses build metadata with acquisition callbacks left uninvoked.
Future component identities can use registered version metadata.
[ADR 0004](../adr/0004-standard-inspection-surface.md) records version selection.
Registration of future component identities remains an API design proposal.
[ADR 0004](../adr/0004-standard-inspection-surface.md) records version subjects;
this roadmap retains the selected command syntax.
Applications supply build identity, with tagged Go build information usable when
available. An unversioned development build reports `dev`; unknown revision or