Skip to content

How this repo is run

This page is about method, not about the pipeline. It is here because the method is load-bearing: an earlier arc of this project ran ten sessions in which each session judged its own output, wrote its conclusions to a shared memory store, and the next session read those conclusions as established fact. Nothing in that loop was checkable and nothing was gated on the Director’s eye, so errors compounded silently for weeks.

Every rule below was paid for. In the single session that produced this repository, six inherited or asserted claims were falsified — and every one of them took minutes to overturn because it sat next to runnable code.

role does must not
Director sets direction; judges every artifact by eye —
Advisor writes specs, rules on reports, folds findings into the repo execute, or grade its own rulings
Executor runs the spec, measures, reports evidence decide what results mean, or judge quality

The separation is the whole point: the session that designs an experiment does not grade its results, and the session that runs it does not decide their meaning.

spec written BEFORE the work → report written AFTER → advisor ruling LAST

A spec carries the question, hypotheses with predictions, arms varying one thing each, the metrics, the gates, an explicit out-of-scope section, and a standards compliance block. Amendments are appended in place with dates and reasons — a spec that hides its own corrections is the thing this repo is trying to get away from.

Since 2026-08-16 the advisor spawns the executor itself, as a background agent, and steers it on an open line while it works. The Director is out of the loop by default and sees an artifact when there is something for his eye.

The obvious worry about an advisor starting its own executor is that it ends up grading its own work. It does not, and the arc that established the standard is the demonstration: in a single day the dispatched seats killed four of the advisor’s asserted mechanisms — a hypothesis about parked faces, an invented threshold, an arm built on a grep line that truncated mid-sentence, and a comparison that set a post-export count beside a single-session one. Three came back within minutes of the dispatch that carried them.

What that convenience cost, each item earned rather than theorised:

  • On-disk state is the record; a transcript is not. Two executor transcripts were lost in one day. The arc continued both times and lost nothing but memory, because predictions, reports, scripts and arrays were on disk. A dispatched seat writes its handoff early.
  • The dispatch is the spec, and it must land in the repo. An agent prompt nobody can read afterwards is worse than a pasted one, which was at least on a screen.
  • An executor never delegates its own core measurement to a child agent. One did, then idled waiting on it — invisible and unsteerable until the advisor read the disk.
  • Steering mid-flight is the point. A dispatch is a living document: an arm can be withdrawn, an order re-ranked, a threshold retracted while the seat runs. That is the difference between an error costing an exchange and an error costing an arc.

Search for prior art before deriving it. Standing since 2026-08-16, and it paid for itself the first time it ran. Three arcs hunted a defect class through the image generator; roughly 60% of it turned out to be atlas texels that no bake ever writes — a problem game artists have solved for as long as UV atlases have existed. Four parallel research agents against the practitioner literature turned up the mechanism named verbatim in Blender’s own tracker, with a fix already merged, plus a sixteen-defect catalogue explaining a second finding, in about twenty minutes. Everything found that way is a hypothesis to verify locally, never a fact to adopt — outside claims get exactly the treatment the advisor’s own claims get.

An inherited claim is a hypothesis wearing a fact’s clothes. Checking one costs minutes; building on one costs a session. If a spec, README or handoff asserts a number, verify it before designing around it — including numbers written by the advisor.

State a prediction before you look, and disclose whether it was blind. A hypothesis with no prediction cannot be wrong, and one that cannot be wrong teaches nothing.

Stop at every gate; never improvise past one. A session that changed a parameter and re-ran when a gate fired hit the same gate harder.

A negative result is a full success. Say so plainly and stop, rather than tuning toward a number.

Correct in place, with the measurement that overturned the claim. Never quietly delete a wrong statement — the correction is more useful than the original.

A check that cannot fail is not a check. Before trusting a zero, ask what a non-zero would have required. A cull gate returned 1.00000 on a mesh with a hole clean through the torso, because silhouette IoU is structurally blind to holes behind visible surface.

When you fix a root cause, find its other consumers. One fix corrected the control-image path and left the same function on the same render still losing a quarter of the silhouette elsewhere. A root cause has as many sites as it has callers.

A global constant must not govern a local feature. Three instances, each costing a session: a rectangle measured on one silhouette applied to a mesh 38% narrower; an erosion tuned on a wide figure eating 480k texels where the surface turns edge-on; an edge-distance scaled by global figure width leaving a 15 px blade with no interior.

Canon is not a taste question to be routed around. When the real question is is this the right thing, a measurable proxy is not a conservative substitute for asking — it is a different question with a number attached. Ask, and show the artifact at full size.

A gate that a scripting accident can separate from the action it gates is not a gate. An invariance halt fired on stroke 7 and the commit ran anyway, because the check and the commit were chained in one shell call that walked past the failing exit code. The check lives inside the tool that performs the irreversible step, with no skip flag.

  • Textures under flat light — a Workbench STUDIO render is not a texture readout.
  • Geometry under clay — texture hides geometry.
  • At the Director’s zoom, never from a contact sheet — the defects that decide acceptance are invisible at thumbnail scale.
  • Beside the reference, with provenance. The cheapest diagnostic in this repo is a reference | asset | provenance | error sheet on one page. Build it before the metrics, not after them: a number tells you a region is wrong; the sheet tells you what it was supposed to be, which is the part that decides what to do next.

The advisor’s record, kept for calibration

Section titled “The advisor’s record, kept for calibration”

A future advisor should know which parts of this repo to distrust. In the founding session the advisor was wrong about the shell-soup premise, the clay provenance, the double-subscribe diagnosis, the head-pixel multiplier, the halo hypothesis, and two pass conditions. In a later experiment it was wrong about two of its own gates — one measuring a proxy that inverted and halted a correct arm, one defining a pass condition as a fraction of a baseline nobody had measured. Both were caught by an executor who ran them as written and reported the evidence rather than tuning past them.

In the arc that established the dispatched-seat standard it was wrong about five asserted mechanisms in a single day: a hypothesis about which atlas feature produced a defect, an invented pass threshold, a tool default read from the API instead of from the call site that overrides it, an arm built on a truncated grep line, and a comparison between two counts measured through different pipelines. Dispatched seats caught three, a measurement killed one, and one returned partial. What held across the same arc was structure — the route decision, the design of the test that split the defect in two, the ordering that put a cheap measurement before an expensive one, and the gates. That is the distinction the last line of this section is pointing at, and it is not rhetorical.

The advisor was useful at: ruling once evidence was in, killing options with reasons, refusing to commission a metric where no honest one existed, bounding an expensive arm before spending it, and correcting the record in place.

Deciding is the job. Predicting is not.

The full version of this page, with every rule and what it cost, is CLAUDE.md in the repo root.