6.0 KiB
6.0 KiB
Troubleshooting
Purpose
Canonical operator troubleshooting guide for recurring implemented Narratio failures.
Config file discovery failure
Symptom:
run,plan,resume, orrun-stagefails saying config/session file was not found.
Likely Cause:
pipeline.ymlorsession.ymlis missing from default search paths.- Wrong working directory when relying on
./session.yml.
Diagnostics:
pwd
ls -l ./session.yml
ls -l /usr/local/etc/narratio/pipeline.yml /etc/narratio/pipeline.yml
Safe Fix:
- Pass explicit paths with
--configand--session. - Or place files in documented discovery paths.
Links:
Session template rendering failure
Symptom:
- Load fails with unresolved template placeholder or
session_idmismatch.
Likely Cause:
session.ymlcontains{{session_id}}/{{ session_id }}but--session-idwas omitted.- Provided
--session-iddoes not match renderedsession_id.
Diagnostics:
narratio plan --session ./session.yml --session-id 2026-04-04
Safe Fix:
- Always pass
--session-idwhen using template placeholders. - Ensure rendered
session_idequals intended run session id.
Links:
Strict YAML decode or validation failure
Symptom:
- Config load fails with unknown field, missing required field, invalid duration, or invalid cross-field constraint.
Likely Cause:
- YAML key typo or stale field name.
- Required fields missing.
- Invalid value format (for example duration/URL/env var name).
Diagnostics:
narratio plan --config /path/to/pipeline.yml --session /path/to/session.yml --session-id 2026-04-04
Safe Fix:
- Correct fields/values to match canonical reference and examples.
- Validate against
docs/examples/shapes.
Links:
Manifest/status path failure
Symptom:
statusfails because manifest path is missing, unreadable, or invalid.
Likely Cause:
- Wrong manifest path.
- Manifest removed after cleanup.
- Trying to run
statuswithout--manifest.
Diagnostics:
narratio status --manifest /path/to/manifest.json
ls -l /path/to/manifest.json
Safe Fix:
- Use manifest path printed by
run,resume, orrun-stageoutput. - Re-run with correct session/config if inspecting a different session.
Links:
Session lock conflict (.lock)
Symptom:
- Run fails with lock conflict indicating session workdir is already locked.
Likely Cause:
- Another Narratio process is actively running the same session.
- Prior run exited unexpectedly and left a stale lock file.
Diagnostics:
ls -l {workspace.root}/work/{campaign}/{session_id}/.lock
cat {workspace.root}/work/{campaign}/{session_id}/.lock
ps aux | grep narratio
Safe Fix:
- If another run is active, wait for it to finish.
- If no process is active and lock is stale, remove only that session
.lockfile and retry.
Links:
Secrets env-dir or credential env failure
Symptom:
- Startup fails loading secrets directory, or a stage fails because required credential env var is missing.
Likely Cause:
pipeline.secrets.env_dirpath is wrong/unreadable.- Credential env var referenced in config is unset or empty.
Diagnostics:
ls -la /path/to/secrets_dir
env | grep -E 'AUDITA|OBJECT_STORAGE|AWS|SCRIPTORIUM'
Safe Fix:
- Fix
pipeline.secrets.env_dirpath/permissions. - Ensure required env vars are set to non-empty values.
- Keep secrets out of YAML; use env references only.
Links:
S3-audio prepare failure
Symptom:
preparefails in S3 mode (no audio found, list/download failure, backend missing, path conflict).
Likely Cause:
- Wrong
session.inputs.audio_s3.prefix. - No
.flacfiles at expected prefix. - Missing or invalid S3 backend credentials/config.
- Conflicting audio-source settings (
audio_s3plus local audio fields).
Diagnostics:
narratio run-stage --config /path/to/pipeline.yml --session /path/to/session.yml --session-id 2026-04-04 prepare
Safe Fix:
- Ensure
audio_s3is the only audio source configured for that session. - Confirm
.flacobjects exist under the resolved session audio prefix. - Fix S3 storage configuration and credentials.
Links:
Archive prerequisite or promotion/current-pointer failure
Symptom:
archivefails due to prerequisite stage status, missing required promotion source, or pointer write failure.
Likely Cause:
- One or more prerequisite stages are not
succeeded. - Required promoted artifact does not exist.
- Remote upload failure before
current/run_id.txtwrite.
Diagnostics:
narratio status --manifest /path/to/manifest.json
narratio run-stage --config /path/to/pipeline.yml --session /path/to/session.yml --session-id 2026-04-04 archive
Safe Fix:
- Resume or rerun failed upstream stage(s).
- Ensure required promoted artifact paths exist locally before archive.
- Retry archive after storage/connectivity issue is resolved.
Links:
run-stage invalid stage name or invalid flags
Symptom:
run-stagefails with unknown stage or invalid flag/argument usage.
Likely Cause:
- Stage name typo.
- Missing positional stage argument.
- Unsupported/incorrect flag syntax.
Diagnostics:
narratio run-stage --config /path/to/pipeline.yml --session /path/to/session.yml --session-id 2026-04-04 normalize
Safe Fix:
- Use only supported stage names.
- Provide exactly one positional stage argument.
- Align flags to documented command reference.
Links: