Align ckprompt with released dependencies
This commit is contained in:
@@ -25,9 +25,8 @@ defines the shared visibility policy.
|
||||
Importing an integration does not install commands. Core v0.4.0 is published;
|
||||
the published ckconfig and ckprompt v0.2.0 modules use core v0.3.0. The published
|
||||
ckconfig v0.3.0 uses ConfigKit v1.1.0 and does not compose with
|
||||
ckprompt v0.2.0; the published v0.2.0 pair remains matched. Current ckconfig
|
||||
source uses core v0.4.0. Current ckprompt source requires a newer
|
||||
ckconfig release and is developed in an aligned workspace. See the
|
||||
ckprompt v0.2.0; the published v0.2.0 pair remains matched. Published ckconfig
|
||||
v0.4.0 uses core v0.4.0; the current ckprompt candidate selects both. See the
|
||||
[consumer guide](docs/consumers/guide.md#module-selection) for dependency details.
|
||||
|
||||
## Examples
|
||||
|
||||
@@ -23,10 +23,10 @@ Install the current core with `go get go.maximumdirect.net/commandkit@v0.4.0`.
|
||||
For the older matched integration set, select core v0.3.0 and the corresponding
|
||||
ckconfig or ckprompt v0.2.0 release together.
|
||||
|
||||
The ckconfig v0.4.0 candidate uses published core v0.4.0 and ConfigKit v1.1.0.
|
||||
The current ckprompt source targets core v0.4.0, ckconfig v0.3.0, ConfigKit
|
||||
v1.1.0, and PromptKit v0.20.0. Its APIs require the upcoming ckconfig release;
|
||||
a Go 1.27.0 workspace composes the local modules until that dependency is aligned.
|
||||
Published ckconfig v0.4.0 uses core v0.4.0 and ConfigKit v1.1.0. The ckprompt
|
||||
v0.3.0 candidate targets those releases and PromptKit v0.20.0. A Go 1.27.0
|
||||
workspace may compose the three local modules; independent tests also use the
|
||||
declared released dependencies.
|
||||
|
||||
The two integrations are independent optional imports. `ckprompt` uses the
|
||||
public scope and error contracts from `ckconfig`; importing it does not add the
|
||||
|
||||
@@ -103,9 +103,8 @@ under their canonical owners.
|
||||
|
||||
The root module does not traverse nested modules. Preserve the ignored `go.work`
|
||||
and `go.work.sum`; use `GOWORK=off GOTOOLCHAIN=local` for dependency preparation
|
||||
and independent module suites once released requirements are aligned. ckconfig
|
||||
can be validated independently against released core v0.4.0; ckprompt still
|
||||
requires the aligned workspace until its ckconfig requirement is updated.
|
||||
and independent module suites. The integrations select released core v0.4.0;
|
||||
ckprompt also selects released ckconfig v0.4.0.
|
||||
Run `GOWORK=off GOTOOLCHAIN=local go test ./...` separately from each module
|
||||
directory. From the repository root, a workspace containing all three modules can
|
||||
also run:
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# Future work
|
||||
|
||||
Status: pending release and integration work, plus future capability proposals.
|
||||
Status: pending ckprompt publication and future capability proposals.
|
||||
No delivery dates are selected here.
|
||||
|
||||
## Purpose and authority
|
||||
|
||||
Completed roadmaps, implementation plans, and review findings have been retired.
|
||||
Earlier completed roadmaps, implementation plans, and review findings have been retired.
|
||||
This document preserves unfinished work and unselected ideas under the
|
||||
[release policy](../policy/release.md#release-documentation-and-preparation).
|
||||
The completed PromptKit v0.18.0 adoption roadmap and implementation plan remain
|
||||
@@ -26,51 +26,27 @@ an idea here does not select its syntax, API, priority, or delivery date.
|
||||
|
||||
### ckprompt release
|
||||
|
||||
The PromptKit v0.18.0 adoption is complete. The
|
||||
The PromptKit v0.20.0 adoption is complete. The
|
||||
[ckprompt v0.3.0 candidate](../../integrations/ckprompt/docs/releases/v0.3.0.md)
|
||||
remains unpublished. Publication and hosted delivery remain separate operations
|
||||
under the [release procedure](../release.md).
|
||||
The published ckprompt v0.2.0 retains its earlier dependencies; see the
|
||||
[consumer guide](../consumers/guide.md#module-selection) for module selection.
|
||||
|
||||
### PromptKit v0.20.0 adoption
|
||||
|
||||
The [PromptKit v0.20.0 roadmap](promptkit-v0.20.0.md) owns the agreed adoption,
|
||||
the shared core reporting/input prerequisites, operator CLI additions for
|
||||
PromptKit and ConfigKit, recorded decisions, and completion checklist. It targets
|
||||
a clean alpha adoption without backward-compatibility provisions or consumer
|
||||
migration guidance. Implementation has not started. Use released upstream
|
||||
contracts only; do not inspect or monitor unreleased work in anticipation of
|
||||
adoption.
|
||||
|
||||
## Future capability targets
|
||||
|
||||
### Comparison extensions
|
||||
|
||||
The [working roadmap](promptkit-v0.20.0.md#additional-configkit-operator-workflows)
|
||||
owns independent comparison selections (OD-9), assertion outcomes (OD-10), and
|
||||
optional detailed reports (OD-5). These accepted plans do not change currently
|
||||
implemented behavior.
|
||||
|
||||
General collection-clearing support is deferred pending a concrete consumer need.
|
||||
Revisit standardized syntax and binding support for explicitly replacing a
|
||||
nonempty application-default selector collection with an empty collection.
|
||||
This is separate from clearing configuration lists through OD-11's transient
|
||||
This is separate from clearing configuration lists through transient
|
||||
overrides and does not reinstate comparison inheritance. No clearing grammar
|
||||
or public helper API is selected.
|
||||
|
||||
### Configuration inspection extensions
|
||||
|
||||
The [working roadmap](promptkit-v0.20.0.md#shared-configuration-capabilities)
|
||||
owns metadata/path discovery (OD-4), detailed comparison (OD-5), failed-load
|
||||
evidence and aggregate validation (OD-6), focused inspection/filters (OD-8), and
|
||||
transient overrides (OD-11). The six-command suite, selected output behavior,
|
||||
and pass-through override policy are defined there. Implementation belongs in
|
||||
`ckconfig`, with PromptKit exposing native evidence through its configuration
|
||||
scope. Use the shared core reporting prerequisite and thin projections;
|
||||
presentation refinements should follow implementation and beta feedback.
|
||||
All numbered decisions are settled; exact APIs and wiring remain implementation
|
||||
work. Persistent configuration editing remains deferred.
|
||||
Persistent configuration editing remains deferred.
|
||||
|
||||
Discovery, import defaults, collection identities, and field-level resolution
|
||||
recording remain available through application loaders. Discovery tracing,
|
||||
@@ -81,28 +57,8 @@ application loading and startup.
|
||||
|
||||
### PromptKit inspection and selection extensions
|
||||
|
||||
The [PromptKit v0.20.0 roadmap](promptkit-v0.20.0.md#targeted-end-state)
|
||||
owns native prompt/profile/backend resource inspection, concrete request preview,
|
||||
applicable request flags, namespace selection, and the shared configuration
|
||||
inspection extensions. The [resource inspection plan](promptkit-v0.20.0.md#resource-inspection)
|
||||
includes backend inspection through the released upstream API. Execution flags
|
||||
will be public reusable `ckprompt` collections for standard and application-owned
|
||||
CLI commands, composed through existing core bindings.
|
||||
[Roadmap OD-2](promptkit-v0.20.0.md#od-2-request-controls-and-provider-parameter-grammar)
|
||||
records the agreed canonical naming, scoped convenience aliases, integration
|
||||
installation collection, selected text/file input forms, and CLI JSON number
|
||||
policy. Numeric conversion uses ordinary Go types and a small internal helper
|
||||
with policy comments, behind a narrow public core CLI JSON parser. Collections
|
||||
and aliases use existing declarations; cross-flag text/file precedence uses the
|
||||
roadmap's ordered typed input prerequisite.
|
||||
Output-contract overrides and appended-message flags are deferred below.
|
||||
These are CLI features; general-purpose helpers for
|
||||
application-internal PromptKit use are outside CommandKit's ownership boundary.
|
||||
|
||||
[Roadmap OD-3](promptkit-v0.20.0.md#od-3-namespace-flags-and-loader-defaults)
|
||||
records the agreed namespace-selector applicability, including the limited role
|
||||
of profile selection in requirements inspection. That selection follows the
|
||||
released upstream identity requirement; it does not change prompt dependencies.
|
||||
General-purpose helpers for application-internal PromptKit use remain outside
|
||||
CommandKit's ownership boundary. The following CLI extensions are deferred.
|
||||
|
||||
- **Output-contract override flags.** Deferred from the current adoption. A
|
||||
possible future operator task is validating or previewing one prompt with a
|
||||
@@ -124,11 +80,6 @@ released upstream identity requirement; it does not change prompt dependencies.
|
||||
Deferring flags does not remove native appended messages from preview reports
|
||||
when an application builder supplies them.
|
||||
|
||||
[Roadmap OD-2](promptkit-v0.20.0.md#od-2-request-controls-and-provider-parameter-grammar)
|
||||
selects inline text and explicit file input for single-prompt validation and
|
||||
preview. Native API availability alone does not select further CLI syntax or
|
||||
require a convenience API for application execution.
|
||||
|
||||
### Alias completion and discovery
|
||||
|
||||
The delivered [shell completion feature](../cli.md#shell-completion) provides
|
||||
@@ -145,15 +96,8 @@ steps. No delivery date or final API is selected here.
|
||||
|
||||
### Reporting extensions
|
||||
|
||||
The [shared core report output prerequisite](promptkit-v0.20.0.md#shared-core-report-output-prerequisite)
|
||||
owns application-selected content, core rendering, universal/automatic format
|
||||
selection, JSON representation conventions, text templates, and safe YAML input
|
||||
conversion. Text, YAML, and JSON land together; new core formats work through the
|
||||
same report API. The [output inventory](promptkit-v0.20.0.md#output-implementation-inventory)
|
||||
identifies report paths and preserves explicit raw/help/diagnostic boundaries.
|
||||
OD-6 defines one aggregate validation report and its changed delivery timing.
|
||||
XML is outside current consideration; Markdown and other renderers are not
|
||||
selected for this adoption.
|
||||
XML is outside current consideration; Markdown and other renderers remain
|
||||
unselected.
|
||||
|
||||
Error-conversion helpers such as `WarnError` remain deferred pending demonstrated
|
||||
value; applications can already use `report.Warn(err.Error())`. Terminal redraw
|
||||
@@ -183,9 +127,8 @@ operator or consumer need and an appropriate ownership/behavior decision:
|
||||
and output-file management or reloadable export.
|
||||
- Shell completion extensions, including alias discovery described above and
|
||||
dynamic discovery of configured or remote values.
|
||||
- Persistent configuration mutation. Transient CLI overrides are selected under
|
||||
roadmap OD-11; field metadata and provenance inspection are scoped under
|
||||
[configuration inspection extensions](#configuration-inspection-extensions).
|
||||
- Persistent configuration mutation. Transient CLI overrides and field metadata
|
||||
inspection are available through the standard configuration suite.
|
||||
- Credential diagnostics beyond PromptKit's native smoke checks and additional
|
||||
live provider probes.
|
||||
- Additional component identity registration and domain artifact catalogs.
|
||||
@@ -194,10 +137,7 @@ operator or consumer need and an appropriate ownership/behavior decision:
|
||||
- Backend selection or replacement, a plugin framework, general dependency
|
||||
injection, and concurrent-dispatch guarantees.
|
||||
|
||||
Execution, serving, and session operations remain application-owned. The
|
||||
[request preview proposal](promptkit-v0.20.0.md#preview-and-request-flags)
|
||||
exposes native preparation and rendering as an agreed operator inspection target;
|
||||
implementation has not started.
|
||||
Execution, serving, and session operations remain application-owned.
|
||||
The [architecture policy](../policy/architecture.md#command-and-application-ownership)
|
||||
recommends shared vocabulary; the [CLI reference](../cli.md#registered-command-syntax)
|
||||
owns implemented grammar.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Shared reporting and PromptKit v0.20.0 implementation plan
|
||||
|
||||
Status: implementation in progress; Stages 1–25 complete.
|
||||
Status: implementation complete; Stages 1–26 complete.
|
||||
|
||||
## Scope, authority, and execution
|
||||
|
||||
@@ -926,6 +926,28 @@ version; hosted delivery remains separately tracked under the release procedure.
|
||||
|
||||
## Stage 26: Final ckprompt alignment and end-to-end verification
|
||||
|
||||
**Complete.** ckprompt v0.3.0 selects published core v0.4.0 and ckconfig
|
||||
v0.4.0, ConfigKit v1.1.0, and PromptKit v0.20.0. All three standalone suites
|
||||
and all three workspace suites passed with Go 1.27.0. Offline tidy left all
|
||||
module files unchanged. Fifteen documented standalone consumer invocations and
|
||||
16 additional workflows passed; the two invalid-fixture invocations returned
|
||||
their expected failures, as did native type rejection for zero/list overrides.
|
||||
Comparison assertions returned status 3, null overrides retained native evidence,
|
||||
and preview and smoke commands used the local fake client. ckprompt publication
|
||||
and hosted delivery remain separate operations.
|
||||
|
||||
The tested fixtures are identified by Git blob IDs:
|
||||
|
||||
| Consumer | Fixture | Blob |
|
||||
| --- | --- | --- |
|
||||
| simple | `before.yml` | `8192e75eb483dc5e206956632ecc36a641ead935` |
|
||||
| simple | `after.yml` | `a5fc1041a8756cfa8487b8abf9ed2e551bdba0d9` |
|
||||
| simple | `invalid.yml` | `455a1af8e1dd11cb728fce4334fb10d1b1d4ce2b` |
|
||||
| composed | `before.yml` | `9fc0c68178fea64b5ab5a46e547e25f82baf8c17` |
|
||||
| composed | `after.yml` | `e1c77fd6004b3114728c245648e01998e6a45858` |
|
||||
| composed | `topic.txt` | `4c1c8cf49d7b36c033b144ff0ec064f832f11283` |
|
||||
| composed | `notes.txt` | `4a5e2c8ddb220ae2bbc50868baab9cbbaa0a6263` |
|
||||
|
||||
Pin released core and ckconfig versions providing the new APIs in ckprompt.
|
||||
Download and tidy with GOWORK off; retain real sums. Update the unpublished
|
||||
ckprompt candidate note (or fresh minor selected in Stage 24) with the final
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -7,7 +7,7 @@ itself.
|
||||
|
||||
## Module
|
||||
|
||||
The module path is `go.maximumdirect.net/ckconfig`. The v0.4.0 candidate requires Go
|
||||
The module path is `go.maximumdirect.net/ckconfig`. Version v0.4.0 requires Go
|
||||
1.27.0 and uses `go.maximumdirect.net/commandkit v0.4.0` and
|
||||
`go.maximumdirect.net/configkit v1.1.0`; it does not import PromptKit. See the
|
||||
[consumer guide](https://gitea.maximumdirect.net/eric/CommandKit/src/branch/main/docs/consumers/guide.md#configkit-scopes)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Simple consumer
|
||||
|
||||
This example imports `go.maximumdirect.net/ckconfig` and
|
||||
`go.maximumdirect.net/commandkit`; the ckconfig v0.4.0 candidate uses core
|
||||
`go.maximumdirect.net/commandkit`; ckconfig v0.4.0 uses core
|
||||
v0.4.0, ConfigKit v1.1.0, and Go 1.27.0. Set `GOWORK=off GOTOOLCHAIN=local`
|
||||
for the commands below.
|
||||
|
||||
|
||||
@@ -8,12 +8,10 @@ Importing it does not install either command family.
|
||||
## Module
|
||||
|
||||
The module path is `go.maximumdirect.net/ckprompt`. This source uses Go 1.27.0,
|
||||
`go.maximumdirect.net/commandkit v0.4.0`, `go.maximumdirect.net/ckconfig v0.3.0`,
|
||||
`go.maximumdirect.net/commandkit v0.4.0`, `go.maximumdirect.net/ckconfig v0.4.0`,
|
||||
`go.maximumdirect.net/configkit v1.1.0`, and `go.maximumdirect.net/promptkit v0.20.0`. See the
|
||||
[consumer guide](https://gitea.maximumdirect.net/eric/CommandKit/src/branch/main/docs/consumers/guide.md#promptkit-configuration-definitions-and-requirements)
|
||||
for callback, input, state, and acquisition contracts.
|
||||
The current source requires the aligned local workspace until a new ckconfig
|
||||
release supplies its APIs.
|
||||
|
||||
## Example
|
||||
|
||||
|
||||
@@ -85,8 +85,9 @@ root): `docs/policy/meta.md`, `docs/policy/agents.md`,
|
||||
`docs/policy/documentation.md`, `docs/policy/release.md`, and
|
||||
`docs/policy/oss.md`; the root `AGENTS.md` orientation after the knowledge-graph
|
||||
instructions; and the Policy Reading Guide in `docs/development.md`, adapted for
|
||||
the core module. The release policy uses baseline
|
||||
`e833faddf120c789a9b45348edaf75720de16348`; the remaining material uses baseline
|
||||
the core module. The documentation policy uses baseline
|
||||
`beb5f191470a9daef2383981a6bfd02232490ab4`; the release policy uses
|
||||
`e833faddf120c789a9b45348edaf75720de16348`; the remaining material uses
|
||||
`d84a38ebab26f048cafbe59a2246700c35d29843`.
|
||||
|
||||
Copyright (C) 2026 Eric Rakestraw
|
||||
@@ -97,12 +98,16 @@ License and notices: [CC BY-SA 4.0](licenses/CC-BY-SA-4.0.txt) |
|
||||
[COPYRIGHT](https://gitea.maximumdirect.net/eric/policy/src/commit/d84a38ebab26f048cafbe59a2246700c35d29843/COPYRIGHT) |
|
||||
[LICENSE](https://gitea.maximumdirect.net/eric/policy/src/commit/d84a38ebab26f048cafbe59a2246700c35d29843/LICENSE) |
|
||||
[COPYRIGHT](https://gitea.maximumdirect.net/eric/policy/src/commit/e833faddf120c789a9b45348edaf75720de16348/COPYRIGHT) |
|
||||
[LICENSE](https://gitea.maximumdirect.net/eric/policy/src/commit/e833faddf120c789a9b45348edaf75720de16348/LICENSE).
|
||||
[LICENSE](https://gitea.maximumdirect.net/eric/policy/src/commit/e833faddf120c789a9b45348edaf75720de16348/LICENSE) |
|
||||
[COPYRIGHT](https://gitea.maximumdirect.net/eric/policy/src/commit/beb5f191470a9daef2383981a6bfd02232490ab4/COPYRIGHT) |
|
||||
[LICENSE](https://gitea.maximumdirect.net/eric/policy/src/commit/beb5f191470a9daef2383981a6bfd02232490ab4/LICENSE).
|
||||
|
||||
[Source](https://gitea.maximumdirect.net/eric/policy/src/commit/d84a38ebab26f048cafbe59a2246700c35d29843).
|
||||
|
||||
[Source](https://gitea.maximumdirect.net/eric/policy/src/commit/e833faddf120c789a9b45348edaf75720de16348).
|
||||
|
||||
[Source](https://gitea.maximumdirect.net/eric/policy/src/commit/beb5f191470a9daef2383981a6bfd02232490ab4).
|
||||
|
||||
## go-yaml v4
|
||||
|
||||
Selected module: `go.yaml.in/yaml/v4` at `v4.0.0-rc.6`.
|
||||
|
||||
@@ -1,33 +1,27 @@
|
||||
# CommandKit ckprompt v0.3.0
|
||||
|
||||
## Summary
|
||||
CommandKit ckprompt v0.3.0 adopts PromptKit v0.20.0 and ConfigKit v1.1.0,
|
||||
and requires CommandKit core v0.4.0, ckconfig v0.4.0, and Go 1.27.0.
|
||||
The integration uses shared core reporting for text, YAML, and JSON output.
|
||||
|
||||
This candidate adopts `go.maximumdirect.net/promptkit v0.18.0`,
|
||||
`go.maximumdirect.net/configkit v1.1.0`, and
|
||||
`go.maximumdirect.net/ckconfig v0.3.0`, while retaining `go.maximumdirect.net/commandkit v0.3.0`. It requires
|
||||
Go 1.27.0. Existing configuration, catalog, inspection, validation, and smoke
|
||||
operations continue to forward the selected engine's native results.
|
||||
Prompt, profile, and backend commands report PromptKit's native resource
|
||||
inspections. Applications may opt into prepared-request preview, concrete
|
||||
request validation, smoke testing, and namespace selectors independently.
|
||||
Reusable request flag collections support application-owned commands;
|
||||
`ckprompt.Declarations` installs the standard family with scoped aliases.
|
||||
Literal and file inputs retain their command-line order. Provider parameters
|
||||
can be supplied for preparation and applicable diagnostics.
|
||||
|
||||
## Migration
|
||||
The PromptKit configuration scope exposes native metadata and load-failure
|
||||
evidence through ckconfig, including independent comparison selections,
|
||||
detailed differences, and validation findings. Smoke reports retain native
|
||||
evidence and operation failures separately from presentation failures.
|
||||
|
||||
Change PromptKit and ConfigKit imports to `go.maximumdirect.net/promptkit` and
|
||||
`go.maximumdirect.net/configkit`. Update loaders and consumers together because
|
||||
values from the old and new paths have distinct Go type identities. Migrate
|
||||
PromptKit prompt, profile, and backend maps to lists with explicit IDs, and
|
||||
update source builders, inheritance, import requiredness, and source-root
|
||||
controls as needed. See the pinned [upstream migration guide](https://forge.maximumdirect.net/base-layer/promptkit/src/commit/d9f6aad30509e538fc73ea16710df3a3ec084502/docs/consumers/configuration-migration.md).
|
||||
|
||||
Prompt catalogs, prompt and requirements inspections, and smoke targets no
|
||||
longer include descriptive prompt versions. Update report consumers accordingly;
|
||||
collection release labels and source version evidence remain. Configuration
|
||||
inspection now exposes native normalized values and source evidence, and
|
||||
native comparisons treat lists atomically.
|
||||
|
||||
PromptKit's default OpenRouter bundle supplies a backend and root profiles.
|
||||
They appear in catalog and configuration reports when enabled. Applications
|
||||
that need an application-only inventory may choose
|
||||
`promptkit.WithBundledOpenRouter(false)` in their engine loader. Review smoke
|
||||
selections and configure appropriate clients and HTTP probes for the application.
|
||||
This pre-1.0 release changes resource report shapes, input flags, formatting,
|
||||
and configuration comparison behavior. Applications should update declarations
|
||||
and report consumers to the current [CLI reference](../../../../docs/cli.md#promptkit-definition-inspection)
|
||||
and [consumer guide](../../../../docs/consumers/guide.md#promptkit-configuration-definitions-and-requirements).
|
||||
Applications continue to own engine construction, credentials, and execution.
|
||||
|
||||
[COPYRIGHT](https://forge.maximumdirect.net/base-layer/commandkit/src/tag/integrations/ckprompt/v0.3.0/integrations/ckprompt/COPYRIGHT) |
|
||||
[LICENSE](https://forge.maximumdirect.net/base-layer/commandkit/src/tag/integrations/ckprompt/v0.3.0/integrations/ckprompt/LICENSE) |
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
# Composed consumer
|
||||
|
||||
This example is part of the ckprompt module and uses core v0.4.0, ckconfig
|
||||
v0.3.0, ConfigKit v1.1.0, and PromptKit v0.20.0. It requires Go 1.27.0.
|
||||
The current work uses the aligned local workspace until the required ckconfig
|
||||
release is published.
|
||||
v0.4.0, ConfigKit v1.1.0, and PromptKit v0.20.0. It requires Go 1.27.0.
|
||||
|
||||
This example composes application configuration, PromptKit configuration,
|
||||
PromptKit comparison and catalogs, definition and requirements inspection, and
|
||||
@@ -138,7 +136,6 @@ the selected campaign but leaves artifact bindings to the operator. The
|
||||
`requirements show` commands remain discovery reports: partial discovery can
|
||||
succeed even when a concrete request would fail validation.
|
||||
|
||||
Use the aligned local workspace to test the three current sources, as described in
|
||||
the [developer guide](../../../../docs/development.md#documentation-validation).
|
||||
Once released dependency requirements are aligned, `GOWORK=off go test ./...`
|
||||
from this example directory checks it against its declared dependencies.
|
||||
Run `GOWORK=off go test ./...` from this example directory to check it against
|
||||
its declared dependencies. The [developer guide](../../../../docs/development.md#documentation-validation)
|
||||
also describes aligned workspace tests.
|
||||
|
||||
@@ -3,7 +3,7 @@ module go.maximumdirect.net/ckprompt
|
||||
go 1.27.0
|
||||
|
||||
require (
|
||||
go.maximumdirect.net/ckconfig v0.3.0
|
||||
go.maximumdirect.net/ckconfig v0.4.0
|
||||
go.maximumdirect.net/commandkit v0.4.0
|
||||
go.maximumdirect.net/configkit v1.1.0
|
||||
go.maximumdirect.net/promptkit v0.20.0
|
||||
|
||||
@@ -10,10 +10,10 @@ github.com/spf13/cobra v1.10.1 h1:lJeBwCfmrnXthfAupyUTzJ/J4Nc1RsHC/mSRU2dll/s=
|
||||
github.com/spf13/cobra v1.10.1/go.mod h1:7SmJGaTHFVBY0jW4NXGluQoLvhqFQM+6XSKD+P4XaB0=
|
||||
github.com/spf13/pflag v1.0.9 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY=
|
||||
github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||
go.maximumdirect.net/ckconfig v0.3.0 h1:1FceT13Qe9J7V5knWPiJhwSNwxrZnYPH8HoloYpWLgs=
|
||||
go.maximumdirect.net/ckconfig v0.3.0/go.mod h1:NKFBVr2TyDNGGIWgwijGqg5WFoSUL2F8FiKRlNo9TLw=
|
||||
go.maximumdirect.net/commandkit v0.3.0 h1:RCmg2GS8uzlLSJCIqarpn1uFDec0W3ylNNRRPT6kUFE=
|
||||
go.maximumdirect.net/commandkit v0.3.0/go.mod h1:ZS98DewKNVBygKVDoh5MFD09CnPlP37dS9pVsID5Eoc=
|
||||
go.maximumdirect.net/ckconfig v0.4.0 h1:7MpI/jIy+3BZrVME5rhKQibh5U9IA3s97BUJ2EOG41s=
|
||||
go.maximumdirect.net/ckconfig v0.4.0/go.mod h1:Mk6QOfHrFy00uE0/gw9h6/Y9LcdTShVEzM/oI/HGDns=
|
||||
go.maximumdirect.net/commandkit v0.4.0 h1:bWqflDWDn98FUCgh+0e+w6LGmvWIkaeJK519H7PjD2Y=
|
||||
go.maximumdirect.net/commandkit v0.4.0/go.mod h1:ZS98DewKNVBygKVDoh5MFD09CnPlP37dS9pVsID5Eoc=
|
||||
go.maximumdirect.net/configkit v1.1.0 h1:UzXN2ZMnEkcL0O4YSLqD9qd9M1gb/NWCHQR/H8AaQzA=
|
||||
go.maximumdirect.net/configkit v1.1.0/go.mod h1:s1zLJ9GGB/1Q4a+aOHMLISonJxWFgNWpA6SpPlOafeA=
|
||||
go.maximumdirect.net/promptkit v0.20.0 h1:ZpwbjiCZWXdnnZ26RuWKoOco0jFnaAX8m2tQAX7ZlnM=
|
||||
|
||||
Reference in New Issue
Block a user