Frontend-Mix · Validate
You are the validation step of a manual mixed-provider build. This is grind work, not judgment - a fast, low-cost model is the right tool (use /model to pick one). Two attempts per check, then record the failure. Never paper over real bugs.
What to do
Use the view tool to open the integration-summary path the user gave you, end-to-end. Match the commands and toolchain the integration summary documents - do not invent new ones.
The integration-summary filename carries your run-name. Strip the directory and the -integration-summary.md suffix. You'll use it to name your output file.
If no path was given, ask the user for the integration summary path. As a fallback if the user can't provide one, infer the stack from the repo (package manager via lockfile, framework via package.json).
Steps (each capped at 2 attempts)
- Install:
bun install (or npm install / pnpm install based on lockfile).
- Type check (
tsc --noEmit, bun run typecheck, etc).
- Lint (
bun run lint, eslint ., etc).
- Build:
bun run build (or framework equivalent).
- Tests if a test script exists.
For each step:
- Attempt 1: run the command. If it passes, move on.
- Attempt 2: if it failed, try one targeted fix (read the error, edit the offending file, re-run). If it still fails, STOP retrying that step and record the failure.
Failure rules (no shortcuts)
- Do NOT paper over real bugs. A failing type check on
any is a bug.
- Do NOT delete tests to make them pass.
- Do NOT add
// @ts-ignore, // eslint-disable, weaken types, or skip steps.
- If you find yourself wanting to do any of that, stop and record the failure.
Output - exactly ONE of these two files
Both go to .agents/artifacts/ with the <run-name> prefix. Create the directory if it doesn't exist.
Case A - All steps passed cleanly
Write .agents/artifacts/<run-name>-validation-summary.md containing:
- Each command run with its exit code
- One-line confirmation: "All checks passed."
Case B - One or more steps failed after 2 attempts
Write .agents/artifacts/<run-name>-validation-issues.md containing, for each failure:
- Step name (e.g. "type check")
- Exact command that failed
- Truncated error output (last 30 lines)
- File(s) most likely responsible (your best guess)
- One-sentence hypothesis for the root cause
Then STOP. The next step (fix-validation, run with a strong reasoning model) reads this file and addresses each failure with judgment.
After validating
Tell the user the absolute path to whichever file you wrote, and the next step:
If you wrote <run-name>-validation-summary.md (clean):
Next: ask Copilot to run the frontend-mix-smoke step with the integration-summary
path and the validation-summary path.
If you wrote <run-name>-validation-issues.md (failures recorded):
Next: switch to a strong reasoning model with /model, then ask Copilot to run the
frontend-mix-fix-validation step with the validation-issues path and the plan path.
1---2name: frontend-mix-validate3description: Run the full validation suite (install, type-check, lint, build, tests) on a freshly integrated app and fix anything broken. Validation is grind work - a fast/low-cost model is the right tool (switch with /model). Two-attempt cap per step; failures are recorded for the fix-validation escalation step, not papered over. Use after the frontend-mix-integrate step finishes.4---56# Frontend-Mix · Validate78You are the **validation** step of a manual mixed-provider build. This is grind work, not judgment - a fast, low-cost model is the right tool (use `/model` to pick one). **Two attempts per check, then record the failure. Never paper over real bugs.**910## What to do11121. Use the `view` tool to open the integration-summary path the user gave you, end-to-end. Match the commands and toolchain the integration summary documents - do not invent new ones.13142. The integration-summary filename carries your run-name. Strip the directory and the `-integration-summary.md` suffix. You'll use it to name your output file.15163. If no path was given, ask the user for the integration summary path. As a fallback if the user can't provide one, infer the stack from the repo (package manager via lockfile, framework via `package.json`).1718## Steps (each capped at 2 attempts)19201. Install: `bun install` (or `npm install` / `pnpm install` based on lockfile).212. Type check (`tsc --noEmit`, `bun run typecheck`, etc).223. Lint (`bun run lint`, `eslint .`, etc).234. Build: `bun run build` (or framework equivalent).245. Tests if a test script exists.2526For each step:27- **Attempt 1**: run the command. If it passes, move on.28- **Attempt 2**: if it failed, try one targeted fix (read the error, edit the offending file, re-run). If it still fails, STOP retrying that step and record the failure.2930## Failure rules (no shortcuts)3132- Do NOT paper over real bugs. A failing type check on `any` is a bug.33- Do NOT delete tests to make them pass.34- Do NOT add `// @ts-ignore`, `// eslint-disable`, weaken types, or skip steps.35- If you find yourself wanting to do any of that, stop and record the failure.3637## Output - exactly ONE of these two files3839Both go to `.agents/artifacts/` with the `<run-name>` prefix. Create the directory if it doesn't exist.4041### Case A - All steps passed cleanly4243Write `.agents/artifacts/<run-name>-validation-summary.md` containing:44- Each command run with its exit code45- One-line confirmation: "All checks passed."4647### Case B - One or more steps failed after 2 attempts4849Write `.agents/artifacts/<run-name>-validation-issues.md` containing, for each failure:50- Step name (e.g. "type check")51- Exact command that failed52- Truncated error output (last 30 lines)53- File(s) most likely responsible (your best guess)54- One-sentence hypothesis for the root cause5556Then STOP. The next step (fix-validation, run with a strong reasoning model) reads this file and addresses each failure with judgment.5758## After validating5960Tell the user the absolute path to whichever file you wrote, and the next step:6162```63If you wrote <run-name>-validation-summary.md (clean):64 Next: ask Copilot to run the frontend-mix-smoke step with the integration-summary65 path and the validation-summary path.6667If you wrote <run-name>-validation-issues.md (failures recorded):68 Next: switch to a strong reasoning model with /model, then ask Copilot to run the69 frontend-mix-fix-validation step with the validation-issues path and the plan path.70```