You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Atomic multi-statement programs (stage then commit, one WAL record) #131
Multi-statement programs apply statement by statement. Validation failures continue while other statements commit (handler.rs:2668-2704), and a storage error aborts after earlier statements persisted. A gateway turn can apply a retraction and lose the replacing assert behind a success response. Gateway retries then duplicate data, and client cancellation can release the conversation lock mid-write.
Plan: parse and validate the whole program first, then apply all writes at one logical time under the KG lock as one WAL record, all or nothing. Builds on wp-write-effective-delta and the segmented WAL. Gateway follow-up: idempotency key per turn, and run the critical section in a spawned task.
Roadmap checkpoint — 2026-10-03
R2 delivers the engine transaction boundary; R3 adds durable gateway retry/cancellation semantics. This umbrella is assigned to R3 for whole-issue completion and must remain open until all four slices pass.
Activity
feat(storage): commit writes as atomic WAL transactions
feat(engine): commit a program's fact statements as one transaction
feat(engine): commit a program's rules and schemas with its facts
feat(storage): atomic multi-statement programs (#131) (#208)
feat(ws): ordered notification stream with epoch cursor and revision-…
feat(ws): request IDs, per-connection pipelining, deadlines and real …
jsam commentedon Oct 4, 2026
Closing as delivered: atomic multi-statement programs shipped in #208 (T01 WAL envelope, T02 staged fact programs, T03 atomic rule and schema programs). The remaining T04 item, durable idempotency, is carried by #178. Tracker: #199.