From 2f43f78f76439f5d11ef313cd379bec036543504 Mon Sep 17 00:00:00 2001 From: Eric Rakestraw Date: Sat, 7 Nov 2026 11:23:15 +0000 Subject: [PATCH] Align ckprompt with released dependencies --- README.md | 5 +- docs/consumers/guide.md | 8 +- docs/development.md | 5 +- docs/roadmap/future.md | 84 +++---------------- docs/roadmap/implementation.md | 24 +++++- docs/roadmap/promptkit-v0.20.0.md | 69 ++++++++------- integrations/ckconfig/README.md | 2 +- .../ckconfig/examples/simple/README.md | 2 +- integrations/ckprompt/README.md | 4 +- integrations/ckprompt/docs/oss/attribution.md | 11 ++- integrations/ckprompt/docs/releases/v0.3.0.md | 44 +++++----- .../ckprompt/examples/composed/README.md | 11 +-- integrations/ckprompt/go.mod | 2 +- integrations/ckprompt/go.sum | 8 +- 14 files changed, 116 insertions(+), 163 deletions(-) diff --git a/README.md b/README.md index 016c3a2..37880b7 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/docs/consumers/guide.md b/docs/consumers/guide.md index bf19efc..fdc787b 100644 --- a/docs/consumers/guide.md +++ b/docs/consumers/guide.md @@ -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 diff --git a/docs/development.md b/docs/development.md index 2fa0283..e737a53 100644 --- a/docs/development.md +++ b/docs/development.md @@ -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: diff --git a/docs/roadmap/future.md b/docs/roadmap/future.md index 5286e49..90d0f62 100644 --- a/docs/roadmap/future.md +++ b/docs/roadmap/future.md @@ -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. diff --git a/docs/roadmap/implementation.md b/docs/roadmap/implementation.md index 65585e2..9d2dd66 100644 --- a/docs/roadmap/implementation.md +++ b/docs/roadmap/implementation.md @@ -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 diff --git a/docs/roadmap/promptkit-v0.20.0.md b/docs/roadmap/promptkit-v0.20.0.md index 7f0f70c..f5d1ae0 100644 --- a/docs/roadmap/promptkit-v0.20.0.md +++ b/docs/roadmap/promptkit-v0.20.0.md @@ -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 diff --git a/integrations/ckconfig/README.md b/integrations/ckconfig/README.md index 30d78ac..1ccc00e 100644 --- a/integrations/ckconfig/README.md +++ b/integrations/ckconfig/README.md @@ -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) diff --git a/integrations/ckconfig/examples/simple/README.md b/integrations/ckconfig/examples/simple/README.md index 50f8bce..1608ce1 100644 --- a/integrations/ckconfig/examples/simple/README.md +++ b/integrations/ckconfig/examples/simple/README.md @@ -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. diff --git a/integrations/ckprompt/README.md b/integrations/ckprompt/README.md index e707ebd..0001e67 100644 --- a/integrations/ckprompt/README.md +++ b/integrations/ckprompt/README.md @@ -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 diff --git a/integrations/ckprompt/docs/oss/attribution.md b/integrations/ckprompt/docs/oss/attribution.md index 16a0044..119ba01 100644 --- a/integrations/ckprompt/docs/oss/attribution.md +++ b/integrations/ckprompt/docs/oss/attribution.md @@ -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`. diff --git a/integrations/ckprompt/docs/releases/v0.3.0.md b/integrations/ckprompt/docs/releases/v0.3.0.md index 504e4f4..d8cf524 100644 --- a/integrations/ckprompt/docs/releases/v0.3.0.md +++ b/integrations/ckprompt/docs/releases/v0.3.0.md @@ -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) | diff --git a/integrations/ckprompt/examples/composed/README.md b/integrations/ckprompt/examples/composed/README.md index bb7bf15..b1e775b 100644 --- a/integrations/ckprompt/examples/composed/README.md +++ b/integrations/ckprompt/examples/composed/README.md @@ -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. diff --git a/integrations/ckprompt/go.mod b/integrations/ckprompt/go.mod index 1233053..c576823 100644 --- a/integrations/ckprompt/go.mod +++ b/integrations/ckprompt/go.mod @@ -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 diff --git a/integrations/ckprompt/go.sum b/integrations/ckprompt/go.sum index 85d174d..7d3c6ba 100644 --- a/integrations/ckprompt/go.sum +++ b/integrations/ckprompt/go.sum @@ -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=