2026-05-02 14:13:27 +00:00
# narratio
2026-05-02 10:37:38 -05:00
`narratio` is a Go-based orchestration application for processing D&D session audio into transcripts and downstream artifacts.
2026-05-02 11:44:15 -05:00
This repository currently contains a **working scaffold ** with strict config loading, local workdir/manifest handling, resumable stage control, and placeholder adapters/stages.
2026-05-02 10:37:38 -05:00
2026-05-02 11:44:15 -05:00
## Expected Config Files
2026-05-02 10:37:38 -05:00
2026-05-02 11:44:15 -05:00
`narratio` expects two YAML files:
2026-05-02 10:37:38 -05:00
2026-05-02 11:44:15 -05:00
- `pipeline.yml` : pipeline/workspace settings (`workspace` , `storage` , `whisperx` , `seriatim` , `audita` , `analyzer` , `notification` )
- `session.yml` : per-session settings (`session_id` , `inputs` , optional metadata)
2026-05-02 10:37:38 -05:00
2026-05-02 11:44:15 -05:00
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
2026-05-02 10:37:38 -05:00
```bash
2026-05-02 11:44:15 -05:00
go test ./...
2026-05-02 10:37:38 -05:00
```
2026-05-02 11:44:15 -05:00
## Run Plan
```bash
go run ./cmd/narratio plan --config examples/pipeline.minimal.yml --session examples/session.minimal.yml
```
2026-05-02 10:37:38 -05:00
2026-05-02 11:44:15 -05:00
## Run Placeholder Pipeline
2026-05-02 10:37:38 -05:00
2026-05-02 11:44:15 -05:00
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
```