57 lines
3.0 KiB
Markdown
57 lines
3.0 KiB
Markdown
# CommandKit dispatcher planning record
|
|
|
|
Status: initial dispatcher implementation complete.
|
|
|
|
Original planning: 2026-10-06. Reconciled: 2026-10-07.
|
|
|
|
## Authority and current owners
|
|
|
|
[ADR 0001](../adr/0001-command-dispatch-and-inputs.md) owns the dispatcher,
|
|
registry, and typed-input decisions and rationale. The
|
|
[architecture policy](../policy/architecture.md) owns responsibility boundaries.
|
|
This document records completion of the initial dispatcher design; the
|
|
[implementation plan](implementation.md) preserves its execution history.
|
|
|
|
The registry, typed inputs, command/group APIs, invocation coordination, and
|
|
outcomes are implemented. Their exact contracts are owned by Go declarations
|
|
and GoDoc, rather than the early illustrations formerly maintained here.
|
|
|
|
| API area | Current owner |
|
|
| --- | --- |
|
|
| Application construction and registration | [App/New](../../app.go) and [App.Register](../../registry.go) |
|
|
| Typed command declarations, groups, and presence | [CommandSpec, NewCommand, Group, WithChildren, Supplied](../../command.go) |
|
|
| Typed flag and operand bindings | [Binding helpers](../../binding.go) |
|
|
| Invocation and result delivery | [App.Execute](../../execute.go), [Invocation/Streams](../../identity.go), and [Outcome](../../outcome.go) |
|
|
| Standard integration registration | [Configuration suite](../../config.go) and [PromptKit suite](../../promptkit.go) |
|
|
|
|
The [consumer guide](../consumers/guide.md) explains assembly and callback usage.
|
|
The [CLI reference](../cli.md) owns syntax and operator behavior; the
|
|
[internal overview](../internal/overview.md) owns implemented package mechanics.
|
|
|
|
## Completed design and evidence
|
|
|
|
The initial work delivered instance registration, composable nested groups,
|
|
typed handlers and bindings, presence-aware input, capability-based installation,
|
|
lazy acquisition, and distinct shared/domain outcomes. The original `Supplied`
|
|
illustration is now a public declaration; application-specific restore inputs
|
|
remain consumer examples rather than proposed CommandKit types.
|
|
|
|
The [simple](../../examples/simple/README.md) and
|
|
[composed](../../examples/composed/README.md) consumers demonstrate the API with
|
|
configuration inspection and a custom session command. The completed plan
|
|
records behavioral evidence for routing, ownership conflicts, help, invocation
|
|
state, cancellation, output failures, and domain outcome preservation.
|
|
|
|
Completed constructor/binding/outcome design tasks and implementation assignments
|
|
have been retired from this roadmap. Concurrent dispatch remains outside the
|
|
initial target under the [feature roadmap](initial.md#explicit-deferrals).
|
|
|
|
## Remaining adoption work
|
|
|
|
Applications can migrate their routers and repeated standard handlers to the
|
|
implemented API, update documentation and subprocess consumers for breaking
|
|
changes, and retain their domain command behavior. Migration is separate from
|
|
library completion; this record does not claim that the sibling applications
|
|
have adopted CommandKit. Deferred standard capabilities are tracked in the
|
|
[feature roadmap](initial.md#deferred-capability-targets).
|