Config File
ARGUS looks for argus.yaml in your project root. Every setting has a sensible default — you only need a config file to override them.
# Core watcher settings
watcher:
strict: false
investigate: true
max_field_size: 50000
# Detection layer configuration
detection:
statistical:
enabled: true
z_threshold: 2.5
semantic:
enabled: true
similarity_threshold: 0.7
behavioral:
enabled: true
max_loop_count: 10
structural:
enabled: true
# Storage
storage:
backend: sqlite
path: .argus/traces.db
# Security
security:
redact_keys:
- api_key
- password
- secret
- tokenEnvironment Variables
All config values can be set via environment variables with the ARGUS_ prefix. Environment variables override config file values.
ARGUS_STRICTboolHalt execution when a detection fires. Useful in CI/CD to fail builds on quality regressions.
Default: false
ARGUS_INVESTIGATEbool | "always"Run forensic root cause analysis. Set to "always" to analyze even when no detections fire.
Default: true
ARGUS_MAX_FIELD_SIZEintMaximum character length for captured state fields. Larger values give more context but use more storage.
Default: 50000
ARGUS_SEMANTIC_JUDGEboolEnable LLM-as-judge for semantic detection. Requires an API key for the judge model.
Default: false
ARGUS_JUDGE_MODELstrModel to use for LLM-as-judge semantic evaluation.
Default: "gpt-4o"
ARGUS_STORAGE_PATHstrPath to the SQLite database file for trace storage.
Default: ".argus/traces.db"
Precedence
Configuration values are resolved in this order (highest priority first):
- Constructor arguments — values passed directly to
ArgusWatcher() - Environment variables —
ARGUS_*vars - Config file —
argus.yamlin project root - Defaults — built-in sensible defaults
Tip
Example Config
A production-ready configuration with semantic judging enabled and sensitive keys redacted:
watcher:
strict: true
investigate: "always"
max_field_size: 100000
detection:
statistical:
enabled: true
z_threshold: 2.0
semantic:
enabled: true
similarity_threshold: 0.75
judge: true
judge_model: "gpt-4o"
behavioral:
enabled: true
max_loop_count: 5
structural:
enabled: true
security:
redact_keys:
- api_key
- password
- secret
- token
- authorization
- x-api-key
storage:
backend: sqlite
path: /var/argus/traces.dbSecurity
redact_keys. ARGUS captures full state at every step — without redaction, API keys and secrets will appear in your traces.