Skip to content

[Phase 2] Rewire rubber-duck.md to consume pre-fed context (split 2/2 of #1104) #1200

Open

Description

@don-petry

Story

As a pipeline maintainer,
I want update prompts/rubber-duck.md to read the pre-fed metadata/diff files when present instead of running gh pr view / gh pr diff, while keeping dynamic exploration tools available,
so that the rubber-duck tier stops spending tool round-trips and reasoning tokens on deterministic re-fetching.

Split from #1104 (dev-lead timed out at the 1800s action budget implementing both prompt files in one pass). This story is the rubber-duck.md half; the deep-review.md half is its sibling.

Acceptance Criteria

  1. When the prefetch flag is on and PR_CONTEXT_* files are present, prompts/rubber-duck.md instructs the model to read the pre-fed metadata + diff files instead of running gh pr view / gh pr diff.
  2. When the flag is off (or files absent), the prompt falls back to the existing in-loop gh pr view / gh pr diff steps unchanged — behavior byte-identical to today.
  3. The prompt explicitly retains permission to use Bash/Read/Grep/Glob and gh api for DYNAMIC needs; keep the FORBIDDEN-enumeration guardrail and secret-scan MCP step intact.
  4. The pre-fed diff consumed is the FULL diff (per Story 2).

Dev Notes

  • rubber-duck runs cross-engine (often a different model family, e.g. Gemini via run_duck); its prompt's gh pr view --json ...,repository,... field list differs slightly from deep's — ensure the pre-fed metadata superset (Story 2) covers repository too, or the duck prompt reads defensively.
  • Mirror the $SAFETY_CHECKS_FILE-style conditional-inputs pattern used in the deep-review sibling; "if set, read INSTEAD; if unset, gh fallback" so the flag-off path is byte-identical.
  • No dedicated held-out eval for this tier (the deep-review regression gate lives on the sibling story). Pure prompt/documentation change.
  • Depends on Story 2's plumbing; independent of the deep-review sibling and of Story 4.

References

  • prompts/rubber-duck.md#steps
  • scripts/evals/run-eval.sh

Likely target surface

  • prompts/rubber-duck.md

Split from #1104 for epic #1101. Status: ready-for-dev.

Metadata

Metadata

Assignees

No one assigned

    Labels

    dev-leadFor dev-lead agent pickupinitiativeEpic / initiative tracking issue

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions