# narratio `narratio` is a Go-based orchestration application for processing D&D session audio into transcripts and downstream artifacts. This repository currently contains a **working scaffold** with strict config loading, local workdir/manifest handling, resumable stage control, and placeholder adapters/stages. ## Expected Config Files `narratio` expects two YAML files: - `pipeline.yml`: pipeline/workspace settings (`workspace`, `storage`, `whisperx`, `seriatim`, `audita`, `analyzer`, `notification`) - `session.yml`: per-session settings (`session_id`, `inputs`, optional metadata) Decoding is strict (`KnownFields(true)`), so unknown YAML fields fail fast. Example minimal files are available under `examples/`: - `examples/pipeline.minimal.yml` - `examples/session.minimal.yml` ## Current Scaffold Status Implemented in scaffold form: - strict config load + validation - local artifact/workdir creation and locking - manifest create/load/save and stage status tracking - stage framework with real `prepare` stage and placeholder downstream stages - resumable run control (`run`, `resume`, `run-stage`, `plan` with run/skip decisions) - fake/no-op adapters for external tool boundaries Not implemented yet: - real WhisperX HTTP integration - real Seriatim execution - real Audita execution - real analyzer integration - real remote archive/storage backend - real notification backend ## Run Tests ```bash go test ./... ``` ## Run Plan ```bash go run ./cmd/narratio plan --config examples/pipeline.minimal.yml --session examples/session.minimal.yml ``` ## Run Placeholder Pipeline The current `run` command executes available scaffold behavior (`prepare` + placeholder stages) and records progress in `manifest.json`. ```bash go run ./cmd/narratio run --config examples/pipeline.minimal.yml --session examples/session.minimal.yml ```