Add Scriptorium configuration contract
This commit is contained in:
20
README.md
20
README.md
@@ -8,7 +8,7 @@ This repository currently contains a **working scaffold** with strict config loa
|
||||
|
||||
`narratio` expects two YAML files:
|
||||
|
||||
- `pipeline.yml`: pipeline/workspace settings (`workspace`, `storage`, `whisperx`, `seriatim`, `audita`, `analyzer`, `notification`)
|
||||
- `pipeline.yml`: pipeline/workspace settings (`workspace`, `storage`, `whisperx`, `seriatim`, `audita`, optional `scriptorium`, `analyzer`, `notification`)
|
||||
- `session.yml`: per-session settings (`session_id`, `inputs`, optional metadata)
|
||||
|
||||
WhisperX config contract in `pipeline.yml`:
|
||||
@@ -43,6 +43,24 @@ Audita runtime note:
|
||||
|
||||
- Narratio currently passes primary LLM concurrency via `AUDITA_LLM_CONCURRENCY` subprocess environment override, not a `--llm-concurrency` flag.
|
||||
|
||||
Scriptorium config contract in `pipeline.yml` (optional until `analyze` is implemented):
|
||||
|
||||
- optional section: `scriptorium` (when omitted, current pipeline behavior is unchanged)
|
||||
- required when `scriptorium` is present: `scriptorium.binary` (name on PATH or full path)
|
||||
- optional: `scriptorium.config_path` (if set, it must be non-empty; file existence is validated at execution time, not basic config validation time)
|
||||
- defaulted when omitted inside present `scriptorium` section: `scriptorium.timeout` (`10m`)
|
||||
- optional: `scriptorium.render_debug` (`false` by default through YAML zero-value behavior)
|
||||
- artifact definitions live under `scriptorium.artifacts.<artifact_name>` and support multiple configured artifacts
|
||||
- enabled artifacts require `prompt_id` and `output_path`
|
||||
- artifact `timeout` values must be valid Go durations when provided
|
||||
- input definitions live under `scriptorium.artifacts.<artifact_name>.inputs.<input_name>` and require non-empty `source`
|
||||
- `vars` values currently accept booleans and strings only
|
||||
- Narratio does not store secrets in Scriptorium config; keep credentials in environment management, not YAML
|
||||
|
||||
Scriptorium initial artifact note:
|
||||
|
||||
- this pass does not auto-create `session_recap`; configure `scriptorium.artifacts.session_recap` explicitly in `pipeline.yml`
|
||||
|
||||
`speakers.yml` note:
|
||||
|
||||
- use Seriatim’s documented `match:` format (not the legacy direct mapping style used by older scripts/scaffolds)
|
||||
|
||||
Reference in New Issue
Block a user