Prepare the v0.13.0 release

This commit is contained in:
2026-08-29 15:36:01 +00:00
parent 85d14784ca
commit 516adf1606
2 changed files with 62 additions and 2 deletions

View File

@@ -172,11 +172,12 @@ unformatted=$(
test -z "$unformatted" test -z "$unformatted"
``` ```
Run the maintained render script and smoke-test both maintained configuration Run the maintained render and Promptkit v0.9 feature scripts, then smoke-test
examples without a model call: both maintained configuration examples without a model call:
```sh ```sh
GOWORK=off ./examples/render-markdown-summary.sh GOWORK=off ./examples/render-markdown-summary.sh
GOWORK=off ./examples/render-v0.9-features.sh
for config_file in examples/config.yml examples/config.full.yml for config_file in examples/config.yml examples/config.full.yml
do do
GOWORK=off go run ./cmd/scriptorium render \ GOWORK=off go run ./cmd/scriptorium render \

59
docs/releases/v0.13.0.md Normal file
View File

@@ -0,0 +1,59 @@
# Scriptorium v0.13.0
## Promptkit v0.9 Adoption
Scriptorium now uses
[Promptkit `v0.9.0`](https://gitea.maximumdirect.net/eric/promptkit/src/tag/v0.9.0/)
and supports the complete Promptkit v0.9 prompt and profile definition format
through its configured directory sources. This includes prompt versions,
optional inputs, all supported message roles, cache control, session templates,
output schemas and repair budgets, profile inheritance, backend selection,
provider controls, optional credential environment names, and JSON-compatible
extra parameters.
Promptkit remains the canonical owner of definition parsing and framework
validation. Scriptorium continues to own its CLI, HTTP, configuration,
presentation, and deployment contracts.
## Application Features
- `run` and `render` can select an explicit prompt version and can execute
prompts that do not declare or reference inputs.
- CLI and HTTP requests can provide a direct session ID. Reasoning controls can
inherit, replace, or explicitly clear the selected profile value.
- Application configuration can register custom OpenAI-compatible backends
with optional credential environment names, extra parameters, concurrency
limits, and queue policy.
- `inspect prompt` and `inspect profile` provide deterministic text or JSON
views without invoking a model. Profile inspection does not read credential
values or require a prompt definition.
- Prepared output, CLI summaries, and HTTP metadata report effective backend
identity when available.
- HTTP requests rejected by backend capacity policy return `503` with the
stable `capacity_exceeded` code. One server-scoped Promptkit engine enforces
those limits across concurrent requests.
See the versioned application contracts for exact behavior:
- [CLI reference](https://gitea.maximumdirect.net/eric/scriptorium/src/tag/v0.13.0/docs/cli.md)
- [HTTP API reference](https://gitea.maximumdirect.net/eric/scriptorium/src/tag/v0.13.0/docs/api.md)
- [Configuration reference](https://gitea.maximumdirect.net/eric/scriptorium/src/tag/v0.13.0/docs/config.md)
- [Operations guide](https://gitea.maximumdirect.net/eric/scriptorium/src/tag/v0.13.0/docs/operations.md)
- [Promptkit v0.9 format reference](https://gitea.maximumdirect.net/eric/promptkit/src/tag/v0.9.0/docs/formats.md)
## Compatibility And Operations
There are no intentional removals from the v0.12 application interfaces. The
Promptkit upgrade does enforce its current definition-safety rules, including
supported message roles, absolute HTTP or HTTPS endpoints, contained content
and schema paths, bounded repair budgets, and JSON-compatible extra parameters.
Definitions rejected by these rules must be corrected before use.
Credential values remain outside configuration, definition files, CLI flags,
and HTTP payloads. Named environment sources are optional unless a selected
Promptkit profile explicitly requires a key. A positive repair budget permits
additional provider calls and can increase latency, token use, and cost.
The HTTP service retains only the shared operational state needed for backend
admission and in-flight request handling. Scriptorium does not retain durable
conversation, workflow, checkpoint, or resume state.