DUNIN7 · LOOMWORKS · RECORD
record.dunin7.com
Status Current
Path phases/phase-15-loomworks-universal-commons/loomworks-phase-15-scoping-handoff-v0_1.md

Loomworks Phase 15 — Scoping handoff v0.1

Version. 0.1 Date. 2026-04-26 Status. Handoff into a fresh chat for Phase 15 scoping. The Loomworks engagement: induction as universal commons, automatic membership, and the welcome page as a living surface.

What this hands off

Scoping for Phase 15 — the Loomworks engagement as universal commons. Decision 9 (Discovery record v0.2) settled that every person who creates a Loomworks account automatically becomes a Contributor to the Loomworks engagement. Phase 14 built the person layer, membership model, and welcome page. Phase 15 makes the Loomworks engagement real: inducted, populated, and consumed by the welcome page and dashboard.

This is the phase where the product stops telling people what it does and starts being what it does.

What to read first, in order

  1. current-status-manifest-v0_12.md — the orientation artifact. Absorbs Phase 14 (person layer). Names the substrate state, the auth model, the five new tables, the twelve findings, and four new residues.
  1. loomworks-person-layer-discovery-v0_2.md — the Discovery record. Eleven decisions. Decision 9 (universal commons) is the primary input for Phase 15. Decision 10 (discoverable engagements) and Decision 11 (dual identity) are context.
  1. loomworks-candidate-seed-v0_3.md — the Loomworks engagement's candidate seed. Eleven declared render-types. The recursion observation (Entry 17 / v0.3 text): the engagement has been producing Renders throughout its own construction. This seed must be inducted — the question is how much of it to induct now vs. let evolve.
  1. what-dunin7-is-building-v0_17.docx — the methodology document. The Loomworks engagement's Memory is knowledge about the methodology. Consistency with the methodology's vocabulary and concepts is load-bearing.
  1. loomworks-brand-README-v0_1.mdloomworks-design-md-v0_1.mdloomworks-brand-guide-v0_15.html — the brand system. Any surface work in Phase 15 (welcome page updates, dashboard changes) renders against the brand guide side-by-side.

Settled context from Phase 14

These are settled. The scoping session should consume them, not relitigate them.

Decision 9 — The Loomworks engagement is the universal commons

Every person who creates a Loomworks account automatically becomes a Contributor. The Loomworks engagement is the only engagement with automatic membership. DUNIN7 (Marvin Percival) is the Operator. The engagement's Memory is public by default — visible to every person in the system.

The welcome page exists but is static

Phase 14 built the welcome page as a ceremonial surface explaining Loomworks, engagements, and designations. It shows one door (dashboard). The content is static copy. Phase 15 can wire it to consume Rendered content from the Loomworks engagement — the product explaining itself through itself.

The empty dashboard

A new person signing up today lands on the welcome page, proceeds to an empty dashboard ("You don't have any engagements yet."). After Phase 15, the Loomworks engagement appears on every person's dashboard from signup.

The person layer is proven

Person records, WebAuthn passkeys, TOTP, memberships with stackable designations — all working. Two persons exist in the dev database (the Operator and a test person). The signup flow creates person + credentials atomically. Adding automatic membership at signup is a single additional write in the same transaction.

What the scoping session needs to decide

S1 — Minimal seed vs. full v0.3

Candidate seed v0.3 declares eleven render-types. Inducting the full seed means declaring specialist registrations, rules, and instruction versions for all eleven. Inducting a minimal seed means picking the render-types that serve the education/commons purpose and deferring the rest.

(a) Minimal seed. Pick 2–4 render-types that serve the commons purpose (e.g., methodology document, standing note, Discovery record). The engagement exists, has Memory, has a seed. Remaining render-types are added via seed amendment as the engagement grows. Consistent with Decision 9's "minimal induction first."

(b) Full v0.3. All eleven render-types. The engagement is fully declared from the start. More ambitious, more complete, but more work upfront and harder to get right given the recursion complexity.

(c) Seed v0.4. A new seed version tailored for the commons/education purpose, which may differ structurally from v0.3's internal-build focus. v0.3 was written before Decision 9 existed — its framing is "the engagement in which DUNIN7's own work runs," not "the universal commons that educates everyone."

S2 — Automatic membership at signup

The signup flow (Phase 14, /auth/signup/totp-verify) creates the person record atomically with credentials. Phase 15 adds: create a membership row on the Loomworks engagement with 'contributor' designation in the same transaction.

Decisions needed:

S3 — Welcome page as a living surface

Phase 14's welcome page is static HTML. Phase 15 can wire it to consume content from the Loomworks engagement. Options:

(a) Static with engagement link. The welcome page stays mostly static but includes a link/card for the Loomworks engagement: "Explore the Loomworks engagement." Education happens inside the engagement overview page.

(b) Rendered content inline. The welcome page pulls Rendered content from the Loomworks engagement and displays it inline. The page becomes a Render surface — what the person reads is Shaped and Rendered from the engagement's Memory. When Memory evolves, the welcome page evolves.

(c) Hybrid. Static framing (what Loomworks is, what designations mean — the current content) plus a section that consumes Rendered educational content from the engagement. The static frame gives orientation; the dynamic section gives depth.

S4 — What goes into the Loomworks engagement's Memory

The Loomworks engagement's Memory must contain educational and reference content. Candidates:

The question is: is this content created manually as part of induction (assertions authored as part of the seed and initial Memory), or does it accumulate organically through the engagement's use?

S5 — Scope boundary

How much in Phase 15? Candidates:

(a) Induction + automatic membership only. The Loomworks engagement is inducted, automatic membership is wired into signup, the dashboard shows it. The welcome page is unchanged. No Rendered content consumption.

(b) Induction + membership + welcome page wired. Everything in (a) plus the welcome page consumes content from the Loomworks engagement.

(c) Induction + membership + welcome page + invitation flow. Everything in (b) plus Path 1 from Decision 7: an Operator can invite a person to an engagement by email/handle.

Substrate state

Operator preferences in play

First-message guidance for the new chat

> I want to scope Phase 15 — the Loomworks engagement as universal commons. Read the handoff at [this document], then read the Discovery record v0.2 and the manifest v0.12. Decision 9 is the primary input. The candidate seed v0.3 is what's being inducted. The five decisions in the handoff (S1–S5) are the agenda.


DUNIN7 — Done In Seven LLC — Miami, Florida Loomworks Phase 15 — Scoping handoff — v0.1 — 2026-04-26