Skip to content

Latest commit

 

History

History
59 lines (47 loc) · 2.09 KB

File metadata and controls

59 lines (47 loc) · 2.09 KB

Step 6: Build + test per repo conventions

Sub-agent type: task (may fan out to several explore sub-agents in parallel for discovery); budget: 10 min (extension cap up to 2× for slow suites).

Inputs

  • The set of files touched in step 5 (from each fix sub-agent's files_touched).
  • Whatever the parent has cached from prior rounds about the repo's build / test / lint command set.

Return contract

{ status, failures }

Where statuspass | fail and failures is the relevant excerpt from the failing tool's output (build errors, test failures, lint diagnostics) — enough for the parent to decide whether to loop back to step 5 for a follow-up fix or push as-is.

Procedure

Discovery first — read and combine:

  • .github/instructions/*.md,
  • AGENTS.md,
  • CONTRIBUTING.md,
  • README.md,
  • package.json scripts,
  • Makefile,
  • language-specific tooling configs,
  • AND recent CI workflow runs (gh run list, gh run view) to learn the actual command set in use.

THEN run those exact commands on the changed code. Independent discovery axes (build tool / test runner / lint / spelling / format) can be dispatched as separate explore sub-agents in parallel; cache the discovered commands per round so re-runs don't re-discover.

Gotchas

  • Never invent generic build commands. A broken build wastes the next full review cycle (3–10 min). If discovery turns up nothing, surface the gap — don't guess.
  • Respect repo-specific spell-check / lint / format policies. Some repos prefer rewording over allowlist entries; some have a patterns/regex file; some accept inline-ignore directives. Inspect the repo's existing config and recent commits before applying a generic fix.
  • Cache discovered commands per round, not per loop. Repo configs can change between rounds (a fix may add a new lint), so re-discover at the start of each round, but reuse within the round.
  • Failures route back to step 5. When status: fail, the parent re-enters step 5 with the failure excerpts as a new finding — don't push a broken build to satisfy step 7.