███╗   ███╗ ██╗   ██╗  ██████╗ ███████╗ ██╗
████╗ ████║ ╚██╗ ██╔╝ ██╔════╝ ██╔════╝ ██║
██╔████╔██║  ╚████╔╝  ██║      █████╗   ██║
██║╚██╔╝██║   ╚██╔╝   ██║      ██╔══╝   ██║
██║ ╚═╝ ██║    ██║    ╚██████╗ ███████╗ ███████╗
╚═╝     ╚═╝    ╚═╝     ╚═════╝ ╚══════╝ ╚══════╝
DemoAcademyPricing
Sign inBook a meeting

Blog

Writing from the build.

The engineering under an agent that runs a real back office. Mostly things that went wrong in production and what they turned out to mean — written while the evidence was still on screen.

Running an agency (4) →Building the harness (9) →Research (2) →

Buying AI work · September 4, 2026 · 6 min

How to tell if AI work is actually getting better

One number tells you whether AI is doing your client work or drafting near it: how much of each draft you rewrite before it goes out. If it is the same in month three as in month one, you bought a tool, not a colleague — and most vendors have never measured it.

Read →

Cold email · August 30, 2026 · 9 min

Why your cold email stopped arriving

Cold email rarely dies from one bad day. It dies from a fortnight of small mistakes — a ramp that looks like a leak, a sequence that retries dead addresses, one domain quietly carrying the whole day — and by the time you notice, the fix is a new domain and three months of waiting.

Running an agency · August 29, 2026 · 8 min

What a junior actually costs

A junior on $55,000 costs about $100,000 in their first year once you count payroll tax, health insurance, recruiting, equipment and the fifteen days of your own time it takes to ramp them. Here is the full arithmetic, and the test for which work is worth hiring for and which is a process problem wearing a headcount costume.

Getting paid · August 28, 2026 · 7 min

Chasing an invoice without losing the client

Most overdue invoices are not a refusal to pay — they are an invoice that reached one person who is not the person who pays. A four-rung ladder where the escalation is in the specificity rather than the tone, the three rules underneath it, and the four things to fix before you fix the chasing.

Adding a service as code versus as data

Architecture · August 24, 2026 · 8 min

Services are data, not code

A bookkeeping service in our system is a JSON manifest, a folder of markdown, and an output schema. No module, no deploy, no engineer. The consequence that matters is not speed — it is that domain expertise stops being something only a programmer can add.

A run with no contract versus one bounded by an output schema

Architecture · August 23, 2026 · 8 min

Output schemas are completion contracts

Most agent frameworks treat a schema as validation applied after the fact. Treat it instead as the definition of done — the run ends the moment a valid result is written — and three unrelated problems disappear at once: unbounded loops, unresumable runs, and work nobody can grade.

Three harness shapes: decide, build, general — each with different tools and credentials

Architecture · August 22, 2026 · 9 min

One config for every task is the original sin

"Build a website for this business" and "decide the next step on this overdue invoice" are not the same job, and giving them the same tools, permissions and credentials is how an agent system becomes unsafe. Three shapes, and a build run that can never hold a send token.

A parent run fanning out to probe children and resuming after they join

Architecture · August 21, 2026 · 8 min

Fulfilment is not one shot

Real service work is not a single prompt. A weekly visibility report is twelve independent measurements and one aggregation; a month-end close is strictly sequential and stops dead without a bank statement. Both need a run that can suspend itself as a row and resume days later.

Three services each correctly emailing the same client within one hour

Architecture · August 20, 2026 · 7 min

Your concurrency guards are all vertical

Row locks stop one job running twice. Nothing in a typical system counts how many times one human hears from you. Three correct schedules, three correct runs, three emails to the same client before lunch — and no bug to find, because nothing is broken.

Three fates for a finished run: deliver, ask, hold

Product · August 19, 2026 · 8 min

A client gets work, or a question — never your JSON

A finished agent run has exactly three honest fates: deliver, ask, or hold. The fourth — ship whatever came out — is the one that puts a serialised object in front of a paying customer, and it is almost always a single fallback expression away.

A run asking for materials, the client uploading, and the next run reading them

Product · August 18, 2026 · 7 min

The work needs something only the client has

Bookkeeping needs the bank statement. A hire needs the role brief. Most agent demos quietly assume the input is already there, and every real engagement stalls on the moment it is not. Refusing well is a product feature, and it has a shape.

A parent run stuck awaiting a batch while all children succeeded

Engineering · August 17, 2026 · 7 min

Coordination state belongs in the database

If a run can suspend for three days waiting on a client, every piece of state that resumes it has to survive a deploy, a crash and a second replica. The rule is uncomfortable and simple: if losing it would park a run forever, it is not allowed to live in memory.

The revision loop: v1, one objection, v2, and whether it was addressed

Agents · August 16, 2026 · 9 min

Simulating clients who remember

A scripted synthetic client can only prove your transitions exist. The loop that earns a retainer is different: v1 goes out, the client objects to one thing, v2 comes back, and they ask the only question that matters — did they fix the thing I said? That needs memory.

Absorbed versus selected: two different measurements

Research · August 15, 2026 · 8 min

Selection is not absorption

The most useful distinction in AI visibility, and almost nobody makes it. Being named from training data and being retrieved as a source for one answer are different phenomena with different time constants — and only one of them is work an agency can sell.

Mycel harness architecture diagram

Research · August 14, 2026 · 12 min

The harness is the product

Protocol 4.0: two planes, never averaged. Judgment head-to-head — Mycel 21/21 (100%) vs a naive unscaffolded lower bound 11/21 (52%). Architecture behavior-graded 42/42 on real kernel modules; peer coding harnesses are capability-absent, not scored 0%.

The kernel that runs all of this is open source — the scheduler, the wedges, the guards, and the tests that hold them. Every claim in these posts is checkable against it.

Read the kernel →

Take the client you turned down last month.

Describe what you deliver and the first draft exists before you have finished your coffee.

Start 7 days free

The first AI delivery firm. You sign.

All systems operational

Ask an AI about us

  • Claude
  • ChatGPT
  • Perplexity

It reads the site and answers on its own. We do not get to edit what it says.

Product

  • What you get
  • Pricing
  • Changelog
  • What it runs
  • Free reports
  • Product map
  • Team
  • Blog
  • Glossary
  • AI Visibility Index
  • Sign in
  • Docs

Compare

  • vs ChatGPT, Claude, or whichever tab is already open
  • vs Grok Bot and the AI-employee platforms
  • vs Hiring an account manager
  • vs Profound
  • vs Otterly
  • vs Building it yourself
  • vs Zapier & n8n
  • vs Temporal
  • vs LangGraph
  • vs CrewAI & AutoGen
  • All comparisons

Legal

  • Privacy
  • Sub-processors
  • Terms
  • DPA
  • Security
███╗   ███╗ ██╗   ██╗  ██████╗ ███████╗ ██╗
████╗ ████║ ╚██╗ ██╔╝ ██╔════╝ ██╔════╝ ██║
██╔████╔██║  ╚████╔╝  ██║      █████╗   ██║
██║╚██╔╝██║   ╚██╔╝   ██║      ██╔══╝   ██║
██║ ╚═╝ ██║    ██║    ╚██████╗ ███████╗ ███████╗
╚═╝     ╚═╝    ╚═╝     ╚═════╝ ╚══════╝ ╚══════╝