# Full annotated pipeline example for implemented Narratio config fields. # Values are safe placeholders and must be adapted per environment. workspace: # Required: local workspace root. root: ./tmp/narratio-workspace # Optional: remove run-scoped workdir after successful archive commit. cleanup_after_archive: false # Optional: local secret file loader (directory of ENV_VAR_NAME files). # secrets: # env_dir: ./secrets storage: # Optional storage backend selector; use "s3" for archive + S3 audio workflows. backend: s3 # Legacy fields retained in schema for compatibility. bucket: "" prefix: "" s3: # Required when using S3 audio or S3 archive uploads. bucket: my-dnd-archive # Optional; defaults to "dnd". root_prefix: dnd # Optional region/endpoint settings. region: us-east-1 endpoint: "" force_path_style: false # Optional; defaults shown explicitly. access_key_id_env: OBJECT_STORAGE_KEY_ID secret_access_key_env: OBJECT_STORAGE_KEY spool: # Optional; defaults to /var/spool/narratio. root: /var/spool/narratio # Optional cleanup of run-scoped spool audio after successful archive commit. delete_audio_after_archive: false archive: # Optional booleans; defaults are true. enabled: true upload_run: true # Optional promotions; defaults shown explicitly. promote_artifacts: - from: transcripts/trimmed.json to: transcripts/trimmed.json required: true - from: artifacts/session_recap.md to: artifacts/session_recap.md required: true whisperx: # Required. transcribe_url: "https://transcription.example.com/transcribe" # Optional overrides; defaults shown explicitly. language: en timeout: 30m retries: 3 retry_delay: 2s concurrency: 2 seriatim: # Optional overrides; defaults shown explicitly. binary: seriatim timeout: 10m output_schema: seriatim-intermediate coalesce_gap: 3.0 report: true env: # Optional advanced tuning; set only when needed. overlap_word_run_gap: 1.0 overlap_word_run_reorder_window: 1.0 backchannel_max_duration: 2.0 filler_max_duration: 1.25 audita: # Optional overrides; defaults shown explicitly where applicable. binary: audita timeout: 3h llm_api_key_env: AUDITA_LLM_API_KEY modules: [glossary, homophones, spoken_word, grammar] base_url: "" model: "" total_llm_concurrency: 2 proposal_llm_concurrency: 1 validation_model: "" validation_llm_concurrency: 1 transcript_description: "" config_path: /usr/local/etc/audita/config.yml output_schema: audita-v1 work_dir_retention: auto report: true normalize: # Optional; defaults shown explicitly. output_path: transcripts/normalized.json output_schema: seriatim-intermediate report: true trim: # Keep disabled unless bounds prompt integration is configured. enabled: false output_path: transcripts/trimmed.json bounds: prompt_id: dnd.session_bounds profile_id: local-fast transcript_input_name: transcript output_path: reports/session_bounds.json timeout: 10m render_debug: false render_output_path: reports/session_bounds.render.json seriatim: report: false scriptorium: binary: scriptorium config_path: /usr/local/etc/scriptorium/config.yml timeout: 10m render_debug: false artifacts: session_recap: enabled: true prompt_id: dnd.session_recap profile_id: local-fast output_path: artifacts/session_recap.md timeout: 10m inputs: transcript: source: narratio.transcript.trimmed required: true previous_recap: source: previous_session_artifact artifact: session_recap path: "" required: false vars: session_id: true session_date: true campaign_name: true previous_session_id: true output_kind: session_recap analyzer: # Optional adapter settings. binary_path: "" timeout: 2m artifacts: output_dir: "" types: [] notification: # Optional notification settings. backend: "" recipient: "" timeout: 30s