fix(review): bind reviewers to captured Git revisions - #290
Merged
Merged
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 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 |
ferueda
marked this pull request as ready for review
September 9, 2026 17:41
Post-run revision checks were replacing timeout, abort, and workspace-guard errors with a generic mismatch even after raw evidence was written.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem and validation
Fix the change-review integrity findings from section 2 of the audit, verified against
ac1cd589before implementation.rev-parseandgit diffproduces a patch for a different commit than the recordedheadSha. A deterministic Git-wrapper regression fails on the original source and passes with this fix.Fix
Resolve base and head to commit IDs once. Run each selected change reviewer in its own temporary detached Git worktree at that captured head instead of the caller's live checkout. Validate the worktree root, exact HEAD, and clean status before accepting results; unreadable verification fails closed. Preserve raw reviewer output and any successful sibling even when revision validation fails. Always attempt owned-worktree cleanup, with checkout hooks disabled during creation.
Diff/plan artifact references remain readable from the isolated checkout. The caller's local changes are not committed, stashed, reset, or included. Dry runs and plan reviews retain their existing execution path.
This addresses the dirty-baseline guard problem at the change-review boundary rather than adding a fingerprinting framework to the generic provider guard. No new dependencies, CLI flags, provider interfaces, cache, or orchestration layer.
Verification
make check: PASS in the existing Tests workflow, exercising PR head4ec28ff16d3db2f7aac28f25a326dd6b22d4ac87merged with baseac1cd589. Formatting, lint, typecheck, tests, build, and distribution smoke all passed on Node 24 with locked dependencies.Boundaries
This is revision isolation, not a new security sandbox. Codex's configured read-only execution and Cursor's different enforcement remain distinct. Ignored dependencies, environment files, and uncommitted specialist guidance are not copied or symlinked into review worktrees; unavailable checks remain explicit proof limits. Git-linked worktrees share the repository's object/ref storage. See the updated architecture notes.
Kept draft because independent implementation review remains outstanding, despite the passing full verification gate. Not merged.