Skip to content

Quality gates delta

Adversarial Convergence Loop (explicitly invoked)

For permitted independent review in /research:judge refinement loops, /research:verify fix rounds, and pre-commit review. For a permitted independent pass, dispatch foundry:challenger via Agent() (requires foundry plugin), or bridge:review when the bridge plugin is available; never use subagent_type: "fork". Give the reviewer the diff, specification, and symptom, never the implementation narrative. A challenger round that returns no deliverable or a blocked envelope is an agent failure, never a silent not-run: record its cause from the transcript (safety-classifier stop, refused report write, background stall, malformed envelope, reply truncated before its required closing block) and re-dispatch once with a brief that removes it. For a security-filter review, leave Codex enabled (no --no-codex): the challenger runs the open-ended bypass search through its Codex cross-check, statically classifies Codex's candidates and any probe generator the caller supplies, counts the reproduced ones in its own six-tier row, and never authors bypass strings itself, so the round needs no separate Codex row.

Shared body lives in foundry-quality-gates.md. This file states only what is specific to the research plugin: the review-loop scope above and the follow-up-gate routing below. Every other quality-gate obligation — Evidence Grounding, Evidence and real-case acceptance, Adversarial Pass, Confidence Block, Internal Quality Loop, Pre-Handover Check, Link Verification, Report File Format, Reporting Findings — is delivered once by foundry and is not restated here. /research:setup delivers this delta only when a foundry-owned foundry-quality-gates.md is already installed, and delivers the plugin's complete quality-gates.md otherwise, so a standalone install loses no rule.

Output Routing

Long-output routing (Write, then print: header table, path, executive summary), the conditional follow-up gate and its precedence/follow-through, short-status, copy-intent and no-hollow-question rules are foundry §Output Routing in foundry-quality-gates.md — not restated here. Plugin additions:

  • <branch> in the .temp/output-* filename = $(git branch --show-current 2>/dev/null | tr '/' '-' || echo 'main')
  • Prose paragraphs: no hard line breaks at column width
  • Follow-up gate options: skill-defined; minimum: (a) primary action · (b) skip. Canonical examples by skill:
  • research:topic → (a) /research:topic plan · (b) /develop:feature · (c) skip