feat: implement issue #843 — [Phase 2] Add the LSP finding-verification step to the deep/audit pr-review tiers - #861
Conversation
…on step to the deep/audit pr-review tiers
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Caution Review failedPull request was closed or merged during review No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (9)
📝 WalkthroughWalkthroughImplements LSP-backed finding verification for the deep and audit review tiers. New prompts steps define the ChangesLSP Finding-Verification Step
Estimated code review effort🎯 4 (Complex) | ⏱️ ~50 minutes Possibly related PRs
Suggested labels
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 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 |
Dev-Lead — review-changes (no-changes)No changes were needed for this PR. |
There was a problem hiding this comment.
Code Review
This pull request introduces the LSP finding-verification step to ground cross-file or semantic claims made during deep reviews and security audits against LSP navigation tools. It includes updates to prompts, a new Bash library (scripts/lib/lsp-verification.sh) to enforce annotations and handle downgrades of unverifiable findings, logging of verification outcomes to the Token Cost Observatory JSONL, and corresponding unit tests. Feedback on the changes suggests a robust handling of positional parameters in apply_lsp_verification to prevent the findings file from being scanned as a CLI output file when fewer than two arguments are provided.
Dev-Lead — fix-reviews (applied)Changes committed and pushed. |
Dev-Lead — review-changes (no-changes)No changes were needed for this PR. |
|
Advisory bots were rate-limited; auto-approval is withheld until they recover. pr-review-sweep will re-review this PR after 2026-06-21T08:56:07Z. |
donpetry-bot
left a comment
There was a problem hiding this comment.
Automated review — APPROVED ✓
Risk: MEDIUM
Reviewed commit: f59e83cbf71e1b44e06983a216e4e313671a8a3f
Review mode: triage-approved (single reviewer)
Summary
Implements issue #843 (Phase 2 of the LSP pilot, epic #839): an LSP finding-verification step for the deep/audit PR-review tiers. The deep-review and security-audit prompts now ask the model to annotate each cross-file/semantic finding with an lsp_verification field; a new scripts/lib/lsp-verification.sh deterministically enforces it — downgrading + tagging unverifiable findings one severity level (never dropping them) and emitting each outcome to the Token Cost Observatory JSONL via emit_verification_record. token_report.sh is updated to exclude the new finding_verification record kind from cost pricing. The whole step is inert (findings byte-for-byte unchanged) when the LSP MCP server is unwired or degraded. +496/-4 across 9 files.
Linked issue analysis
Closes #843. The PR substantively addresses the story: (a) prompt-level instruction to ground cross-file/semantic claims via mcp__lsp__find_references / mcp__lsp__get_diagnostics (AC #1), (b) deterministic downgrade+annotate of unverifiable findings, never dropped (AC #2), (c) inert behavior when LSP is unwired/degraded, reusing the existing MCP failure-pattern signal (AC #3), and (d) per-finding verification records on the token JSONL for the FPR-delta harness (AC #4). Coverage is solid: 223 lines of new bats tests exercising all four ACs plus edge cases.
Findings
No blocking issues.
- Severity downgrade is bounded (one level, bottoms out at info), annotated [lsp: unverifiable], and audited — findings are never silently dropped, so the change cannot weaken a review by hiding a finding.
- The prior gemini-code-assist review flagged a positional-parameter risk (shift 2 when fewer than two args could cause the findings file to be scanned as a CLI-output file); this is resolved by the 'if [ "$#" -ge 2 ]; then shift 2; else shift "$#"; fi' guard in apply_lsp_verification and locked in by the dedicated shift-guard regression test.
- Net effect on current reviews is zero: the step is inert until the LSP pilot is wired, so the blast radius is contained.
Note: mcp__github__run_secret_scanning was not available in this environment; the gitleaks CI secret-scan check passed.
CI status
All checks green. Lint/ShellCheck/bats, unit-tests, CodeQL (actions+python), SonarCloud (Quality Gate passed, 0 new issues), gitleaks secret scan, AgentShield, and the dev-lead/test suites all SUCCESS. One 'review / review' run shows CANCELLED, superseded by a later SUCCESS run of the same check (concurrency cancellation), not a failure. mergeStateStatus is BLOCKED pending this required review.
Reviewed automatically by the PR-review agent (single-reviewer mode: fable 5). Reply if you need a human review.
Dev-Lead — waiting on PR blockers (intent: review-changes)PR: #861 |
|
Note @don-petry I reviewed this PR and no code changes were needed, but it still has blocking checks or reviews (failing or cancelled checks, or changes-requested reviews), so I cannot mark it done yet. I'll re-check automatically. |
|
|
Advisory bots were rate-limited; auto-approval is withheld until they recover. pr-review-sweep will re-review this PR after 2026-06-21T11:58:28Z. |
…ip ci-relay] PR #861 (issue #843) added scripts/lib/lsp-verification.sh and tests/dev-lead/unit/test_lsp_verification.bats concurrently with this branch. Issue #846 Phase 2 supersedes that approach with the lsp-coldstart SLA (setup-lsp-pilot.sh + test_lsp_coldstart_sla.bats). This commit applies the conflict resolution from the pre-rebase merge commit (5497d5a): remove lsp-verification artifacts and update associated files (docs, prompts, review-one-pr.sh, token_report.bats).
…ip ci-relay] PR #861 (issue #843) added scripts/lib/lsp-verification.sh and tests/dev-lead/unit/test_lsp_verification.bats concurrently with this branch. Issue #846 Phase 2 supersedes that approach with the lsp-coldstart SLA (setup-lsp-pilot.sh + test_lsp_coldstart_sla.bats). This commit applies the conflict resolution from the pre-rebase merge commit (5497d5a): remove lsp-verification artifacts and update associated files (docs, prompts, review-one-pr.sh, token_report.bats).
…ip ci-relay] PR #861 (issue #843) added scripts/lib/lsp-verification.sh and tests/dev-lead/unit/test_lsp_verification.bats concurrently with this branch. Issue #846 Phase 2 supersedes that approach with the lsp-coldstart SLA (setup-lsp-pilot.sh + test_lsp_coldstart_sla.bats). This commit applies the conflict resolution from the pre-rebase merge commit (5497d5a): remove lsp-verification artifacts and update associated files (docs, prompts, review-one-pr.sh, token_report.bats).
…on step to the deep/audit pr-review tiers (#861) * feat: implement issue #843 — [Phase 2] Add the LSP finding-verification step to the deep/audit pr-review tiers * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…on step to the deep/audit pr-review tiers (#861) * feat: implement issue #843 — [Phase 2] Add the LSP finding-verification step to the deep/audit pr-review tiers * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…on step to the deep/audit pr-review tiers (#861) * feat: implement issue #843 — [Phase 2] Add the LSP finding-verification step to the deep/audit pr-review tiers * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…on step to the deep/audit pr-review tiers (#861) * feat: implement issue #843 — [Phase 2] Add the LSP finding-verification step to the deep/audit pr-review tiers * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…on step to the deep/audit pr-review tiers (#861) * feat: implement issue #843 — [Phase 2] Add the LSP finding-verification step to the deep/audit pr-review tiers * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…on step to the deep/audit pr-review tiers (#861) * feat: implement issue #843 — [Phase 2] Add the LSP finding-verification step to the deep/audit pr-review tiers * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…on step to the deep/audit pr-review tiers (#861) * feat: implement issue #843 — [Phase 2] Add the LSP finding-verification step to the deep/audit pr-review tiers * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…on step to the deep/audit pr-review tiers (#861) * feat: implement issue #843 — [Phase 2] Add the LSP finding-verification step to the deep/audit pr-review tiers * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…on step to the deep/audit pr-review tiers (#861) * feat: implement issue #843 — [Phase 2] Add the LSP finding-verification step to the deep/audit pr-review tiers * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…on step to the deep/audit pr-review tiers (#861) * feat: implement issue #843 — [Phase 2] Add the LSP finding-verification step to the deep/audit pr-review tiers * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…on step to the deep/audit pr-review tiers (#861) * feat: implement issue #843 — [Phase 2] Add the LSP finding-verification step to the deep/audit pr-review tiers * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…on step to the deep/audit pr-review tiers (#861) * feat: implement issue #843 — [Phase 2] Add the LSP finding-verification step to the deep/audit pr-review tiers * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…on step to the deep/audit pr-review tiers (#861) * feat: implement issue #843 — [Phase 2] Add the LSP finding-verification step to the deep/audit pr-review tiers * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…on step to the deep/audit pr-review tiers (#861) * feat: implement issue #843 — [Phase 2] Add the LSP finding-verification step to the deep/audit pr-review tiers * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…on step to the deep/audit pr-review tiers (#861) * feat: implement issue #843 — [Phase 2] Add the LSP finding-verification step to the deep/audit pr-review tiers * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…on step to the deep/audit pr-review tiers (#861) * feat: implement issue #843 — [Phase 2] Add the LSP finding-verification step to the deep/audit pr-review tiers * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…on step to the deep/audit pr-review tiers (#861) * feat: implement issue #843 — [Phase 2] Add the LSP finding-verification step to the deep/audit pr-review tiers * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…on step to the deep/audit pr-review tiers (#861) * feat: implement issue #843 — [Phase 2] Add the LSP finding-verification step to the deep/audit pr-review tiers * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>



Closes #843
Implemented by dev-lead agent. Please review.
Summary by CodeRabbit
New Features
Documentation
Tests