From a126929f00bed71044c1aa9091bb35b581ab2c46 Mon Sep 17 00:00:00 2001 From: dave Date: Tue, 7 Apr 2026 15:47:50 +0000 Subject: [PATCH] huskies: done 490_story_crdt_state_layer_backed_by_sqlite --- ...story_crdt_state_layer_backed_by_sqlite.md | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .huskies/work/5_done/490_story_crdt_state_layer_backed_by_sqlite.md diff --git a/.huskies/work/5_done/490_story_crdt_state_layer_backed_by_sqlite.md b/.huskies/work/5_done/490_story_crdt_state_layer_backed_by_sqlite.md new file mode 100644 index 00000000..fc1543b6 --- /dev/null +++ b/.huskies/work/5_done/490_story_crdt_state_layer_backed_by_sqlite.md @@ -0,0 +1,26 @@ +--- +name: "CRDT state layer backed by SQLite" +agent: coder-opus +depends_on: [489] +--- + +# Story 490: CRDT state layer backed by SQLite + +## User Story + +As a developer, I want the BFT JSON CRDT document backed by SQLite for persistence, so CRDT ops survive restarts and the state layer is ready for multi-node sync. + +## Acceptance Criteria + +- [ ] BFT CRDT crate (crates/bft-json-crdt/) integrated into the server +- [ ] CRDT ops persisted to SQLite via sqlx (backend-agnostic schema) +- [ ] Pipeline state reads switch from filesystem to CRDT document +- [ ] Pipeline state writes go through CRDT ops (which persist to SQLite) +- [ ] Filesystem .huskies/work/ directories still updated as a secondary output for backwards compat during transition +- [ ] CRDT state reconstructed from SQLite on startup +- [ ] agent: coder-opus +- [ ] depends_on: [489] + +## Out of Scope + +- TBD