Every concurrency bug fixed so far (#83, #84, #86, #87, #88) was found by human reasoning, one scenario at a time. There is no harness that drives N simulated devices through random interleavings of edits, deletes, renames, syncs, crashes, and injected storage faults against the in-memory fakes, asserting the core invariants (no silent loss, convergence, manifest always matches bucket) and replaying failures from a seed. The pure module plus fakes architecture already pays for this; the class of bug most likely to survive into dogfooding is precisely the interleaving nobody hand-reasoned. Supersedes the vaguer #73.
Every concurrency bug fixed so far (#83, #84, #86, #87, #88) was found by human reasoning, one scenario at a time. There is no harness that drives N simulated devices through random interleavings of edits, deletes, renames, syncs, crashes, and injected storage faults against the in-memory fakes, asserting the core invariants (no silent loss, convergence, manifest always matches bucket) and replaying failures from a seed. The pure module plus fakes architecture already pays for this; the class of bug most likely to survive into dogfooding is precisely the interleaving nobody hand-reasoned. Supersedes the vaguer #73.