Skip to content

fix(adversarial-review): review a PR's head, and close two gaps from #1997 - #2004

Merged
potiuk merged 2 commits into
apache:mainfrom
potiuk:fix/adversarial-review-empty-repo-dir
Nov 5, 2026
Merged

potiuk merged 2 commits into
apache:mainfrom
potiuk:fix/adversarial-review-empty-repo-dir

Conversation

@potiuk

@potiuk potiuk commented Nov 5, 2026

Copy link
Copy Markdown
Member

Summary

What is and is not claimed about the empty directory. #1986 recorded that reviewers given an empty --repo-dir reply without findings. That did not reproduce here, on PR #1997 with the configured reviewers:

--repo-dir Findings Reviewers that ran
Empty 2 codex, copilot
Exported PR head 1 codex, copilot

antigravity hit a quota error in both runs. One PR neither proves nor disproves #1986, so the wording claims only what is certain: reviewers cannot read the surrounding code, so no findings is not a clean review.

The pointer defect. The same runs flagged signals-to-actions.md:546. With a shipped release and a record still DRAFT, the label cannot flip, so the pass never proposes the transition, and with no marker comment the agent never read the fill-fields rule. The new case-9 failed on the merged pointer and passes 3/3 after the trigger became state-based: any open tracker labelled pr merged or fix released, even when a gate blocks the next label.

Type of change

  • Skill change (.claude/skills/<name>/) — eval fixtures updated below
  • Python package (tools/*/ with pyproject.toml)

Test plan

  • prek run --all-files --skip workspace-pytest passes, including lychee
  • workspace-pytest passes for the changed files
  • Validator exits 0; no surface_hash changed
  • New tests failed before the fixes and pass now (adversarial-review warning, title gate)
  • pointer-routing 10/10, case-9 3/3, step-2b-proposed-changes 12/12
  • The six suites that include the block: 19/19 before and after
  • The export recipe ran against a real PR, with the protected path excluded

RFC-AI-0004 compliance

  • Vendor neutrality — placeholders kept; the check-placeholders hook passes
  • Privacy LLM — the block says to export only a PR that is already public; the exported tree reaches the reviewers' providers

Linked issues

Follows #1986, #1997.

Notes for reviewers

🤖 Generated with Claude Code

…the label

The pointer to release-manager-comments.md fired only when a pass proposed
a transition. With a shipped release and a record still DRAFT the label
cannot flip, so with no marker comment the agent never read the
fill-fields rule. Trigger on the tracker's state instead: any open tracker
labelled `pr merged` or `fix released`.

Also strip a version suffix after a short project name in a title, such
as "in Foo 2.1.0", which the earlier fix missed. A bare short name stays,
since it may be a real word in the title.

Generated-by: Claude Opus 5
The pre-PR block and security-issue-import-from-pr told agents to pass an
empty temporary directory as --repo-dir for a PR with no local checkout.
Reviewers there can read only the diff, so no findings is not a clean
review. Give an export recipe that uses a throwaway repository, because
that skill runs in the private tracker checkout, and warn in the report
when --repo-dir is empty.

Generated-by: Claude Opus 5
@potiuk potiuk added family:security security-* skills family:tools tools/* labels Nov 5, 2026
@potiuk
potiuk enabled auto-merge (squash) November 5, 2026 02:02
@github-actions github-actions Bot added family:setup setup-* skills family:docs Docs, MISSION.md, READMEs family:ci .github workflows, prek, validators family:issue issue-* skills capability:review Deep per-item code review or contributor mentoring capability:fix Implement code change to resolve an issue capability:intake Import external signal + sync tracker state capability:resolve Close-out: invalidate, dedupe, CVE allocate, announcement capability:stats Read-only dashboards, metrics, governance evidence capability:platform Framework / agent substrate skills (install, verify, doctor, override, status, setup bootstrap) capability:authoring Skills that author or maintain other skills: write-skill, optimize-skill family:release-management release-* skills family:repo-health repo-health skills substrate:analytics Tool substrate: read-only metrics / dashboards / renderers substrate:framework-dev Tool substrate: build / validate / eval the framework itself substrate:review Tool substrate: second-model read of a change before publishing (read-only CLIs, merged findings) family:dev Repo dev: .asf.yaml, spec-loop specs, Node manifests, .claude/settings.json labels Nov 5, 2026
@potiuk
potiuk merged commit 17abc4c into apache:main Nov 5, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

capability:authoring Skills that author or maintain other skills: write-skill, optimize-skill capability:fix Implement code change to resolve an issue capability:intake Import external signal + sync tracker state capability:platform Framework / agent substrate skills (install, verify, doctor, override, status, setup bootstrap) capability:resolve Close-out: invalidate, dedupe, CVE allocate, announcement capability:review Deep per-item code review or contributor mentoring capability:stats Read-only dashboards, metrics, governance evidence family:ci .github workflows, prek, validators family:dev Repo dev: .asf.yaml, spec-loop specs, Node manifests, .claude/settings.json family:docs Docs, MISSION.md, READMEs family:issue issue-* skills family:release-management release-* skills family:repo-health repo-health skills family:security security-* skills family:setup setup-* skills family:tools tools/* substrate:analytics Tool substrate: read-only metrics / dashboards / renderers substrate:framework-dev Tool substrate: build / validate / eval the framework itself substrate:review Tool substrate: second-model read of a change before publishing (read-only CLIs, merged findings)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant