docs(contract): reconcile GA Exit Ledger to post-replication-GA main (v0.7.0 prep)#325
Conversation
Qodo reviews are paused for this user.Troubleshooting steps vary by plan Learn more → On a Teams plan? Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center? |
|
Warning Review limit reached
Next review available in: 38 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe PR refreshes production-contract metadata and GA ledger evidence for v0.7.0 replication-GA preparation, updates security and compatibility entries, records revision history, and adds a corresponding unreleased changelog entry. ChangesProduction contract reconciliation
Estimated code review effort: 1 (Trivial) | ~5 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/PRODUCTION-CONTRACT.md`:
- Line 111: Update the CRASH-01 entry to reflect that the required disk-offload
durability test, crash_recovery_disk_offload_no_aof, is failing: mark the
criterion as unticked or explicitly qualified rather than GA. Adjust the
documented GA-gap count to include this unresolved criterion, without removing
the existing audit caveats.
- Around line 8-11: Align the v0.7.0 release documentation with the actual
enforcement in scripts/check-production-contract.sh and the release workflow:
either add an enforcing 24-hour soak gate for the v0.7.0 tag, or reword the
statements at docs/PRODUCTION-CONTRACT.md lines 8-11 and 129 and CHANGELOG.md
lines 19-20 to describe the soak as a pending prerequisite rather than an
enforced gate.
- Line 98: Update the FUZZ-01 entry in PRODUCTION-CONTRACT.md to include
concrete evidence for the 24-hour cumulative-clean requirement, such as a result
or link to the relevant nightly fuzz run, while preserving the existing
15-minute PR fuzz evidence and target details.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: a1c5bd67-e827-47f5-9be4-2ef18a9fb540
📒 Files selected for processing (2)
CHANGELOG.mddocs/PRODUCTION-CONTRACT.md
| |---|---|---|---|---| | ||
| | ✅ | WAL-01 | WAL v3 unified log, per-shard group commit, checksum-guarded records | `src/persistence/page.rs`, `kv_page.rs`, `clog.rs`, `manifest.rs`; `fuzz/fuzz_targets/wal_v3_record.rs` | GA | | ||
| | ✅ | CRASH-01 | Scripted crash-injection matrix (per-shard AOF, cold-tier DEL resurrection, disk-offload, graph, vacuum, vector durability) | `tests/crash_matrix_per_shard_aof.rs`, `crash_matrix_per_shard_bgrewriteaof.rs`, `crash_recovery_cold_del_resurrection.rs`, `crash_recovery_disk_offload_no_aof.rs`, `crash_recovery_graph_durability.rs`, `crash_recovery_vacuum.rs`, `crash_recovery_vector_durability.rs`; run by `.github/workflows/integration-tests.yml` jobs `Durability Tests` + `Crash Matrix (per-shard AOF)` | GA | | ||
| | ✅ | CRASH-01 | Scripted crash-injection matrix (per-shard AOF, cold-tier DEL resurrection, disk-offload, graph, vacuum, vector durability) | `tests/crash_matrix_per_shard_aof.rs`, `crash_matrix_per_shard_bgrewriteaof.rs`, `crash_recovery_cold_del_resurrection.rs`, `crash_recovery_disk_offload_no_aof.rs`, `crash_recovery_graph_durability.rs`, `crash_recovery_vacuum.rs`, `crash_recovery_vector_durability.rs`; run by `.github/workflows/integration-tests.yml` jobs `Durability Tests` + `Crash Matrix (per-shard AOF)`. **2026-07-14 audit caveats:** the graph-durability suite's g1–g3 never actually ran until PRs #322/#324 (harness polled the deleted WAL v2 flat file AND the legacy-mode replay it guards was a silent no-op — both fixed, g1–g5 green 3× macOS / 5× Linux); `crash_recovery_disk_offload_no_aof` is currently red on main (task #44, open). | GA | |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win
Do not mark CRASH-01 shipped while a required matrix test is red.
The criterion includes disk-offload durability, but the evidence says crash_recovery_disk_offload_no_aof is currently failing. Mark the row unticked/qualified, or narrow the criterion; update the documented GA-gap count accordingly.
🧰 Tools
🪛 LanguageTool
[uncategorized] ~111-~111: The official name of this software platform is spelled with a capital “H”.
Context: ..._recovery_vector_durability.rs; run by .github/workflows/integration-tests.ymljobs...
(GITHUB)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/PRODUCTION-CONTRACT.md` at line 111, Update the CRASH-01 entry to
reflect that the required disk-offload durability test,
crash_recovery_disk_offload_no_aof, is failing: mark the criterion as unticked
or explicitly qualified rather than GA. Adjust the documented GA-gap count to
include this unresolved criterion, without removing the existing audit caveats.
…(v0.7.0 prep) Owner reconciliation 2026-07-14 of docs/PRODUCTION-CONTRACT.md against the tree (main is 67 commits past the v0.6.0 tag, carrying the full v0.6.1 hygiene scope and the v0.7 replication workstreams untagged): Re-ticked with verified evidence: - FUZZ-01: graph_props_record.rs restored, all 12 declared targets exist - ACL-REG-01: TXN/WS/MQ/TEMPORAL/CDC in metadata.rs + monoio intercept reorder (PR #258) - COLD-TTL-01: ColdIndex::sweep_expired + info_reclamation counters - SEC-07: SECURITY.md now states a release-agnostic supported-versions policy (latest minor line pre-1.0, LTS from v1.0.0) Updated honestly: - FT-PARITY-01: FT.AGGREGATE shipped (ft_aggregate.rs); FT.ALTER still absent -- stays unticked - CRASH-01: caveats recorded -- graph-durability g1-g3 never actually ran before PRs #322/#324 (WAL v2 flat-file probe + legacy replay no-op); crash_recovery_disk_offload_no_aof residual red (task #44) - SUPPLY-01: supply-chain.yml workflow in flight (task #63), tick on merge New rows for shipped-but-previously-untracked guarantees: - CRASH-02: 37-cell cross-plane kill-9 matrix (v0.8 G1, PR #298 + the 4 RED-group fixes #52/#53/#57/#60) - MEM-10X-01: 10x RAM datasets G2 acceptance (restart readiness 157s->3.7s, PRs #319/#297/#320) - REPL-PLANES-01: all-plane replication (Waves A/B, PRs #285/#294) - REPL-SOAK-01 (unticked): 24h replication soak gates the v0.7.0 tag Header refreshed (milestone = v0.7.0 Replication GA, tag gated on soak). scripts/check-production-contract.sh parses all new rows; GA-blocking gap is now an honest 17 rows. Refs: tasks #61-#65 author: Tin Dang
e545e0f to
8a2d4da
Compare
Summary
Owner reconciliation of
docs/PRODUCTION-CONTRACT.mdagainst current main (67 commits past the v0.6.0 tag).Re-ticked (evidence verified in-tree): FUZZ-01 (12/12 fuzz targets), ACL-REG-01 (PR #258), COLD-TTL-01 (
ColdIndex::sweep_expired+ reclaim counters), SEC-07 (release-agnostic policy).Updated honestly: FT-PARITY-01 (AGGREGATE shipped, ALTER open — stays ⬜); CRASH-01 (caveats: g1–g3 harness never ran pre-#322/#324; task #44 residual red); SUPPLY-01 (workflow in flight, stays ⬜ until merged).
New rows for shipped-but-untracked guarantees: CRASH-02 (37-cell cross-plane kill-9 matrix, v0.8 G1), MEM-10X-01 (10× RAM G2 acceptance, restart 157s→3.7s), REPL-PLANES-01 (all-plane replication, Waves A/B), REPL-SOAK-01 (⬜ — the 24h soak that gates the v0.7.0 tag).
Verification
./scripts/check-production-contract.sh --tag v0.7.0parses all new rows: 17 GA-blocking rows unticked, PASSED in report mode (output in commit).Summary by CodeRabbit
FT.AGGREGATEcompatibility while notingFT.ALTERremains unavailable.