You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/rfcs/0012-compaction-correctness-gate.md
+7-2Lines changed: 7 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@ Compaction rewrites physical layout and can silently break logical correctness.
23
23
## Non-Goals
24
24
25
25
- Performance benchmarking or tuning.
26
-
-CI gating or long-running fuzzing (added later once validated).
26
+
-Long-running fuzzing as a required CI blocker.
27
27
- Full coverage of crash recovery or manifest/GC interactions (follow-on work).
28
28
- Guaranteeing correctness for future range tombstones or remote compaction (follow-on work).
29
29
@@ -114,6 +114,11 @@ The gate must emit enough context to replay failures:
114
114
115
115
Initial coverage targets **minor compaction** and the current read path across mutable + immutable + SST layers. Major compaction, manifest/GC, and remote execution are validated in Phase 1+ after the minimal gate is stable.
116
116
117
+
### CI Execution Lanes
118
+
119
+
-**Required deterministic baseline:** run `compaction_correctness_` while skipping `compaction_correctness_model_randomized`. This keeps the required gate reproducible and focused on deterministic scenario coverage.
120
+
-**Optional expanded randomized lane:** run `compaction_correctness_model_randomized` with `TONBO_COMPACTION_MODEL_SST=1`, `TONBO_COMPACTION_REOPEN=1`, and `TONBO_COMPACTION_EAGER_FLUSH=1` (with explicit seed list) to intentionally exercise SST/compaction/reopen model behavior.
0 commit comments