Seven layers

Each layer has one job. Mixing them is how automation turns into a pile of scripts nobody trusts: the agent that does the work never also decides whether it is done, and nothing below the top layer sets direction.

  1. 1DirectionPeople

    Leadership and a few key people set goals, limits and who may decide what. Nothing else in the factory sets direction.

  2. 2Control towerEveryone can look

    One view of the whole company: outcomes, queues, wait times, spend, risks, and the short list of decisions that need a person.

  3. 3Shared contextFactory

    The state of every piece of work, the knowledge it needs and the current version of every procedure. Agents read from it and write back to it, so nothing lives in someone’s head or inbox.

  4. 4OrchestrationFactory

    Breaks goals into jobs, orders them by dependency, caps work in progress and keeps every job inside its budget and permissions.

  5. 5ExecutionAgents, by function
    • SalesQualifies leads, drafts proposals, follows up after calls
    • MarketingWrites and tests pages, campaigns and articles
    • Product and engineeringSpecs, code, tests, releases
    • SupportAnswers, reproduces bugs, files them with evidence
    • FinanceInvoices, reconciles, forecasts spend
    • OperationsOnboarding, access, vendors, internal tools
  6. 6VerificationIndependent checks

    Every result is checked by something that did not produce it: tests, a second model, a rule, a reconciliation. Claims count for nothing; evidence decides.

  7. 7LearningFactory, approved by owners

    Every failure and every person’s correction becomes a proposed change to a procedure. It is tested on past work, rolled out, and rolled back if the numbers get worse.

Seven layers. People own the top one. Goals and limits travel down to the agents doing the work; evidence, lessons and the few decisions only people can make travel back up to the control tower.

The view from the control tower

Leadership does not read reports about the company; it looks at the company. Every job, queue and dollar is in one view, and the screen ends with the decisions waiting for a person. Most days that list is short.

  • Jobs in flight214across six functions
  • Waiting for a person6oldest 3 h
  • Median time to done3.4 hlast 7 days
  • Spend today$1,840of a $2,500 cap

Work by function, today

  • Sales1 waiting
  • Marketingclear
  • Product and engineering3 waiting
  • Support1 waiting
  • Finance1 waiting
  • Operationsclear

Decisions waiting for a person 3 of 6

  • Approve a 15% discount for a three-year contractAbove the sales limit of 10% · CEO
  • Ship the new onboarding to all customersVerification passed; rollout is a product call · Head of product
  • Raise the support budget for this weekTicket volume is 2× the forecast · COO

What the factory learned this week

  • Proposal procedure v14: adds the security questionnaire up front. Tested on 40 past deals, rolling out.
  • Release checklist v31 rolled back: slower reviews, no fewer defects.
An example of the control tower view. Six decisions out of 214 jobs is the point: people see everything, and are asked only about what is theirs to decide.

What runs through it

Every function hands the factory the work that follows a procedure and keeps the work that needs judgement, relationships or the authority to commit the company.

FunctionThe factory doesA person doesThe wait that disappears
SalesResearch on every lead, call notes, proposals from approved templates, follow-ups, CRM hygienePrice exceptions, relationships, the final yesA proposal waiting a week for someone to write it
MarketingPages, articles, ad variants, A/B tests, weekly reports on what workedPositioning, brand, what the company refuses to sayCampaign ideas queued behind one designer and one copywriter
Product and engineeringSpecs from tickets, code, tests, review by a second model, releases behind flagsWhat to build next, product taste, risky migrationsPull requests waiting days for a reviewer
SupportAnswers from the knowledge base, reproducing bugs, filing them with logs and stepsAngry customers, refunds over a limit, policy changesBugs bounced between support and engineering for lack of detail
FinanceInvoices, reconciliation, spend tracking per job, monthly close draftsBudgets, payments above a limit, anything that signs for the companyMonth-end close as a two-week project
OperationsOnboarding checklists, access requests within policy, vendor renewals, internal toolsHiring decisions, contracts, exceptions to policyNew people waiting days for accounts and access

One job, end to end

A request that used to need five meetings crosses five functions in a day. Nobody forwards anything: each step reads the shared record, does its part and writes the result back, and the one human decision happens in the control tower.

One request, five functions, no hand-offs by email

  • Agent
  • Person
  • Automated check
A customer asks for single sign-on on a sales callSales agent writes the request into the shared context,with the call excerptProduct drafts the specAcceptance criteria, effort, and which plans get itHead of product says yesOne decision, made from the control tower in two minutesEngineering builds it behind a flagCode, tests, docs; a second model reviews the diffVerificationTests pass, a scripted login works against a testidentity providerSupport, finance and sales followHelp article updated, plan price changed, the customergets a reply with a dateA customer asks for single sign-onon a sales callSales agent writes the request intothe shared context, with the callexcerptProduct drafts the specAcceptance criteria, effort, and whichplans get itHead of product says yesOne decision, made from the controltower in two minutesEngineering builds it behind a flagCode, tests, docs; a second modelreviews the diffVerificationTests pass, a scripted login worksagainst a test identity providerSupport, finance and sales followHelp article updated, plan pricechanged, the customer gets a replywith a date
Illustrative diagram, not measured data. How a cross-functional request moves when every function reads and writes the same record.
Steps as text
StepWhat happens
1. A customer asks for single sign-on on a sales callAgent — Sales agent writes the request into the shared context, with the call excerpt
2. Product drafts the specAgent — Acceptance criteria, effort, and which plans get it
3. Head of product says yesPerson — One decision, made from the control tower in two minutes
4. Engineering builds it behind a flagAgent — Code, tests, docs; a second model reviews the diff
5. VerificationAutomated check — Tests pass, a scripted login works against a test identity provider
6. Support, finance and sales followAgent — Help article updated, plan price changed, the customer gets a reply with a date

Failure is part of the design, not an exception to it. Every job has a retry budget, a money budget and a clear point at which it stops and asks.

When the job fails

  • Automated check
  • Agent
  • Person
Verificationfailsthe scriptedlogin timesoutAgentretrieswith thefailure incontextSecondfailuresame checkJob parksstate saved,budget frozenOwner getsone questionthe identityproviderrejects ourtest tenant:whichaccount?one retry with the evidenceVerification failsthe scripted login times outAgent retrieswith the failure in contextSecond failuresame checkJob parksstate saved, budget frozenOwner gets one questionthe identity provider rejects ourtest tenant: which account?
Illustrative diagram, not measured data. A job never loops forever and never guesses at something only a person knows; it stops with its state intact and resumes from the same point after the answer.
Steps as text
StepWhat happens
1. Verification failsAutomated check — the scripted login times out
2. Agent retriesAgent — with the failure in context
3. Second failureAutomated check — same check
4. Job parksAgent — state saved, budget frozen
5. Owner gets one questionPerson — the identity provider rejects our test tenant: which account?
Loopone retry with the evidence: back from step 2 to step 1

Where work used to wait

Fast agents expose every slow step around them. The factory is mostly a set of answers to the places where work waits for a person.

How it learns

Learning is not a model getting smarter by itself. It is procedures that change only when a change is shown to work, with a version number and a way back.

How a procedure gets better

  • Automated check
  • Agent
Outcomea failure, aslow job, acorrectionDiagnosiswhich stepand whyNew versiona proposedprocedurechangeReplayrun on pastjobsRollouta sharefirst, thenallrolled back if the numbers get worseOutcomea failure, a slow job, acorrectionDiagnosiswhich step and whyNew versiona proposed procedure changeReplayrun on past jobsRollouta share first, then all
Illustrative diagram, not measured data. Procedures are versioned like code. A change is kept only if it does better on replayed past work and then on live work.
Steps as text
StepWhat happens
1. OutcomeAutomated check — a failure, a slow job, a correction
2. DiagnosisAgent — which step and why
3. New versionAgent — a proposed procedure change
4. ReplayAutomated check — run on past jobs
5. RolloutAgent — a share first, then all
Looprolled back if the numbers get worse: back from step 5 to step 3

What stays with people

The parts I build

The engine at the centre of my work is Bulava, where Claude Code builds and Codex reviews until the work is accepted. One measured example of a single part: on the same game-rebuild task, two independent model positions before any code took 1.5 hours and 34.3 M tokens against 3.7 hours and 389 M for Claude Code alone. It is one coding task, not a whole company, and the method is public. I’m also building a dark factory at Raccoon Gang.