Build log

Building and dismantling an agent-run data operation

An automated intelligence platform over operational-robotics data, built between April and July 2026 and wound down to the static directory hosted here. Six parts covering the data model, the pipeline, the agent harness, the knowledge system, and the complete cost accounting: 85,613 model calls, $997.48.

Figures are taken from the operation's own records — a session ledger, an 1,188-row backlog, a 1,940-node ontology, and a trace row for every paid model call.

The essay

The read-through. What the approach bought, and how the system contracted.

  1. 00 Everything that held was a mechanism What carried weight in an AI-operated knowledge graph, what was scenery, and why the parts that needed the models were the parts thrown away The durable engineering in robotics.press was deterministic. The models were metered labour fenced inside it, every recorded failure occurred where a rule existed as prose or an instrument measured an act instead of an effect, and when the system was disassembled the layers that required the models were the ones discarded.
  2. 01 What is incidental The parts of the system that look like the innovation and were not: the agent roster, the ontology, and the limits of dispatch isolation A graded judgment on which components of robotics.press carried weight and which were aspirational — the fourteen-agent fleet against the one tool grant that held, doctrine-as-data against what it could not detect, and four layers of dispatch containment against the sandbox that never ran.

The manual

Reference. Schema, pipeline, harness, knowledge system, cost — with the artifacts at the top of each section.

  1. 01 Modelling a corpus for two readers The canonical schema, provenance, entity resolution, the facet model, and how coverage was scored The data model behind a 1,787-company robotics graph: the 25-table canonical schema and its foreign keys, why assertions carry provenance instead of claiming truth, how entity resolution was reduced to one four-step pattern, how the free/paid line was expressed as Postgres roles and RLS policies, and why the corpus uses a shared facet graph rather than per-vertical tenancy.
  2. 02 Pipeline: listen, triage, enrich, resolve Source inventory, stage ordering, queue claims, per-stage cost and latency Four stages moved a feed poll into a provenance-stamped graph row. Stage ordering was the primary cost control; loop separation by cadence was the primary reliability control. Includes the source registry, the triage rubric, the JSON retry path, measured per-stage spend and latency, and the failure modes observed.
  3. 03 Harness: agents, hooks, and dispatch isolation Agent definitions, six hooks, two packaged commands, and a four-layer dispatch envelope with its audit trail The Claude Code configuration that ran the operation: fourteen agent definitions in three classes, a quarantined sub-agent for untrusted input, six hooks including a PreToolUse guardrail that blocks destructive commands deterministically, and a dispatch mechanism that ran a second CLI inside a worktree under a degraded database role — 104 dispatches, 49,978 logged tool calls, one packaged skill.
  4. 04 Knowledge system: doctrine as a queryable graph 1,941 nodes and 1,265 edges, the authored/derived split, a drift check that emitted 88 false positives, the full tenet catalogue, and four failures in self-instrumentation Goals, rules, code units, decisions, sessions and work items stored as nodes in one cross-linked graph, with markdown as a disposable render. Covers the node/edge/facet model, the nightly deriver, the drift predicate and the grain error that broke it, the 28-tenet catalogue, the memory-note and session-handoff mechanisms, and the instrumentation gaps the operation did not detect in itself.
  5. 05 Cost $997.48 across 85,613 calls, itemised by month, model, stage, token, and unit of output Complete model-spend accounting for a four-month autonomous data operation: unit economics per company, per signal, per deal and per article; the prompt-to-output token ratio broken down by stage; the composition of the $528.50 May; the retry and error paths; burst concentration; and infrastructure at list price.
  6. 06 Results 133 sessions, four pivots, 311 abandoned rows, and which of the 28 tenets held Longitudinal outcomes from fifteen weeks and 85,613 model calls: how the design changed across four pivots, what the deferred backlog records about abandoned directions, what the session handoffs show about planned versus actual work, which written rules were enforced mechanically, and the thirteen-step teardown that ended the operation.
  7. 07 Appendix: schemas, catalogues and reference tables Complete DDL for the 25 published tables, the 28 tenets, 9 procedures, 9 goals, 14 agent definitions, 4 hook registrations, all 65 cost-bearing agent slugs, all 247 facet values, the backlog rubric, and the archive restore recipe Reference tables and source artifacts for Parts 1 through 6, introspected from the database and the harness repository before decommissioning. Complete rather than selected: every column of every published table, every catalogue entry, every agent slug that spent money, and the verified procedure for restoring the cold archive.

Where to start

To judge whether the approach is worth copying
Everything that held was a mechanism, then What is incidental. About twenty minutes.
To model a corpus
Part 1 for the schema, provenance and facet model; the appendix for the full DDL.
To build an agent harness
Part 3 for tool grants, hooks and dispatch isolation; Part 4 for rules as data.
To estimate what it costs
Part 5. Every figure is from the trace log, itemised by month, model, stage and unit of output.
To see what went wrong
Part 4's instrumentation failures and Part 6, which records which rules held and which did not.