A schema-first document machine for consulting agencies: five AI agents plan, draft, examine, refine and verify — and a deterministic quality gate refuses anything that scores under 80.
A consultant fills eight fields — organisation, department, process, roles, steps, systems, KPIs. That is the entire ask.
Everything after the intake is the machine's problem. It plans the document, writes it as structure rather than prose — twenty-seven typed block kinds, one schema — examines the result against a six-category rubric, refines what failed, verifies what passed, and typesets the survivor to print-perfect A4, editable Word, and a live review portal with annotations, approval chains and e-signatures.
The consultant's hour moves from formatting to judgement: read, adjust, send. The client stops receiving attachments and starts receiving a document that knows who read it, who approved it, and which version is real.
Somewhere tonight a consultant is saving final_v7_FINAL.pdf and hoping the name is true.
The SOP took two days to fight into shape in Word. It left as an email attachment the client cannot annotate, so feedback is arriving as eleven reply-alls. Nobody can say which version was approved, or whether anyone read past page four. And the hundredth document no longer looks like the first — the house style a consulting brand sells is quietly drifting away, one deliverable at a time.
This loop is the before-state ProcessOS was built against: four to eight hours of production per document, compressed to under an hour of review. FIG. 1 shows the loop as observed. It has no exit.
PlannerAgent reads the eight fields and returns a plan — sections, estimated block count. Seconds in, the document has a skeleton and the machine knows the shape of what it owes you.
GeneratorAgent writes the full document as structure, not prose — RACI tables, step lists, KPI grids, risk heat-maps, sign-off blocks. One typed schema renders everywhere: browser, PDF, Word. Nothing is a wall of text that happens to look like a table.
A deterministic scorer grades six categories — structure, content, logic, compliance, style, domain. An LLM judge reads alongside with a senior-partner rubric, and stays advisory only, by decision. The number that gates is the number you can reproduce.
Below 80, nothing ships. RefinerAgent fixes what the examiners flagged and the draft goes back for re-review. The dashed loop is the whole product: quality is a gate, not a hope. The same loop you saw running on the tile.
Cross-references repaired, micro-typography applied, diagrams validated — broken ones auto-fixed by a cheap model routed just for that. Then the paginator lays it out print-perfect and the cover page slides out of the machine. If anything overruns ninety seconds, a simpler pipeline takes over. The consultant always gets a document.
The tempting design: let the LLM judge the LLM and gate on its opinion. It demos beautifully and audits terribly.
CSS page-breaks cannot hold a Big-Four A4 layout — widowed headings, split tables, ragged fills. Most tools punt here.
Real drawings carry a revision table because real machines break. So does this one.
Every row below is traceable to a commit or a logged decision. The pattern across them: when something broke, the fix was fewer paths and harder gates — never a patch on top of the wound.
uncalibrated; no customer-visible quality score ships until κ ≥ 0.5 across ≥50 human-rated documents. The impressive number waits for the boring proof.One more thing a skeptic would ask, answered before the interview: there is no unit-test suite. Verification is nine end-to-end script harnesses — PDF rendering, import preservation, contrast, calibration — run against a real database, plus seed documents rejected below a 90 score. On a three-month solo build I chose breadth of working machine over depth of test pyramid, and I schedule that debt rather than deny it.
What the numbers mean for an agency: the four-to-eight hours a consultant spent fighting Word becomes an hour of judgement, the brand's hundredth document looks exactly like its first, and "did the client approve v7?" becomes a question the system answers with a hash, a signature and a timestamp.
Discuss a system like this →A dossier this tidy hides the true shape of a build, so here is the untidy part, plainly.
The hardest engineering wasn't the agents — it was refusing what agents make easy. The quality score demos beautifully; it stays internal until it's calibrated against human judgement, because a consulting product that shows clients an unvalidated number has already broken its promise. The flashy path was always available. The defensible one shipped.
The ops story is honestly unfinished: no CI, no hosted deploy, magic-link auth only. It is a working machine, not yet a production service — this page claims the first and not the second. What it proved is the part I sell: that a solo builder with a schema, a gate and a decision log can compress a consulting agency's most expensive habit by an order of magnitude, and document every trade-off on the way.
Bring the process that eats your team's evenings. The intake takes five minutes — the same eight fields you saw on sheet 4 — and the conversation costs nothing but the coffee.