Storage (v0.1)
DefendableRouter v0.1 persists to two places, both on local disk.
1. SQLite (relational state)
Section titled “1. SQLite (relational state)”Members, datasets, compute nodes, jobs, leases, workers, and status events live in a local SQLite database:
sqlite:///./data/defendable_router.dbThis is the default database_url in core/config.py (override via the
DEFENDABLE_ROUTER_DATABASE_URL env var). SQLAlchemy ORM models back the API.
2. JSONL receipt ledger (books and records)
Section titled “2. JSONL receipt ledger (books and records)”Every billable/lifecycle event appends a checksummed receipt line to a daily file:
./data/receipts/YYYY-MM-DD.receipts.jsonlSee Receipt Capture for the receipt fields, the canonical
checksum algorithm, and the hash chain (seq + parent_hash) with its GET /receipts/verify.
🐝 Operator-grade · books and records · to the shed.