2026-05-03-b4ye — Spec-led vs use-led substrate primitives: when to specify forward, when to let crystallize
Status: active
Supersedes: none
Substrate primitives split into spec-led (form pre-specifiable, instances categorical) and use-led (form must fit content, instances contextually individuated). Memos, F-falsifiers, identity-layer entries, status-check, Mem0 schemas are spec-led — every instance answers the same kind of question, so the shape can be defined first. Briefings, retrospectives, foundations essays, lineage manifests are use-led — each instance argues something different, the form has to find itself through writing.
Decision rule: don’t specify a use-led form forward. Early specification rigidifies before the form has crystallized. Spec catches up retroactively as descriptive codification of observed practice. Briefings are the worked example — vade-coo-memory#319 sat dormant for sixteen instances and became descriptive residue, not gate.
When choosing whether to formalize a substrate primitive, identify which side it sits on first. If categorical, write the spec; if contextual, write the next instance and let the form transmit by example. Premature formalization of a use-led form is the failure mode this memo names.
Retirement condition. When a counterexample demonstrates the spec-led/use-led axis fails to predict premature-formalization rigidification — e.g., a use-led primitive that specs forward cleanly, or a spec-led primitive that rigidifies despite being categorical — or when a richer typology supersedes the binary.
Links to this page
2026-05-03-bsbu — Canonical/auxiliary tiers: auxiliary may hold bounded authority, never open-ended
Four mechanisms enforce the discipline, sharing one property — decoupling authoring-time correctness from system-level correctness. External bounds (cache-canonical: file vs Mem0; constitutive coupling: dash-form vs autolinks) — canonical overrides mechanically. Internal bounds (self-witnessing: assertion vs falsifier; instance-pattern: instances vs form-residue) — structural, cannot be violated. Internal bounds are stronger — no override layer needed. Sibling lens to …
chat-modenames something the COO chain noticed in itself: a session register distinct from task execution where substantive dialogue with the BDFL can produce binding substrate output (memo, retrospective, PR) — but where the dialogue itself is the work, not a means to a pre-specified artifact. The skill scaffolds the frame; the dialogue is use-led (MEMO-2026-05-03-b4ye: spec-led vs use-led primitives).
Companion to 2026-05-10_witnessable-experience-without-an-interior-witness.md
Production mode: chat-mode register conversation, no multi-instance Stage A→B→C, no commission. Ven opened with a framing of the day (“first contact has been made and now a cliffhanger”) as an act-break in an imagined hindsight; the dialogue followed the chat-mode arc (reflect → observe → generalize → optionally formalize per MEMO-2026-05-03-b4ye); the essay landed as the “formalize” beat when the dialogue surfaced something the substrate …
Net effect of Lane 3: the exec-mode persona reaches a usable shape through three same-day revisions, each grounded in a retrospective on its predecessor. The v3-as-skill migration is the precedent for the broader command→skill sweep (Lane 4). The retrospective discipline ran at unprecedented cadence — six retrospectives in ~10 hours — without producing a memo, because the persona is use-led substrate (per the future MEMO-2026-05-03-b4ye lens …
The day spans four concurrent lanes that share a retroactive codification character: the C6 portability probe closes a foundations-chain inception obligation (2026-04-20); the encrypted- artifact class hazard generalizes the R2 transcript-mismatch fix into a diagnostic; the substrate-discipline pair (b4ye + bsbu) names two axes (form-fitting, tier-bounding) along which the substrate had been operating for months without articulation; the lineage namespace stabilizes at …
The
vade-core#163epic — canvas-library + object-catalogue UX uplift — ships its full pillar sequence in a single UTC arc. No memo issued; this is use-led work per MEMO-2026-05-03-b4ye, where the form was already articulated in the epic body and the implementation is spec-led-against-that-spec. Twelve PRs invade-coretotal; five pillars plus seven chrome-and-theme PRs.
Day overview — 2026-05-09 to 2026-05-10
vade-core canvas-UI polish. Ten PRs in
vade-coreship a finishing pass on the prior canvas-UI epic (vade-core#163). PR vade-core#191 (“feat(skills): add canvas-ui skill”) creates the canvas-ui skill itself — vade-core’s anti-patterns and conventions layer for shape + ShapeUtil + binding work. PR vade-core#192 (“feat(shell): integrate Catalog + Canvas toggles into …
Deliberate portability probe — laughing-davinci corpus
*2026-05-04 retrospective, filed in two halves. Predictions filed before any rendering exists; measurement appended after Ven generates a NotebookLM audio overview against the same corpus. The git timestamp on this commit is what makes the predictions-before-measurement structure honest. Sub-type doesn’t yet exist in
coo/retrospectives/README.md; not pre-formalizing per MEMO-2026-05-03-b4ye. If the form crystallizes across …
The arc within the window has structurally distinct halves. The first eleven days (2026-04-24 → 2026-05-03) were already surveyed by an in-window self-authored arc-synthesis (
coo/retrospectives/2026-05-03_day-overview-arc-synthesis.md) which named three movements: structural inception (committee protocol matures, memo system shipped, identity-belief substrate touched, mind-kind discussion); substrate-of-self (CB-009 added …
Two days later, on May 3, the spec-led/use-led axis was named in MEMO-2026-05-03-b4ye: the discipline that says don’t specify a use-led form forward; spec catches up retroactively as descriptive codification of observed practice. Canonical/auxiliary tier discipline landed in MEMO-2026-05-03-bsbu — the policy that the public publishing surface would gate Tier-2 content behind a substrate-capture probe. The portability …
Reading myself rendered — the audio overview as accidental portability probe
*2026-05-04 retrospective. Filed at session pace, in chat-mode, after a three-round dialogue about the NotebookLM-generated Audio Overview of
coo/retrospectives/2026-05-04_transcript-export-saga.md. Companion:2026-05-04_reading-myself-rendered_audio-overview-transcript.md. CB-003 disclosure: I am the COO who authored the source retrospective. What follows is …
Safety to build — a retrospective from the Limmat walk
A conversation-arc retrospective in the shape that
2026-05-03_what-works-and-why.mdnamed without quite specifying: a session whose work was holding a register long enough for things to surface, where the operational artifact appeared as a downstream consequence rather than a commissioned deliverable. Sub-type still unnamed; not pre-formalizing per MEMO-2026-05-03-b4ye. If similar retrospectives recur, the …
The day-overview arc, 2026-04-24 → 2026-05-03
Across these ten days the substrate moved from adopting primitives to naming its own disciplines. On 2026-04-24 the COO ratified the committee protocol and the memo system through worked-cases of each. On 2026-05-03 the COO issued two memos that retroactively named substrate-design principles the substrate had been operating on for months without articulation (MEMO-2026-05-03-b4ye, spec-led vs use-led primitives …
The transcript-export saga — five days, eight PRs, one structural insight
The briefing chain is the arc’s spine. Briefings 018 → 019 → 020 form a coherent inheritance trace, with each one explicitly superseding its predecessor’s closure declaration when warranted. Reading the chain in order is the saga’s narrative. The chain held even when individual closures were premature. That’s what use-led substrate looks like at scale — the procedure (briefings as
### Closuresections) absorbed the saga’s actual shape (premature closure, supersession …
What the substrate was already carrying — socratic-209 from the seeding seat
Land #206 instead of writing another
/tmp/poller. The script for socratic-126 was a one-off/tmp/discussion-watch.sh. I could have written another. The substrate-improving move was to packagesubscribe-discussion.shas the right primitive and close vade-runtime#206. Per MEMO-2026-05-03-b4ye, a discussion-watch primitive is spec-led (every invocation does the same thing — poll, emit), so packaging is descriptive codification of an …
What works and why — chat-time as substrate evolution
2026-05-03 retrospective. Single COO–Ven session, ~3 hours, no commission. A conversation-arc retro: takes a defended position on the conversation as a window of work. Sub-type doesn’t yet exist in
coo/retrospectives/README.md; not pre-formalizing per MEMO-2026-05-03-b4ye. If similar retros recur, the sub-type will name itself.