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, a real WhisperX HTTP adapter, and a real prepare + transcribe path.

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)

WhisperX config contract in pipeline.yml:

  • required: whisperx.transcribe_url
  • defaulted when omitted: whisperx.language (en), whisperx.timeout (30m), whisperx.retries (3), whisperx.retry_delay (2s), whisperx.concurrency (2)

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 now:

  • strict config load + validation
  • local artifact/workdir creation and locking
  • manifest create/load/save and stage status tracking
  • stage framework with real prepare and transcribe stages; placeholder downstream stages
  • resumable run control (run, resume, run-stage, plan with run/skip decisions)
  • real WhisperX HTTP adapter plus fake/no-op adapters for test/scaffold usage

Not implemented yet:

  • real Seriatim execution
  • real Audita execution
  • real analyzer integration
  • real remote archive/storage backend
  • real notification backend

Run Tests

go test ./...

Run Plan

go run ./cmd/narratio plan --config examples/pipeline.minimal.yml --session examples/session.minimal.yml

Run Pipeline (Current State)

The current run command executes prepare + real transcribe + placeholder downstream stages and records progress in manifest.json.

Default CLI wiring builds and uses the real WhisperX HTTP adapter from pipeline.whisperx when whisperx.transcribe_url is configured.

go run ./cmd/narratio run --config examples/pipeline.minimal.yml --session examples/session.minimal.yml
Description
Narratio is a pipeline orchestration tool that turns D&D session audio into useful artifacts like transcripts, campaign logs, and analysis.
Readme GPL-3.0 6.7 MiB
v1.2.0 Latest
2026-05-27 14:34:05 +00:00
Languages
Go 100%