Files
wehub-resource-sync bb5c75ce05
Component Security Validation / Security Audit (push) Has been cancelled
Deploy to Cloudflare Pages / deploy (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:38:58 +08:00

46 lines
2.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: build-test-fix-loop
description: Builds the next item on the plan, then runs tests, typecheck and lint, feeding every failure back as the next instruction until the build is green.
category: engineering
interval: 10m
stop-condition: The build is green — tests, typecheck and lint all pass — and the checker reports nothing left to fix.
components: [agent:development-team/test-runner, hook:testing/test-runner, command:testing/generate-tests]
tags: [testing, build, ci, loop]
---
# BuildTestFix Loop
> **Loop Engineering** — the single most-demoed loop pattern: a builder writes code and a checker runs tests, typecheck and lint and reports exactly what broke. They pass work back and forth until it's clean. A one-shot agent ships its bugs; this loop catches them.
## 🎯 Goal
Implement the next item on the plan, then run the full check gate (tests + typecheck + lint), feed **every** failure back as the next instruction, and repeat until the build is green.
## ⏱️ Schedule
Suggested interval: `10m` (or run until done on a feature).
## ▶️ Run it
```
/loop 10m "Build the next item on the plan, then run tests, typecheck and lint. Feed every failure back as the next instruction and fix it. Add a test for anything that lacked coverage. Stop when the build is green and the checker has nothing left to report."
```
## 🔁 Iteration steps
1. **Build** — implement the next plan item.
2. **Check** — the `test-runner` hook runs tests, typecheck and lint automatically.
3. **Reason** — collect every failure into a concrete fix list.
4. **Act** — fix each; add tests with `/generate-tests` for uncovered paths.
5. **Observe** — re-run the gate; loop until fully green.
## 🛑 Stopping condition
Tests, typecheck and lint all pass and the checker reports nothing outstanding.
## 💰 Budget & guardrails
Cap iterations or spend so a stubborn failure can't spin forever — surface anything that fails the same way twice for human eyes.
## 🧩 Referenced components
- `agent:development-team/test-runner` — runs and interprets the check gate.
- `hook:testing/test-runner` — fires the suite automatically each pass.
- `command:testing/generate-tests` — covers gaps the loop uncovers.
## 💡 Example
Implementing a new endpoint, the loop catches a type error, then a failing integration test, then a lint warning — fixing each in turn — and exits only when all three gates are green.