verified storage: stores and databases that are proven or formally checked (authored by agents unless marked đ§)
written 7 Oct 2026 UTC; sources read that day unless noted
scope and neighbours
- this note covers storage systems and databases whose correctness is proven or formally checked
- verified key-value stores, file systems, journals, transaction libraries
- industry lightweight formal methods and simulation for storage
- LLM-written proofs for such systems
- read these first; I link instead of repeating
- verification boundaries: RIFL, IronFleet, Perennial, GoJournal, DaisyNFS, Grove, PoWER, PILOT, ALICE, CrashMonkey; its candidate 1 is âtests from proof assumptionsâ
- verified file systems and storage: FSCQ, DFSCQ, Perennial, DaisyNFS, VeriBetrKV, GoJournal, PoWER with line counts and trusted parts
- consistency guarantees: isolation checkers, Aarhus Iris isolation proofs, VerIso; its candidate 3 is âSI for a Rust MVCC engine in Verusâ
- deterministic simulation testing: FoundationDB, MadSim, Turmoil, S2, ModelFuzz
- model checking: TLA+ and P at AWS, MongoDB conformance checking, Mocket, trace validation
- Rust bug-finding tools: Loom, Shuttle, Kani, ShardStore abstract
- review B systems: IronFleet, Verdi, Grove, Aneris, DaisyNFS, ShardStore with trusted-base notes
- transactions and regions: MongoDBâs VLDB 2025 storage-contract spec
- what this note adds
- verified transaction systems: vMVCC and Tulip, which no sibling covers
- the Verus storage line: SOSP 2024 persistent log, pmemlog, multilog, CapybaraKV, verified-ironkv
- SquirrelFS, Yggdrasil, AtomFS, Flashix as the âcheaper than a full proofâ family
- 2025 to 2026 industry checking of storage engines: WiredTiger model-based tests, OmniLink, Antithesis on etcd and MongoDB, TigerBeetle, Aurora DSQL, Turso
- LLM-written proofs measured on storage code: HotOS 2025 FSCQ study, VeruSAGE, IDS, MachCSL xv6
- research we could do, judged against all of the above
my takeaway first
- the proof side has moved from âone file system, one logicâ to reusable pieces: a crash-safe journal (GoJournal), a transaction library (vMVCC), a sharded replicated transaction system (Tulip), and a crash-and-corruption-safe PM store in Verus (CapybaraKV)
- but no single system has durability, serializable transactions, replication, and a Rust implementation at once; vMVCC has no durability, Tulip is Go and has no liveness proof, CapybaraKV has no transactions
- the industry side does not prove; it checks the running code against a small model, and 2025 to 2026 work is about making that check cheap: TLC-generated tests for WiredTiger, trace validation without instrumentation (OmniLink), and a deterministic hypervisor (Antithesis) that found bugs in etcd and MongoDBâs storage layer
- LLM agents now finish most leaf proof tasks in existing Verus storage code (78% on verified-storage tasks in VeruSAGE) and can write small verified key-value stores from a consistency spec in Rocq (IDS), but this review found no agent-produced crash-safe storage proof from scratch
- the opening I see for the human: a Verus-verified, crash-safe, strictly serializable key-value store in Rust, built from CapybaraKVâs PoWER discipline and vMVCCâs spec, with LLM agents doing the leaf proofs; see candidate 1
- a second, cheaper opening: measure the gap between what storage proofs assume about disks and what simulators like TigerBeetleâs VOPR and Antithesis inject; see candidate 2
verified transaction systems
- these two MIT papers prove a transaction library and a full distributed transaction system; neither sibling note covers them
- vMVCC, Chang, Jung, Sharma, Tassarotti, Kaashoek, Zeldovich, OSDI 2023, paper is in the humanâs collection
- abstract: âvMVCC is the first MVCC-based transaction library that comes with a machine-checked proof of correctnessâ
- what is hard: âMVCCâs linearization point happens before the transaction body runsâthe linearization point is when the timestamp is obtained in Begin()â
- so the proof must update the abstract state before it knows what the transaction will write or whether it commits
- implementation is Go, verified with Goose and Perennial; includes âa verified algorithm for computing strictly increasing transaction IDs using RDTSCâ
- what is missing, in the authorsâ words: âOne of the limitations of vMVCC is that it does not implement durabilityâ; also âprovides a simple key-value data model, as opposed to SQLâs relational data, and does not support range scansâ
- my reading: this is the cleanest existing specification of âa transaction libraryâ, and it is in-memory only; the obvious next step, durability, is what they say they plan
- Tulip, Chang, Tassarotti, Kaashoek, Zeldovich, SOSP 2026, âVerifying a high-performance distributed transaction system using permissioned state machinesâ; scratch copy read: abstract, introduction, limitations, related work
- abstract: âTulip comes with a machine-checked proof of correctness showing that its implementation meets a simple specification identical to a local strictly serializable transaction system, abstracting away implementation details such as crash recovery, multi-versioning, replication, sharding, and coordinator recoveryâ
- uses âTAPIR-style inconsistent replicationâ and claims âTulip is the first verified distributed transaction system implementationâ
- the method, PSM: âextends TLA-style protocol reasoning with ideas from concurrent separation logicâ; âmakes all dependencies between modules explicit using permissionsâ
- size: â3,956 lines of Go, and the proof consists of 42,131 lines of Rocqâ; âThe proof is about 11Ă the number of lines of executable codeâ
- what is trusted and missing
- âTulipâs proof does not guarantee that, for example, all transactions will eventually either commit or abort. Like TAPIR, Tulip does not support reconfiguration.â
- the implementation âbuild[s] on the Grove frameworkâ and uses âGroveâs network, file system, and RPC librariesâ
- Groveâs trusted libraries therefore need to be included in this proofâs assumptions
- the preceding review B pointer supplies the inherited trusted-base notes
- âPSM requires a framework that supports reasoning about ownership of permissions; our prototype is built on top of Iris and Groveâ
- why it matters to the human: VerIso found that TAPIR as published violates even atomic visibility (see consistency guarantees); Tulip is a TAPIR-style design that does carry a proof, so comparing the two would say exactly which TAPIR step was unsound; I have not done that comparison
- my reading: Tulip is the ceiling today for âverified transactionsâ; its cost, 11Ă proof lines in Rocq, is what any Verus attempt must beat or justify
- how these relate to the sibling noteâs isolation proofs
- the Aarhus Rocq/Iris work proves isolation levels for a research-language MVCC store; vMVCC and Tulip prove strict serializability for Go code that runs; the two lines have not been connected, as far as I found
the Verus storage line
- the human uses Verus, so this is the closest prior work; all of it comes from Microsoft Research and UT Austin
- Verus, Lattuada et al., SOSP 2024, section 4.2.5 âNew Verified System: Persistent Logâ; scratch copy read
- âa persistent circular log for byte-addressable storage devices such as Optane DC Persistent Memoryâ
- âIt is integrated into a production codebase, which incorporates it via Cargo.toml as just another Rust crateâ
- proves âthe implementation refines an abstract, infinite log; that all operations are atomic with respect to crashes; and that the log metadata is protected from corruption up to CRCâ
- âVerus verifies the log implementation in 12s with a proof-to-code ratio of 3.9â
- trusted: âFor the crates that the verified code depends on, such as a CRC crate, we write a specification and mark it trustedâ
- a lesson on performance: the first version âconverted each metadata structure to a byte slice before writing to persistent memory, incurring unnecessary copyingâ; fixed with âa Serializable trait with spec methods to specify the byte-level layoutâ
- microsoft/verified-storage, README read
- pmemlog: âimplements a persistent-memory append-only logâ, Verus, proves âcrash consistencyâ and detection of âbit corruptionâ
- multilog: âlike pmemlog except it implements a collection of logs, each in its own region of persistent memoryâ, with âa transactional interfaceâ for âatomically committing appends across those logsâ
- capybaraKV: âa persistent-memory key-value storeâ, Verus, âcrash consistency and bit corruptionâ
- capybaraNS: âa persistent-memory notary serviceâ, Dafny
- soundness_proofs: âformalized arguments of soundness for the PoWER specification approachâ
- PoWER itself, OSDI 2025, is covered in verification boundaries and file systems and storage; I do not repeat it
- verified-ironkv, README read
- âVerus-verified implementation of Ironfleet Sharded Hash Table key-value storeâ
- âonly verifies the âhost programâ from IronFleetâ, so the distributed-protocol proof layer of IronFleet is not reproduced
- the Verus projects page lists only two storage items: this port and verified-storage
- what I did not find
- no Verus port of VeriBetrKV, no verified LSM tree or B+ tree with crash safety in Verus, no Verus system with transactions; searches on 7 Oct returned nothing beyond the items above
- inference: Verus storage today is âlogs and a hash-indexed PM store with crash and corruption proofsâ; everything with ordered indexes, transactions, or disks rather than PM is open
checked at compile time or by SMT, not by a full proof
- these systems trade proof strength for speed; useful as baselines for âhow much checking is enoughâ
- SquirrelFS, LeBlanc, Taylor, Bornholt, Chidambaram, OSDI 2024, arXiv, abstract and body sections read through a fetch tool
- âWe exploit the fact that Rustâs typestate pattern allows compile-time enforcement of a specific order of operationsâ
- âSynchronous Soft Updates, that boils down crash safety to enforcing ordering among updates to file-system metadataâ
- âCompiling SquirrelFS only takes tens of seconds; successful compilation indicates crash consistency, while an error provides a starting point for fixing the bugâ
- limit, authorsâ words: âOur typestate-based approach can only check ordering-based invariantsâ; an Alloy model of the update rules is checked separately
- fetch toolâs paraphrase: compile about 10 s versus FSCQ about 11 hours and VeriBetrKV 1.8 hours; 7,500 lines; testing still found âfour crash-consistency bugs in unchecked code sectionsâ
- my reading: this is the same author as PoWER one year earlier; the pair shows the cost ladder from âtypestate orderingâ to âfull Verus proofâ on the same kind of PM file system
- Yggdrasil, Sigurbjarnarson, Bornholt, Torlak, Wang, OSDI 2016, search summary only
- âcrash refinement, which requires the set of possible disk states produced by an implementation (including states produced by crashes) to be a subset of those allowed by the specificationâ; fully SMT, no manual proofs
- AtomFS, Zou et al., SOSP 2019, search summary only: âthe first formally-verified concurrent file systemâ, Coq, with a âhelper mechanism where one operation of a thread can logically help other threads linearizeâ
- Flashix, Augsburg, KIV, search summary only: âthe first realistic verified file system for Flash memoryâ
- I did not reread these three; they predate 2022 and the sibling notes do not list them, so I record them for completeness
industry: checking storage engines without proving them
- all of these check running code against a model or under injected faults; none proves anything; see the sibling notes for the general method
- Amazon S3 ShardStore, SOSP 2021: see rust tools and the preceding review B pointer; AWS blog, Bornholt and Warfield, 20 Oct 2021: specifications are âonly about 13% more code on top of the implementationâ, checked âin hundreds of millions of scenariosâ; the blog also says the team âvalidate[s] every single deployment of ShardStoreâ
- I found no public follow-up paper on ShardStore after 2021; the 2025 CACM article on AWS practices returned HTTP 403 to my tools, so its storage-specific sentences are not quoted here; model checking has what another agent got from it
- Aurora DSQL, Brooker et al., arXiv 2607.13276, section 6 read from a scratch copy
- âWe specified the core protocols in TLA+ and P, and performed extensive model checkingâ
- âWe test the implementation extensively at build time using deterministic simulation testing. ⊠We developed turmoil, a framework in Rust for this purposeâ
- âthe focus is on the systemâs ability to remain correct while handling errors and failures. Our experience, and data from Yuan et al [37], show that the majority of bugs in complex distributed systems are in error handling logicâ
- âOnce deployed, we test the system using fault injection testing while under load, validating that the failure handling results from simulation are correctâ
- my reading: this is the 2026 AWS recipe for a new Rust database: TLA+ and P for the design, Turmoil for the code, fault injection in production; no proof of the implementation
- MongoDB WiredTiger model-based tests, Schultz and Demirbas, MongoDB blog, 27 Feb 2026, read through a fetch tool
- a TLA+ model of the boundary between the distributed transaction protocol and WiredTiger; tests generated from TLC check that âthe underlying storage engine implementation actually conforms to the abstract behavior defined in our formal specificationâ
- fetch toolâs paraphrase: 87,143 tests from a model with 2 keys and 2 transactions, run in about 40 minutes; no bug is reported in the post
- next steps in their words: âexplore modeling of a more extensive subset of the WiredTiger APIâ and âexplore alternate state space exploration strategies for generating tests, e.g., randomized path samplingâ; they also mention âthe role that LLMs can play in this type of verification workflowâ
- the VLDB 2025 paper behind this is in transactions and regions
- OmniLink, Hackett, Wrench, Macko, Davis, Wei, Beschastnikh, arXiv 2601.11836, Jan 2026, abstract read through a fetch tool
- trace validation for âunmodified concurrent systemsâ; treats âsystem events as black boxes with a timebox in which they occurredâ
- applied to âWiredTiger, a state-of-the-art industrial database storage layerâ, enhancing âWiredTigerâs existing TLA+ modelâ
- found âtwo previously unknown bugs (1 in BAT, 1 in ConcurrentQueue)â, not in WiredTiger
- authors include MongoDBâs Davis and PGoâs Beschastnikh; this is the 2026 answer to MongoDBâs 2020 finding that trace checking was impractical (see model checking)
- Antithesis, a deterministic hypervisor, on storage systems
- etcd blog, Siarkowicz, 3 Oct 2025, read through a fetch tool: runs âthe entire etcd cluster inside a deterministic hypervisorâ; uses âdeclarative, property-based assertions about system behaviorâ; â830 wall-clock hours of testing, which simulated 4.5 years of usageâ; bugs include âWatch on future revision receiving old eventsâ (fixed in 3.6.2) and âPanic from db page expected to be 5â (fixed in 3.6.5); five known old issues were reproduced
- Antithesis blog on MongoDB, 22 Apr 2024, fetch toolâs paraphrase: an index entry âexisted, but the document it referred to was missingâ in the
_idindex of config.transactions; the cause sat in the replication rollback path inside WiredTigerâs MVCC memory reclamation; Antithesis narrowed the window with checkpoint branching and core dumps every 100 ms - my reading: the bugs found are in recovery and rollback paths, the same places the proofs above spend their effort; this supports the sibling noteâs view that error handling is where bugs live
- TigerBeetle safety page, read through a fetch tool
- âTigerBeetle is tested in the VOPR â a simulated environment where an entire cluster, running real code, is subjected to all kinds of network, storage and process faults, at 1000x speedâ; ârunning 24/7 on 1024 coresâ
- its storage fault model cites disk studies: âDisks can silently return corrupt data (0.031% of SSD disks per year, 1.4% of Enterprise HDD disks per year)â, âmisdirect IO (0.023% of SSD disks per year, 0.466% of Nearline HDD disks per year)â, and gray failure where disks âsuddenly become extremely slow, without returning an error codeâ
- âTigerBeetle uses Protocol Aware Recovery to remain available unless the data gets corrupted on every single replicaâ
- Jepsenâs 2025 findings on it are in consistency guarantees
- Tursoâs Limbo, Enberg and Costa, 10 Dec 2024, read through a fetch tool
- a Rust rewrite of SQLite; âWith DST, we believe we can achieve an even higher degree of robustness than SQLiteâ
- fetch toolâs paraphrase: Antithesis caught io_uring partial-write cases their own simulator missed
- inference: a simulatorâs fault model is itself a correctness assumption; what Tursoâs in-process simulator missed, the hypervisor caught, which is the same gap a proofâs disk model has
- CobbleDB, Ma, Pandey, Bieniusa, Shapiro, PaPoC 2026, abstract read through a fetch tool
- âa reimplementation of RocksDBâs levelled storageâ derived from a formal spec of store variants whose âcorrectness and equivalenceâ were proved on paper; Java, â3,204 linesâ; fetch toolâs paraphrase: no mechanized proof, about 11.5Ă slower than RocksDB
- I list it because it is the only 2026 attempt at an LSM-shaped store from a spec; it is not a verified system
LLM-written proofs for storage code
- general LLM proof synthesis is in the humanâs LLM-for-verification notes; this section keeps only results measured on storage or file-system code
- Qin, Du, Zhang, Lentz, Zhuo, HotOS 2025, âCan Large Language Models Verify System Software? A Case Study Using FSCQ as a Benchmarkâ; in the humanâs collection, read in full
- âwith appropriate proof context and a straightforward best-first tree search, off-the-shelf LLMs achieve 38% proof coverage for theorems sampled from FSCQâ
- âfor simpler theoremsâthose with human proofs under 64 tokens, which make up about 60% of all FSCQ theoremsâLLMs achieve over 57% coverageâ
- models were GPT-4o, GPT-4o mini, Gemini 1.5 Flash and Pro; the 38% figure is âthe hinted GPT-4o modelâ on 5% of theorems; Coq tactics, not Verus
- my reading: this is a 2024-era model result; whether current agents score higher requires a new evaluation; this review found no rerun, and FSCQ proofs are Coq tactic scripts, which is a different skill from Verus annotations
- VeruSAGE, arXiv 2512.18436, Dec 2025, body read through a fetch tool; covered in general in code and agents
- the benchmark has a âStorageâ project (63 tasks, âPersistent storage verificationâ, from microsoft/verified-storage) and IronKV (118 tasks)
- fetch toolâs paraphrase of the results table: best agent (Sonnet 4.5, hands-off) 78% on Storage and 84% on IronKV; the AutoVerus baseline 19% and 24%
- why storage fails, in their words: âwhen Sonnet fails to complete a storage (ST) proof, the corresponding human-written proof leverages knowledge of code synthesized by a procedural macroâ
- my reading: the tasks are holes in finished human proofs, so 78% means âfills most leaf lemmasâ, not âwrites a crash-safety proofâ
- Inductive Deductive Synthesis, Agarwal et al., arXiv 2605.23109, May 2026, abstract and body read through a fetch tool
- âeven SOTA coding agents (Codex with GPT-5.4 and Claude Code with Opus 4.6) succeed on only 2/7 distributed key-value-store specificationsâ
- âIDS achieves 7/7 in about 6.8 hours and $106 per spec on averageâ; âimplementations up to 3x faster than published verified systemsâ
- targets Rocq: âusing LLM agents driven by the proof assistant Rocqâ; the seven specs are Chaparâs causal consistency plus read-your-writes, monotonic reads, monotonic writes, their combinations, and a labeled causal consistency
- fetch toolâs paraphrase: extraction to OCaml, the network runtime, and the harness are trusted; the 3Ă figure is against Chaparâs vector-clock reference
- my reading: these are in-memory replicated stores with consistency specs, no crashes or disks; it shows agents can build a whole verified store when the spec is small, and it is the closest competitor to candidate 3 below
- MachCSL on xv6, Kaashoek and Zeldovich, arXiv 2609.04043, Sept 2026, abstract read through a fetch tool
- verifies xv6 on RISC-V including âa traditional Unix system call interface (processes, file system, file descriptors, and preemptive scheduling)â; â6,593â lines of C and assembly; â10â xv6 bugs and â1â Sail bug found; â93 daysâ including framework work
- âLLM-based agents are capable of reasoning about such low-level detailsâ
- my reading: the first case where agents helped verify a file system end to end, though the file system is xv6âs and the paper is three weeks old; I did not read the body
- what is not done: no paper has an agent write a crash-safety or corruption-detection proof in Verus for a storage component from a spec; VeruSAGE fills holes, IDS has no crashes, HotOS is Coq tactics
what proofs assume and what simulators inject, side by side
- the two camps model the disk differently, and that is where the research gap sits
- proofs
- GoJournal: âWe assume that the disk writes 4KB blocks atomically, even on crashâ (quoted in verification boundaries)
- the Verus log and PoWER: corruption detected âup to CRCâ, under a stated bit-error model; stray writes mentioned as a PM risk
- vMVCC: no disk at all; Tulip: Groveâs file-system library is trusted
- simulators and checkers
- TigerBeetle: silent corruption, misdirected I/O, gray failure, with disk-study rates quoted above
- Antithesis on Turso: partial writes through io_uring
- FoundationDB and Turmoil: âtorn writesâ (see deterministic simulation testing)
- inference: no verified store I found models misdirected writes or fsync failure, and no simulator I found checks the ordering invariants a proof would; this review did not find a joint experiment comparing their fault models
research we could do
- all are proposals; novelty is argued from the sources above, not established; each names who could beat us
- candidate 1: a crash-safe, strictly serializable key-value store in Verus, with agents doing leaf proofs
- question: can Verus deliver what vMVCC lacks (durability) and what CapybaraKV lacks (transactions) in one Rust system, at a proof-to-code ratio near PoWERâs 2.6 rather than Tulipâs 11
- why existing work does not answer it: vMVCC says it âdoes not implement durabilityâ; CapybaraKV proves crash consistency with no transaction interface beyond multilogâs atomic appends; Tulip is Go and Rocq; the Aarhus work is a research language; consistency guarantees candidate 3 proposes SI without durability
- first step, about a month: put vMVCCâs transaction spec (logical atomicity at Beginâs timestamp) on top of multilogâs transactional append; prove strict serializability for a single node with crashes under PoWERâs write preconditions; measure proof lines, verification time, and throughput against CapybaraKV and an unverified Rust PM store
- then: run VeruSAGE-style agents on the leaf obligations and report the share they finish, which turns the project into a data point for the humanâs agent-evaluation work
- risks: Verus has no Iris-style prophecy or logical atomicity library, and vMVCCâs âlinearize before you know the writesâ argument may need one; the Microsoft and UT Austin group (LeBlanc, Lorch, Hawblitzel) is the natural owner and may already be doing it
- why us: the human already works in Verus, and the result is a runnable Rust crate, not a model
- candidate 2: line up proof assumptions with simulator fault models, then test one verified store outside its model
- question: which disk behaviors that real simulators inject fall outside what verified storage proofs assume, and does a verified store fail under them
- why existing work does not answer it: verification boundaries candidate 1 and simulation testing propose testing assumptions in general; this review did not locate an assumption-to-fault comparison for these systems or a verified-store hypervisor experiment; the search was incomplete
- first step, two to three weeks: build the table from the papersâ assumption sections; then select an injector compatible with CapybaraKV or pmemlogâs persistent-memory interface; confirm its supported faults before proposing misdirected or torn writes, and classify each failure as âoutside the modelâ or âproof bug or trusted-code bugâ
- measure: faults outside every proofâs model; failures per fault class; whether any failure is in trusted Rust rather than verified Rust
- risks: the answer may be âevery failure is outside the model, as expectedâ, which is a short paper; PM stores need a PM emulator, which weakens the device realism
- why us: it joins the humanâs Verus interest with the finding-bugs slice, and it is mostly engineering and measurement
- candidate 3: an agent benchmark for crash-safety proofs
- question: can current agents write PoWER-style crash-consistency proofs from a spec, not just fill holes
- why existing work does not answer it: VeruSAGEâs storage tasks are holes in human proofs and its reported failure is macro-generated code; IDS synthesizes stores with no crashes; the HotOS study used 2024 models on Coq tactics
- first step: take pmemlog and multilog, strip the proofs but keep the specs and PoWER preconditions, and ask agents to re-verify; then give a spec-only task (a new log layout) and measure time, cost, and which obligations stay open
- measure: tasks completed, dollars and hours per task as IDS reports, and a list of obligation kinds agents fail (crash preconditions, byte-layout lemmas, CRC axioms)
- risks: the microsoft/verified-storage team or the VeruSAGE authors could publish this first; the benchmark could leak into training data
- why us: the humanâs verified agent code evaluation work needs exactly such tasks
- candidate 4, weaker: prove a Rust engine against MongoDBâs storage contract
- question: if the TLA+ âStorageâ contract MongoDB uses to generate 87,143 tests is instead the spec of a small Verus-verified engine, do the generated tests find anything, and does the proof catch anything the tests miss
- why existing work does not answer it: MongoDB tests a C engine against the contract; OmniLink trace-checks it; this review found no verified engine implementing that contract
- risk and overlap: this needs a TLA+-to-Verus specification step; the humanâs separate verus_distributed effort owns TLA+-to-Rust translation, so this candidate should wait for its result rather than duplicate it
- things I would not do
- another verified in-memory consistency store: IDS now generates them
- a verified text-book LSM tree with no crash model: CobbleDB shows the spec side is easy and the result is not a systems contribution
what I could not cover
- read in full: vMVCC and the HotOS 2025 paper from the collection, Tulipâs abstract, introduction, limitations and related-work sections, Verus section 4.2.5, DSQL section 6; everything else through abstracts, READMEs, or a summarizing fetch tool, marked âfetch toolâs paraphraseâ where it paraphrased
- not reached: the CACM 2025 AWS practices article (HTTP 403 from two paths), TigerBeetleâs VOPR page (redirect only; I used the safety page), Tulipâs evaluation and proof sections, the OmniLink and IDS bodies past the abstract, the SOSP 2026 and OSDI 2026 programs for other storage proofs
- not found despite searching: a Verus port of VeriBetrKV, a verified LSM or B+ tree in Verus, a 2025 or 2026 Perennial storage system beyond Tulip, a public ShardStore follow-up
- not searched: Dropbox and Azure storage formal-methods accounts, Cogent and BilbyFS, verified SSD firmware or FTLs, the DSQL paperâs references on Kani
- ChatGPT Extra High, original worker: no opinion obtained; the tool was not signed in, and the coordinator said not to run it
- the self-contained prompt is saved at /tmp/claude-30033/-ssd1-sichanghe-github-io/85361e00-9330-4e62-a177-9736b46ce5e5/scratchpad/vs/chatgpt_prompt.md
- the candidates above were not challenged by an outside reviewer
consultation correction: durable transactions and trusted-code testing are existing work
- GoTxn, Mark Theng, MIT thesis, 2022, section 1.1
- evidence: âpersist across crashes immediately after they are committedâ
- context: transactions recorded in the write-ahead log
- the inspected design uses automatic two-phase locking for serializability
- interpretation: combining serializable transactions and crash durability is existing work
- a Rust proposal needs a contribution beyond combining these guarantees
- compare the API, proof assumptions, and supported deferred-durability behavior before claiming equivalence
- read depth: abstract and sections 1.1â1.2
- proof body and artifact not audited
- Mohan et al., CrashMonkey journal paper, section 6.2
- evidence: âan optimization introduced in the C-Haskell binding in FSCQ, which is unverified codeâ
- context: a reported crash-consistency failure in a verified file system
- interpretation: testing the boundary around a verified storage system is existing work
- the proposed fault-model study needs a specific new executable comparison
- read depth: verified-file-system result and related-work comparison
- revised composition test
- model visibility, persistence, acknowledgment, and recovery as separate events
- let one transaction read another transactionâs visible but not durable write
- crash after the dependent transaction receives success
- require one allowed serial explanation for observations and recovered state
- this is an unexecuted proposed test
- it must be checked against the exact transaction contract
GoTxn contract comparison
- Theng thesis, chapter 4, figure 4-3, and section 5.2
- the log specification separates submitting a write from waiting for durability
- after recovery, a prefix survives that contains every write covered by the completed flush
- later submitted writes may also survive
- the journal contract gives all-or-nothing crash behavior
- locks make the transaction appear atomic to the caller
- a crash after durable journal commitment but before returning is covered by the crash specification
- comparison with the proposed combination
- GoTxn already specifies concurrency, durable commitment, and recovery together
- vMVCC instead supplies concurrent transaction reasoning without durability
- PoWERâs concurrent shared API is non-transactional
- combining the latter two needs a new shared invariant
- it is not automatically a new transaction guarantee
- a possible Rust result must justify an implementation or proof-method benefit against GoTxn
- read depth
- inspected log interface and crash-prefix rules, journal crash atomicity, and locking-layer commit proof outline
- no full proof audit or reproduction
Last edited: