memo.d.foundation / writing / harness-engineering-notesConnect

Writing/Engineering practice

Harness engineering notes from a team running agents all day

Nine field notes on running coding agents in production at Dwarves: the harness around the model, how we check and guard it, what we put it to work on, and what it does to the pages we publish.

Use with AIOpen in ClaudeOpen in ChatGPT

We run agents all day at Dwarves. They write code, deploy Workers, review incoming posts and measure layouts in a real browser. Under each of them sits a model, and the model is the part we do not write. Around it sits the harness: the loop that calls tools, the rules loaded when a session starts, and the checks that run before and after every action. Our working bet is that the harness decides whether an agent is useful, more than the model does. What the Engelberg report got right about us tests that bet against a report written by forty CTOs and senior engineers. The other eight notes are the evidence, written while things were breaking.

Nine notes in four groups, all under one harness bar

Fig. 1: The series map. The numbers match the reading order below.

1Reading order

Each note stands alone. Read in this order if you are new to agents, or jump to the group that matches your problem.

Understand it

  1. Five layers to tune before you fork your agent answers whether better tool calls and context management mean rebuilding the agent. It does not: five layers sit outside the harness, and it prices each one in tokens on a system we run.
  2. DeepSeek harness, dissected answers what a new open-source harness does differently and whether to bet automation on it. Our verdict: study the design now, hold off on production use until the plugin API settles.

Check and guard it

  1. What the Engelberg report got right about us answers which of nine ideas from a Thoughtworks retreat we already practiced and which we did not. One gap we closed the same week is a lens that hunts for the input your tests forgot.
  2. Claude Code 2.1.259 turned our Read() deny rules into a Bash tripwire answers why unattended sessions kept stalling on a prompt. About 40 deny rules moved into a hook we control.

Put it to work

  1. The debug loop: make the agent measure the browser before it touches the CSS answers how to stop an agent from guessing at layout. One probe, thirteen viewport widths, one table.
  2. Our publish step took 110 seconds, then 78. Our release tab took three tries. answers what a green CI step hides, and what changes when agents press deploy all day.
  3. Guest writers on memo, keyed by the writer's own domain answers how an agent-assisted review pipeline survives bad inputs. Its first run judged a post on 175 characters out of 93,252.

Face the reader

  1. Making our site AI-agent-ready, 50 to 93 answers what an AI agent needs from a website before it gives up. It lists the full rubric and what each fix did.
  2. The tells answers why agent-written prose still reads as agent-written after word-level rules. The giveaway sits in structure, and the post ends on a ruleset we load into the agent's instructions.

2What you can run

Some notes ship a tool and some do not. This table says which, using each note's own statements.

#NoteWhat is public
1Five layersNothing runnable. circle is internal, so the patterns transfer and the code does not.
2DeepSeek harnessThe harness itself is DeepSeek's open-source repo. We published no tool.
3Engelberg auditThe break-it review lens is public in the dwarves-kit repo, linked from the note.
4Read() deny tripwirePublic: the installer, the hook and its test suites, linked from the note.
5Browser debug loopbrowser-harness-js is public. The probe code is in the note.
6The 110-second stepThe platform repo is private. The note's pull request numbers link nowhere.
7Guest-writer flowA writer can join through memo.d.foundation/skill.md.
8Agent-ready siteThe scanner is third-party (npx is-agentic <domain>). Our own audit skill, web-drift, is internal.
9The tellsNo tool. The pattern list is in the note.
Dwarves Foundation memo. Written by the team and guest writers.Press [ or ] to move between headings