Document PromptKit comparison and catalogs
This commit is contained in:
@@ -36,8 +36,8 @@ 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](https://gitea.maximumdirect.net/eric/CommandKit/src/commit/20e19b95694f7fdfd5c342ec4d543152986623dc/docs/roadmap/implementation.md) own current contracts and evidence. PromptKit comparison remains deferred. |
|
||||
| `integrations/ckprompt` | The later PromptKit adoption selects PromptKit v0.14.0 and ConfigKit v0.7.1. It adapts engine configuration and exposes native comparison, prompt/profile catalogs, and named definitions through ckconfig and core contracts. |
|
||||
| Comparison status | ConfigKit-backed `config diff` and PromptKit engine-scope comparison are implemented. The [CLI reference](../cli.md#compare-configuration-selections) and [PromptKit adoption record](promptkit.md) describe current behavior; the [implementation record](https://gitea.maximumdirect.net/eric/CommandKit/src/commit/20e19b95694f7fdfd5c342ec4d543152986623dc/docs/roadmap/implementation.md) records ConfigKit completion. |
|
||||
|
||||
The ConfigKit adapter acquires typed `*configkit.Result[T]` values and exposes
|
||||
effective, source, and explanation facets through `View` for ordinary operations.
|
||||
@@ -62,9 +62,11 @@ and [comparison contract](https://gitea.maximumdirect.net/eric/ConfigKit/src/com
|
||||
|
||||
## Dependency adoption and ownership
|
||||
|
||||
Both integration modules now select ConfigKit v0.7.1 and carry normal dependency
|
||||
metadata for their actual graphs. Consumer Go minimums remain 1.26.0, the selected
|
||||
release toolchain remains 1.26.8, and PromptKit remains v0.12.0 for this work.
|
||||
Both integration modules select ConfigKit v0.7.1 and carry normal dependency
|
||||
metadata for their actual graphs. Consumer Go minimums remain 1.26.0, and the
|
||||
selected release toolchain remains 1.26.8. At completion of this ConfigKit work,
|
||||
ckprompt still selected PromptKit v0.12.0; the later PromptKit adoption is tracked
|
||||
in [promptkit.md](promptkit.md).
|
||||
Core continues to have no ConfigKit or optional-integration dependency.
|
||||
|
||||
ConfigKit's declared tool requirement brings ReleaseKit v0.4.1 into the integration
|
||||
|
||||
@@ -5,8 +5,8 @@ Status: retained future work and unselected proposals; no implementation schedul
|
||||
## Purpose and authority
|
||||
|
||||
Completed initial delivery, performance, ReleaseKit upgrade, and remediation
|
||||
records have been retired. This document preserves their unfinished capability
|
||||
targets and deferred ideas under the
|
||||
records have been retired. This document preserves remaining deferred
|
||||
capabilities and unselected ideas under the
|
||||
[release policy](../policy/release.md#release-documentation-and-preparation).
|
||||
The original records remain available in
|
||||
[Git history](https://gitea.maximumdirect.net/eric/CommandKit/src/commit/6bc37e7ba64ca0920b4d0cc77039a18d4006b24e/docs/roadmap).
|
||||
@@ -18,13 +18,13 @@ an idea here does not select its syntax, API, priority, or delivery date.
|
||||
|
||||
## Deferred capability targets
|
||||
|
||||
### PromptKit configuration comparison
|
||||
### PromptKit requirement inspection
|
||||
|
||||
ConfigKit-backed `config diff` is implemented by `ckconfig` for scopes that
|
||||
declare that capability. `ckprompt.ConfigScope` does not declare comparison.
|
||||
Reassess PromptKit's supported public comparison capabilities before planning a
|
||||
PromptKit comparison. Do not reach into ConfigKit internals or infer comparison
|
||||
semantics from rendered YAML.
|
||||
PromptKit exposes `Engine.InspectRequirements`, but a standard CommandKit
|
||||
operation for requirement inspection remains deferred. Its command syntax,
|
||||
selection behavior, presentation, and readiness semantics have not been
|
||||
selected. Reassess the owning library's public contract and make those product
|
||||
choices before planning delivery.
|
||||
|
||||
### Comparison extensions
|
||||
|
||||
@@ -33,16 +33,6 @@ unselected extensions to the delivered ConfigKit comparison. Consider them only
|
||||
for a concrete consumer need and a deliberate API/behavior decision under the
|
||||
relevant ADRs.
|
||||
|
||||
### CAT-01: PromptKit catalogs
|
||||
|
||||
List captured prompt/version entries and named profiles through owning public
|
||||
catalog APIs, with deterministic reports of loaded definitions. Resource names,
|
||||
enumeration details, and report shapes remain future design work.
|
||||
|
||||
The initial PromptKit v0.12.0 review did not find public enumeration APIs.
|
||||
Reassess current released capabilities before planning delivery. Do not infer
|
||||
catalogs by reparsing configuration YAML or inspecting sibling internals.
|
||||
|
||||
## Other deferred proposals
|
||||
|
||||
These capabilities remain outside the delivered scope and require a concrete
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Implement PromptKit comparison and catalogs
|
||||
|
||||
Status: Stages 1–9 complete; remaining stages are planned.
|
||||
Status: Stages 1–10 complete; remaining stages are planned.
|
||||
|
||||
## Scope and authority
|
||||
|
||||
@@ -583,6 +583,29 @@ Review diffs, links/fragments, examples, and stale statements; run documented
|
||||
Markdown whitespace checks. Describe native semantics as upstream-owned. Do not
|
||||
promise arbitrary catalog/provider data is safe for public disclosure.
|
||||
|
||||
**Completion evidence (2026-10-12)**
|
||||
|
||||
- Updated ckprompt GoDoc for native configuration comparison, all four optional
|
||||
callbacks, callback narrowing, selector/input preparation, nil-factory zero
|
||||
values, and catalog YAML defaults. Root and module READMEs now describe the
|
||||
shipped integration.
|
||||
- Updated the CLI reference for PromptKit `config diff` and independent prompt
|
||||
and profile catalogs, including selectors, YAML schema/default, empty results,
|
||||
and the owning-library boundary for comparison and catalog membership. It
|
||||
leaves catalog data disclosure with the application/provider.
|
||||
- Updated consumer guidance with a narrowing-before-capture example, the
|
||||
internal package overview, and development commands. The PromptKit roadmap now
|
||||
records delivered behavior; the ConfigKit roadmap summary reflects the later
|
||||
PromptKit adoption; and `deferred.md` retains only requirement inspection as a
|
||||
PromptKit capability deferred from this feature.
|
||||
- Reviewed the architecture policy and ADRs 0004 and 0008–0012. They remain
|
||||
consistent with the delivered ownership and invocation model; no decision
|
||||
record changes were needed. Historical baseline and ConfigKit completion
|
||||
records remain clearly scoped to their original work.
|
||||
- Markdown whitespace checks passed. A local-link and fragment check passed for
|
||||
all ten changed Markdown files. Composed example behavior was exercised and
|
||||
passed with Stage 9's example and complete ckprompt suite checks.
|
||||
|
||||
## Stage 11: Reconcile notices and prepared release notes
|
||||
|
||||
**Outcome:** distributed metadata/notices match actual graphs, and unpublished
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
# Adopt PromptKit v0.14.0 and expose comparison and catalogs
|
||||
|
||||
Status: accepted feature end state; implementation has not started. Scope,
|
||||
ownership, catalog API, and initial presentation choices are settled.
|
||||
Status: comparison, catalogs, and current behavior documentation are implemented.
|
||||
Dependency notice/release-note reconciliation and complete validation remain in
|
||||
the [implementation record](implementation.md), Stages 11–12.
|
||||
|
||||
## Purpose and authority
|
||||
|
||||
@@ -34,9 +35,7 @@ This roadmap defines the selected end state. The
|
||||
[implementation plan](implementation.md) assigns the ordered work and records
|
||||
stage completion evidence.
|
||||
|
||||
## Current baseline
|
||||
|
||||
Baseline: CommandKit commit `ab270e2`.
|
||||
## Baseline at commit ab270e2
|
||||
|
||||
CommandKit is a prerelease alpha codebase with no existing consumers. The
|
||||
maintained consumer examples demonstrate intended usage; this adoption needs no
|
||||
@@ -48,7 +47,19 @@ consumer migration plan.
|
||||
| `integrations/ckconfig` | ConfigKit v0.7.1; independent validate/show/sources/explain/diff capabilities, paired selection/input preparation, and the shared YAML comparison report and delivery path. Report placement uses a report-local mapping index. |
|
||||
| `integrations/ckprompt` | PromptKit v0.12.0 and ConfigKit v0.7.1. `ConfigScope` exposes validate/show/sources/explain, without comparison. `Suite` and `FromEngine` expose named prompt/profile inspection; `Command` generates only `promptkit show` children. |
|
||||
| Maintained composed consumer | Demonstrates both configuration scopes, app configuration comparison, named prompt/profile inspection, and an application-owned session command. Application configuration caching distinguishes selections and supplied campaign inputs. |
|
||||
| Deferred work | PromptKit comparison and catalogs are recorded as future capabilities in [deferred.md](deferred.md). They are targets of this adoption; requirement inspection is deferred separately. |
|
||||
| Deferred work | PromptKit comparison and catalogs were future capabilities at this baseline. The later adoption delivers them; requirement inspection remains deferred in [deferred.md](deferred.md). |
|
||||
|
||||
## Delivered status
|
||||
|
||||
The current repository uses PromptKit v0.14.0. `ConfigScope` declares native
|
||||
comparison through `config diff`; `FromEngine` supplies prompt/profile catalog
|
||||
and named-inspection callbacks; and `Command` installs only the supplied `list`
|
||||
and `show` operations. The maintained composed consumer exercises comparison,
|
||||
both catalogs, named inspection, and its application-owned session command.
|
||||
Stages 1–10 and their completion evidence are recorded in the
|
||||
[implementation plan](implementation.md). Requirement inspection remains
|
||||
deferred; distribution reconciliation and complete validation are still pending
|
||||
there.
|
||||
|
||||
The existing [ckprompt contracts and adapters](../../integrations/ckprompt/adapters.go)
|
||||
and [command assembly](../../integrations/ckprompt/command.go) are the starting
|
||||
@@ -113,8 +124,8 @@ app config diff --scope promptkit --config before.yml --against-config after.yml
|
||||
app config diff --scope promptkit --config base.yml --against-overlay candidate
|
||||
```
|
||||
|
||||
These are target invocations, not currently implemented PromptKit comparisons.
|
||||
They use the existing [comparison CLI contract](../cli.md#compare-configuration-selections):
|
||||
These invocations use the existing
|
||||
[comparison CLI contract](../cli.md#compare-configuration-selections):
|
||||
one scope, left selectors and inherited right overrides, shared applicable domain
|
||||
selector values, YAML-only additions/changes/deletions presentation, and success
|
||||
for completed comparisons regardless of whether differences exist. There is no
|
||||
@@ -290,7 +301,10 @@ exact strings; quote through the YAML encoder rather than interpreting
|
||||
numeric-looking versions. CommandKit defines these report fields explicitly;
|
||||
serialization of an upstream Go struct does not define the CLI schema.
|
||||
|
||||
## Work needed from the baseline
|
||||
## Selected implementation scope
|
||||
|
||||
The sections below record the scope selected for adoption. Implementation status
|
||||
and evidence are tracked in the [implementation plan](implementation.md).
|
||||
|
||||
### Dependencies and distribution
|
||||
|
||||
|
||||
Reference in New Issue
Block a user