Skip to content

Write two explainers through the passes that had never run - #215

Closed
abernier wants to merge 2 commits into
pilot-eightfrom
explainer-pilot
Closed

Write two explainers through the passes that had never run#215
abernier wants to merge 2 commits into
pilot-eightfrom
explainer-pilot

Conversation

@abernier

@abernier abernier commented Aug 14, 2026

Copy link
Copy Markdown
Member

Closes #214. Part of #192, on top of #213.

--explain has always specified that it does not read the source and write: it
runs teach in sub-agents first, and writes only from what they distil. Nothing
had ever gone through it. aquarium's explainer was written by direct reading
and kept on purpose — so the orchestration was untested at the point where it
was about to be used 170 times.

The two examples

Chosen to be awkward rather than photogenic, one on each side of #214's split:

  • inverted-stencil-buffer — the technique is already understood, and it is
    a direct sibling of aquarium's stencil mask, so the output can be read
    against a hand-written explainer on the same technique. This is the control.
  • gpgpu-curl-noise-dof — genuinely opaque: an off-screen float target, two
    hand-written shader materials, and a noise implementation nobody reads twice.

Both cleared in one pass. The cap of three never engaged.

What the passes returned that a direct reading would have gotten wrong

  • there is no ping-pong in gpgpu-curl-noise-dof. One target, no feedback,
    the seed re-read and never overwritten. It is a position field, not a particle
    simulation — and the directory name says the opposite. This is the single most
    likely sentence in a directly-read explainer, and it would have been false.
  • its curl noise is normalised to unit length, which destroys the
    divergence-free property curl noise is cited for.
  • its fov is not a field of view; it gates visibility and saves no
    simulation cost.
  • Mask's three stencil ops are all Replace, so the stamp is unconditional and
    ids overwrite rather than layer.
  • inversion belongs to the masked material, not to the mask. drei's own
    documentation describes it the other way round.

The last two come from the control — the example where direct reading was
expected to be sufficient, because that is the bet aquarium made.

The decision

The remaining 168 go through the orchestration. The reasoning, the cost and
the three reservations are in the comment on #214. The second commit here
carries the four corrections the runs found, so explain.md describes what
actually happens rather than what was imagined.

Notes

  • Each example's description and apis are written from the same distillation
    as its explainer, per the one-reading rule. Neither was in UNDESCRIBED, so
    both lines are rewrites of weak ones and the list stays at 33.
  • lint:metadata covers the two new CONTEXT.md files. A planted identifier
    fails it — the guard was confirmed rather than assumed.
  • explain.md line 12 still says an explainer is "not a programme across 170",
    which Distilled docs: one line to choose, an explainer once chosen #192's plan now contradicts. Left alone deliberately: that is the scale
    question, and it belongs to its own issue.

🤖 Generated with Claude Code

https://claude.ai/code/session_01YQmbpRu6oCNrLiUQvhz5x6

abernier and others added 2 commits August 14, 2026 17:46
`--explain` has always specified that it does not read the source and
write: it runs `teach` in sub-agents first and writes only from what they
distil. Nothing had ever gone through it. `aquarium`'s explainer, the one
that exists, was written by direct reading and kept on purpose -- so the
orchestration was untested at the point where it was about to be used
170 times.

Two examples, chosen to be awkward rather than photogenic. One whose
technique is already understood, `inverted-stencil-buffer`, a direct
sibling of `aquarium`'s stencil mask, so the output can be read against a
hand-written explainer on the same technique. One genuinely opaque,
`gpgpu-curl-noise-dof`, where the passes have work direct reading does
not.

Both cleared in one pass. What the passes returned that a direct reading
would have gotten wrong:

  - there is no ping-pong in `gpgpu-curl-noise-dof`. One target, no
    feedback, the seed re-read and never overwritten. It is a position
    field, not a particle simulation -- and the folder name says the
    opposite
  - its curl noise is normalised to unit length, which destroys the
    divergence-free property curl noise is cited for
  - its `fov` is not a field of view; it gates visibility and saves no
    simulation cost
  - `Mask`'s three stencil ops are all Replace, so the stamp is
    unconditional and ids overwrite rather than layer
  - inversion belongs to the masked material, not to the mask. drei's
    documentation describes it the other way round

Each example gets its `description` and `apis` from the same distillation
as its explainer, per the one-reading rule -- neither was in UNDESCRIBED,
so both lines are rewrites of weak ones. `lint:metadata` covers the two
new `CONTEXT.md` files: a planted identifier fails it, which is how the
guard was confirmed rather than assumed.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YQmbpRu6oCNrLiUQvhz5x6
#214 settled that the remaining 168 explainers go through the passes
rather than through direct reading. The two pilot runs found four places
where this file described the orchestration slightly wrong, all of them
invisible until something actually ran.

  - `GLOSSARY-FORMAT.md` was never named. The glossary is one of the two
    artifacts that leave the workspace, and `teach`'s own list of
    workspace files omits the format file, so a sub-agent told to
    "follow the skill" can reasonably never open it
  - "load-bearing" read as something the pass reports rather than
    something the orchestrator judges. Both passes proposed a sub-topic;
    neither could reach the deliverable, one of them naming identifiers
    the backtick rule bars from the prose. Both examples were done in one
    pass
  - nothing said not to read the source first. Reading it turns the
    distillation into confirmation and quietly removes the only check on
    the prose
  - nothing said how to write a demo defined by what it lacks.
    `gpgpu-curl-noise-dof` has no ping-pong and its directory name
    announces one

Also records what makes the orchestration worth its cost, since that is
the part a later reader will be tempted to trim: the quiz, and the
falsification it forces. Both passes were wrong on most of their
predictions before checking -- nine of twelve in one case.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YQmbpRu6oCNrLiUQvhz5x6
@abernier abernier changed the title explainer pilot Write two explainers through the passes that had never run Aug 14, 2026
@abernier abernier closed this Aug 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Write two explainers through the orchestration that has never run

1 participant