results
Cross-layer scenarios
Named fault sequences, each run against a live training job rather than an
idle cluster. The overlaps column is measured from the schedule
and counts fault windows that were open in both layers at the same
instant — so it is worth reading it honestly: most of these rows are
a storage fault landing while training continues, and only the ones with a
non-zero count are genuinely simultaneous cross-layer failures. Reporting
that column is what stops the headline claim from going quietly vacuous.
Randomized sweep
60/60seeds cleaneach a different fault schedule
1,713embeddingsacknowledged across the sweep
0acked, not queryablethe headline failure mode
0.9240lowest accuracyworst-case model, under faults
Faults are bounded so a quorum always survives; a cluster deliberately
driven below quorum stops being able to commit, which tests nothing about
the composition. A failing seed replays exactly:
python -m mlplat.chaos.fuzz.
Cross-validated against real sockets
Everything above runs on a deterministic queued transport. That is what
makes a fault reproducible from a seed, but it is also a modelling
assumption, and an assumption nobody checks is just a hope: if the
storage layer only behaves because messages arrive in a tidy order no
real network would produce, these results describe the harness rather
than the system.
So the same VectorStateMachine is also run under the Raft
engine's real asyncio TCP server — three processes on localhost,
real sockets, real election timeouts — and driven through the
engine's own client. Replicas converge to identical index digests,
acknowledged writes survive a node dying, and the duplicate-id fix from
bug 1 holds. Reverting that fix reproduces the original
ValueError inside the server's apply path over TCP too,
which is how these three tests are known not to be vacuous.
64tests passingmeasured by running them, not recalled
0failingat the time this page was generated
3over real TCPcross-validating the deterministic transport
6mutation testsone per invariant, each expects a catch