Part of the distilled-docs spec (#192). Needs #196 (the skill) and #199 (the
explainer format) merged, or at least present in the stack.
Why
The plan is now that every one of the 170 examples gets an explainer, not
just aquarium — and the mode that is supposed to write them has never run.
describe-example --explain does not read the source and write. It is specified
to run teach in sub-agents first and bring back only the distillation
(explain.md). The one
explainer that exists, aquarium's, was not produced that way: it was
written by reading the drei and three sources directly, and kept on purpose. So
the orchestration is untested at the exact moment it is about to be used 170
times.
#198 is the precedent. Eight descriptions, chosen to break the contract rather
than flatter it, returned three findings that no amount of design discussion had
produced — two shapes apis ⊆ imports cannot express, and one case where
rewriting an existing line cost more than it bought. Eight examples were cheap.
One hundred and seventy would not have been.
What
Write two explainers through the orchestration, on examples chosen to be
awkward rather than photogenic:
- one whose technique is already understood — so the orchestration's output
can be read against aquarium's hand-written one, and the question "does
running teach beat reading the source" has a controlled answer
- one whose technique is genuinely unclear from the source — a shader demo,
or one of the large vendored ones, where the sub-agent passes have something
to do that direct reading does not
Then compare, on the terms that matter: is the explainer true, does it name the
technique, does it say anything the source does not already shout — and did the
orchestration earn its cost, which is several sub-agent passes and an
interactive session per example.
The decision this unblocks
Whether the 170 explainers are written through the teach orchestration or
by direct source reading, like aquarium's. Do not decide it in advance:
the orchestration exists because reading alone was expected to produce
plausible-sounding prose, and that expectation has never been tested either.
The scale decision is downstream of this one and belongs in its own issue.
Done when
Two explainers exist, written through the orchestration; this issue records
which of the two routes the remaining 168 take, and why; and if the answer is
"direct reading", explain.md's orchestration section is cut rather than left
as a description of something nobody does.
Notes
- One example per run. Batching is what turns review into rubber-stamping.
- Nothing is written before the maintainer says yes — the same gate the
description mode carries.
- The explainer lands in the example's own
README.md, under the badges, with
its glossary in CONTEXT.md. lint:metadata already checks that every
backticked identifier in both files appears in that example's src/.
Part of the distilled-docs spec (#192). Needs #196 (the skill) and #199 (the
explainer format) merged, or at least present in the stack.
Why
The plan is now that every one of the 170 examples gets an explainer, not
just
aquarium— and the mode that is supposed to write them has never run.describe-example --explaindoes not read the source and write. It is specifiedto run
teachin sub-agents first and bring back only the distillation(explain.md). The one
explainer that exists,
aquarium's, was not produced that way: it waswritten by reading the drei and three sources directly, and kept on purpose. So
the orchestration is untested at the exact moment it is about to be used 170
times.
#198 is the precedent. Eight descriptions, chosen to break the contract rather
than flatter it, returned three findings that no amount of design discussion had
produced — two shapes
apis ⊆ importscannot express, and one case whererewriting an existing line cost more than it bought. Eight examples were cheap.
One hundred and seventy would not have been.
What
Write two explainers through the orchestration, on examples chosen to be
awkward rather than photogenic:
can be read against
aquarium's hand-written one, and the question "doesrunning
teachbeat reading the source" has a controlled answeror one of the large vendored ones, where the sub-agent passes have something
to do that direct reading does not
Then compare, on the terms that matter: is the explainer true, does it name the
technique, does it say anything the source does not already shout — and did the
orchestration earn its cost, which is several sub-agent passes and an
interactive session per example.
The decision this unblocks
Whether the 170 explainers are written through the
teachorchestration orby direct source reading, like
aquarium's. Do not decide it in advance:the orchestration exists because reading alone was expected to produce
plausible-sounding prose, and that expectation has never been tested either.
The scale decision is downstream of this one and belongs in its own issue.
Done when
Two explainers exist, written through the orchestration; this issue records
which of the two routes the remaining 168 take, and why; and if the answer is
"direct reading",
explain.md's orchestration section is cut rather than leftas a description of something nobody does.
Notes
description mode carries.
README.md, under the badges, withits glossary in
CONTEXT.md.lint:metadataalready checks that everybackticked identifier in both files appears in that example's
src/.