iGent Concert
/chronicle/configuration/

Configuration

Chronicle configuration via CLI flags, environment variables, and Podium integration

Chronicle is configured entirely via CLI flags (see CLI Reference). When used within Podium, the coordinator sets all flags automatically.

Environment Variables

VariableDescription
AWS_REGIONS3 region for tiered CAS storage
AWS_ACCESS_KEY_IDS3 credentials
AWS_SECRET_ACCESS_KEYS3 credentials
AWS_ENDPOINT_URLS3 endpoint (for MinIO)
RUST_LOGLog level filter (e.g., chronicle=debug,info)
CHRONICLE_ENABLEEnable/disable Chronicle in Podium (default: true)
CHRONICLE_S3_BUCKETS3 bucket for CAS when running in Podium

Podium Integration

When Podium spawns Chronicle for an agent, it sets:

chronicle /instances/{agent_id}/chronicle/mount \
  --agent-id {agent_id} \
  --database /instances/{agent_id}/chronicle/metadata/chronicle.db \
  --cas-dir /instances/{agent_id}/chronicle/metadata/cas \
  --s3-bucket ${CHRONICLE_S3_BUCKET} \
  --replication \
  --socket /instances/{agent_id}/chronicle/chronicle.sock

The agent's AGENT_WORKSPACE environment variable points to the mount directory.

Database Configuration

SQLite is configured with:

  • WAL mode: Write-ahead logging for concurrent reads
  • Busy timeout: 5000ms (prevents lock contention errors)
  • Foreign keys: Enabled for referential integrity

CAS Configuration

Local CAS

Default storage at ~/.chronicle/{agent_id}/cas/:

  • Files stored as {hash_prefix}/{hash} (2-character prefix for directory distribution)
  • Zstd compressed
  • File permissions: 0644

Pooled CAS

With --pooled-cas, all agents share ~/.chronicle/shared_cas/:

  • Deduplication across agents on the same host
  • Useful for shared content (model weights, Docker layers, common libraries)

S3 CAS

With --s3-bucket:

  • Async upload (default) — writes return immediately, upload happens in background
  • Tiered read: local first, S3 fallback with local promotion
  • Supports MinIO via AWS_ENDPOINT_URL with path-style access