feat(community): v2 — the Ears hear external PRs + review requests#126
Merged
Conversation
) The community scan and triage surfaces now cover pull requests, closing the staged v1 follow-up (#119 / #122): - scan: two new legs per qualifier group — open PRs authored by non-self humans (bot-filtered, same awaiting-response detection, merged into the ranked waiting list) and open PRs with review requested from a self login (any author). Surface gains open_external_prs + awaiting_review + counts; degraded labels now distinguish the review-requested pass. - triage: accepts PR refs (incl. /pull/ URLs); a PR carries the change-shape block (draft, changed files, +/-, requested reviewers, mergeable state, head -> base) and routes to *human review with session-drafted comments* — never the ship-gate review faculty. - rate-limit hardening: COMMUNITY_SEARCH_PAUSE (default 2s) between the up-to six search calls — GitHub's secondary limit trips on bursts (found live). - docs: conductor AGENTS.md (modes, capability audit, v1-scope note retired, review-thread-comments limit recorded), /community skill body, dispatcher description; command surface regenerated. - tests: 8 hermetic contract tests (2 new: PR scan + review-requested leg, PR triage block); no-mutation proof covers the new endpoints. Tests: 77 passed. Live-verified: issue + external-PR legs pass against real GitHub; review-requested legs degraded honestly under the account throttle. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
v2 of the community conductor (the Ears, #119 / #122): the scan and triage surfaces now hear pull requests — external contributors' PRs and PRs with review requested — closing the follow-up staged in the conductor's AGENTS.md at birth. Same principles: read-only, stdlib-only, never posts; every outward reply/review is drafted in the
/communitysession and human-gated. Closes #125.API Changes
Brain CLI surface only; no Python library API is touched.
community scanadditionally returnsopen_external_prsandawaiting_review(+ counts); external PRs join the awaiting-response ranking.community triageaccepts PR refs (incl./pull/URLs) and returnstype+ aprchange-shape block; PR routes name a human review, never/start_dev_for_user.COMMUNITY_SEARCH_PAUSE(default 2s) between search calls.See full details below.
Test Plan
python3 -m pytest tests/— 77 passed (8 community contract tests; 2 new: PR scan + review-requested leg, PR triage change-shape block)bin/pyauto-brain community— issue + external-PR legs pass against real GitHub (0 open external PRs is correct); review-requested legs degraded honestly under the day's account-level secondary throttle, with the now-distinctreview-requesteddegraded labelbash bin/check_skill_line_counts.sh— 42 skills within budgetbash bin/install.shfrom the canonical checkoutFull API Changes (for automation & release notes)
Added
CommunityScan.open_external_prs— open PRs authored by non-self humans (bot-filtered), same entry shape as issues plustype: "pr"; merged intoawaiting_responseranking via the same last-actor detection (PR conversation comments; review-thread comments are a recorded limit).CommunityScan.awaiting_review— open PRs withreview-requested:<self>(any author).CommunityScan.counts.open_external_prs/counts.awaiting_review.CommunityTriage.type(issue|pr) andCommunityTriage.pr—{draft, changed_files, additions, deletions, mergeable_state, requested_reviewers, base, head}viarepos/<o>/<r>/pulls/<n>;nullfor issues (and on an unreadable pulls endpoint — degrade, never invent).parseacceptshttps://github.com/<o>/<r>/pull/<n>refs.COMMUNITY_SEARCH_PAUSE(seconds between search-API calls, default 2; hermetic tests set 0).Changed Behaviour
scanruns three search passes per qualifier group (issues, external PRs, review-requested) — up to six calls; failures degrade per-pass with distinct labels.routefor a PR names human review with session-drafted comments explicitly and never routes a community PR through the ship-gate review faculty (boundary recorded in the conductor AGENTS.md).type; scan human output prefixes PRs withPRand lists review requests underReview requested:.Migration
--jsonconsumers should expect the new keys (type,pr,open_external_prs,awaiting_review, two new counts).Ship gate (recorded)
Heart RED at ship time — the same six unrelated organism-scope reasons acked throughout 2026-07-16 (PyAutoLens uncommitted source, stale 2026-07-09 workspace validation, 58 stale parked scripts, tenant-firewall manifest drift — now ×4 from the day's merges, install verification not run, release validation stale). Human acknowledged and authorized PR-open and merge.
Generated by the PyAutoLabs agent workflow.
🤖 Generated with Claude Code