M9: CI-matrix tidy-up (§14.11) — reconcile spec to the actual lanes#33
Merged
Conversation
The final M9 slice. Docs-only reconciliation: the 8 workflows already implement the intended per-PR/nightly/manual matrix, but §14.11 predated the M9 additions. Rewrite it into a faithful index. - Per-PR (blocking) row now enumerates the real ci.yml jobs: rustfmt+clippy; build+test (§14.1 vectors + §14.2 reduced proptest + §14.7 zero-alloc + bench --no-run + the §14.6 !Sync trybuild compile-fail + dir-lock/Send); MSRV 1.85; Miri (codec subset); fuzz smoke F1-F4 (BLOCKING — a crash reds the PR); §14.4d dir-fsync presence (strace); plus the paths-filtered per-PR gates (m8-macos H4 Half A, lazyfs, m8). - Nightly row names each scheduled workflow with its staggered cron (bench 03:17 / fuzz 04:17 / dm-flakey 04:23 / soak 05:17), all contingent, and honestly flags that full-iteration §14.2/§14.3 + §14.9 differential are not yet automated nightly (covered at PR granularity by reduced proptest + the M6 model_oracle suite). - FS-matrix honesty note (plan Slice 9): the FS matrix matters only for the durability/metadata-fault gates (LazyFS/H3/§14.4d); the byte-level codec/CRC/recovery-classifier logic the fuzz + Miri lanes exercise is filesystem-independent, so those lanes are not multiplied across the matrix — over-claiming an "all-FS fuzz matrix" would be dishonest. No long-run gate marked green: the §14.13 N-CPU-hour fuzz row and the multi-hour soak stay OPEN-pending a dedicated runner. No src/ or workflow behavior change (cargo fmt/clippy/test unaffected). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Rpbwt9JT56hQvVXiqTS131
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
M9 §14.11 — CI-matrix tidy-up (the final M9 build slice)
Docs-only reconciliation. The eight workflows already implement the intended per-PR / nightly / manual matrix — but §14.11 predated the M9 additions (fuzz F1–F4, Miri,
!Sync/dir-lock, soak) and no longer described what actually runs. This rewrites §14.11 into a faithful index, with nosrc/or workflow behavior change.The honest outcome of a "tidy-up" slice: the workflows were already right; the spec had drifted. Rather than invent churn, this makes the doc match reality and states plainly what is not yet automated.
What changed
ci.ymljobs instead of a stale summary:rustfmt + clippy(-D warnings, all targets)build + test= §14.1 codec/CRC vectors + §14.2 (reduced proptest) + §14.7 zero-alloc assertion +cargo bench --no-run+ the §14.6!Synccompile-fail (tests/ui.rstrybuild) & dir-lock /Sendtests — all undercargo testMSRV (1.85)cargo check --all-targets --lockedMiri (codec subset)— noting this is the whole Miri-executable surface (file-backed paths use foreign syscalls Miri can't run)fuzz smoke (F1/F2/F3/F4)— BLOCKING (a reproducible crash is a real D1–D11 bug and reds the PR; distinct from the nightly time-boxed lane; never gates an H1 dispatch)§14.4d dir-fsync presence (strace)m8-macos.yml(H4 Half A),lazyfs.yml,m8.ymlbench.yml03:17 /fuzz.yml04:17 /m8-dmflakey.yml04:23 /soak.yml05:17, all CONTINGENT + dispatch — and honestly flags that full-iteration §14.2/§14.3 and the §14.9 differential are not yet automated nightly (covered at PR granularity by the reduced proptest + the M6model_oraclesuite). No over-claim.No gate over-claimed
No long-run gate is marked green: the §14.13 N-CPU-hour fuzz row and the multi-hour soak stay OPEN-pending a dedicated runner; the Miri /
!Sync/ zero-alloc DoD rows remain DONE.Verification
Docs-only (
CLAUDE.md+docs/wal_design_v6.md).cargo fmt --check,cargo test,cargo clippy --all-targets -D warningsunaffected/green.M9 status
With this, M9 is feature-complete — F1–F4 ✅, Miri ✅,
!Sync/dir-lock ✅, loom removed (characterized) ✅, soak ✅, CI-matrix ✅. The only remaining items are the standing owner / dedicated-runner observations: the F1–F4 N-CPU-hour fuzz gate and the multi-hour soak gate (both infeasible in-session; wired as contingent scheduled/dispatch lanes with loud banners until first observed).🤖 Generated with Claude Code
Generated by Claude Code