Skip to content

docs: add ADR-0014, local store durability is per-call not per-event atomic - #610

Merged
mfw78 merged 1 commit into
dev/m1from
docs/adr-0014-durability
Jul 25, 2026
Merged

docs: add ADR-0014, local store durability is per-call not per-event atomic#610
mfw78 merged 1 commit into
dev/m1from
docs/adr-0014-durability

Conversation

@mfw78

@mfw78 mfw78 commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

What

Add ADR-0014 recording the local-store durability model: per-call committed durability, not per-event atomic.

Why

The docs claimed an implicit per-event write transaction that rolls back on trap; it never existed, and building it would break the keeper Journal (a RESERVED marker committed before a venue submit must survive the trap so the reconcile can find it). The ADR records the decision from the three-lens durability study: per-call durability is the contract, per-event atomicity is rejected in all three mechanisms (held transaction, staged overlay, snapshot), and one opt-in apply batch verb (#609) is the sanctioned atomicity scope. The docs correction rides in #606; this is the decision of record behind it.

Testing

Documentation only.

AI Assistance

Implemented with Claude Code.

Refs nullislabs/nexum-runtime#11

…atomic

Record the decision from the local-store durability study: per-call committed durability is the contract, per-event atomicity is rejected (it would roll back the keeper Journal's RESERVED marker on the trap it exists to survive), and one opt-in apply batch verb is the sanctioned atomicity scope. Closes the doc-vs-code gap that claimed a per-event rollback that never existed.
@mfw78
mfw78 merged commit df6c6e7 into dev/m1 Jul 25, 2026
7 checks passed
@mfw78
mfw78 deleted the docs/adr-0014-durability branch July 25, 2026 06:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant