← Nitish Gupta — AI Product Manager

The harness — how one person ships products a model builds

One SOP, four role-scoped review agents, three hooks and a 60 KB instruction budget. On one build: 45 phase specs and 1,711 tests for USD 661.57 of metered model spend. The same SOP, carried unchanged to a second product.

1 · Context and constraint

One person, two to three products in flight, and a coding model as the primary implementer. The person is architect, reviewer and approver; the model drafts specs, writes code and runs tests.

ConstraintWhat it forced
One human reviewer. Every hour the operator spends reading is the scarcest input in the systemReview has to happen before the operator sees an artefact, by something other than the author
Metered model spend, a five-hour and a weekly window, invisible to the running sessionCost has to be governed by things that run without the session's cooperation (Agents on a budget)
An air-gapped target on the OSINT buildNo hosted tracing or evaluation service: Braintrust, LangSmith and Arize were excluded on the air gap
The model forgets. Each session starts cold; reasoning that lived only in a transcript is gone after compactionDecisions, scope and state have to live in files the next session reads first

2 · Problem

Two failure modes, both measured.

Cost. One verification stage on the FrameProof build processed about 150 M tokens in 33 minutes, 132 M of it in nine sub-agents, because 468 KB of "rules" were being loaded into every agent on every call (Agents on a budget). The project had a documented cost policy; nobody had measured sub-agent spend.

Instructions that do not bind. A rule written in prose is obeyed until it is not. Permission patterns looked like the mechanical answer, but they are prefix matches on the whole command: on the video project, 2,332 of 2,389 recorded shell calls began with a change-directory step, so a rule written to catch a risky command matched almost nothing (measured from the guard hook's own header).

The question this page answers: what does a delivery system look like when the builder is a model, the reviewer is one person, and neither cost nor scope can be left to the model's good intentions?

3 · My role

Author of the delivery SOP, every project's rules file, the review agents and the hooks. Operator on every phase: approver of each spec, reviewer of each build, sole signatory on each sign-off. The model never signs: the SOP reserves complete for the operator's explicit approval.

4 · Decision and trade-off

The decision: treat the instructions an agent follows as production configuration — budgeted, reviewed and, where it matters, enforced by something that runs whether or not the model read them. Four calls follow from it.

1. Rules as small auto-loaded files with a hard budget, not a longer, smarter prompt. A rule the session never loads is not followed; a rule loaded everywhere is paid for on every call (133× mean amplification, measured). The answer was a 60 KB budget per project and a session-start hook that warns when it is crossed. Rejected: one comprehensive instruction file, the state the cost incident started from.

2. Enforcement climbs a ladder, and the rung is chosen by what a miss costs. The honest history is that the ladder was climbed one rung at a time:

flowchart LR
  P["Prose rule
cheap, can be skipped"] -->|"ignored or misread
once"| T["Tool allow-list
per agent"] T -->|"scope still stated
only in prose"| H["Hook on every tool call
cannot be skipped"]

On the OSINT build, the four review agents had tool allow-lists but no deny-lists: each one's write scope (one folder, one file, or a log only) was stated in its prose. On the later projects the scope moved into mechanism: the two cold-start reviewers in the prep workflow are given one tool, Read; the quiz project's boundary hook denies access to private folders for file tools and shell commands, because a file-tool deny rule does not cover a shell cat. Trade-off accepted: a hook asks the person more often than a rule would. That is the price of a check that cannot be skipped.

3. Reviewers may not fix. Every review is role-shaped (a spec gets product fitment and testability; an implementation gets code review), the outcome is binary — approved or revise — and the reviewer writes its findings, never the fix; the orchestrating session records the resolution. Rejected: an auto-fixing reviewer, which would review its own repair.

4. Evaluation floors as code, pinned before the build. The floor is a decision trigger, "reported, never quietly absorbed" (SOP III.2). On the OSINT build the gate script encodes an 85.9 % band floor and blocked a proposal that would have cost 6.6 %. Rejected: review by reading, which agrees with whatever the reviewer expected.

5 · What shipped

The loop every project now runs:

flowchart LR
  G["Three session gates
budget · scope shape · model"] --> S["Phase spec
NFRs declared, eval floor pinned"] S --> R1{"Role-shaped review
approved / revise"} R1 -->|revise| S R1 -->|approved| B["Build, AI-assisted"] B --> R2{"Code review
reviewer may not edit"} R2 -->|defects| B R2 --> E{"Eval gate in CI"} E -->|below floor| B E -->|at or above| O["Operator: live demo,
explicit approval, sign-off"]

6 · Measured result

MeasureFigureSource
Phase specs written before code, OSINT build45The build's evidence record
Phase sign-off tags29as above
Tests passing1,711 (2026-08-28)as above
Metered model spend, whole buildUSD 661.57as above. The scope was sized at ~355 person-days; that is an estimate, and this page claims no savings ratio
Proposals blocked by the eval gateone, costing 6.6 % against an 85.9 % flooras above
First-call context after the size budget256,372 → 59,730 tokens, −77 %Agents on a budget
Auto-loaded payload, second product135.4 KB → 59,099 B against 60 KBMyWarren
A client repository, same rule applied~165 KB → ~25 KBAgents on a budget

What is not measured. There is no control: no build of the same scope without the harness, so nothing here proves the harness caused the throughput. Hook catch rates are not logged. The OSINT build's root-cause-analysis and code-review counts are not quoted because two sources disagree and have not been reconciled.

7 · What was deliberately not built

8 · Assets

Downloadable skeletons (PRD outline, evaluation framework outline, sign-off log form, the SOP's phase-gate diagram, a case-study template) and further How I build pages are not published yet. Neither is code for the hooks.