2 Commits

Author SHA1 Message Date
bd115c8bee Prepare the ckconfig release candidate 2026-11-07 11:12:23 +00:00
f66502cb23 Record the core source release 2026-11-07 11:09:46 +00:00
13 changed files with 74 additions and 40 deletions

View File

@@ -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/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. | | `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 Importing an integration does not install commands. Core v0.4.0 is published;
ckprompt v0.2.0 modules use core v0.3.0. The 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 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 ckprompt v0.2.0; the published v0.2.0 pair remains matched. Current ckconfig
sources use new core and ckconfig APIs and are developed in an aligned workspace source uses core v0.4.0. Current ckprompt source requires a newer
until their release dependencies are available. See the ckconfig release and is developed in an aligned workspace. See the
[consumer guide](docs/consumers/guide.md#module-selection) for dependency details. [consumer guide](docs/consumers/guide.md#module-selection) for dependency details.
## Examples ## Examples

View File

@@ -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/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. | | `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 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. with ckprompt v0.2.0, which retains ckconfig v0.2.0 and ConfigKit v0.8.0.
Install core with Install the current core with `go get go.maximumdirect.net/commandkit@v0.4.0`.
`go get go.maximumdirect.net/commandkit@v0.3.0` and either integration with For the older matched integration set, select core v0.3.0 and the corresponding
`go get go.maximumdirect.net/ckconfig@v0.2.0` or ckconfig or ckprompt v0.2.0 release together.
`go get go.maximumdirect.net/ckprompt@v0.2.0`.
The current ckprompt source targets ckconfig v0.3.0, ConfigKit v1.1.0, and The ckconfig v0.4.0 candidate uses published core v0.4.0 and ConfigKit v1.1.0.
PromptKit v0.20.0 using their `go.maximumdirect.net` identities. Its v0.3.0 The current ckprompt source targets core v0.4.0, ckconfig v0.3.0, ConfigKit
release is a candidate, not a published release. A Go 1.27.0 workspace may v1.1.0, and PromptKit v0.20.0. Its APIs require the upcoming ckconfig release;
compose all three local modules. The current integration source uses APIs that a Go 1.27.0 workspace composes the local modules until that dependency is aligned.
require the upcoming core and ckconfig releases; independent validation follows
their publication and dependency alignment.
The two integrations are independent optional imports. `ckprompt` uses the The two integrations are independent optional imports. `ckprompt` uses the
public scope and error contracts from `ckconfig`; importing it does not add the public scope and error contracts from `ckconfig`; importing it does not add the

View File

@@ -103,8 +103,9 @@ under their canonical owners.
The root module does not traverse nested modules. Preserve the ignored `go.work` 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 `go.work.sum`; use `GOWORK=off GOTOOLCHAIN=local` for dependency preparation
and independent module suites once released requirements are aligned. Until then, and independent module suites once released requirements are aligned. ckconfig
the integrations require a Go 1.27.0 workspace containing all three modules. 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 Run `GOWORK=off GOTOOLCHAIN=local go test ./...` separately from each module
directory. From the repository root, a workspace containing all three modules can directory. From the repository root, a workspace containing all three modules can
also run: also run:

View File

@@ -1,6 +1,6 @@
# Shared reporting and PromptKit v0.20.0 implementation plan # Shared reporting and PromptKit v0.20.0 implementation plan
Status: implementation in progress; Stages 1–23 complete. Status: implementation in progress; Stages 1–24 complete.
## Scope, authority, and execution ## Scope, authority, and execution
@@ -869,10 +869,11 @@ bootstrap work enters this sprint.
## Stage 24: Core release candidate and publication handoff ## Stage 24: Core release candidate and publication handoff
**Candidate preparation.** On 2026-11-07 the authoritative `origin` had no **Complete.** Core `v0.4.0` was published from commit
core `v0.4.0`, ckconfig `v0.4.0`, or ckprompt `v0.3.0` tag; local tags also `7416bf6fdc29998e820969ea45e856912afb78cd` after ReleaseKit's candidate checks
did not contain those versions. Core `v0.4.0` is the selected candidate. Its and standalone suite passed with Go 1.27.0. Hosted delivery remains separate.
source publication and the dependent integration releases remain pending. On 2026-11-07 the authoritative `origin` had no ckconfig `v0.4.0` or ckprompt
`v0.3.0` tag; dependent integration releases remain pending.
Inspect authoritative release state under the [release procedure](../release.md) Inspect authoritative release state under the [release procedure](../release.md)
before selecting versions. Use the next unused core minor release (expected before selecting versions. Use the next unused core minor release (expected
@@ -898,6 +899,11 @@ publication, proceed to Stage 25. Hosted delivery remains a separate operation.
## Stage 25: Released core alignment and ckconfig candidate ## 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. Pin the actual released core version supplying Stages 1–6 in both integrations.
Download ckconfig dependencies with GOWORK off and collect authentic sums; tidy Download ckconfig dependencies with GOWORK off and collect authentic sums; tidy
that module with the selected toolchain. Defer ckprompt standalone preparation that module with the selected toolchain. Defer ckprompt standalone preparation

View File

@@ -7,8 +7,8 @@ itself.
## Module ## Module
The module path is `go.maximumdirect.net/ckconfig`. Version v0.3.0 requires Go 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.3.0` and 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 `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) [consumer guide](https://gitea.maximumdirect.net/eric/CommandKit/src/branch/main/docs/consumers/guide.md#configkit-scopes)
for exact callback and lifetime contracts. for exact callback and lifetime contracts.

View File

@@ -116,8 +116,9 @@ root): `docs/policy/meta.md`, `docs/policy/agents.md`,
`docs/policy/documentation.md`, `docs/policy/release.md`, and `docs/policy/documentation.md`, `docs/policy/release.md`, and
`docs/policy/oss.md`; the root `AGENTS.md` orientation after the knowledge-graph `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 instructions; and the Policy Reading Guide in `docs/development.md`, adapted for
the core module. The release policy uses baseline the core module. The documentation policy uses baseline
`e833faddf120c789a9b45348edaf75720de16348`; the remaining material uses baseline `beb5f191470a9daef2383981a6bfd02232490ab4`; the release policy uses
`e833faddf120c789a9b45348edaf75720de16348`; the remaining material uses
`d84a38ebab26f048cafbe59a2246700c35d29843`. `d84a38ebab26f048cafbe59a2246700c35d29843`.
Copyright (C) 2026 Eric Rakestraw 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) | [COPYRIGHT](https://gitea.maximumdirect.net/eric/policy/src/commit/d84a38ebab26f048cafbe59a2246700c35d29843/COPYRIGHT) |
[LICENSE](https://gitea.maximumdirect.net/eric/policy/src/commit/d84a38ebab26f048cafbe59a2246700c35d29843/LICENSE) | [LICENSE](https://gitea.maximumdirect.net/eric/policy/src/commit/d84a38ebab26f048cafbe59a2246700c35d29843/LICENSE) |
[COPYRIGHT](https://gitea.maximumdirect.net/eric/policy/src/commit/e833faddf120c789a9b45348edaf75720de16348/COPYRIGHT) | [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/d84a38ebab26f048cafbe59a2246700c35d29843).
[Source](https://gitea.maximumdirect.net/eric/policy/src/commit/e833faddf120c789a9b45348edaf75720de16348). [Source](https://gitea.maximumdirect.net/eric/policy/src/commit/e833faddf120c789a9b45348edaf75720de16348).
[Source](https://gitea.maximumdirect.net/eric/policy/src/commit/beb5f191470a9daef2383981a6bfd02232490ab4).
## go-yaml v3 ## go-yaml v3
Selected module: `gopkg.in/yaml.v3` at `v3.0.1` (transitive dependency). Selected module: `gopkg.in/yaml.v3` at `v3.0.1` (transitive dependency).

View File

@@ -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)

View File

@@ -1,8 +1,8 @@
# Simple consumer # Simple consumer
This example imports `go.maximumdirect.net/ckconfig` and This example imports `go.maximumdirect.net/ckconfig` and
`go.maximumdirect.net/commandkit`; use ckconfig v0.3.0 with core `go.maximumdirect.net/commandkit`; the ckconfig v0.4.0 candidate uses core
v0.3.0, ConfigKit v1.1.0, and Go 1.27.0. Set `GOWORK=off GOTOOLCHAIN=local` v0.4.0, ConfigKit v1.1.0, and Go 1.27.0. Set `GOWORK=off GOTOOLCHAIN=local`
for the commands below. for the commands below.
Run the maintained example with: Run the maintained example with:

View File

@@ -3,7 +3,7 @@ module go.maximumdirect.net/ckconfig
go 1.27.0 go 1.27.0
require ( require (
go.maximumdirect.net/commandkit v0.3.0 go.maximumdirect.net/commandkit v0.4.0
go.maximumdirect.net/configkit v1.1.0 go.maximumdirect.net/configkit v1.1.0
go.yaml.in/yaml/v4 v4.0.0-rc.6 go.yaml.in/yaml/v4 v4.0.0-rc.6
) )

View File

@@ -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/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 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY=
github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= 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.4.0 h1:bWqflDWDn98FUCgh+0e+w6LGmvWIkaeJK519H7PjD2Y=
go.maximumdirect.net/commandkit v0.3.0/go.mod h1:ZS98DewKNVBygKVDoh5MFD09CnPlP37dS9pVsID5Eoc= 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 h1:UzXN2ZMnEkcL0O4YSLqD9qd9M1gb/NWCHQR/H8AaQzA=
go.maximumdirect.net/configkit v1.1.0/go.mod h1:s1zLJ9GGB/1Q4a+aOHMLISonJxWFgNWpA6SpPlOafeA= 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= go.yaml.in/yaml/v4 v4.0.0-rc.6 h1:1h7H1ohdUh93/FyE4YaDa1Zh64K6VVbjF4K6WUxMtH4=

View File

@@ -8,12 +8,12 @@ Importing it does not install either command family.
## Module ## Module
The module path is `go.maximumdirect.net/ckprompt`. This source uses Go 1.27.0, 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 `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) [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. for callback, input, state, and acquisition contracts.
The current source requires the aligned local workspace until new core and The current source requires the aligned local workspace until a new ckconfig
ckconfig releases supply its APIs. release supplies its APIs.
## Example ## Example

View File

@@ -1,9 +1,9 @@
# Composed consumer # 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. 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 The current work uses the aligned local workspace until the required ckconfig
ckconfig releases are published. release is published.
This example composes application configuration, PromptKit configuration, This example composes application configuration, PromptKit configuration,
PromptKit comparison and catalogs, definition and requirements inspection, and PromptKit comparison and catalogs, definition and requirements inspection, and

View File

@@ -4,7 +4,7 @@ go 1.27.0
require ( require (
go.maximumdirect.net/ckconfig v0.3.0 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/configkit v1.1.0
go.maximumdirect.net/promptkit v0.20.0 go.maximumdirect.net/promptkit v0.20.0
go.yaml.in/yaml/v4 v4.0.0-rc.6 go.yaml.in/yaml/v4 v4.0.0-rc.6