Skip to content

test(storage): certify durability and isolation with seeded model histories - #773

Merged
DecisionNerd merged 2 commits into
mainfrom
test/756-durability-isolation-cert
Aug 16, 2026
Merged

DecisionNerd merged 2 commits into
mainfrom
test/756-durability-isolation-cert

Conversation

@DecisionNerd

@DecisionNerd DecisionNerd commented Aug 16, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Add integrated seeded reference state machine (project_certification) over the fault oracle covering acknowledgement, restart, pinned readers, write modes, checkpoints, deltas, compaction, GC, cancellation, process-death boundaries, and media faults
  • Wire required CI + scheduled Durability Certification Gate (graphforge-durability-certification/1, seed 7560) with fail-closed evidence artifacts; flip write_skew and seeded_model_certification matrix cells to covered
  • Strengthen write-skew witness assertions; add Rust/Python/Node/CLI observation parity and Windows certification unit coverage

Test plan

  • cargo test -p graphforge-storage --features test-failpoints project_certification --lib
  • cargo test -p graphforge-api --lib durability_certification_tests
  • cargo test -p graphforge-api --lib optimistic_write_skew_witness_matches_isolation_table
  • cargo clippy -p graphforge-storage --features test-failpoints -- -D warnings
  • python3 scripts/ci/durability-isolation-gate.py validate
  • python3 scripts/ci/durability-certification-gate.py validate
  • python3 scripts/ci/test-durability-isolation-gate.py
  • python3 scripts/ci/test-durability-certification-gate.py
  • CI Gate CLEAN at exact head SHA

Closes #756

Made with Cursor


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

…tories

Add an integrated reference state machine over the fault oracle, wire
required/scheduled certification evidence, and close the final M6 matrix cells.

Closes #756

Co-authored-by: Cursor <cursoragent@cursor.com>
@coderabbitai

coderabbitai Bot commented Aug 16, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in: 23 minutes

Limit details: You’ve used all 1 included review currently available under your plan. You completed 63 included PR reviews in the past 7 days; at that activity level, included reviews refill at 1 review per hour.

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: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 1995cdfe-a4b9-406d-8aa0-4c3cad0f1cf8

📥 Commits

Reviewing files that changed from the base of the PR and between ba78134 and 4b415f6.

⛔ Files ignored due to path filters (3)
  • .github/workflows/durability-certification-gate.yml is excluded by !**/.github/**
  • .github/workflows/test.yml is excluded by !**/.github/**
  • docs/book/architecture/concurrency-recovery.md is excluded by !**/*.md, !**/docs/**
📒 Files selected for processing (16)
  • Makefile
  • crates/graphforge-api/src/durability_certification_tests.rs
  • crates/graphforge-api/src/lib.rs
  • crates/graphforge-api/src/transaction.rs
  • crates/graphforge-bindings-node/tests/transaction-parity.test.mjs
  • crates/graphforge-bindings-py/tests/transaction_parity.py
  • crates/graphforge-storage/src/lib.rs
  • crates/graphforge-storage/src/project_certification.rs
  • scripts/ci/classify-policy-suites.sh
  • scripts/ci/durability-certification-gate.py
  • scripts/ci/durability-isolation-gate.py
  • scripts/ci/test-ci-storage-policy.py
  • scripts/ci/test-durability-certification-gate.py
  • scripts/ci/test-durability-isolation-gate.py
  • tests/contracts/durability-certification.json
  • tests/contracts/durability-isolation-matrix.json

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

@github-actions github-actions Bot added core Core source code changes testing Test coverage and testing infrastructure documentation Improvements or additions to documentation ci-cd CI/CD configuration changes tooling Developer tooling and automation labels Aug 16, 2026
@blacksmith-sh

This comment has been minimized.

…ions

Use the approved upload-artifact v7 pin with fail-closed retention, and compare
commit generations only against fresh-open recovery (pinned facades stay put).

Co-authored-by: Cursor <cursoragent@cursor.com>
@codspeed

codspeed Bot commented Aug 16, 2026 •

Copy link
Copy Markdown
Contributor

Merging this PR will degrade performance by 28.47%

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

❌ 1 regressed benchmark
✅ 39 untouched benchmarks

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Benchmark BASE HEAD Efficiency
❌ lex[simple_match] 26 µs 36.3 µs -28.47%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing test/756-durability-isolation-cert (4b415f6) with main (ba78134)

Open in CodSpeed

@DecisionNerd
DecisionNerd merged commit 6019f8a into main Aug 16, 2026
22 of 23 checks passed
@DecisionNerd
DecisionNerd deleted the test/756-durability-isolation-cert branch August 20, 2026 18:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-cd CI/CD configuration changes core Core source code changes documentation Improvements or additions to documentation testing Test coverage and testing infrastructure tooling Developer tooling and automation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

test(storage): certify durability and isolation with seeded model histories

1 participant