Move quality gates — tests, linting, type checks, security scans — as early in the lifecycle as possible: into the developer’s loop and the CI pipeline rather than a late, separate QA phase. Catching a defect where it is introduced is cheaper than catching it downstream, so “faster is safer”: tight, automated feedback loops let teams ship quickly because the guardrails run continuously.

In the agent era Martin Fowler restates this as “keep quality left”: distribute an agent’s sensors (feedback controls) across the whole lifecycle so recurring failures are caught at the cheapest point. Under autonomy the case sharpens — a stray agent edit caught by a pre-commit hook never reaches review. See topic-harness-engineering for the guides/sensors control-system frame this sits inside.

Addy Osmani — Agent Skills:

  • addy-ci-cd — Shift Left, Faster is Safer, quality-gate pipelines, failure feedback loops.

Beads:

  • beads-preflight — move the CI failure to before the push: tests, lint, formatting, version mismatches, and stray .beads/issues.jsonl diffs, checked locally.

See Also