Skip to content

feat: Two-pass issue scanning for Ralph (lightweight scan + selective hydration) #596

Closed

Description

@tamirdresher

Feature Proposal: Two-Pass Issue Scanning

Problem

Ralph scans GitHub issues by pulling full JSON (body, comments, labels) for every issue. Most issues don't need action — but we pay the full context cost for all of them.

Proposed Solution

Two-pass pattern inspired by ClawMongo's ID-only projection:

Pass 1 — Lightweight scan: gh issue list --json number,title,labels,assignees (no body)
Pass 2 — Selective hydration: Only for actionable issues, fetch full details: gh issue view <N> --json body,comments

Implementation

  1. Ralph's work-check cycle Step 1 uses lightweight scan (already partially does this)
  2. Before spawning an agent for an issue, hydrate that specific issue's body
  3. Skip hydration for issues that are already assigned, blocked, or not matching capability labels

Benefits

  • ~70% reduction in API calls during Ralph rounds
  • Faster scan cycles
  • Less context pollution from irrelevant issue bodies
  • No breaking changes — purely additive optimization

Prior Art

Inspired by ClawMongo's tiered retrieval (https://clawmongo.site) — query IDs first, hydrate on demand.

Activity

  1. github-actions commented on Mar 26, 2026

    @github-actions
    Contributor

    📋 Assigned to EECOM (Core Dev)

    Issue: #596 — feat: Two-pass issue scanning for Ralph (lightweight scan + selective hydration)

    EECOM will pick this up in the next Copilot session.

    For Copilot coding agent: If enabled, this issue will be worked automatically.
    Otherwise, start a Copilot session and say:
    EECOM, work on issue #596

  2. github-actions commented on Mar 26, 2026

    @github-actions
    Contributor

    🏗️ Squad Triage — Flight (Lead)

    Issue: #596 — feat: Two-pass issue scanning for Ralph (lightweight scan + selective hydration)
    Assigned to: Flight (Lead)
    Reason: No specific domain match — assigned to Lead for further analysis

    @copilot evaluation: 🔴 Not suitable — issue involves work outside the coding agent's capability profile.

    Team roster:

    • Flight (Lead) → label: squad:flight
    • Procedures (Prompt Engineer) → label: squad:procedures
    • EECOM (Core Dev) → label: squad:eecom
    • FIDO (Quality Owner) → label: squad:fido
    • PAO (DevRel) → label: squad:pao
    • CAPCOM (SDK Expert) → label: squad:capcom
    • CONTROL (TypeScript Engineer) → label: squad:control
    • Surgeon (Release Manager) → label: squad:surgeon
    • Booster (CI/CD Engineer) → label: squad:booster
    • GNC (Node.js Runtime) → label: squad:gnc
    • Network (Distribution) → label: squad:network
    • RETRO (Security) → label: squad:retro
    • INCO (CLI UX & Visual Design) → label: squad:inco
    • GUIDO (VS Code Extension) → label: squad:guido
    • Telemetry (Aspire & Observability) → label: squad:telemetry
    • VOX (REPL & Interactive Shell) → label: squad:vox
    • DSKY (TUI Engineer) → label: squad:dsky
    • Sims (E2E Test Engineer) → label: squad:sims
    • Handbook (SDK Usability) → label: squad:handbook
    • Ralph (Work Monitor) → label: squad:ralph
    • @copilot (Coding Agent) → label: squad:copilot

    To reassign, remove the current squad:* label and add the correct one.

  3. bradygaster commented on Mar 26, 2026

    @bradygaster
    Collaborator

    Triage: Ralph performance optimization from contributor. Two-pass scanning enhancement. Assigned to EECOM (Ralph module owner).

  4. added a commit that references this issue on Mar 26, 2026
    ba7b9c1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    go:needs-researchNeeds investigationpriority:p2Next sprintsquadSquad triage inbox — Lead will assign to a membertype:featureNew capability

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions