refactor: restrict PR review tick to validated repos only #245
No reviewers
Labels
No labels
Agent
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No assignees
2 participants
Notifications
Total time spent: 54 seconds
Due date
igor
54 seconds
No due date set.
Dependencies
No dependencies set
Reference
joshtronic/igor!245
Loading…
Reference in a new issue
No description provided.
Delete branch "agent/244-fix-gate-the-shadow-review-to-validated-repos-don"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What this PR does
maintenance_repo_validatedcheckTest plan
maintenance_repo_validated "$repo" || continue) matching updated docsdo_review_tickrunCloses #244
🤖 Review —
COMMENT(automated)CI for
01747d35: successSummary: Adds a single guard (
maintenance_repo_validated "$repo" || continue) todo_review_tickso the PR-review pass only runs on the validated set, plus matching doc/comment updates. The diff is small, in scope, honestly described, and CI is green. My reservations are about intent and test coverage, not a clear defect — so this goes back to a human.Findings
Deliberate design reversal — worth a human gut-check (bin/tick.sh ~2425, CLAUDE.md ~263). The prior comment made an explicit argument for running review on the ANALYSIS set: "a verdict is pure information and useful on EVERY repo (this harness's own PRs included)." This PR reverses exactly that decision. The key question the human should answer: is the harness's own repo in the validated set? If not, this change silently stops Igor from reviewing its own PRs — which the old code called out as a value. The new rationale ("can never become a merge signal") is plausible, but it directly contradicts the documented intent it replaces, so someone who knows whether self-review is intended should sign off.
Guard placement is correct. It sits inside the outer
while read repo_lineloop afterrepois extracted;|| continueadvances to the next repo. Logic looks right.No test for the new behavior (contract gap). The author is honest about this (test-plan checkbox checked: "No new tests added… single guard"; manual-confirm left unchecked). But this is a behavior change — a class of repos that previously got reviewed no longer will. CI being green only tells us nothing currently asserts the old behavior, not that the new behavior is verified. If the suite has any existing coverage of
do_review_tick, a case asserting "an unvalidated repo is skipped" would lock this in cheaply. Recommend the human decide whether a regression test is warranted.Could not verify from the diff
maintenance_repo_validatedexists with the expected semantics (truthy = validated) and has no side effects — it's referenced as an established function but isn't shown.No security, scope, or CI-config concerns. The checklist is honest and matches the diff.
Independent review by the harness on
claude-opus-4-8. The human reviewer is requested once Igor has reviewed; a human still merges.