Bug Fixes (Phases 3–8)
Phase 3 (DB concurrency): 20 concurrent writes passed, WAL mode verified, schema collision idempotent.
Phase 4 (SQL injection): 15 injection payloads across cron/loop/split — all rejected safely, no tables dropped.
Phase 6 (infrastructure failures):
- read-only DB: unhandled
sqlite3.OperationalErrornow caught inmain()with user-friendly message (#335)
Phase 8 (--json coverage):
- budget check --json with no budget: now returns
{"budget": null, "unlimited": true}instead of plain text (#336) - queue-dep list: new subcommand to list DAG jobs with status (#337)
- security --json top-level: added
--jsonto parent parser sosecurity --jsonworks without specifyingscan(#338) - queue-dep promote --json: added JSON output
- Final sweep: 27/27
--jsonpaths verified valid JSON