136 lines
3.4 KiB
YAML
136 lines
3.4 KiB
YAML
workspace:
|
|
root: ./tmp/narratio-workspace
|
|
cleanup_after_archive: false
|
|
|
|
storage:
|
|
backend: local
|
|
s3:
|
|
bucket: "my-dnd-archive"
|
|
root_prefix: "dnd"
|
|
region: "us-east-1"
|
|
endpoint: ""
|
|
force_path_style: false
|
|
|
|
spool:
|
|
root: "/var/spool/narratio"
|
|
delete_audio_after_archive: false
|
|
|
|
archive:
|
|
enabled: true
|
|
upload_run: true
|
|
promote_artifacts:
|
|
- from: "transcripts/trimmed.json"
|
|
to: "transcripts/trimmed.json"
|
|
required: true
|
|
- from: "artifacts/session_recap.md"
|
|
to: "artifacts/session_recap.md"
|
|
required: true
|
|
|
|
secrets:
|
|
# Optional: load environment variables from files in this directory.
|
|
# File name = env var name; file contents = env var value.
|
|
env_dir: /var/local/narratio/secrets
|
|
|
|
whisperx:
|
|
transcribe_url: "https://transcription.example.com/transcribe"
|
|
language: "en"
|
|
timeout: "30m"
|
|
retries: 3
|
|
retry_delay: "2s"
|
|
concurrency: 2
|
|
|
|
seriatim:
|
|
binary: "seriatim"
|
|
timeout: "10m"
|
|
output_schema: "seriatim-intermediate"
|
|
coalesce_gap: 3.0
|
|
report: true
|
|
env:
|
|
overlap_word_run_gap: 1.0
|
|
overlap_word_run_reorder_window: 1.0
|
|
backchannel_max_duration: 2.0
|
|
filler_max_duration: 1.25
|
|
|
|
audita:
|
|
binary: "audita"
|
|
timeout: "3h"
|
|
llm_api_key_env: "AUDITA_LLM_API_KEY"
|
|
# Optional: pass only when overriding Audita's default module sequence.
|
|
modules: []
|
|
base_url: "https://openrouter.ai/api/v1"
|
|
model: "openrouter/google/gemma-4-31b-it"
|
|
transcript_description: ""
|
|
config_path: ""
|
|
output_schema: "audita-v1"
|
|
work_dir_retention: "auto"
|
|
total_llm_concurrency: 1
|
|
proposal_llm_concurrency: 1
|
|
validation_model: ""
|
|
validation_llm_concurrency: 1
|
|
report: true
|
|
|
|
normalize:
|
|
# Session-workdir-relative when not absolute.
|
|
output_path: "transcripts/normalized.json"
|
|
output_schema: "seriatim-intermediate"
|
|
report: true
|
|
|
|
trim:
|
|
enabled: true
|
|
# Session-workdir-relative when not absolute.
|
|
output_path: "transcripts/trimmed.json"
|
|
bounds:
|
|
prompt_id: "dnd_session.bounds"
|
|
# Empty means use prompt default profile.
|
|
profile_id: ""
|
|
transcript_input_name: "transcript"
|
|
output_path: "artifacts/session_bounds.json"
|
|
timeout: "10m"
|
|
render_debug: false
|
|
render_output_path: "artifacts/session_bounds.render.json"
|
|
seriatim:
|
|
report: false
|
|
|
|
scriptorium:
|
|
binary: "scriptorium"
|
|
config_path: "/etc/scriptorium/config.yml"
|
|
timeout: "10m"
|
|
render_debug: false
|
|
artifacts:
|
|
session_recap:
|
|
enabled: true
|
|
prompt_id: "dnd.session_recap"
|
|
profile_id: "local-quality"
|
|
output_path: "artifacts/session_recap.md"
|
|
timeout: "10m"
|
|
# Optional per-artifact override of global scriptorium.render_debug.
|
|
# render_debug: true
|
|
inputs:
|
|
transcript:
|
|
# Available transcript sources:
|
|
# - trimmed_transcript (recommended for session_recap)
|
|
# - normalized_transcript (recommended for future full-session analysis)
|
|
# - processed_transcript (raw Audita-polished output)
|
|
source: "trimmed_transcript"
|
|
required: true
|
|
previous_recap:
|
|
source: "previous_session_artifact"
|
|
artifact: "session_recap"
|
|
# Optional: set when previous recap is available.
|
|
path: ""
|
|
required: false
|
|
vars:
|
|
session_id: true
|
|
session_date: true
|
|
campaign_name: true
|
|
previous_session_id: true
|
|
output_kind: "session_recap"
|
|
|
|
analyzer:
|
|
timeout: 20m
|
|
artifacts:
|
|
output_dir: artifacts
|
|
|
|
notification:
|
|
timeout: 10s
|