Clarify CommandKit ownership of upstream integration and presentation
This commit is contained in:
@@ -9,9 +9,11 @@
|
|||||||
## Purpose And Ownership
|
## Purpose And Ownership
|
||||||
|
|
||||||
CommandKit is an opinionated Go library for standard inspection commands,
|
CommandKit is an opinionated Go library for standard inspection commands,
|
||||||
consistent CLI syntax, and reduced application command infrastructure. This
|
consistent CLI syntax, and reduced application command infrastructure. It provides
|
||||||
policy owns normative responsibility boundaries, dependency direction, and
|
useful operator access to capabilities owned by its integrated libraries through
|
||||||
architectural constraints. ADRs own decision rationale; the
|
shared command vocabulary, registration, selection, coordination, presentation,
|
||||||
|
and invocation outcomes. This policy owns normative responsibility boundaries,
|
||||||
|
dependency direction, and architectural constraints. ADRs own decision rationale; the
|
||||||
[implementation roadmaps](../development.md#task-specific-reading-guide) own
|
[implementation roadmaps](../development.md#task-specific-reading-guide) own
|
||||||
proposals, sequencing, and implementation status.
|
proposals, sequencing, and implementation status.
|
||||||
|
|
||||||
@@ -48,7 +50,8 @@ CommandKit-owned dispatcher, per-instance registry, and typed-input model.
|
|||||||
capture, installation, optional-family ownership, and invocation input lifetimes.
|
capture, installation, optional-family ownership, and invocation input lifetimes.
|
||||||
|
|
||||||
CommandKit owns dispatch, common parsing, presence tracking, help, shared syntax
|
CommandKit owns dispatch, common parsing, presence tracking, help, shared syntax
|
||||||
diagnostics, and the handlers and observable contracts of its standard families.
|
diagnostics, and the handlers and CLI contracts of its standard families.
|
||||||
|
The integrated libraries own the domain semantics exposed through those handlers.
|
||||||
Applications register domain commands outside those families and own their
|
Applications register domain commands outside those families and own their
|
||||||
meaning, effects, domain validation, artifacts, and operational outcomes.
|
meaning, effects, domain validation, artifacts, and operational outcomes.
|
||||||
Namespaces provide the ownership boundary. Core construction reserves help and
|
Namespaces provide the ownership boundary. Core construction reserves help and
|
||||||
@@ -228,9 +231,22 @@ them; a public backend selection or plugin framework is not part of the design.
|
|||||||
ConfigKit and PromptKit own configuration composition, provenance, inspection
|
ConfigKit and PromptKit own configuration composition, provenance, inspection
|
||||||
semantics, secret classification, and native rendering. Applications provide
|
semantics, secret classification, and native rendering. Applications provide
|
||||||
schemas, acquisition, domain resolution and validation, and construction of
|
schemas, acquisition, domain resolution and validation, and construction of
|
||||||
inspection providers. CommandKit exposes those capabilities without implementing
|
inspection providers. CommandKit exposes those capabilities through supported
|
||||||
a parallel configuration or prompt engine. Use independently released public
|
upstream APIs. The public contract of the adopted library version governs their
|
||||||
contracts; do not import sibling internal packages or depend on adjacent checkouts.
|
meaning and disclosure rules. When CommandKit adopts an upstream revision,
|
||||||
|
changes to those semantics flow through its integration. Adaptation and
|
||||||
|
documentation follow the adopted contract; descriptions of upstream behavior
|
||||||
|
do not establish a separate, fixed CommandKit specification of that behavior.
|
||||||
|
|
||||||
|
CommandKit owns presentation and may summarize or transform returned safe data
|
||||||
|
for different operator needs. Reports can evolve in format, organization, and
|
||||||
|
detail while respecting upstream disclosure rules and the evidence supplied by
|
||||||
|
the capability. Exact report contracts belong in the CLI reference when
|
||||||
|
implemented; changes to CommandKit's published contracts follow the release
|
||||||
|
policy.
|
||||||
|
|
||||||
|
Use independently released public contracts; do not import sibling internal
|
||||||
|
packages or depend on adjacent checkouts.
|
||||||
|
|
||||||
Use narrow integration contracts, reusing upstream public types where useful and
|
Use narrow integration contracts, reusing upstream public types where useful and
|
||||||
introducing CommandKit-owned abstractions where they simplify integration.
|
introducing CommandKit-owned abstractions where they simplify integration.
|
||||||
@@ -240,9 +256,9 @@ Concrete integration needs guide provider representations under
|
|||||||
Native report writers and safe inspection data preserve owning-library semantics.
|
Native report writers and safe inspection data preserve owning-library semantics.
|
||||||
Loading all selected views before report output is a `config show` decision under
|
Loading all selected views before report output is a `config show` decision under
|
||||||
[ADR 0007](../adr/0007-native-yaml-reports.md); other inspection operations define
|
[ADR 0007](../adr/0007-native-yaml-reports.md); other inspection operations define
|
||||||
their own output timing. Semantic comparison delegates to supported owning-library
|
their own output timing. Semantic comparison exposes the adopted upstream
|
||||||
comparison APIs and retains paired safe disclosure and hidden-change metadata at
|
comparison API, carrying its results and relevant metadata through the provider
|
||||||
the provider boundary. Reports may present the reduced view selected by
|
boundary. CommandKit owns report presentation under
|
||||||
[ADR 0008](../adr/0008-semantic-configuration-diff.md).
|
[ADR 0008](../adr/0008-semantic-configuration-diff.md).
|
||||||
|
|
||||||
## Scope And Non-goals
|
## Scope And Non-goals
|
||||||
|
|||||||
Reference in New Issue
Block a user