Skip to content

feat: community conductor v2 — external PRs + review requests #125

Description

@Jammy2211

Overview

v2 of the community conductor (the Ears, #119 / PR #122): extend the scan and triage surfaces to hear pull requests — the staged follow-up recorded in the conductor AGENTS.md at birth. External contributors' PRs and review requests currently go unheard by the scan.

Plan

  • community scan gains two PR legs: open PRs authored by non-self humans (bot-filtered, same awaiting-response detection) and open PRs with review requested from a self login; counts + ranked lists on the same CommunityScan surface, so /wake_up's 💬 digest covers them with no new machinery.
  • community triage accepts PR refs (incl. /pull/ URLs) and adds a PR block: draft, changed files/additions/deletions, requested reviewers, mergeable state. Review judgment stays human — this is not the ship-gate review faculty.
  • Same v1 principles: read-only, stdlib-only, never posts; drafts human-gated; no new state.
  • Extend the hermetic stub-gh tests; update conductor AGENTS.md (retire the "out of scope for v1" note), /community skill body, dispatcher description; regenerate the command surface.
Detailed implementation plan

Affected Repositories

  • PyAutoBrain (only)

Branch

feature/community-ears-v2-prs · worktree ~/Code/PyAutoLabs-wt/community-ears-v2-prs/
Concurrency: PyAutoBrain claim held by ic50-assistant-seed (clone/ only, PR #120 open) — small parallel PR, zero file overlap (community/ + tests vs clone/), user-approved pattern.

Implementation Steps

  1. agents/conductors/community/_community.py — generalise the search helper over is:issue/is:pr; entries carry type; scan adds open_external_prs + awaiting_review (query is:pr is:open review-requested:<self>) with counts; PR conversation comments drive awaiting-response (review-thread comments noted as a known v2 limit). parse_issue_ref accepts /pull/ URLs; triage fetches repos/<o>/<r>/pulls/<n> extras when the ref is a PR.
  2. tests/test_community_conductor.py — stub-gh fixtures for the two PR searches + pulls endpoint; tests for PR scan, review-requested leg, PR triage block, and the no-mutation proof over the new calls.
  3. Docs: conductor AGENTS.md (modes table, capability audit, v1-scope note retired), skills/community/community.md, bin/pyauto-brain AGENT_DESC ("issues + PRs"), then bin/install.sh --write-agents-surface.

Key Files

  • agents/conductors/community/_community.py — v1 core to extend
  • tests/test_community_conductor.py — hermetic harness to extend

Prompt: PyAutoMind draft/feature/pyautobrain/community_ears_v2_external_prs.md.

Generated by the PyAutoLabs agent workflow.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions