1 line
2.4 KiB
JSON
1 line
2.4 KiB
JSON
{"content": "---\nname: build-test-fix-loop\ndescription: 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.\ncategory: engineering\ninterval: 10m\nstop-condition: The build is green — tests, typecheck and lint all pass — and the checker reports nothing left to fix.\ncomponents: [agent:development-team/test-runner, hook:testing/test-runner, command:testing/generate-tests]\ntags: [testing, build, ci, loop]\n---\n\n# Build–Test–Fix Loop\n\n> **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.\n\n## 🎯 Goal\nImplement 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.\n\n## ⏱️ Schedule\nSuggested interval: `10m` (or run until done on a feature).\n\n## ▶️ Run it\n```\n/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.\"\n```\n\n## 🔁 Iteration steps\n1. **Build** — implement the next plan item.\n2. **Check** — the `test-runner` hook runs tests, typecheck and lint automatically.\n3. **Reason** — collect every failure into a concrete fix list.\n4. **Act** — fix each; add tests with `/generate-tests` for uncovered paths.\n5. **Observe** — re-run the gate; loop until fully green.\n\n## 🛑 Stopping condition\nTests, typecheck and lint all pass and the checker reports nothing outstanding.\n\n## 💰 Budget & guardrails\nCap iterations or spend so a stubborn failure can't spin forever — surface anything that fails the same way twice for human eyes.\n\n## 🧩 Referenced components\n- `agent:development-team/test-runner` — runs and interprets the check gate.\n- `hook:testing/test-runner` — fires the suite automatically each pass.\n- `command:testing/generate-tests` — covers gaps the loop uncovers.\n\n## 💡 Example\nImplementing 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.\n"} |