Document Scriptorium v0.15 compatibility

This commit is contained in:
2026-09-28 03:52:08 +00:00
parent 2fce529edc
commit b174c8c299

View File

@@ -80,6 +80,41 @@ to `0` disables additional transient attempts; omission leaves the retry
budget with Scriptorium and PromptKit. Leave these newer fields unset when
selecting an older Scriptorium version that does not support them.
## Upgrading to v0.15.0
The intervening v0.14.0 release adopted ConfigKit. It rejects empty
configuration files, unknown fields, multiple YAML documents, and YAML
anchors or aliases. Use `{}` when no application settings are selected;
the role already renders that document. See the tagged
[configuration reference](https://gitea.maximumdirect.net/eric/scriptorium/src/tag/v0.15.0/docs/config.md)
and [migration notes](https://gitea.maximumdirect.net/eric/scriptorium/src/tag/v0.14.0/docs/releases/v0.14.0.md)
for the complete acceptance and precedence rules.
ConfigKit imports are resolved relative to the selected configuration file's
canonical directory. ConfigKit files under `overlays/` are selected by the
application's `--config-overlay` flag; they are separate from PromptKit LLM
profiles selected through profile settings and `profile_dir`. Application
path *values* such as `prompt_dir` and `profile_dir` remain relative to the
Scriptorium process working directory, even when declared in an import or
overlay. This role only supplies import entries; callers own referenced files
and runtime overlay selection.
PromptKit now makes up to two additional attempts by default for eligible
transient provider responses. `scriptorium_transient_retries` can change that
application budget, while repair generations have separate budgets. Review
provider call count and latency when upgrading; see the tagged
[retry guidance](https://gitea.maximumdirect.net/eric/scriptorium/src/tag/v0.15.0/docs/config.md#credentials-and-outbound-behavior).
The legacy `deepseek-3-2`, `deepseek-4-flash`, and `deepseek-4-pro` catalog
profile IDs were removed without aliases; select a maintained profile when
updating callers.
Scriptorium v0.15.0's application source and binaries are distributed under
GPL-3.0-or-later; its tagged [copyright](https://gitea.maximumdirect.net/eric/scriptorium/src/tag/v0.15.0/COPYRIGHT),
[license](https://gitea.maximumdirect.net/eric/scriptorium/src/tag/v0.15.0/LICENSE),
and [attribution notices](https://gitea.maximumdirect.net/eric/scriptorium/src/tag/v0.15.0/docs/oss/attribution.md)
describe that grant and separately attributed material. The Ansible role's
own [CC0 license](LICENSE) is unchanged.
## Example
```yaml
@@ -91,14 +126,17 @@ selecting an older Scriptorium version that does not support them.
## Validation
The repository-local integration suite installs its pinned collection and runs
syntax checking and production-profile lint. It applies the default role, uses
an offline native profile inspection with the managed configuration, and then
requires clean repeated convergence. It also combines missing-binary recovery
with a caller-supplied Go executable while dependency management is disabled,
and covers one representative configuration with null omission, intentional
zero and false values, backend pass-through, and offline native inspection. It
mutates only the managed source, binary, configuration, and a private temporary
directory, then restores the default deployment during cleanup.
syntax checking and production-profile lint. It applies the default role,
validates the managed application configuration with the native CLI, performs
offline profile inspection, and requires clean repeated convergence. It also
combines missing-binary recovery with a caller-supplied Go executable while
dependency management is disabled. Representative configuration coverage checks
null omission, intentional zero and false values, backend pass-through, native
validation, and offline profile inspection. A caller-owned fragment exercises
relative imports and explicit retry zero through native `config show`. The
suite restores the default configuration during cleanup. These offline checks
do not establish provider connectivity, service operation, or suite-level
compatibility.
```sh
tests/integration