Prepare core and integration release notes

This commit is contained in:
2026-10-18 13:51:15 +00:00
parent 654d1b4a6d
commit 841e60fed3
3 changed files with 127 additions and 43 deletions

View File

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

View File

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

View File

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