Gate CommandKit adoption on released shared debug binding

This commit is contained in:
2026-11-08 13:56:40 +00:00
parent 32bac58b5e
commit 1f2beef08c
2 changed files with 53 additions and 13 deletions

View File

@@ -3,15 +3,17 @@
**Updated:** 2026-11-08
**Status:** Initial outline. Adoption is part of the agreed target, not an optional
future evaluation. The [master roadmap](library-adoption.md) owns shared direction
future evaluation. Implementation is gated on the upstream release described
below. The [master roadmap](library-adoption.md) owns shared direction
and sequencing; ConfigKit and PromptKit integration contracts are developed in
[their](configkit.md) [outlines](promptkit.md).
## Baseline and Target
Audita currently uses application-owned CLI parsing, inspection commands, and
reporting, described in the [CLI contract](../cli.md). Adopt CommandKit core,
ckconfig, and ckprompt v0.5.0 as the standard operator interface. Use supported
reporting, described in the [CLI contract](../cli.md). Adopt CommandKit core and
compatible releases of ckconfig and ckprompt as the standard operator interface.
The reviewed v0.5.0 set is a baseline, not the final adoption target. Use supported
command declarations, typed inputs, supplied-value tracking, help/version,
reporting, and formatting. Audita handlers retain transcript processing and
artifact responsibilities.
@@ -21,8 +23,29 @@ The upstream [core release](https://forge.maximumdirect.net/base-layer/commandki
[ckprompt release](https://forge.maximumdirect.net/base-layer/commandkit/src/commit/88ac6e76e4b164571f4172c01d7679c043b94a02/integrations/ckprompt/docs/releases/v0.5.0.md),
and [consumer guide](https://forge.maximumdirect.net/base-layer/commandkit/src/commit/88ac6e76e4b164571f4172c01d7679c043b94a02/docs/consumers/guide.md)
define the reviewed set. Core uses Cobra/pflag; the matched integrations require
Go 1.27. The former missing diagnostic adapter has been published. There is no
known publication blocker to adoption.
Go 1.27. The former missing diagnostic adapter has been published; the required
shared debug binding introduces the release gate below.
## Adoption Gate: Released Shared Debug Binding
Begin CommandKit adoption implementation only after an upstream version is
published with a supported public binding for the parsed `--debug` boolean,
independent of the resolved reporting mode. A release containing only the
resolved-mode accessor does not satisfy this gate. Neither the v0.5.0 baseline
nor an implementation available only on upstream `main` is sufficient.
Before opening the gate, review the published API against the capture behavior
and acceptance cases below, select compatible released ckconfig and ckprompt
versions, and record the exact versions and source revisions in the
[master dependency selection](library-adoption.md#baseline-and-selected-dependency-set).
No future version number is assumed. The integrations need new releases only
if their existing releases are incompatible with the selected core version.
Design, command inventories, and upstream coordination may continue while
waiting, as may the independent library work in the master sequence. Do not
bypass the gate with an unreleased dependency, local replacement, or duplicate
debug parsing. CommandKit adoption remains required for Audita's next major
release.
## Agreed Operator Experience
@@ -78,6 +101,9 @@ mode. The upstream review below records the matching capability plan.
## Work Outline
The adoption gate above applies to implementation in this outline; preparatory
design and inventory work can proceed before it opens.
1. Inventory Audita commands, arguments, flags, supplied empty/false/zero values,
streams, and exit behavior against standard declarations. Record intentional
migrations rather than recreating the old parser around CommandKit.
@@ -175,7 +201,8 @@ preserves the bound debug value when quiet or verbose changes reporting mode.
The capability direction is agreed upstream but not implemented in that reviewed
revision; binding construction and metadata remain open upstream decisions.
Adopt the supported shared binding once released. Its boolean value should drive
Adopt the supported shared binding once the [release gate](#adoption-gate-released-shared-debug-binding)
is satisfied. Its boolean value should drive
Audita capture; presence information remains available through native typed
input. Resolve any remaining integration gap upstream rather than inspecting
private state, inferring input from emitted output, redeclaring the core flag,