Align ckprompt with released dependencies

This commit is contained in:
2026-11-07 11:23:15 +00:00
parent 668c609062
commit 2f43f78f76
14 changed files with 116 additions and 163 deletions

View File

@@ -1,10 +1,10 @@
# Shared report output, PromptKit v0.20.0 adoption, and ConfigKit operator CLI
Status: agreed feature roadmap; implementation is in progress. The numbered
decisions and final review clarifications are settled. The
[implementation plan](implementation.md) owns staged execution and concrete API
and transition choices; native resource report fields follow upstream. Practical
beta feedback will guide presentation refinements.
Status: implementation complete. Core v0.4.0 and ckconfig v0.4.0 are published;
the ckprompt v0.3.0 candidate is prepared for separate publication. The
[implementation plan](implementation.md) records stage completion and validation;
native resource report fields follow upstream. Practical beta feedback will guide
presentation refinements.
Reading guide: the core prerequisite sections own shared mechanics; resource
inspection and OD-1 through OD-11 own integration behavior. The overview links
@@ -673,8 +673,7 @@ the plan; the checklist here defines the target acceptance boundaries.
Select focused boundary tests under the [testing policy](../policy/testing.md).
The ownership and Go-native policy work is complete in
[architecture.md](../policy/architecture.md#ownership-boundaries). The checks below
cover implementation and its documentation across the staged work; final
release-dependent checks remain pending.
cover the completed implementation, documentation, and dependency validation.
The checklist concerns core reporting and adapter/CLI behavior; it does not ask
CommandKit to retest PromptKit rendering, schema, namespace, or ConfigKit
resolution algorithms.
@@ -683,112 +682,112 @@ Default tests remain offline and independent of real credentials.
The linked sections own behavior; these checks cover consequential boundaries
rather than prescribing one test per line or exact cosmetic snapshots.
- [ ] Public report/writer APIs, the CLI JSON parser, and ordered typed input
- [x] Public report/writer APIs, the CLI JSON parser, and ordered typed input
composition are documented. Maintained consumers exercise applicable APIs, and
both integrations build independently. Core has no integration dependency.
- [ ] Universal format selection follows the agreed precedence and logical shapes.
- [x] Universal format selection follows the agreed precedence and logical shapes.
Cover explicit choices, templates, scalars, empty/nonempty collections, null,
invalid formats before acquisition, flag collisions, and invocation isolation.
New formats require no handler changes or local allowlists.
- [ ] JSON interpretation and explicit safe-YAML conversion preserve selected
- [x] JSON interpretation and explicit safe-YAML conversion preserve selected
field omissions, numeric values, type/presence/null/empty distinctions, sequence
order, and redaction. Unsupported serialization/conversion remains observable.
Ordinary strings are not implicitly parsed as YAML; mapping order is not a test
requirement. Do not substitute runtime configuration for inspection snapshots.
- [ ] Templates receive original Go values and standard template behavior.
- [x] Templates receive original Go values and standard template behavior.
Explicit YAML/JSON does not execute a template; errors never trigger fallback.
Untemplated text follows the selected scalar/string-list or YAML rules.
- [ ] Invocation and writer APIs share rendering; quiet mode, domain outcomes,
- [x] Invocation and writer APIs share rendering; quiet mode, domain outcomes,
cause identity, cancellation, and presentation failures retain their agreed
lifecycle. Changing format does not change selected content or detail level.
Cover handler-selected submission after cancellation for acquired smoke and
aggregate-validation evidence, without imposing that behavior on ordinary
inspection or restarting canceled work.
- [ ] Every path in the [output inventory](#output-implementation-inventory) is
- [x] Every path in the [output inventory](#output-implementation-inventory) is
reviewed. Remove obsolete per-command format plumbing and duplicate encoders;
preserve explicit raw output, help, and diagnostic boundaries.
- [ ] `config show --scope all` submits the agreed scope-keyed mapping, including
- [x] `config show --scope all` submits the agreed scope-keyed mapping, including
a one-scope aggregate. Single-scope output remains unwrapped. Cover safe values,
fields named `scope`/`config`, and failure before combined display.
- [ ] Dependency versions/checksums, attribution, and candidate notes match the
- [x] Dependency versions/checksums, attribution, and candidate notes match the
selected v0.20.0/ConfigKit releases. Canonical docs and examples describe the
selected contracts without legacy report/API variants or migration guidance.
- [ ] Resource commands pass native prompt/profile/backend reports to core,
- [x] Resource commands pass native prompt/profile/backend reports to core,
preserving returned message content, field omissions, and explicit
zero/false/empty values across formats. No per-field report mirror or backend
completion is added. Help distinguishes resource inspection, preparation,
credential references, and configuration provenance.
- [ ] Backend inspection is independently optional, wired by `FromEngine`, and
- [x] Backend inspection is independently optional, wired by `FromEngine`, and
uses the selected ID, applicable configuration selectors, and backend namespace.
Help/completion require no acquisition. Preserve native not-found errors,
cancellation, acquisition diagnostics, and delivery failures. Boundary tests
establish faithful forwarding and reporting, not upstream resolution rules.
- [ ] Authentication response-limit evidence and smoke preparation errors retain
- [x] Authentication response-limit evidence and smoke preparation errors retain
native unknown facts, supported causes, and outcomes, including no-report cases.
Smoke aggregation preserves ordered results and partial failure/cancellation
evidence in one report. Default tests need no live credentials or model calls.
- [ ] OD-1 preview forwards the request, calls preparation once, and hands native
- [x] OD-1 preview forwards the request, calls preparation once, and hands native
`PreparedRun` data to core unless a concrete presentation need warrants a small
projection. It makes no model call and retains no execution handle. Help explains
the prompt-ID argument, resource I/O, and rendered-content disclosure.
- [ ] OD-2 collections work in standard and application-owned commands with their
- [x] OD-2 collections work in standard and application-owned commands with their
own typed inputs. Preserve selected subsets, omission/empty/zero values,
upstream retry defaults, authoritative builders, and native map replacement.
- [ ] CLI JSON parsing follows OD-2 for provider objects and configuration values.
- [x] CLI JSON parsing follows OD-2 for provider objects and configuration values.
Cover nested values, integer boundaries, decimal/exponent forms, range errors,
and ordinary float approximation. The private helper documents the policy and
its limits; no arbitrary-precision fallback or public numeric framework appears.
- [ ] Canonical flags and scoped aliases follow OD-2; generated aliases cover
- [x] Canonical flags and scoped aliases follow OD-2; generated aliases cover
enabled/applicable bindings, preserve presence, and do not claim unrelated
application spellings. Canonical-only and convenient installation both work.
- [ ] Ordered composition selects the last text/file occurrence for each input
- [x] Ordered composition selects the last text/file occurrence for each input
name, including mixed aliases, while retaining literal empty text and file
references. Cover reordered/interleaved flags, conversion failures, and fresh
invocations. No prompt-input flags are added to smoke tests.
- [ ] OD-3 namespace composition and applicability match the native boundary.
- [x] OD-3 namespace composition and applicability match the native boundary.
Cover defaults, explicit clearing, qualified IDs, and preservation of unrelated
defaults/catalog filters. Requirements help explains profile identity; cover
prompt-default fallback and short explicit profile selection without rewriting
configured references. Custom scoped loaders remain usable without the option.
- [ ] The six-command configuration suite and optional provider capabilities
- [x] The six-command configuration suite and optional provider capabilities
match installed help/completion metadata. Providers supply only enabled
capabilities; help, version, and capability discovery never trigger acquisition.
- [ ] OD-4 explanation modes, filters, and bare-help behavior distinguish explicit
- [x] OD-4 explanation modes, filters, and bare-help behavior distinguish explicit
root selection, current/historical-only paths, and unavailable metadata.
Preserve native paths/history; do not assert upstream resolution algorithms.
- [ ] OD-5 concise/detailed diff reuse the same native records and loads. Cover
- [x] OD-5 concise/detailed diff reuse the same native records and loads. Cover
additions/deletions, missing versus null, redaction/hidden changes, empty results,
atomic sequence changes, and delivery failure through the shared renderers.
- [ ] OD-6 validation and failed-load source evidence preserve failure and
- [x] OD-6 validation and failed-load source evidence preserve failure and
unavailable-versus-empty distinctions. Filters and known duplicate-message
coordination do not mask outcomes. Aggregate validation submits one document
with reached-scope evidence after stopping on acquisition failure/cancellation;
no unvisited scope is reported valid. Test the changed delivery timing and
separate operation/presentation failures without promising writer rollback.
- [ ] OD-8 focused values and source selection respect capability availability,
- [x] OD-8 focused values and source selection respect capability availability,
one-scope path selection, absent versus null, unknown IDs, and acquisition
failure. Filters retain source references without changing validation outcomes.
- [ ] OD-9 comparisons cover left-only, right-only, both/neither, and partially
- [x] OD-9 comparisons cover left-only, right-only, both/neither, and partially
specified sides, including repeated values and supplied state. Each side starts
independently; command-wide controls and the shared-state lifecycle remain
shared. Explicit-empty application selectors stay application-defined.
- [ ] OD-10 assertion outcomes distinguish equality, changes, usage, and failures;
- [x] OD-10 assertion outcomes distinguish equality, changes, usage, and failures;
concealed changes count. Ordinary diff behavior and nonzero domain outcomes
survive presentation failure according to the reporting contract.
- [ ] OD-11 parses only the selected assignment syntax, forwards explicit values
- [x] OD-11 parses only the selected assignment syntax, forwards explicit values
and safe labels to the correct side during loading, and preserves upstream
errors/provenance. Help documents unsupported `=` paths. No alternate input,
deduplication, conflict/precedence policy, or altered-value retry is added.
- [ ] Maintained simple/composed consumers demonstrate the new CLI tasks and
- [x] Maintained simple/composed consumers demonstrate the new CLI tasks and
failure workflow with deterministic fixtures. Code remains proportionate:
thin projections, one shared rendering implementation, and focused tests.
- [ ] Update CLI/API contracts, release notes, and examples with the implementation,
- [x] Update CLI/API contracts, release notes, and examples with the implementation,
including report framing, independent comparison selections, and validation
delivery timing. Keep contracts consistent with architecture policy and replace
obsolete native-YAML/document-order guidance in testing policy. The ADRs own
architectural rationale; these presentation and selector changes need no separate
successor records. Current documentation must match the landed scope.
- [ ] Final independent-module and aligned-workspace suites pass with dependency
- [x] Final independent-module and aligned-workspace suites pass with dependency
identities recorded. Deferred features remain outside this adoption.
The [implementation plan](implementation.md) owns the concrete verification