Feedback loop quality is the ceiling of AI code quality
Feedback loops are the ceiling
Iron law
AI max output quality = repo feedback-loop quality. No exceptions.
Broken/slow tests → AI codes blind → hallucinates fixes → ships bugs. Agent has no signal for correctness. Guesses instead of verifies.
Bootstrap sequence (any new/joined repo)
Before agent writes ONE line of feature code:
| Step | Command | Pass criteria |
|---|---|---|
| 1 | pnpm test |
Runs. Passes. <60s. |
| 2 | pnpm typecheck |
Runs. Clean. <30s. |
| 3 | pnpm lint |
Runs. Clean. <15s. |
| 4 | Local dev server | Hot-reload works. |
ANY answer "no" → fix loops FIRST. No feature work until green + fast.
Corollary
Adding tests ≠ busywork. Raises AI's ceiling for that module. Investment compounds — every future agent turn on that module gets stronger signal.
Applies especially: mature codebases, forks (see [[forks-as-submodules]] — upstream loops may already be broken; fix in fork main, upstream PR the fix).
Anti-patterns
- ❌ "Skip tests, ship it, add tests later" — agent has zero correctness signal
- ❌ 10-min test suite — agent can't iterate; stuck in dumb-zone waiting for green
- ❌ Flaky tests — agent treats false-negatives as real; adds useless guards
- ❌ Typecheck disabled "for speed" — silent bug factory
- ❌ Lint warnings ignored — signal-to-noise collapses; real issues drown
Enforcement
New session on unfamiliar repo → first 5 min = loop audit, not code. Report loop status before proposing changes.
Source
Matt Pocock workshop 2026-07-03.
Cross-refs
- [[vertical-slices-not-horizontal]] — vertical slices produce testable increments
- [[tests-parallel-and-master-install]] — makes loops fast
- [[deep-modules-over-shallow]] — deep modules easier to test → better loops
- [[forks-as-submodules]] — fork loops need fixing too