Version. 0.1 Date. 2026-06-02 Provenance. Emerged from a seed-investigation session. Operator: Marvin Percival. The principle is the Operator's; the construction history and seams are evidence gathered from the engine and operator-layer code this session. Status. Standing note. A lens for all future work that touches the engine ↔ Companion boundary — seed-review first, but not only. Candidate for absorption into the methodology document, and possibly the candidate seed / architecture spec as a commitment (see §4). Not a design and not a build: this note does not specify the seed-review surface.
A principle surfaced while investigating how the seed is reviewed: the engine is a durable, protocol-grade core, and the Companion is one wrapper over it. The boundary between them is load-bearing and must be protected, not erased. This note records the construction history that produced the principle, the seams that history left behind, and the principle itself as the lens future work is measured against.
It is written because the seed-review investigation kept running into the same shape: capabilities that belong to the engine and capabilities that belong to a wrapper were entangled at the wire, and the temptation each time was to fuse the layers to "fix" it. The principle says the opposite — fix the shape of the boundary, never the existence of it.
The Loomworks engine was built first. The structured seed, the six fields (R-A5–R-A11), the induction loop, the candidate→committed lifecycle, the governing substrate — these were worked out, argued through, and agreed as the logically-solid core. The Companion came afterward, as a wrapper over that engine whose job is to make operator interaction humane: a conversation where there had been a form.
The evidence found this session:
phases/phase-31-conversational-engagement-creation/phase-31-cr-conversational-engagement-creation-v0_1.md, §1) states: "Phase 31 refactors the engagement creation surface from a form into a conversation. The current creation flow (Phase 25) presents the Operator with a six-field seed form that assumes knowledge the Operator does not have. Phase 31 replaces it with a conversational interface — the first surface built under the companion identity." The form pre-dated the conversation. The conversation did not replace the engine; it wrapped the engine's seed and demoted the form to a fallback ("Surface B, the proficient-operator path"). The structured six fields the form edited are exactly the engine's seed fields — the wrapper changed how a human reaches them, not what they are.engine: api/routers/seed_conversation.py) co-produces, every turn, both a structured seed_fields object and a prose brief (seed_document), plus a completion percentage and a status. The operator-layer translator (engine: orchestration/translators.py, the Phase 31→Operator mapping) passes seed_document → draft_specification and status → readiness, and drops seed_fields and completion_percentage entirely — they are not even fields on the operator layer's ConverseResponse type. The operator layer today sees only the prose. The structured representation is produced by the engine and discarded at the boundary.seed_fields and a re-rendered brief together — the two representations stay in sync because one call co-produces both. But in Sub-phase A there is no structured Seed object and no induction yet — the conversation endpoint never calls draft_seed or induct_seed. The structured Seed is first created after the brief is finished, at the brief-commit step (engine: api/routers/seed_commit_from_brief.py, Phase 54), which then runs induction. In that post-brief induction phase (Sub-phase B), refinement today is structured-field editing (the Workshop form's amend-and-re-induct loop with findings anchored to fields) — not a narrative round-trip. The bridge — refine the narrative → the inducted structured seed updates → the narrative re-renders, with findings in view — exists in no repo.These are not bugs. They are the natural result of two layers built at different times for different purposes — a core built to be logically solid, and a wrapper built later to be humane. Stated as seams, not faults:
Each seam is a place where the boundary's shape is imperfect — where the engine isn't yet exposing, through a clean interface, exactly what a wrapper needs. None of them is a reason to fuse the layers.
The engine is the durable core; the Companion is one wrapper; the boundary between them is load-bearing and must be protected.
This is the same commitment Loomworks already holds one level down, restated one level up. The Loom protocol must survive changes in technology; protocol-over-implementation means the durable thing is the agreed substrate, not any program that speaks it. Here: the engine is protocol-grade substrate, and the Companion is an implementation choice over it. The Companion is to the engine what an implementation is to the protocol — valuable, current, replaceable.
Stated as the lens, not as a spec. The seed-review surface is not designed here.
Any future seed-review work is measured against this: does it keep the engine able to survive a different wrapper? If a proposed change would make the engine assume this Companion, it is moving the boundary the wrong way.
Yes, plausibly — flagged, not acted on. "The engine must survive any wrapper" reads like a commitment, not merely an observation: it is a constraint on all future construction, of the same kind as the constraints already in the candidate seed (operator-authority over state transitions; corrections preserved not smoothed; built on Loom Protocol; the protocol must survive changes in technology). It is a sibling of the existing Shaping/Render boundary standing note — another load-bearing internal boundary the system commits to keeping clean.
Recommended handling:
candidate-seeds/loomworks/loomworks-candidate-seed-v0_9.md or architecture/loomworks-architecture-specification-v0_4.md in this pass.
Standing note. No engine or wrapper code changed. No seed-review surface designed. Filed in loomworks-record/standing-notes/. Sibling to loomworks-standing-note-shaping-render-boundary-v0_1.md. Pairs with the seed-investigation findings and the title-review-at-induction design note (investigations/loomworks-title-review-at-induction-design-v0_1.md).