diff --git a/README.md b/README.md index 0939847..c6fbd93 100644 --- a/README.md +++ b/README.md @@ -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