diff --git a/docs/releases/v0.2.0.md b/docs/releases/v0.2.0.md index a67240e..60cb4f1 100644 --- a/docs/releases/v0.2.0.md +++ b/docs/releases/v0.2.0.md @@ -1,19 +1,51 @@ # CommandKit v0.2.0 -This release replaces the earlier core registration and integration surface with -captured `commandkit.Command` declarations and batch installation through -`commandkit.New` or `App.Register`. This is an incompatible core API change; -consumers must update their declarations and installation wiring to the current -API. No compatibility layer is provided. +## Summary -ConfigKit and PromptKit support is now provided by independently versioned -optional modules: `gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig` -and `gitea.maximumdirect.net/eric/CommandKit/integrations/ckprompt`. Applications -that need those integrations add their imports and install the returned -commands explicitly. The core module does not depend on either integration. +CommandKit v0.2.0 replaces the core registration API with reusable captured +command declarations and moves ConfigKit and PromptKit support into independently +versioned optional modules. This is a source-only release with incompatible API +changes from v0.1.0. -See the [consumer guide](../consumers/guide.md) and the -[CLI reference](../cli.md) for current contracts. +## Changes + +- Capture typed command specifications with `NewCommand`, then install the + resulting `Command` declarations through `commandkit.New` or `App.Register`. + Installation validates a batch before changing the application's registry. +- Reuse captured declarations across applications. Typed bindings preserve + supplied values separately from defaults, and input construction occurs only + when execution reaches the command. +- Keep ConfigKit and PromptKit dependencies outside the core module. Applications + explicitly import integrations and install their returned declarations. +- Adopt ReleaseKit v0.4.2 for independently versioned module publication. It + remains a maintainer tool dependency; production packages do not import it. + +## Compatibility and upgrade + +The consumer minimum remains **Go 1.26.0**. The selected maintainer release +toolchain remains Go 1.26.8. + +Consumers upgrading from v0.1.0 must rewrite command declarations, typed +bindings, and installation wiring for the captured declaration API. There is no +compatibility layer for the earlier registration API. Move configuration +integration code to +`gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig`, and PromptKit +integration code to +`gitea.maximumdirect.net/eric/CommandKit/integrations/ckprompt`. + +The integrations' initial releases are each v0.1.0; their version numbers are +independent of core and upstream dependency versions. They add native +configuration comparison, richer source evidence, PromptKit requirements +discovery and validation, five catalogs, and opt-in smoke testing. Their own +release notes describe the features and operator changes: + +- [ckconfig v0.1.0](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/integrations/ckconfig/v0.1.0/integrations/ckconfig/docs/releases/v0.1.0.md) +- [ckprompt v0.1.0](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/integrations/ckprompt/v0.1.0/integrations/ckprompt/docs/releases/v0.1.0.md) + +See the [consumer guide](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/v0.2.0/docs/consumers/guide.md) +for migration examples and the +[CLI reference](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/v0.2.0/docs/cli.md) +for standard command and report contracts. [COPYRIGHT](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/v0.2.0/COPYRIGHT) | [LICENSE](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/v0.2.0/LICENSE) | diff --git a/integrations/ckconfig/docs/releases/v0.1.0.md b/integrations/ckconfig/docs/releases/v0.1.0.md index 97bdf5c..575144a 100644 --- a/integrations/ckconfig/docs/releases/v0.1.0.md +++ b/integrations/ckconfig/docs/releases/v0.1.0.md @@ -1,20 +1,43 @@ # CommandKit ckconfig v0.1.0 -Initial independently versioned release of the optional ConfigKit integration. -It provides `ckconfig.AppCommand`, `ckconfig.Command`, and `ckconfig.FromConfigKit` -for building core command declarations from ConfigKit scopes and loaders. Add -the module only when an application uses ConfigKit integration; it is not part -of the core module. +## Summary -This release follows the core API replacement in CommandKit v0.2.0. Consumers -must use the current captured declaration API; this release does not claim -compatibility with the earlier registration API. +The initial independently versioned ConfigKit integration provides configuration +inspection and native comparison through CommandKit command declarations. It +uses CommandKit v0.2.0 and ConfigKit v0.8.0 and is distributed as a source-only +Go module. -This integration adopts ConfigKit v0.7.1 and adds paired configuration -comparison through `config diff`. A scope can provide comparison independently -of ordinary configuration acquisition. +## Features -See the [module README](../../README.md), [consumer guide](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/integrations/ckconfig/v0.1.0/docs/consumers/guide.md), +- `ckconfig.AppCommand`, `ckconfig.Command`, and `ckconfig.FromConfigKit` adapt + application loaders and named scopes into explicitly installed declarations. +- The `config` family exposes scopes, validation, effective YAML, sources, and + path explanation according to each scope's declared capabilities. +- `config diff` compares two selections through ConfigKit's native API and emits + YAML additions, right-side changes, and deletion paths. Comparison can be + provided independently of ordinary configuration acquisition; differences + alone do not make the command fail. +- Source reports expose native destination, placement, unresolved destination, + and version-check evidence alongside the source inventory. +- Typed selectors, per-side comparison inputs, and invocation state support + application-specific acquisition without transferring configuration semantics + to CommandKit. + +## Requirements and adoption + +**Go 1.26.0 or newer is required.** Add +`gitea.maximumdirect.net/eric/CommandKit/integrations/ckconfig@v0.1.0`, then pass +the returned declaration to `commandkit.New` or `App.Register`. Importing the +module does not install commands. + +Applications migrating from the ConfigKit helpers in CommandKit v0.1.0 must +move to the separate module and update scope, loader, binding, and installation +wiring for the core v0.2.0 API. Update report consumers for the added source +evidence and any newly installed comparison commands. ConfigKit remains the +authority on configuration loading, inspection, and comparison semantics. + +See the [module README](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/integrations/ckconfig/v0.1.0/integrations/ckconfig/README.md), +[consumer guide](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/integrations/ckconfig/v0.1.0/docs/consumers/guide.md), and [CLI reference](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/integrations/ckconfig/v0.1.0/docs/cli.md). [COPYRIGHT](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/integrations/ckconfig/v0.1.0/integrations/ckconfig/COPYRIGHT) | diff --git a/integrations/ckprompt/docs/releases/v0.1.0.md b/integrations/ckprompt/docs/releases/v0.1.0.md index 79ece6c..921167d 100644 --- a/integrations/ckprompt/docs/releases/v0.1.0.md +++ b/integrations/ckprompt/docs/releases/v0.1.0.md @@ -1,28 +1,57 @@ # CommandKit ckprompt v0.1.0 -Initial independently versioned release of the optional PromptKit integration. -It adapts PromptKit engine configuration and native comparison to -`ckconfig.Scope`, and supplies core command declarations for prompt/profile -catalogs and named inspection. Applications install these declarations -explicitly. +## Summary -This release follows the core API replacement in CommandKit v0.2.0. Consumers -must use the current captured declaration API; this release does not claim -compatibility with the earlier registration API. `ckprompt` depends on the -separately versioned `ckconfig` module for configuration scope contracts. +The initial independently versioned PromptKit integration exposes native +configuration inspection and comparison, definition inspection, requirements, +catalogs, and smoke testing. This source-only Go module uses CommandKit v0.2.0, +ckconfig v0.1.0, PromptKit v0.16.0, and ConfigKit v0.8.0. -PromptKit v0.14.0 provides the engine-scope comparison used by -`config diff --scope promptkit`. `FromEngine` supplies prompt/profile catalog and -named-inspection callbacks, so `Command` includes the corresponding `list` and -`show` commands. Applications can clear callbacks before command capture to -narrow those groups. Catalogs preserve PromptKit's native identities and render -as YAML. The [CLI reference](https://gitea.maximumdirect.net/eric/CommandKit/src/branch/main/docs/cli.md) -owns the current command and report contracts. +## Features -The ConfigKit adapter is provided by `ckconfig`, which adopts ConfigKit v0.7.1 -and supplies paired comparison through the existing `config diff` family. +- `ckprompt.ConfigScope` exposes PromptKit engine configuration and native + comparison through the `config` family, including `config diff --scope promptkit`. +- `ckprompt.Command` installs independently optional capabilities. `FromEngine` + supplies named prompt/profile inspection, requirements discovery, and five + catalogs: prompts, profiles, backends, namespaces, and collections. +- `promptkit list` reports native inventories as YAML, with namespace filters + for prompts, profiles, and backends, and kind filters for namespace discovery. +- `promptkit requirements show PROMPT_ID` reports PromptKit's native input and + variable requirements, completeness, and issues with optional caller context. +- Opt-in `WithRequestValidation` adds + `promptkit requirements validate PROMPT_ID`, forwarding variables and + file-backed inputs to PromptKit's native request preparation and returning a + YAML success confirmation. +- Opt-in `WithSmokeTesting` adds `promptkit test KIND`, exposing native + `reachability`, `authentication`, `text_inference`, and `structured_output` + checks. `promptkit test all` runs those checks sequentially, continues after + individual errors, stops on cancellation, and retains acquired reports and + operation errors. Native observations are projected into YAML without an + additional readiness classification. +- Validation and smoke adapters accept optional typed request builders; + applications retain configuration, client, and request-construction ownership. -See the [module README](../../README.md), [consumer guide](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/integrations/ckprompt/v0.1.0/docs/consumers/guide.md), +## Requirements and adoption + +**Go 1.26.0 or newer is required.** Add +`gitea.maximumdirect.net/eric/CommandKit/integrations/ckprompt@v0.1.0` and +explicitly install the desired declarations. Adding a PromptKit configuration +scope and installing the `promptkit` family remain separate choices. Request +validation and smoke testing each require explicit opt-in. + +Applications migrating from CommandKit v0.1.0 must move to the separate +integration modules and update loader, callback, and installation wiring for +the captured declaration API. Align engine loading and fixtures with PromptKit +v0.16.0's direct prompt definitions and collection configuration. + +Prompt selection now uses an ID only: remove `--version` from prompt inspection +invocations. YAML prompt inspection uses optional `version` in place of +`prompt_version`; update report consumers accordingly. Prompt and collection +catalogs also report optional descriptive versions, omitting the field when +absent. PromptKit owns selection, requirements, validation, and smoke semantics. + +See the [module README](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/integrations/ckprompt/v0.1.0/integrations/ckprompt/README.md), +[consumer guide](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/integrations/ckprompt/v0.1.0/docs/consumers/guide.md), and [CLI reference](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/integrations/ckprompt/v0.1.0/docs/cli.md). [COPYRIGHT](https://gitea.maximumdirect.net/eric/CommandKit/src/tag/integrations/ckprompt/v0.1.0/integrations/ckprompt/COPYRIGHT) |