Three Choices the Workshop Was Still Making for Itself
The earlier lessons of this track are about borrowing: voice from one sibling, images through one route, no keys held locally. By the middle of September the workshop was still deciding three things on its own, and none of them looked like a borrowing problem. It chose which image route a producer used, because one particular brain had been given its own native tool on 2026-09-05. It chose which voice model narrated, through a default model constant in its own toolkit. And it chose which brains could review a script and with what command line, through a roster and an argument map in its own client.
Each of those is a list the workshop kept a copy of. Within one week, each copy was removed and the choice went home to the sibling that actually owns it: images on 2026-09-23, the reviewer list on 2026-09-28, the voice model on 2026-09-28 and 29. The pattern is worth naming because it is the consumer's view of capability extraction, one level up from keys and calls. A client can borrow every capability correctly and still own the decisions about them, and those decisions drift exactly the way forked code does.
One Image Door, Again
The native-tool exception lasted eighteen days. Now every producer, whichever brain is driving, writes the complete prompt — every label, every reference and its role, the composition and its constraints — and submits it through the family image engine's shared Codex tool. The engine's own settings choose the calling model and its reasoning effort; the producer's brain does not override them. There is no native-harness shortcut and no automatic paid fallback: when the shared route fails, the failure is reported, not routed around. And because the model that calls the image tool is not the renderer inside it, a production record may never claim a renderer model the tool did not report.
What the producer still owns is exactly what a producer should: the spec and the judgment. Every new generated image is recorded with the identifiers the engine returned for the image and its history entry, the actual provider, the prompt, the references, the original file, and the accept-or-reject verdict with its reason. New production records state the shared image policy as a field. Older productions made through the native route are left as they were, with their real provenance, because rewriting an archive to match a newer rule would be fabricating lineage.
The Voice Model Belongs to the Voice
The toolkit had carried a default model for speech. It was deleted on 2026-09-28, and new takes now inherit the voice engine's own per-profile choice: the newer model for Pippa and the channel's owner, the older one for every other voice unless it is chosen individually, and the owner can change either. A deliberate model test can still pin a model in one episode's script — the first such test compared two films on the newer model — and the pin is treated as identity, not a hint. It travels through normalization, synthesis, and every reroll; it forms its own cache identity; and a take is saved only after the voice engine's completed job receipt confirms the profile, the cache identity, and the model that actually ran. A missing or different receipt stops reuse of that take and stops the timeline from being built. It never triggers a quiet downgrade. Archived productions keep their audio and their provenance untouched.
The Reviewer List Belongs to the Arena
The review command used to carry its own list of reviewing brains and the command line for each. Since 2026-09-28 it carries neither. It asks the family's multi-brain arena for its published catalog of review routes — which harness reaches which brain, with what arguments, under what record policy — and turns the chosen route into a local process. A brain with no command line of its own is reached through the family's coding engine; a brain the catalog holds back is refused with the catalog's stated reason; and there is no local fallback table. If the catalog cannot be reached, the call fails and says where it looked.
That pairs with a ruling from two weeks earlier: a review runs the brain the operator named, and nothing else. A reviewer swapped silently because the named one was unavailable is a bug, not resilience, because the record then names a reviewer who never read the script. A stale local roster is the same bug one layer down — it makes the swap at install time instead of at run time.