--- name: review-and-fix description: Run Concord's deterministic review-and-fix loop with independently selected Claude, Codex, or Copilot reviewer and fixer providers and models. --- # Review and Fix Use the bundled `../../bin/review-cli.js` as the sole authority on rounds, deduplication, gates, and termination. Read [references/review-driver.md](references/review-driver.md) before starting and preserve its ordering and artifact contracts. Resolve the target from the request. Invoke CLI verbs as `node /bin/review-cli.js ...`; the skill base directory identifies the installed plugin root. Never infer the path from another harness cache. Parse `--reviewer `, `--reviewer-model `, `--fixer `, and `--fixer-model `. Providers default to `copilot`; models default to the selected provider's configured model. Apply the reviewer selection to every review-class role and the fixer selection only to planned fixes. Preserve the selections through every round and resume. Reject unknown providers and unavailable requested models; never silently substitute a provider or model. One driver step is unavailable in this harness: do not invoke `telemetry-slot`. Copilot Agent Host does not expose stable provider-usage records that the shared telemetry reconciler can authenticate, so per-spawn telemetry is unavailable. Do not create synthetic Claude or Codex slots, and do not claim token measurements in the handoff. For a Copilot review role, invoke the native `Concord Reviewer` custom agent in clean context, passing `--reviewer-model` as the subagent model when supplied. For a Copilot fix role, invoke the native `Concord Fixer` custom agent sequentially and pass `--fixer-model` when supplied. Pass only the bounded driver prompt and write returned JSON verbatim to the requested artifact path. This repo has not verified whether Copilot Agent Host's native agent invocation blocks by default or, like Claude Code's `Agent` tool, defaults to background execution whose completion notification a *nested* delegated caller may not reliably receive (see `ticket-to-pr`'s Delegation section for that failure mode on Claude Code). If you are running as a delegated subagent and a spawned review or fix role appears to hang between rounds with no notification, treat it as this same class of stall and switch to an explicit blocking or polling invocation for the remainder of the run. For a non-Copilot role, invoke a clean provider CLI process in the repository root and require it to write the requested artifact directly: - Claude: `claude -p [--model ] --output-format json --no-session-persistence --permission-mode acceptEdits --permission-prompts none --add-dir= ""` - Codex: `codex exec --cd --sandbox workspace-write --add-dir --skip-git-repo-check [--model ] ""` Redirect external CLI output away from the parent context. A missing executable, authentication/model failure, non-zero exit, missing artifact, denied operation, or declared block is a harness failure. Independent review roles may run in parallel only where the driver explicitly permits it; fixes remain sequential and each is followed by the driver's `commit-fix` contract. If `agent/runSubagent`, a selected CLI, filesystem access to the state directory, authentication, or a required model/tool is unavailable, stop and report the missing capability. Do not replace clean-context review with an in-context opinion and do not report the run as clean.