feat(warp-core): project WAL recovery evidence#609
Conversation
|
Warning Review limit reached
More reviews will be available in 38 minutes and 48 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more credits in the billing tab to continue. ⌛ How to resolve this issue?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 credits. 🚦 How do rate 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 see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughAdds WAL recovery projection to ChangesWAL Recovery Projection
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Poem
🚥 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.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f4df9a800d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Code Lawyer resolution update:
Validation:
|
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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 `@crates/warp-core/tests/causal_wal_tests.rs`:
- Around line 377-418: Add test coverage for the clean no-evidence Absent path
in project_wal_recovery. The current assertions only exercise empty inputs that
still end up Obstructed; add one case using RecoveryScanReport with no
transactions and RecoveryTailPosture::Clean plus no segment evidence/manifests,
and assert the projection posture is WalRecoveryProjectionPosture::Absent. Keep
the new assertion near the existing empty-input cases in causal_wal_tests.rs so
regressions in the fast path are caught.
- Around line 510-532: Add the missing test coverage in causal_wal_tests for the
filesystem manifest-segment-count mismatch by exercising
project_filesystem_wal_recovery with a manifest whose segment count differs from
what the adapter expects, and assert that
WalRecoveryProjectionObstruction::ManifestSegmentCountMismatch is reported. Use
the existing filesystem_manifest_mismatch test block as the locator, and make
sure the assertion checks the expected and actual values in the correct order so
it would catch the swapped-argument bug in project_filesystem_wal_recovery.
🪄 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: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: 50914cc5-bddf-47ce-a27e-19e9fce4b545
📒 Files selected for processing (3)
CHANGELOG.mdcrates/warp-core/src/causal_wal.rscrates/warp-core/tests/causal_wal_tests.rs
|
Code Lawyer follow-up update:
Validation:
|
Summary
WalRecoveryProjectionposture and typed obstruction records for recovered WAL projectionwal_projection_from_recoverycoverage for deterministic projection, missing-manifest obstruction, missing-locator obstruction, and non-mutating filesystem projectionCloses #560
Validation
cargo test -p warp-core wal_projection_from_recoverycargo test -p warp-core --test causal_wal_testscargo clippy -p warp-core --lib --test causal_wal_tests -- -D warningscargo check -p warp-corecargo fmt --checkgit diff --checknpx markdownlint-cli2 CHANGELOG.mdcargo clippy -p warp-core --lib,cargo check -p warp-core, markdownlintcargo fmt --all -- --check,cargo check -p warp-core --quiet,cargo test -p warp-core --test causal_wal_tests, prettier touched markdownSummary by CodeRabbit
New Features
Bug Fixes
Tests