Skip to content

docs(contract): reconcile GA Exit Ledger to post-replication-GA main (v0.7.0 prep)#325

Merged
pilotspacex-byte merged 1 commit into
mainfrom
docs/contract-refresh-v0-7
Jul 14, 2026
Merged

docs(contract): reconcile GA Exit Ledger to post-replication-GA main (v0.7.0 prep)#325
pilotspacex-byte merged 1 commit into
mainfrom
docs/contract-refresh-v0-7

Conversation

@pilotspacex-byte

@pilotspacex-byte pilotspacex-byte commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Summary

Owner reconciliation of docs/PRODUCTION-CONTRACT.md against 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.0 parses all new rows: 17 GA-blocking rows unticked, PASSED in report mode (output in commit).
  • Docs-only change.

Summary by CodeRabbit

  • Documentation
    • Updated the production contract for the upcoming v0.7.0 release milestone.
    • Refreshed release metadata and GA exit criteria, including replication coverage, soak testing, crash recovery, fuzzing, access controls, and TTL reclaim evidence.
    • Recorded FT.AGGREGATE compatibility while noting FT.ALTER remains unavailable.
    • Updated the security disclosure policy status and clarified remaining GA-blocking gaps.
    • Added corresponding unreleased changelog entries dated July 14, 2026.

@qodo-code-review

Copy link
Copy Markdown

Qodo reviews are paused for this user.

Troubleshooting steps vary by plan Learn more →

On a Teams plan?
Reviews resume once this user has a paid seat and their Git account is linked in Qodo.
Link Git account →

Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center?
These require an Enterprise plan - Contact us
Contact us →

@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@TinDang97, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 38 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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 configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 0605ae87-c0b7-47a3-a347-c8b83d82a730

📥 Commits

Reviewing files that changed from the base of the PR and between e545e0f and 8a2d4da.

📒 Files selected for processing (2)
  • CHANGELOG.md
  • docs/PRODUCTION-CONTRACT.md
📝 Walkthrough

Walkthrough

The 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.

Changes

Production contract reconciliation

Layer / File(s) Summary
Contract metadata and GA ledger
docs/PRODUCTION-CONTRACT.md
Updates v0.7.0-prep metadata, GA exit evidence, replication rows, security disclosure status, FT parity status, and revision history.
Release reconciliation record
CHANGELOG.md
Adds the 2026-07-14 unreleased entry describing reconciled contract rows and the updated GA-blocking gap size.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Suggested reviewers: tindang97

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the docs-only reconciliation of the GA exit ledger for v0.7.0 prep.
Description check ✅ Passed The description covers the summary and verification, which is sufficient for this docs-only change despite missing checklist, performance impact, and notes sections.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/contract-refresh-v0-7

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 0039795 and e545e0f.

📒 Files selected for processing (2)
  • CHANGELOG.md
  • docs/PRODUCTION-CONTRACT.md

Comment thread docs/PRODUCTION-CONTRACT.md
Comment thread docs/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 |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ 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
@TinDang97
TinDang97 force-pushed the docs/contract-refresh-v0-7 branch from e545e0f to 8a2d4da Compare July 14, 2026 03:18
@pilotspacex-byte
pilotspacex-byte merged commit 4b06d3d into main Jul 14, 2026
1 check was pending
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants