Write two explainers through the passes that had never run - #215
Closed
abernier wants to merge 2 commits into
Closed
Write two explainers through the passes that had never run#215abernier wants to merge 2 commits into
abernier wants to merge 2 commits into
Conversation
`--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
This was referenced Aug 14, 2026
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #214. Part of #192, on top of #213.
--explainhas always specified that it does not read the source and write: itruns
teachin sub-agents first, and writes only from what they distil. Nothinghad ever gone through it.
aquarium's explainer was written by direct readingand 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 isa direct sibling of
aquarium's stencil mask, so the output can be readagainst a hand-written explainer on the same technique. This is the control.
gpgpu-curl-noise-dof— genuinely opaque: an off-screen float target, twohand-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
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.
divergence-free property curl noise is cited for.
fovis not a field of view; it gates visibility and saves nosimulation cost.
Mask's three stencil ops are all Replace, so the stamp is unconditional andids overwrite rather than layer.
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
aquariummade.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.mddescribes whatactually happens rather than what was imagined.
Notes
descriptionandapisare written from the same distillationas its explainer, per the one-reading rule. Neither was in
UNDESCRIBED, soboth lines are rewrites of weak ones and the list stays at 33.
lint:metadatacovers the two newCONTEXT.mdfiles. A planted identifierfails it — the guard was confirmed rather than assumed.
explain.mdline 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