Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
39f7acb
feat(#1654): scope review to own commits on stacked/cherry-picked PRs
fullsend-ai-coder[bot] Oct 12, 2026
eb77e70
fix(#1654): address review feedback on PR #1661
fullsend-ai-coder[bot] Oct 12, 2026
a81467d
fix(#1654): address second review round on PR #1661
fullsend-ai-coder[bot] Oct 12, 2026
89fbe17
fix(#1654): address third review round on PR #1661
fullsend-ai-coder[bot] Oct 12, 2026
bd3a6b9
fix(#1654): quote PINNED assignment to satisfy shellcheck SC2209
fullsend-ai-coder[bot] Oct 12, 2026
ff2403d
fix(#1654): separate dependency scoping from approval
shairevivo Oct 12, 2026
4b4a3d3
fix(#1654): keep security findings on whole PR, restore removed fetch…
fullsend-ai-coder[bot] Oct 12, 2026
7977f22
fix(#1654): harden dependency review scoping
shairevivo Oct 12, 2026
e9f3399
docs(#1654): clarify dependency review scoping
shairevivo Oct 13, 2026
05b0c96
fix(#1654): keep review scope assertion contiguous
shairevivo Oct 13, 2026
c39499b
fix(#1654): distinguish final-newline changes in dependency scoping
shairevivo Oct 18, 2026
b87d5bb
fix(#1654): use sandbox-compatible dependency scope syntax
shairevivo Oct 21, 2026
4fd6a00
Merge branch 'main' into agent/1654-scope-stacked-pr-review
shairevivo Oct 21, 2026
1afc750
Merge branch 'main' into agent/1654-scope-stacked-pr-review
shairevivo Oct 21, 2026
6cf0fcf
Merge branch 'main' into agent/1654-scope-stacked-pr-review
shairevivo Oct 23, 2026
ad5358a
test(review): classify dependency-scope inputs
shairevivo Oct 23, 2026
5250a73
Merge branch 'main' into agent/1654-scope-stacked-pr-review
shairevivo Oct 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .skillsaw-baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -80,9 +80,9 @@
"fingerprint": "0285e1a7243ebead",
"rule_id": "context-budget",
"file_path": "skills/pr-review/SKILL.md",
"message": "Estimated 17,060 tokens exceeds skill error limit of 6,000",
"message": "Estimated 17,111 tokens exceeds skill error limit of 6,000",
"severity": "error",
"value": 17060,
"value": 17111,
"baseline_mode": "ceiling"
},
{
Expand Down
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ script-test:
$(call run-timed,bash scripts/pre-review-test.sh)
$(call run-timed,bash scripts/pr-review-challenger-contract-test.sh)
$(call run-timed,bash scripts/pr-review-remediation-test.sh)
$(call run-timed,bash scripts/pr-review-dependency-scope-test.sh)
$(call run-timed,bash scripts/post-review-test.sh)
$(call run-timed,bash scripts/risk-tier1-test.sh)
$(call run-timed,bash scripts/post-fix-test.sh)
Expand Down
3 changes: 2 additions & 1 deletion agents/review.md
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,8 @@ mutations on the runner.
`REVIEW_RISK_VERDICT_THRESHOLD` is not `6`,
`risk_assessment.score` is below `REVIEW_RISK_VERDICT_THRESHOLD` and
the assessment is not degraded (when threshold is `6`, the risk
verdict gate is disabled and does not block approval)
verdict gate is disabled and does not block approval). Dependency
Comment thread
shairevivo marked this conversation as resolved.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[medium] protected-path

This PR modifies protected paths: agents/review.md, scripts/pr-review-dependency-scope-test.sh, skills/pr-review/SKILL.md, skills/pr-review/github/SKILL.md, skills/pr-review/references/dependency-scope.md. The PR links issue #1654 and explains the rationale, but human approval is always required for protected-path changes, regardless of context.

Suggested fix: A human reviewer with authority over governance and infrastructure files must approve before merge.

scoping does not impose merge ordering or alter these approval criteria.
- `request-changes` β€” findings *requiring* resolution: one or more critical or
high findings; one or more medium-severity findings identifying a
functional bug (incorrect behavior, permission error, schema violation,
Expand Down
9 changes: 9 additions & 0 deletions docs/review.md
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,15 @@ The review agent follows the same pre-script / sandbox / post-script pipeline as

On re-review, the sandbox receives a validated `fullsend:review-findings-v2` projection containing `action`, severity, category, file, optional line, id, optional `actionable`, and an `{id, status}` disposition per prior idβ€”not prior descriptions, remediation text, rationales, evidence, or review-thread bodies. Immediately before sandbox creation, the host fetches current thread state and marks eligible findings dismissed only when a verified write-or-higher human other than the PR author resolved a thread containing a trusted review-bot comment with the exact finding-id stamp. Unstamped thread comments stay open; path and line are not used as a fallback. A legacy marker without ids is assigned one before sandbox ingress. Resolved and human-dismissed findings stay in the projection with their anchor so they are recognised and not raised again. A null file retains PR-level category context without serving as a path or severity anchor. The pre-script continues to accept v1 markers for existing comments. Only GitHub `app-verified` re-reviews use file-backed records for remediation-candidate matching.

### Stacked and cherry-picked PRs

On GitHub, when the PR author declares another open PR in the same repository
as a dependency ("depends on #N", "stacked on #N") and the PR's leading
commits are that PR's commits (same SHAs, or cherry-picks with identical
patches), non-security review dimensions cover only the PR's own commits.
Security inspection, protected-path checks, and PR-body defenses cover the
whole PR. Scoping changes review evidence only. It does not impose merge ordering or prevent an approval under the normal review criteria. The review body identifies the excluded matching commits and their dependency PR. If the commits cannot be matched, or on GitLab, the full diff is reviewed.

## Time budget

The runner gives the sandbox `timeout_minutes` (45 in
Expand Down
Loading
Loading