- Update AGENTS.md watermarks to current HEAD across all 10 files - dev/AGENTS.md: document rebase-before-push and _inject_into_session - review/AGENTS.md: document formal forge review fallback in review-poll - gardener/pending-actions.json: close #3 (already implemented in PR #2) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.7 KiB
1.7 KiB
Review Agent
Role: AI-powered PR review — post structured findings and formal approve/request-changes verdicts to forge.
Trigger: review-poll.sh runs every 10 min via cron. It scans open PRs
whose CI has passed and that lack a review for the current HEAD SHA, then
spawns review-pr.sh <pr-number>.
Key files:
review/review-poll.sh— Cron scheduler: finds unreviewed PRs with passing CI. Sourceslib/guard.shand callscheck_active reviewer— skips if$FACTORY_ROOT/state/.reviewer-activeis absent. When injecting review into a dev session, first looks for a bot comment containing<!-- reviewed: SHA -->, then falls back to formal Forgejo PR reviews (stateAPPROVEDorREQUEST_CHANGES) — ensures the dev-agent receives the verdict even when bot comments are absent.review/review-pr.sh— Creates/reuses a tmux session (review-{project}-{pr}), injects PR diff, waits for Claude to write structured JSON output, posts markdown review + formal forge review, auto-creates follow-up issues for pre-existing tech debt. Before starting the session, runslib/build-graph.py --changed-files <PR files>and appends the JSON structural analysis (affected objectives, orphaned prerequisites, thin evidence) to the review prompt. Graph failures are non-fatal — review proceeds without it.
Environment variables consumed:
FORGE_TOKEN— Dev-agent token (must not be the same account as FORGE_REVIEW_TOKEN)FORGE_REVIEW_TOKEN— Review-agent token for approvals (use human/admin account; branch protection: in approvals whitelist)FORGE_REPO,FORGE_API,PROJECT_NAME,PROJECT_REPO_ROOTPRIMARY_BRANCH,WOODPECKER_REPO_ID