miroir/crates
jedarden 270ae73c15 P3.1: Add TaskStore trait + SQLite backend (tables 1-7)
Define the TaskStore trait in miroir-core with SQLite backend for the
seven always-present tables from plan §4: tasks, node_settings_version,
aliases, sessions, idempotency_cache, jobs, leader_lease.

Key design choices:
- serde_json Value columns for tasks.node_tasks and aliases JSON fields
- BLOB (32 raw bytes) for idempotency_cache.body_sha256
- CAS operations for job claims and leader lease acquisition
- Idempotent migrations via schema_versions table with version gating
- WAL mode + busy_timeout=5000 for concurrent write safety
- Mutex<Connection> for thread-safe single-process access

15 tests covering CRUD round-trips, alias flipping with history
retention, session/idempotency expiry, job claim/renew, leader lease
acquire/renew/steal, migration idempotency, WAL mode, and concurrent
writes without deadlock.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 23:57:03 -04:00
..
miroir-core P3.1: Add TaskStore trait + SQLite backend (tables 1-7) 2026-04-18 23:57:03 -04:00
miroir-ctl P0.7: Fix cargo fmt and clippy warnings for CI smoke 2026-04-18 22:06:56 -04:00
miroir-proxy P0.3: Scaffold miroir-proxy crate 2026-04-18 20:57:58 -04:00