DUNIN7 · LOOMWORKS · RECORD
record.dunin7.com
Status Current
Path discovery/loomworks-person-layer-discovery-v0_2.md

Loomworks person layer — Discovery record v0.2

Version. 0.2 Date. 2026-04-26 Status. Discovery record. v0.2 adds two decisions from the Phase 14 scoping session: the Loomworks engagement as universal commons (Decision 9) and discoverable engagements (Decision 10). Decisions 1–8 carried forward from v0.1 without change. Provenance. Claude.ai sessions, 2026-04-25 (Decisions 1–8), 2026-04-26 (Decisions 9–10). Operator: Marvin Percival.


The question that opened this

After Phase 13 (four UI surfaces) and Phase 13A (real TOTP) were complete, the question arose: how does a new Operator, Contributor, or Domain Expert get credentials? The answer was: they can't — not through the product surface. Phase 13 built a single-Operator product. The substrate has no concept of a "person" that exists outside of engagement-scoped contributor rows.

This led to a structural inquiry about identity, onboarding, designations, domains, and recovery.


Decision 1 — The person layer comes first

Prior position. Phase 13 deferred identity to a future phase. The substrate has only engagement-scoped contributor rows — no cross-engagement identity, no "person."

Settled position. The person layer is the foundation. A person must exist before they can hold memberships, receive invitations, or carry designations. Build order:

  1. Person layer — a human being exists once in the system.
  2. Membership layer — a person's relationship to a specific engagement, with stackable designations.
  3. Invitation — an Operator invites a person to an engagement.

The person layer is the next phase.

Decision 2 — Self-service is the front door

Considered and rejected: invitation-only. If the first touchpoint always requires an invitation from someone already in the system, then DUNIN7 is the only authority that can bring people in. The Operator explicitly rejected this — "DUNIN7 cannot be the only authority that can invite someone."

Settled position. Anyone can come to Loomworks and create an account. Self-service signup is the first interaction. A person arrives, registers, and exists — before they have any engagements, before anyone invites them anywhere.

What signup collects:

What the person is encouraged to do: register at least two passkeys on separate devices. The product surface should say this clearly.

Decision 3 — The welcome page, not the empty dashboard

Prior position (implicit in Phase 13). After sign-in, the person lands on the dashboard.

Settled position. After first-time signup, the person lands on a welcome page — not the dashboard. This is an arrival, not a workspace. The welcome page is ceremonial (vertical lockup, same register as the landing page) and tells the person:

The welcome page is the product's first conversation with a person who has chosen to be here.

Decision 4 — Designations are per-engagement and stackable

Prior position. The substrate has commit_authority (boolean) as the only role signal on contributor rows.

Settled position. Designations are:

The three current designations:

Key insight from the Operator: "Operators, Contributors and Domain Experts may all be the same person. Therefore the person should be able to carry more than one (3+?) designation."

Decision 5 — Domains are person-declared, AI-assisted, Operator-recognized

Considered and rejected:

Settled position: (c) Person-declared, AI-assisted, Operator-confirmed.

The flow:

  1. A person declares a domain in their own words (free text).
  2. An AI agent examines the existing domain graph — all previously declared and recognized domains across the system.
  3. The agent surfaces connections: overlaps, sub-domain relationships, near-duplicates.
  4. The agent pre-populates a domain description and presents it to the person for approval.
  5. The person reviews: adopt an existing domain, declare theirs as a sub-domain, edit the description, or insist on a new distinct domain.
  6. The declaration is committed.
  7. Recognition comes later, per-engagement, from Operators. An Operator on an engagement can recognize a person's declared domain expertise within that engagement.

Key principles:

Decision 6 — Account recovery: your credentials, your responsibility

Considered and rejected:

Settled position: (a) — the account is unrecoverable if all credentials are lost.

The system has no backdoor. The person is responsible for their credentials. Multiple passkeys on separate devices, TOTP in an authenticator app, recovery codes in a password manager or printed — all standard tools that already exist (LastPass, 1Password, etc.). No need for Loomworks to build a secure lockbox.

The product surface makes the stakes clear at signup:

If all are lost, the person's engagements, memberships, and recognitions are orphaned. An Operator on each engagement can remove the orphaned membership and invite the person back under a new identity — but the history and recognition belong to the old identity.

Decision 7 — Three onboarding paths (built as engaged)

Three paths for how a person arrives in an engagement, built in order as each is needed:

Path 1 — Self-service signup + invitation (build first). A person creates their own account (self-service). An Operator on an engagement invites them by email/mobile/handle. The person accepts and is added to the engagement with the designations the Operator specified. If the person already has a Loomworks account, the new membership is added to their existing identity.

Path 2 — Org SSO. An organization connects its IdP. People from that org sign in with SSO and are provisioned into the engagements their org participates in. This is what "Organizational sign-in" on the landing page becomes when it stops being a toast.

Path 3 — Domain-based join (future). If an engagement is tagged with a domain, anyone with a matching declared domain can request to join. Lower priority — Loomworks engagements are considered and deliberate, not open-door.

Invite authority is distributed. An Operator on an engagement can invite people into that engagement. They don't need DUNIN7's approval. The system provides the mechanism; the Operator exercises the judgment.

Decision 8 — What happens to the existing substrate

Migration. The four existing contributor rows (Administrative, PartsPilot, FieldPilot, Agricultural Engagement) need to be repointed:


Decision 9 — The Loomworks engagement is the universal commons (new v0.2)

Provenance. Phase 14 scoping session, 2026-04-26.

The question. The welcome page (Decision 3) was scoped as a ceremonial arrival with static content. The Operator asked: what if the welcome page is a gateway to education about Loomworks — possibly an engagement that describes Loomworks and educates and answers questions via its Shaping and Rendering?

Considered and rejected: static welcome page. A fixed page of explanatory copy would tell people what Loomworks does. But telling is not demonstrating. Static copy doesn't evolve as the community's understanding deepens, and it doesn't give participants a vehicle to contribute what they've learned.

Settled position. The Loomworks engagement is the universal commons. Every person who creates a Loomworks account automatically becomes a Contributor to the Loomworks engagement. This is the only engagement with automatic membership — all other engagements require invitation, SSO provisioning, or (future) domain-based join.

What this means structurally:

Why this is more than a feature decision. The product's pitch is engagement memory that compounds. If the first thing a new person encounters is a living engagement that educates them through Shaped and Rendered content — content that other participants have contributed to and that evolves — the product is being what it does, not telling them. The person who struggled with their first seed induction and figured something out becomes the person whose contributed knowledge helps the next person. That's the compounding thesis in its purest form: compounding about the system itself, across every person who uses it.

The recursion is deliberate. The Loomworks engagement's subject matter is the system it lives inside. Its Memory is knowledge about how Memory works. Its Shapings are shapings about how Shaping works. The recursion observation (manifest Entry 17) is not a curiosity — it is the defining characteristic.

Induction approach. Induct with a minimal seed — enough to serve the education surface and receive contributions — not the full eleven render-types from candidate seed v0.3. Let the engagement grow into its full complexity through use. The seed evolves as the engagement evolves. Build the person layer (foundation) first; the Loomworks engagement induction is the first thing that stands on that foundation.

Decision 10 — Discoverable engagements (new v0.2)

Provenance. Phase 14 scoping session, 2026-04-26.

The question. The Operator asked: beyond automatic membership (Decision 9, unique to the Loomworks engagement), could an engagement present itself to potential contributors as available for membership?

Considered and set aside for now: fully open engagements. Decision 7 states "Loomworks engagements are considered and deliberate, not open-door." Open membership without Operator intent would violate this principle.

Settled position. An Operator can choose to make an engagement discoverable. The Operator's choice to open the door is itself a considered, deliberate act. People who encounter a discoverable engagement can join — but the terms of joining are set by the Operator.

What this means structurally:

Not in Phase 14 scope. Discoverable engagements are a future-phase capability. But Phase 14 design input: the engagement schema should include a visibility field (private/discoverable), and the membership table's designation model should be extensible enough that observe-only can be added without a schema rework.

Relationship to Decision 7 (three onboarding paths). This is compatible, not contradictory. The three paths describe how a person arrives in a specific engagement. Discoverability is a fourth path: the engagement presents itself, the person chooses to join. The Operator's deliberate choice to make the engagement discoverable is what distinguishes this from open-door — the door is open because someone decided to open it, not because it was never closed.


What this Discovery does not settle

These are scoping decisions for the next session.


Platform research grounding

The person-layer and membership-layer separation is the universal pattern across Slack, Linear, Notion, GitHub, and every multi-tenant SaaS platform examined. The consistent structure: a person exists once (one identity, one set of credentials), memberships are scoped to workspaces/organizations, roles/designations live on the membership. Loomworks maps naturally: engagement = workspace, membership = per-engagement relationship, designations = per-membership role set.

All examined platforms support self-service account creation as the front door. Invitation is how people arrive in specific workspaces, not how they enter the system.


Changelog

v0.1 (2026-04-25). Initial Discovery record. Eight decisions from the Phase 13/13A close-out session.

v0.2 (2026-04-26). Two decisions added from the Phase 14 scoping session:


DUNIN7 — Done In Seven LLC — Miami, Florida Loomworks person layer — Discovery record — v0.2 — 2026-04-26