diff --git a/README.md b/README.md index 647a803..016c3a2 100644 --- a/README.md +++ b/README.md @@ -22,12 +22,12 @@ defines the shared visibility policy. | `go.maximumdirect.net/ckconfig` | `ckconfig` | ConfigKit-backed `config` scopes, including configuration source evidence. | | `go.maximumdirect.net/ckprompt` | `ckprompt` | PromptKit engine configuration/comparison, five catalogs, named inspection, requirements discovery, concrete request validation, and native smoke tests. | -Importing an integration does not install commands. The published ckconfig and -ckprompt v0.2.0 modules use core v0.3.0. The published +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 integration -sources use new core and ckconfig APIs and are developed in an aligned workspace -until their release dependencies are available. See the +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 [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 ef0c464..bf19efc 100644 --- a/docs/consumers/guide.md +++ b/docs/consumers/guide.md @@ -15,20 +15,18 @@ installed at the application root, not as group children. | `go.maximumdirect.net/ckconfig` | The application wants ConfigKit-backed configuration scopes and reports. | | `go.maximumdirect.net/ckprompt` | The application wants PromptKit engine configuration/comparison, five catalogs, named inspection, requirements discovery, request validation, or native smoke testing. | -The published matched releases are core v0.3.0, ckconfig v0.2.0, and ckprompt v0.2.0. +Core v0.4.0 is published. The previously published matched releases are core +v0.3.0, ckconfig v0.2.0, and ckprompt v0.2.0. The published ckconfig v0.3.0 uses ConfigKit v1.1.0 and does not compose with ckprompt v0.2.0, which retains ckconfig v0.2.0 and ConfigKit v0.8.0. -Install core with -`go get go.maximumdirect.net/commandkit@v0.3.0` and either integration with -`go get go.maximumdirect.net/ckconfig@v0.2.0` or -`go get go.maximumdirect.net/ckprompt@v0.2.0`. +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 current ckprompt source targets ckconfig v0.3.0, ConfigKit v1.1.0, and -PromptKit v0.20.0 using their `go.maximumdirect.net` identities. Its v0.3.0 -release is a candidate, not a published release. A Go 1.27.0 workspace may -compose all three local modules. The current integration source uses APIs that -require the upcoming core and ckconfig releases; independent validation follows -their publication and dependency alignment. +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. 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 475bddf..2fa0283 100644 --- a/docs/development.md +++ b/docs/development.md @@ -103,8 +103,9 @@ 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. Until then, -the integrations require a Go 1.27.0 workspace containing all three modules. +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. 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/implementation.md b/docs/roadmap/implementation.md index 516e10f..e2cb555 100644 --- a/docs/roadmap/implementation.md +++ b/docs/roadmap/implementation.md @@ -899,6 +899,11 @@ publication, proceed to Stage 25. Hosted delivery remains a separate operation. ## Stage 25: Released core alignment and ckconfig candidate +**Candidate preparation.** Both integration modules select published core +`v0.4.0`; ckconfig's standalone suite and simple consumer passed with Go 1.27.0 +using the downloaded release. Its `v0.4.0` candidate awaits source publication. +ckprompt's independent dependency preparation remains pending the ckconfig release. + Pin the actual released core version supplying Stages 1–6 in both integrations. Download ckconfig dependencies with GOWORK off and collect authentic sums; tidy that module with the selected toolchain. Defer ckprompt standalone preparation diff --git a/integrations/ckconfig/README.md b/integrations/ckconfig/README.md index e634694..30d78ac 100644 --- a/integrations/ckconfig/README.md +++ b/integrations/ckconfig/README.md @@ -7,8 +7,8 @@ itself. ## Module -The module path is `go.maximumdirect.net/ckconfig`. Version v0.3.0 requires Go -1.27.0 and uses `go.maximumdirect.net/commandkit v0.3.0` and +The module path is `go.maximumdirect.net/ckconfig`. The v0.4.0 candidate 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) for exact callback and lifetime contracts. diff --git a/integrations/ckconfig/docs/oss/attribution.md b/integrations/ckconfig/docs/oss/attribution.md index fec4dd3..2b3211f 100644 --- a/integrations/ckconfig/docs/oss/attribution.md +++ b/integrations/ckconfig/docs/oss/attribution.md @@ -116,8 +116,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 @@ -128,12 +129,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 v3 Selected module: `gopkg.in/yaml.v3` at `v3.0.1` (transitive dependency). diff --git a/integrations/ckconfig/docs/releases/v0.4.0.md b/integrations/ckconfig/docs/releases/v0.4.0.md new file mode 100644 index 0000000..d265d08 --- /dev/null +++ b/integrations/ckconfig/docs/releases/v0.4.0.md @@ -0,0 +1,24 @@ +# CommandKit ckconfig v0.4.0 + +CommandKit ckconfig v0.4.0 requires `go.maximumdirect.net/commandkit v0.4.0`, +ConfigKit v1.1.0, and Go 1.27.0. Configuration commands use core's shared +text, YAML, and JSON reporting and universal `--format` flag. + +Scopes can expose metadata-backed path discovery and focused values, filtered +source evidence, and detailed validation and comparison reports. Validation +retains available evidence after a failed load and reports reached scopes in +one result. Aggregate configuration display is one scope-keyed mapping. +Applications opt into transient CLI overrides only when their loader forwards +them to ConfigKit; `--set` and `--against-set` select the comparison sides. +Application-declared right-side selectors let each side use independent +inputs. `config diff --check` returns status 3 when native differences exist. + +This pre-1.0 minor release changes configuration report formatting and +aggregate framing, and comparison selectors now apply independently to each +side. Update callers and report consumers to the current +[CLI reference](../../../../docs/cli.md#configuration-scopes) and +[consumer guide](../../../../docs/consumers/guide.md#configkit-scopes). + +[COPYRIGHT](https://forge.maximumdirect.net/base-layer/commandkit/src/tag/integrations/ckconfig/v0.4.0/integrations/ckconfig/COPYRIGHT) | +[LICENSE](https://forge.maximumdirect.net/base-layer/commandkit/src/tag/integrations/ckconfig/v0.4.0/integrations/ckconfig/LICENSE) | +[ATTRIBUTION](https://forge.maximumdirect.net/base-layer/commandkit/src/tag/integrations/ckconfig/v0.4.0/integrations/ckconfig/docs/oss/attribution.md) diff --git a/integrations/ckconfig/examples/simple/README.md b/integrations/ckconfig/examples/simple/README.md index ce92c89..50f8bce 100644 --- a/integrations/ckconfig/examples/simple/README.md +++ b/integrations/ckconfig/examples/simple/README.md @@ -1,8 +1,8 @@ # Simple consumer This example imports `go.maximumdirect.net/ckconfig` and -`go.maximumdirect.net/commandkit`; use ckconfig v0.3.0 with core -v0.3.0, ConfigKit v1.1.0, and Go 1.27.0. Set `GOWORK=off GOTOOLCHAIN=local` +`go.maximumdirect.net/commandkit`; the ckconfig v0.4.0 candidate uses core +v0.4.0, ConfigKit v1.1.0, and Go 1.27.0. Set `GOWORK=off GOTOOLCHAIN=local` for the commands below. Run the maintained example with: diff --git a/integrations/ckconfig/go.mod b/integrations/ckconfig/go.mod index 7fa931b..0108da5 100644 --- a/integrations/ckconfig/go.mod +++ b/integrations/ckconfig/go.mod @@ -3,7 +3,7 @@ module go.maximumdirect.net/ckconfig go 1.27.0 require ( - go.maximumdirect.net/commandkit v0.3.0 + go.maximumdirect.net/commandkit v0.4.0 go.maximumdirect.net/configkit v1.1.0 go.yaml.in/yaml/v4 v4.0.0-rc.6 ) diff --git a/integrations/ckconfig/go.sum b/integrations/ckconfig/go.sum index d54f287..b490063 100644 --- a/integrations/ckconfig/go.sum +++ b/integrations/ckconfig/go.sum @@ -6,8 +6,8 @@ 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/commandkit v0.3.0 h1:RCmg2GS8uzlLSJCIqarpn1uFDec0W3ylNNRRPT6kUFE= -go.maximumdirect.net/commandkit v0.3.0/go.mod h1:ZS98DewKNVBygKVDoh5MFD09CnPlP37dS9pVsID5Eoc= +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.yaml.in/yaml/v4 v4.0.0-rc.6 h1:1h7H1ohdUh93/FyE4YaDa1Zh64K6VVbjF4K6WUxMtH4= diff --git a/integrations/ckprompt/README.md b/integrations/ckprompt/README.md index bb1c191..e707ebd 100644 --- a/integrations/ckprompt/README.md +++ b/integrations/ckprompt/README.md @@ -8,12 +8,12 @@ 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.3.0`, `go.maximumdirect.net/ckconfig v0.3.0`, +`go.maximumdirect.net/commandkit v0.4.0`, `go.maximumdirect.net/ckconfig v0.3.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 new core and -ckconfig releases supply its APIs. +The current source requires the aligned local workspace until a new ckconfig +release supplies its APIs. ## Example diff --git a/integrations/ckprompt/examples/composed/README.md b/integrations/ckprompt/examples/composed/README.md index f8ce759..bb7bf15 100644 --- a/integrations/ckprompt/examples/composed/README.md +++ b/integrations/ckprompt/examples/composed/README.md @@ -1,9 +1,9 @@ # Composed consumer -This example is part of the ckprompt module and uses core v0.3.0, ckconfig +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 core and -ckconfig releases are published. +The current work uses the aligned local workspace until the required ckconfig +release is published. This example composes application configuration, PromptKit configuration, PromptKit comparison and catalogs, definition and requirements inspection, and diff --git a/integrations/ckprompt/go.mod b/integrations/ckprompt/go.mod index 305e963..1233053 100644 --- a/integrations/ckprompt/go.mod +++ b/integrations/ckprompt/go.mod @@ -4,7 +4,7 @@ go 1.27.0 require ( go.maximumdirect.net/ckconfig v0.3.0 - go.maximumdirect.net/commandkit v0.3.0 + go.maximumdirect.net/commandkit v0.4.0 go.maximumdirect.net/configkit v1.1.0 go.maximumdirect.net/promptkit v0.20.0 go.yaml.in/yaml/v4 v4.0.0-rc.6