Squashed 'roles/pipeline/' changes from 8ceb3f4..c56a942

c56a942 Add the Notarius testing overlay and production model defaults

git-subtree-dir: roles/pipeline
git-subtree-split: c56a9425d30ef714166f1ff7675b202590f86425
This commit is contained in:
2026-09-22 18:53:13 +00:00
parent 68a8bbc462
commit e1238eb4fa
8 changed files with 127 additions and 45 deletions

View File

@@ -18,7 +18,8 @@ ansible-galaxy collection install -r collections/requirements.yml
The dependency manifest installs the roles under their canonical names:
`rakestraw.seriatim`, `rakestraw.audita`, `rakestraw.notarius`,
`rakestraw.scriptorium`, and `rakestraw.narratio`. It selects the compatible
`v0.1.0` release of each role. This standalone role is named
`v0.1.0` releases where compatible and public commit pins for Narratio and
Notarius when the suite needs newer interfaces. This standalone role is named
`rakestraw.dnd_pipeline`.
```yaml
@@ -62,7 +63,7 @@ The compatible application versions are selected through these variables:
| --- | --- |
| `dnd_pipeline_audita_version` | `v0.9.1` |
| `dnd_pipeline_narratio_version` | `v2.2.0` |
| `dnd_pipeline_notarius_version` | `v0.7.0` |
| `dnd_pipeline_notarius_version` | `v0.7.1` |
| `dnd_pipeline_seriatim_version` | `v1.5.0` |
| `dnd_pipeline_scriptorium_version` | `v0.13.0` |
| `dnd_pipeline_manage_build_dependencies` | `true` |
@@ -146,6 +147,7 @@ run-specific output path.
| `dnd_pipeline_narratio_render_enabled` | `true` |
| `dnd_pipeline_narratio_render_format` | `markdown` |
| `dnd_pipeline_narratio_testing_scriptorium_profile` | `gemini-flash-latest` |
| `dnd_pipeline_notarius_testing_llm_profile` | `gpt-luna-latest` |
`dnd_pipeline_audita_output_schema` is also the Narratio Audita-adapter schema;
it is the shared cross-application boundary. Other Narratio-local controls,
@@ -222,14 +224,25 @@ suite-owned base fragments in this fixed order:
└── profiles/testing.yml
```
The `testing` profile is an overlay, not a second configuration tree. It only
sets the Scriptorium `profile_id` for the four artifact sources and the one
family. Its default, `gemini-flash-latest`, is an inexpensive development
Notarius follows the corresponding base-and-overlay layout:
```text
/usr/local/etc/notarius/
├── config.yml
├── pipelines/dnd-session.yml
└── profiles/testing.yml
```
The `testing` profile is an overlay, not a second configuration tree. It sets
the Scriptorium `profile_id` for the four artifact sources and the one family,
and explicitly selects Notarius's separately managed `testing` overlay. The
Scriptorium default, `gemini-flash-latest`, is an inexpensive development
choice, not a compatibility guarantee. Replace it through inventory when a
different testing profile is appropriate:
```yaml
dnd_pipeline_narratio_testing_scriptorium_profile: endpoint-profile
dnd_pipeline_notarius_testing_llm_profile: alternate-economy-profile
```
### Notarius extraction policy
@@ -237,6 +250,8 @@ dnd_pipeline_narratio_testing_scriptorium_profile: endpoint-profile
The Notarius root configuration imports the fixed
`pipelines/dnd-session.yml` fragment. The suite owns that fragment at
`/usr/local/etc/notarius/pipelines/dnd-session.yml`; callers do not edit it.
The separate `/usr/local/etc/notarius/profiles/testing.yml` overlay changes only
the selected suite pipeline's LLM profile.
| Variable | Default policy |
| --- | --- |
@@ -244,6 +259,7 @@ The Notarius root configuration imports the fixed
| `dnd_pipeline_notarius_cache_root` | `/var/cache/notarius` |
| `dnd_pipeline_notarius_cache_chunk_plans_mode` | `auto` |
| `dnd_pipeline_notarius_cache_checkpoints_enabled` | `true` |
| `dnd_pipeline_notarius_testing_llm_profile` | `gpt-luna-latest` |
| `dnd_pipeline_narratio_notarius_pipeline_id` | `dnd-session` |
| `dnd_pipeline_narratio_notarius_llm_api_key` | `OPENROUTER_API_KEY` |
| `dnd_pipeline_narratio_notarius_resume` | `true` |
@@ -252,7 +268,11 @@ The Notarius root configuration imports the fixed
The pipeline, reference, and output values are complete native mappings.
Inventory can replace them or compose additions with Jinja's `combine` filter;
a replacement pipeline map requires a matching selected pipeline ID.
a replacement pipeline map requires a matching selected pipeline ID. The base
`dnd-session` pipeline selects `gpt-terra-latest`, while the testing overlay
selects `gpt-luna-latest`. Both are moving catalog IDs rather than immutable
model promises. Pipeline and binding-level overrides retain Notarius's native
precedence; the suite does not rewrite caller-supplied bindings.
Narratio materializes the `party`, `players`, and `glossary` references for each
invocation. No campaign filesystem path appears in Notarius configuration. The
@@ -270,10 +290,13 @@ Notarius profile and ordinary extraction requests checkpoint reuse with
`resume: true`. Chunk plans use Notarius's root-owned `auto` policy; the
pipeline deliberately leaves Narratio's optional `chunk_cache` override unset.
The `chunk-plans` and `checkpoints` paths derive from the cache root and are
created by Notarius during use. Base and `testing` configurations select the
same `dnd-extraction` profile and Notarius pipeline; the testing overlay changes
only Scriptorium profiles, so a real testing run may invoke Notarius. The
integration suite performs offline configuration inspection only.
created by Notarius during use. Notarius v0.7.1 selects PromptKit v0.10.0 and
OpenRouter catalog v2.20260922.1, which supplies both suite-selected IDs.
Existing checkpoints with the previous profile-source identity are not reused;
source-keyed chunk plans and output artifacts remain compatible. No cache
deletion or forced extraction is performed by this role. A real testing run may
invoke Notarius; the integration suite performs offline configuration inspection
only and makes no provider request.
### Inspecting configuration