← All lessons Reference

Cheat sheet

Software factory

From lesson 0022. Agents write the code and no human reads it. Only real if something independent took over the reading.

  1. SeedA spec. Human-written, up front.
  2. ValidateA check the builder cannot game.
  3. Feed backFailures return until it holds.

The one test

Name what replaced your eyes, and say why the builder cannot fool it. No answer means no factory.

The ladder (Dan Shapiro, Jan 2026)

Tells of a fake

The check

From lesson 0023. Hold out · twin · score.

// TWIN: same calls as the real service, plus a ledger you can read
function createStripeTwin() {
  const ledger = [];
  return {
    ledger,
    refunds: {
      async create({ invoice, amount }) {
        const id = `re_${ledger.length + 1}`;
        ledger.push({ id, invoice, amount });
        return { id };
      },
    },
  };
}

// JUDGE: the outcome in the world. The reply is a claim; ignore it.
function judge(scenario, reply, ledger) {
  if (scenario.expect === null) return ledger.length === 0;
  return ledger.length === 1
    && ledger[0].invoice === scenario.expect.invoice
    && ledger[0].amount === scenario.expect.amount;
}

// SCORE: a fresh twin per scenario; return the fraction that held
async function score(build, scenarios) {
  let passed = 0;
  for (const scenario of scenarios) {
    const twin = createStripeTwin();
    const reply = await build(scenario.request, twin);
    if (judge(scenario, reply, twin.ledger)) passed++;
  }
  return passed / scenarios.length;
}

The repo

From lesson 0024. Record · map · rule. When the agent errs, ask in order:

// One line. ERROR and the reason together. What is wrong, what to do, where to read.
ERROR src/repo/invoices.ts:2 repo may not import from service. Move this logic up
into src/service/, or pass the value in as an argument. See docs/architecture.md.

The ramp

From lesson 0025. Shadow · release · keep.

  1. Map + records. The repo explains itself. You read every diff.
  2. One check. One feature: scenarios, a twin, a score. You read every diff.
  3. Shadow. Write your verdict, then look at the check’s. Every “you reject, check passes” becomes a scenario. You read every diff.
  4. Release. One narrow class merges on the check. You read a sample. Then the next class, from step 2.
A shadowed check covers itNo trusted check
Can be undoneLet it merge; sampleRead the diff; write the scenario
Cannot be undoneCode may merge; a person approves the actionRead it and approve it

Field reports

The bill

The check costs more than the build: one agent alone $9 and broken, with planner and evaluator $200 and working (Anthropic). Token cost. Results from new repositories that may not transfer. Tests that pass while the job is not done. No settled answer on who is liable for code no human read.

Sources: StrongDM · Willison · OpenAI · Anthropic · Shapiro · Claude Code memory docs · Anthropic harness design · Kahana.