Builder First, Before Sharing
Why the first product loop proves one Builder making a versioned Document, and what is deliberately outside that proof
Recorded 2026-09-12 from the retired MVP sequencing plan (2026-08-14). The work queue is the Backlog parent task for the Builder-first MVP and its children; this page keeps the ordering argument so those tasks can point at a settled page rather than a plan.
In plain terms: before the firm lets clients fill in a precedent, one lawyer must be able to draft, version and reopen it alone. Sharing, payment and the library come after that proof, on purpose.
The loop being proved
Create a Working Document → add and edit its Modules and Blocks → save and reopen its current version → see the whole Document as a Folio made of Stacks → ask Goldie to propose a structural change → review and accept or reject it. This proves a Builder can make one coherent, versioned Document out of reusable structural units. It does not yet claim the Document can be shared, safely filled by a Maker, or promoted to a Library. That later lifecycle (save an immutable version → copy to a private or shared Library → discover a Folio → branch or insert a pinned copy → retain provenance) is roadmap, not afterthought.
Sequencing decisions
- Creation before sharing. The first requirement creates a private Working Document for the development Builder: no share link, Library visibility, role picker or external identity provider.
- Pre-auth ownership is browser-scoped, but the browser never chooses a
principal. The server derives the actor from the session; no write
accepts
createdByor a caller identity from the client. Authentication replaces that seam rather than rewriting each write. Settled at Root Documents Are Created Through an Interim Browser Door. - A Document is a Folio. The outer Document sits on the same Stack system as Module and Block Folios, never a second hierarchy.
- Goldie proposes; a Builder accepts. Structural change runs through the Proposed Change lifecycle; Goldie never gets a direct structural write a Builder could not exercise and review.
- Promotion is copy-write. A new Library Folio carries stable identity and
derivedFrom…lineage; nothing moves a Working Document or lets a later Library edit alter a live matter. Since 2026-09-09 the journey itself is owned by the Folio Library journey. - Roles are enforced on the server before shared use. The identity, access-record and capability tasks settle before a Maker or Reader touches real documents.
Out of scope for the first Builder proof
Sharing, invitations, Reader comments and Maker access; payments, final export and external integrations; a broad Library search before its discovery tracer; autonomous Goldie structural writes; broad schema or Convex reorganisation unrelated to the vertical slice. Each becomes eligible only after identity, access and the copy-write lifecycle have passed the repository's verification gates.
One Block Notification Channel, Two Error Audiences
Why a refused block edit crosses the wire as structured ConvexError data rather than a stringified throw, and why the agent's in-band writeModule outcomes are never merged into the same channel
Builder Goldie Lives in the Side Panel
Owner ruling 2026-09-28 — the Builder talks to Goldie in the same fixed side panel a Maker has, about whatever is selected; one conversation per document, each turn anchored to the selection at send time; the per-card Goldie trigger and floating panel are gone.