SWA
How agent harnesses actually work — built from scratch, one primitive at a time.
“What I cannot create, I do not understand.”
SDLC with Agents is a course, a channel, and a CLI. swa is a teaching harness: each chapter adds one internal (model call → tool loop → context window → caching → subagents → worktrees → loops → review gates) until you have a working Claude-Code-class agent you understand completely. The essays, the videos, and the weekly digest are built from the same source.
Now building chapter 0: bare model call
The five laws
Every harness lives under them. Each one forbids a sentence you have probably heard. Refer to them by number: “that’s a Law 4 violation.”
| # | Law | Forbids |
|---|---|---|
| 1 | Statelessness. Memory is harness replay, never a model property. | forbids |
| 2 | Finite attention. Every token in context is paid twice: money, and attention taken from every other token. | forbids |
| 3 | Tools. The model has no hands. Same model, different tool list = different agent. | forbids |
| 4 | Independence. A check is worth exactly its independence from what it checks. | forbids |
| 5 | Stochasticity. The same prompt is a distribution, not an answer. | forbids |
The method: only measurement knows.
The chapters
One primitive per chapter, in build order. Each starts from a mystery you have felt and ends with the code in swa that explains it.
| ch | Status | Primitive | The mystery |
|---|---|---|---|
| 0 | ◐ | Bare model call | What is the model actually receiving? |
| 1 | ○ | Tool loop | Same model, 30 points apart |
| 2 | ○ | File + shell tools, permission gate | Auto mode: who decided that was safe? |
| 3 | ○ | Context window | Why does my agent get dumber after an hour? |
| 4 | ○ | Prompt caching | Why did this session cost $14 and that one $2? |
| 5 | ○ | Instruction layering | Why did it forget the rule in my file? |
| 6 | ○ | Subagents | A huge band collapsing to a dot |
| 7 | ○ | Worktrees | Why did two agents clobber each other? |
| 8 | ○ | Loops | Why did it rewrite the same test three times? |
| 9 | ○ | Review gates | Why can't it check its own work? |
| 10 | ○ | Skills | On-demand instructions and what they cost |
| 11 | ○ | Cost, failure modes, evals | Harness Bench |
| 12 | ○ | Student mode | The harness makes you explain it |
Today’s feed
What mattered in coding agents on , ranked by relevance, with a one-line take on each. Every title opens the source.
Score 7.6 out of 10
Claude Code 2.1.319 更新了两件实用的事: (opens in a new tab)
Small but real harness changes: MCP calls can run in the background, and a deny-on-prompt setting stops permission dialogs from blocking unattended runs. Check the release notes for details.
why 7.6
Claude Code 2.1.319 adds background MCP tasks and a non-blocking deny-on-prompt permission setting.
relevance 8/10 · novelty 7/10
Score 7.0 out of 10
cloudflare/security-audit-skill: A coding-agent skill for multi-phase security audits with independently verified, machine-readable findings (opens in a new tab)
Worth reading for the structure: a fresh verifier sub-agent validates findings it didn't produce (Law 4). The 'one run finds half' figure argues for repeated runs (Law 5).
why 7.0
Concrete coding-agent skill with isolated sub-agents and verifier phases; mechanism visible, though the single-run recall figure is unverified marketing-adjacent detail.
relevance 7/10 · novelty 7/10
Score 6.6 out of 10
opencode shipped Browse: MCP + Chromium extension so your coding agent drives your real browser — tabs, logins,… (opens in a new tab)
A real tool-list change: the agent gets your logged-in browser and hands control back for 2FA. That is wider reach and wider blast radius. Law 3.
why 6.6
Browser MCP plus Chromium extension; hands control back for login or 2FA. Concrete harness feature.
relevance 7/10 · novelty 6/10
Nothing of this kind on this day.
The weekly digest
What changed in agent harnesses this week, with a take on each item. Collected and scored by agents, approved by a human before it ships. One email a week.
Confirmation opens in a new tab. Every email has an unsubscribe link.