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
|
## 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
|
The [v0.15.0 release notes](docs/releases/v0.15.0.md) cover error-only
|
||||||
validation of concrete requests with `Engine.ValidateRequest`.
|
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