Newsletter #21 • April 2026

Building with AI - Harness Engineering

AI amplifies your codebase’s worst tendencies. The optional best practices that humans always cut under pressure become mandatory for AI.

Harness Engineering is the art of building self-improving constraint systems for AI agents. It’s not about making agents smarter, it’s about making the environment so well-designed that even a “dumb” agent can’t produce bad code. The harness becomes the codebase’s immune system, automatically detecting and correcting drift while agents generate at superhuman speed.

The New Non-Negotiables:

  1. 100% Code Coverage: Not for bug prevention, but to guarantee agents double-check every line they wrote. At 100%, the coverage report becomes a simple todo list with zero ambiguity.
  2. Thoughtful File Naming & Structure: Agents navigate via filesystem. ./billing/invoices/compute.ts communicates infinitely more than ./utils/helpers.ts.
  3. Fast, Ephemeral, Concurrent Dev Environments: Agents need short feedback loops (tests run in ~1 minute, not 30) and isolated environments (git worktrees, per-branch databases).
  4. End-to-End Types: TypeScript everywhere, OpenAPI-generated clients, Postgres types mapped to TypeScript. Types shrink the search space and eliminate illegal states.
  5. Small, Well-Scoped Files: Agents summarize/truncate large files. Small files load fully into context.

“Often, when teams struggle with agentic coding, it’s AI reflecting and amplifying their codebase’s worst tendencies.”

Harness = Context Engineering + Architectural Constraints + Garbage Collection

Planning (human-approved)
→ Test Generation (agent, TDD)
→ Implementation (agent, minimal code)
→ Adversarial Review (fresh context, zero tolerance)
→ Formal Verification (pure core)
→ Feedback Loop (update docs/linters/tests)

To learn more about Harness Engineering:

Building with AI - Agents & Automation

AI & People & Process

Security

WebCraft, Architecture & Human Skills

  • The Illusion of Building → Understand why chasing trends and tools creates an illusion of progress while mastering fundamentals builds real lasting value

  • The two kinds of error → Understand the critical difference between recoverable errors that users can fix and unrecoverable bugs that developers must address

  • Stop Using Pull Requests → Explore alternative development workflows that replace pull requests with trunk-based development and continuous integration

  • The purpose of Continuous Integration is to fail → Understand why CI systems should fail fast and often, catching integration issues before they reach production

  • The Middle Loop → Learn about the middle loop between writing and deploying code: testing, debugging, and iteration often forgotten in developer tools

  • “All Lawful Use”: Much More Than You Wanted To Know → Examine the legal and ethical implications of AI training data and the “all lawful use” licensing framework

Tooling & Ecosystem

Architecture

Subscribe to my newsletter

Get monthly updates on top tech trends, must-read blogs, insightful analysis, and key news - curated for busy tech enthusiasts.

    No spam, unsubscribe anytime.