Plan PromptKit implementation stages

This commit is contained in:
2026-10-12 01:40:15 +00:00
parent 20e19b9569
commit d825538921
4 changed files with 453 additions and 648 deletions

View File

@@ -2,7 +2,7 @@
Status: complete. ConfigKit v0.7.1 adoption and ConfigKit-backed `config diff`,
including distribution reconciliation and final validation, are implemented.
The [implementation record](implementation.md) records completion evidence;
The [implementation record](https://gitea.maximumdirect.net/eric/CommandKit/src/commit/20e19b95694f7fdfd5c342ec4d543152986623dc/docs/roadmap/implementation.md) records completion evidence;
release publication remains a separate process.
## Purpose and authority
@@ -37,7 +37,7 @@ disclosure; CommandKit owns selection, coordination, adaptation, and presentatio
| Core module | Go 1.26.0; captured commands, typed bindings, dispatch, outcomes, help, and version. No ConfigKit dependency. ReleaseKit v0.4.0 is the declared maintainer tool. |
| `integrations/ckconfig` | Requires ConfigKit v0.7.1. `Scope`, `Suite`, `FromConfigKit`, and `AppCommand` expose independently declared validate/show/sources/explain/diff capabilities. |
| `integrations/ckprompt` | Requires ConfigKit v0.7.1 and PromptKit v0.12.0. It depends on ckconfig's public scope contracts and adapts engine configuration plus named definitions; its ConfigKit scope does not declare comparison. |
| Comparison status | ConfigKit-backed `config diff` is implemented. The [CLI reference](../cli.md#compare-configuration-selections), integration GoDoc, and [implementation record](implementation.md) own current contracts and evidence. PromptKit comparison remains deferred. |
| Comparison status | ConfigKit-backed `config diff` is implemented. The [CLI reference](../cli.md#compare-configuration-selections), integration GoDoc, and [implementation record](https://gitea.maximumdirect.net/eric/CommandKit/src/commit/20e19b95694f7fdfd5c342ec4d543152986623dc/docs/roadmap/implementation.md) own current contracts and evidence. PromptKit comparison remains deferred. |
The ConfigKit adapter acquires typed `*configkit.Result[T]` values and exposes
effective, source, and explanation facets through `View` for ordinary operations.
@@ -347,10 +347,10 @@ YAML reporting, end-to-end execution, and both maintained comparison examples
are implemented. Current API and operator contracts belong to GoDoc, the
[CLI reference](../cli.md#compare-configuration-selections), the
[consumer guide](../consumers/guide.md#configkit-scopes), and the example
READMEs. The [implementation record](implementation.md) records stage-by-stage
READMEs. The [implementation record](https://gitea.maximumdirect.net/eric/CommandKit/src/commit/20e19b95694f7fdfd5c342ec4d543152986623dc/docs/roadmap/implementation.md) records stage-by-stage
changes and completed validation, including
[distribution reconciliation](implementation.md#stage-12-reconcile-manifests-notices-and-pending-integration-release-notes)
and [final sprint validation](implementation.md#stage-13-validate-the-complete-sprint-and-finish).
[distribution reconciliation](https://gitea.maximumdirect.net/eric/CommandKit/src/commit/20e19b95694f7fdfd5c342ec4d543152986623dc/docs/roadmap/implementation.md#stage-12-reconcile-manifests-notices-and-pending-integration-release-notes)
and [final sprint validation](https://gitea.maximumdirect.net/eric/CommandKit/src/commit/20e19b95694f7fdfd5c342ec4d543152986623dc/docs/roadmap/implementation.md#stage-13-validate-the-complete-sprint-and-finish).
The isolated integration checks used local replacements for unpublished
CommandKit dependencies. They establish compatibility with local CommandKit
sources and released external dependencies, not availability of the intended

File diff suppressed because it is too large Load Diff

View File

@@ -30,8 +30,9 @@ and [ADR 0012](../adr/0012-typed-configuration-comparison-pairs.md) govern captu
declarations and input/state lifetimes. Existing deliberately selected contracts
control; prototype implementation shapes receive no compatibility preference.
This roadmap defines the selected end state. A later implementation plan should
sequence the work. The present pass updates only this roadmap.
This roadmap defines the selected end state. The
[implementation plan](implementation.md) assigns the ordered work and records
stage completion evidence.
## Current baseline
@@ -140,9 +141,11 @@ construction errors remain attached when capabilities are narrowed.
For the bundled adapter, retain diagnostics from each reached load or inspection,
identify left/right context and native source legends, keep left diagnostics if
right acquisition fails, and keep both sides' diagnostics if comparison fails.
Use existing cancellation checks at operation boundaries and finish report
preparation before delivery. The upstream Diff method is synchronous and takes
no context; do not promise interruption inside it or transactional writer output.
Capture completed inspection diagnostics before honoring cancellation observed
after a successful load. Use cancellation checks at operation boundaries and
finish report preparation before delivery. The upstream Diff method is
synchronous and takes no context; do not promise interruption inside it or
transactional writer output.
Equal selections alone do not skip the pair provider or the bundled adapter's
reached loader calls. Application caches determine whether calls construct new
@@ -310,11 +313,6 @@ serialization of an upstream Go struct does not define the CLI schema.
- Extend `ConfigScope` with the native PromptKit comparison provider, retaining
ordinary acquisition and appropriate side diagnostics. Route results through
the existing ckconfig comparison implementation.
- Adapt diagnostic acquisition for comparison deliberately. The current
`loadPromptKitEngine` helper uses a single `promptkit` scope label and can
return on cancellation before collecting inspection diagnostics. Account for
side labels, source legends, and retained diagnostics at failure and
cancellation boundaries when reusing or adjusting it.
- Extend `Suite`, `FromEngine`, and family assembly for independent prompt/profile
catalog providers. Use core declarations and typed binding composition for
selection and input preparation; add no second parser.
@@ -350,7 +348,8 @@ serialization of an upstream Go struct does not define the CLI schema.
- Establish compatibility through relevant module suites, maintained consumers,
and workspace-off dependency/import checks. Local replacements for unpublished
CommandKit prerequisites prove local-source compatibility, not availability of
future tags. These checks belong to implementation, not this prose-only pass.
future tags. The [implementation plan](implementation.md) owns the validation
assignments and evidence.
## Scope limits and completion

View File

@@ -7,7 +7,7 @@ follow-up work and its completion evidence.
Reviewed the ConfigKit adoption/comparison sprint, commits `c883c64` through
`28aa3b0`, against the [feature roadmap](configkit.md), completed
[implementation plan](implementation.md), accepted ADRs, and
[implementation plan](https://gitea.maximumdirect.net/eric/CommandKit/src/commit/20e19b95694f7fdfd5c342ec4d543152986623dc/docs/roadmap/implementation.md), accepted ADRs, and
[architecture policy](../policy/architecture.md). The review covered changed
production code, tests, maintained examples, current documentation, module
metadata, and attribution/release-note changes. Findings below concern the
@@ -169,7 +169,7 @@ whitespace review passed.
**Evidence:** [configkit.md](configkit.md) still says distribution reconciliation
and final validation remain outstanding in its opening status and Implementation
record (lines 4 and 350 at the review baseline). The
[implementation plan](implementation.md#stage-12-reconcile-manifests-notices-and-pending-integration-release-notes)
[implementation plan](https://gitea.maximumdirect.net/eric/CommandKit/src/commit/20e19b95694f7fdfd5c342ec4d543152986623dc/docs/roadmap/implementation.md#stage-12-reconcile-manifests-notices-and-pending-integration-release-notes)
marks both those stages complete and records their evidence. The feature roadmap
therefore contradicts the completed sprint and can prompt agents to restart
completed work.