5.6 KiB
Troubleshooting
This guide maps common implemented failure modes to inspection steps and fixes. For command syntax, see CLI Reference. For YAML fields and environment overrides, see Configuration. For output and diagnostics layout, see Operations.
Config File Not Found
Symptom:
notarius: config file not found; pass --config or set NOTARIUS_CONFIG
Fix:
- Pass
--config path/to/config.yml. - Or set
NOTARIUS_CONFIGto a readable file. - Or install a config at
/usr/local/etc/notarius/config.yml.
If the message says the config path is a directory or is not available, correct the path or file permissions.
Unsupported Or Invalid Config
Symptoms include:
unsupported config versionconfig version is requiredfield <name> not foundtotal LLM concurrency must be greater than zerodiagnostics retention "<value>" is not supported
Fix:
- Use
version: 1. - Remove unknown YAML fields.
- Validate with:
go run ./cmd/notarius config validate --config path/to/config.yml
Unknown Pipeline
Symptom:
notarius: pipeline "..." is not configured
Fix:
- List configured pipeline IDs:
go run ./cmd/notarius pipelines list --config path/to/config.yml
- Use one of those IDs in
notarius run <pipeline-id>. - Check indentation under the top-level
pipelinesmap.
Unknown Or Incompatible Module
Symptoms mention a module key, pipeline slot, lane, capability, or not registered.
Fix:
- Validate the pipeline against the production module catalog:
go run ./cmd/notarius config validate \
--config path/to/config.yml \
--pipeline dnd-session
- Use only implemented production module keys listed in Configuration.
- Check that artifact lanes include an
extractbinding.
Invalid --only
Symptoms include:
--only must contain comma-separated non-empty artifact lane IDs--only requires --pipelineselected artifact lane
Fix:
- Use comma-separated lane IDs with no empty entries:
go run ./cmd/notarius run dnd-session \
--config path/to/config.yml \
--input path/to/input.json \
--only spells
- For
config validate, include--pipelinewhen using--only. - Confirm the lane ID exists under
pipelines.<id>.artifacts.
Seriatim Input Validation Failure
Symptoms include seriatim input, parse JSON, segments must not be empty,
or validation errors naming a segment field.
Fix:
- Compare the input to examples/seriatim-minimal-transcript.json.
- Ensure the JSON has a
metadataobject and a non-emptysegmentsarray. - Each segment needs a non-empty
id, non-emptyspeaker, non-emptytext, non-negative numericstart, and non-negative numericend. - Segment IDs must be unique and must not contain leading or trailing whitespace.
endmust be greater than or equal tostart.
Missing LLM Base URL Or Model
Symptoms include:
LLM profile "default" base URL must not be emptyLLM profile "default" model must not be emptybase URL must be valid
Fix:
- Set
base_urlandmodelinllm_profiles.default. - Or set
NOTARIUS_LLM_DEFAULT_BASE_URLandNOTARIUS_LLM_DEFAULT_MODEL. - If a profile needs authentication, set
api_key_envin YAML or setNOTARIUS_LLM_DEFAULT_API_KEY.
LLM Profile Override Failure
Symptom:
notarius: LLM profile override "..." is not configured
Fix:
- Add the profile under
llm_profiles. - Or use an existing profile ID with
--llm-profile.
Current runs require exactly one distinct effective LLM profile. If a pipeline
uses several profiles, run with --llm-profile <id> or align the bindings in
configuration.
Provider HTTP Or Response Failure
Symptoms include:
provider request failedprovider returned status 400provider returned status 403provider response missing choicesprovider response assistant message content is not valid JSONdecode structured output
Fix:
- Confirm the
base_urlpoints to an OpenAI-compatible endpoint root. Notarius posts to<base_url>/chat/completions. - Check
modeland provider credentials. - Inspect the retained diagnostics
error.log. - For 400 and 403 responses, fix the request configuration or credentials.
- For 429 and 5xx responses, the client retries according to
max_retries; if the failure persists, inspect the provider response and adjust capacity, credentials, or model settings. - The assistant message content must decode as JSON matching the extractor's structured response schema.
Provider error messages are redacted for configured API key values.
Output Write Failure
Symptoms include:
create output directorywrite output fileoutput file name must
Fix:
- Ensure
--output-dirpoints to a directory path or a path that can be created. - Check filesystem permissions and available disk space.
- If diagnostics were retained, inspect
run-report.json,run-manifest.json, anderror.log.
The CLI rejects unsafe logical output paths before writing files.
Diagnostics Directory Surprise
Symptom: the diagnostics directory is missing after a successful run.
Fix:
- Check
diagnostics.retention. - With
auto, successful runs without warnings are removed. - Use
diagnostics.retention: alwayswhen every diagnostics run directory should be kept. - Use
--diagnostics-dirto override the configured work directory for a run.
Symptom: diagnostics exist even with retention: never.
Explanation:
- Failed runs are retained so that
error.logand available context can be inspected.