Skip to content

test(storage): certify M6 durability end to end - #847

Merged
DecisionNerd merged 2 commits into
mainfrom
test/756-production-durability-certification
Aug 19, 2026
Merged

DecisionNerd merged 2 commits into
mainfrom
test/756-production-durability-certification

Conversation

@DecisionNerd

@DecisionNerd DecisionNerd commented Aug 19, 2026 •

Copy link
Copy Markdown
Contributor

Closes #756

Summary

  • compare the independent seeded model with production GraphForge reopen, pinned-reader, checkpoint, cleanup, cancellation, idempotency, and write-mode observations
  • enumerate the finite operation/write-mode/publication-phase basis and run delta, compaction, retention, and native subprocess authorities in the certification gate
  • exercise installed Python and native Node bindings plus CLI recovery observations
  • aggregate exact-SHA Windows/macOS native oracle artifacts fail closed and freeze the merged perf(storage): add CodSpeed durability and transaction regression baselines #782 benchmark fixture/baseline contract

Evidence

  • CARGO_TARGET_DIR=$PWD/target python3 scripts/ci/durability-certification-gate.py run --output /tmp/graphforge-756-cert-evidence-v3 (8 histories x 12 operations, zero untriaged failures; report SHA-256 c311017cf407597f06a2ab10eacd0a57dedc21ac9d2665a575b5930a0982edf6)
  • CARGO_TARGET_DIR=$PWD/target cargo clippy -p graphforge-api -p graphforge-storage -- -D warnings
  • built dist/graphforge-0.5.2-cp310-abi3-macosx_11_0_arm64.whl; installed into isolated venv; /tmp/gf756-python.X7rgvf/bin/python crates/graphforge-bindings-py/tests/transaction_parity.py
  • CARGO_TARGET_DIR=$PWD/target pnpm --filter @curatelabs/graphforge exec napi build --platform; node --test crates/graphforge-bindings-node/tests/transaction-parity.test.mjs
  • python3 scripts/ci/test-durability-certification-gate.py
  • python3 scripts/ci/test-ci-storage-policy.py
  • scripts/ci/test-require-gates.sh
  • make workflow-lint
  • ruff check scripts/ci/durability-certification-gate.py scripts/ci/test-durability-certification-gate.py scripts/ci/test-ci-storage-policy.py crates/graphforge-bindings-py/tests/transaction_parity.py
  • cargo fmt --all -- --check
  • git diff --check

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

@coderabbitai

coderabbitai Bot commented Aug 19, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

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

Your current included review allowance is based on your included PR review attempts over the past 7 days.

Next review available in: 2 minutes

Limit details: You’ve used the included review currently available. Your 61 included PR review attempts over the past 7 days set your current allowance 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?

Wait for the limit to reset, then comment @coderabbitai review or push new commits to the PR.

An organization admin can change what happens after included review limits in Billing.

How do review limits work?

CodeRabbit enforces per-developer PR review limits within each organization.

For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 96f216fe-d699-4e81-adbb-f5373f14a110

📥 Commits

Reviewing files that changed from the base of the PR and between a593137 and 8966577.

⛔ 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 (9)
  • crates/graphforge-api/src/durability_certification_tests.rs
  • crates/graphforge-bindings-node/tests/transaction-parity.test.mjs
  • crates/graphforge-bindings-py/tests/transaction_parity.py
  • crates/graphforge-storage/src/project_certification.rs
  • scripts/ci/durability-certification-gate.py
  • scripts/ci/test-binding-release-candidate.py
  • scripts/ci/test-ci-storage-policy.py
  • scripts/ci/test-durability-certification-gate.py
  • tests/contracts/durability-certification.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 19, 2026
@codspeed

codspeed Bot commented Aug 19, 2026 •

Copy link
Copy Markdown
Contributor

Merging this PR will degrade performance by 8.78%

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

⚠️ 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

⚡ 2 improved benchmarks
❌ 3 regressed benchmarks
✅ 59 untouched benchmarks

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
❌ WallTime spill_compaction 4 ms 5.8 ms -30.2%
❌ WallTime recovery_scan 673.9 µs 848.5 µs -20.58%
❌ Simulation lex[wide_union] 1.4 ms 1.6 ms -15.38%
⚡ Simulation transaction_classification[1] 404.8 ns 339.6 ns +19.22%
⚡ WallTime durable_open 21.5 µs 19 µs +12.96%

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-production-durability-certification (8966577) with main (a593137)

Open in CodSpeed

@DecisionNerd
DecisionNerd merged commit 3f0e6f7 into main Aug 19, 2026
26 of 27 checks passed
@DecisionNerd
DecisionNerd deleted the test/756-production-durability-certification branch August 19, 2026 21:48
@DecisionNerd
DecisionNerd restored the test/756-production-durability-certification branch August 30, 2026 17:52
@DecisionNerd
DecisionNerd deleted the test/756-production-durability-certification branch September 17, 2026 18:51
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