Holtmere
How I work

The Agentic Workbench

I build agents for customers all day, so I built one that works for me. It runs on a 2015 MacBook Pro in the Shropshire Hills, and I talk to it over Signal wherever I am. It reads my email, researches what's new each morning, writes and runs code in its own branches, tests ideas for posts, and keeps the Mac secure. It asks me before anything leaves the Mac: a push, a post, a payment.

94pull requests merged into the harness since 23 Sep 2026
296automated tests, run on every change
$2standing cap per study on paid model calls
How the Agentic Workbench fits together Woody talks to the harness over Signal. The harness routes work to models and to coding jobs, runs daily routines, keeps a ledger and a vault, and asks Woody before anything leaves the Mac. Woody on Signal, anywhere The harness 2015 MacBook Pro asks before anything leaves Models Claude · GPT · a local classifier · cheap models for tests Coding jobs own branch · Claude ⇄ Codex hand-over · PR on my yes Daily routines mail · learning list · security check · post studio Memory and ledger Obsidian vault · AGENTS.md · spend caps · footprint

What it does each day

Mail

Triages new email, flags what's urgent or suspicious (it caught a spoofed sextortion email using my own address) and sends a weekday brief at 07:30.

Learning list

Reads the morning's AI newsletters, picks what matters for agents in production, suggests posts, and flags any tool in the news that's compromised and installed on this Mac.

Post studio

Proposes a post and the smallest test that would prove it, offers three ways to tell it, builds the study unattended, then sends me the carousel, post and first comment to copy.

Security

Checks the Mac's posture, editor extensions, SSH keys and startup items against a baseline and published compromises, watches every repo's alerts, and opens fix jobs.

Rules it runs by

  • Ask before anything leaves. Pushes, merges, posts and spend need my yes on Signal. Questions come as numbered options I can answer with one tap.
  • Only measured results. A post can only state a number that came from a run in the lab repo, with the raw output committed. Failures are findings.
  • Read the source in full. Before a test is designed, every article that motivated it is read end to end, so the test checks what the source actually claims.
  • Spend has a ceiling. Monthly caps per provider, one ledger, and a footprint estimate for every call (doubled, to err generous). I plant a tree for every 21 kg of CO2e.
  • Any model can pick up where another stopped. Every repo has an AGENTS.md and a progress log; Claude and Codex hand over at usage limits.

What building it taught me

  • Gates multiply faster than capability. After a week of fixes the studio had become a state machine of tokens and checks. I cut it back to one agent that pauses at real decisions, which is what Anthropic's guidance on building agents recommends.
  • Strict checks block good work. Three finished studies were stopped by format details: a label, an empty log, a GIF. The fix was a principle: only missing required work blocks; extras are reported, never fatal.
  • Tests must touch the real thing. A dependency update passed every test and still crashed the harness, because the tests skipped tracing when it wasn't running. Now a test starts it for real, and every deploy checks the service stayed up.

The harness repo is private, because it holds the wiring for my own email and devices. Happy to walk through it on a call.