Document the v0.16.0 release and migration
This commit is contained in:
@@ -43,6 +43,11 @@ boundary and constraints that framework work must preserve.
|
||||
|
||||
## Release Guidance
|
||||
|
||||
The [v0.16.0 release notes](docs/releases/v0.16.0.md) cover explicit smoke
|
||||
diagnostics, configuration collections, scoped engine views, and discovery.
|
||||
Upgrading consumers should review the breaking changes to bundled configuration
|
||||
and prompt version selection and follow the linked migration guide.
|
||||
|
||||
The [v0.15.0 release notes](docs/releases/v0.15.0.md) cover error-only
|
||||
validation of concrete requests with `Engine.ValidateRequest`.
|
||||
|
||||
|
||||
86
docs/releases/v0.16.0.md
Normal file
86
docs/releases/v0.16.0.md
Normal file
@@ -0,0 +1,86 @@
|
||||
# Promptkit v0.16.0
|
||||
|
||||
This release adds explicit smoke diagnostics, configuration collections,
|
||||
namespace-scoped engine views, and expanded resource discovery. It also makes
|
||||
intentional breaking changes to configuration ownership and prompt selection.
|
||||
The minimum supported Go version remains 1.26.0.
|
||||
|
||||
## Configuration Collections And Discovery
|
||||
|
||||
Applications can compose caller-selected collections of backends, profiles,
|
||||
and prompts. Collection resources have qualified identities such as
|
||||
`support/answer`; root resources retain unqualified identities. `CollectionInput`
|
||||
provides a convenience for mounting a selected ConfigKit input into a collection.
|
||||
Promptkit now uses ConfigKit v0.8.0, including its optional source specification
|
||||
header support.
|
||||
|
||||
`Engine.WithNamespaces` creates an immutable view with separate prompt, profile,
|
||||
and backend scopes for short caller-supplied IDs. Views share the underlying
|
||||
configuration, clients, capacity pools, and prepared-execution owner. Explicitly
|
||||
qualified IDs and configured references keep their exact identities.
|
||||
|
||||
`ListProfiles` and `ListPrompts` support namespace filters. New `ListBackends`,
|
||||
`ListNamespaces`, and `ListCollections` methods expose captured resource and
|
||||
collection inventories. See the [collection format](../formats.md#source-headers-collections-and-resource-ids),
|
||||
[scoped-view guide](../consumers/pkg-promptkit.md#use-scoped-engine-views), and
|
||||
[discovery guide](../consumers/pkg-promptkit.md#discover-available-resources-and-collections).
|
||||
|
||||
## Explicit Smoke Diagnostics
|
||||
|
||||
`Engine.SmokeTest` provides backend reachability, authentication, text inference,
|
||||
and structured-output inference diagnostics. Reports provide factual
|
||||
observations, timing, and available usage rather than an overall readiness
|
||||
verdict. Optional Boolean facts distinguish negative observations from unknown
|
||||
or inapplicable checks; matching a JSON schema does not prove that a provider
|
||||
enforced it.
|
||||
|
||||
A concluded diagnostic can report failure with a nil Go error. Invalid requests
|
||||
return ordinary errors, and caller cancellation can return partial observations
|
||||
with a recognizable context error. Diagnostics can contact providers and incur
|
||||
inference costs only when explicitly invoked; they are not automatic execution
|
||||
or release checks. See the [smoke diagnostic guide](../consumers/pkg-promptkit.md#run-explicit-smoke-diagnostics)
|
||||
and [API GoDoc](../../smoke_diagnostics.go).
|
||||
|
||||
## Breaking Changes And Upgrade
|
||||
|
||||
Consumers upgrading from v0.15.0 should follow the
|
||||
[configuration and API migration guide](../consumers/configuration-migration.md):
|
||||
|
||||
- Supply backend and profile definitions explicitly. Promptkit no longer bundles
|
||||
provider catalogs or the `promptkit-openrouter-standard` and
|
||||
`promptkit-openrouter-auto` profiles. Conventional backend names do not install
|
||||
definitions automatically. Applications choose and maintain their sources.
|
||||
- Convert version-keyed prompt mappings into one definition per prompt ID.
|
||||
Prompt `version` is now an optional descriptive label, not a selector.
|
||||
Choose deliberately which former definition to install.
|
||||
- Remove `PromptVersion` selectors from `RunRequest`,
|
||||
`RequirementInspectionRequest`, and `SmokeTestRequest`, where applicable.
|
||||
Change prompt inspection calls to `InspectPrompt(ctx, promptID)`. Update code
|
||||
consuming version-bearing inspection, identity, result, or observation fields
|
||||
to handle optional labels, including nil and explicitly empty labels.
|
||||
- When moving resources into collections, update stored backend, profile, and
|
||||
diagnostic-default references to their intended qualified IDs. Mounting a
|
||||
source does not rewrite references; profile inheritance remains within its
|
||||
sibling mapping. Root configuration `version`, when supplied, is now a source
|
||||
specification header, distinct from descriptive resource labels.
|
||||
|
||||
The migration guide includes identity mappings and before/after prompt examples.
|
||||
The [maintained offline example](../../examples/go-library/prepare/main.go)
|
||||
demonstrates explicit composition, source-relative content, scoped preparation,
|
||||
and inventory without contacting a provider.
|
||||
|
||||
After adapting configuration and API calls:
|
||||
|
||||
```sh
|
||||
go get gitea.maximumdirect.net/eric/promptkit@v0.16.0
|
||||
```
|
||||
|
||||
## Correctness And Efficiency
|
||||
|
||||
Collection prompt materialization shares one lazy origin-metadata snapshot,
|
||||
avoiding repeated full metadata copies across collections. Internal prepared
|
||||
snapshots detach optional prompt labels. Smoke diagnostics preserve caller
|
||||
cancellation and report actual inference destinations and known-zero usage when
|
||||
no generation request was dispatched.
|
||||
|
||||
[COPYRIGHT](https://gitea.maximumdirect.net/eric/promptkit/src/tag/v0.16.0/COPYRIGHT) | [LICENSE](https://gitea.maximumdirect.net/eric/promptkit/src/tag/v0.16.0/LICENSE) | [ATTRIBUTION](https://gitea.maximumdirect.net/eric/promptkit/src/tag/v0.16.0/docs/oss/attribution.md)
|
||||
Reference in New Issue
Block a user