87 lines
4.8 KiB
Markdown
87 lines
4.8 KiB
Markdown
# 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)
|