Lobby DNA: Multi-Network Federation Requirements
Status: Post-MVP Design Document
Created: 2026-04-14
Authors: Nondominium project
Relates to: ndo_prima_materia.md, flowsta-integration.md, unyt-integration.md,
many-to-many-flows.md, ../requirements.md §2.3
Table of Contents
- Purpose and scope
- Background: the multi-network problem
- Architecture overview
- Lobby DNA requirements
- Group DNA requirements
- NDO DNA extension requirements
- Cross-cutting requirements
- Governance layers
- Integration requirements
- Current state vs planned enforcement
1. Purpose and scope
This document specifies requirements for the Lobby DNA layer: the multi-network federation infrastructure that allows Nondominium agents to discover, join, coordinate around, and compose multiple independent NDO networks (each its own DHT) through a unified entry point.
It defines three new DNA-level components and one extension to the existing NDO DNA:
- Lobby DNA (
zome_lobby): public registry for agents and NDO descriptors. - Group DNA (
zome_group): per-group coordination space (invite-only, per-DHT). - NDO DNA extensions: new entry types in
zome_gouvernancefor hard links, contributions, and smart agreements.
This document is the normative requirements anchor. The companion architecture specification
lives in documentation/specifications/post-mvp/lobby-architecture.md.
2. Background: the multi-network problem
The MVP NDO hApp operates as a single DHT: all agents, resources, and governance events share one network. As OVN (Open Value Network) communities grow, several problems emerge:
- An agent participating in multiple OVN communities (Sensorica, Open Source Ecology, etc.) must manage separate identities and has no unified workspace for coordinating across them.
- A Project NDO (e.g. an electronic device) needs to formally incorporate component NDOs (power supply, enclosure) in a way that is intrinsic to the DHT and OVN-license compliant.
- Communities need discovery mechanisms that are not a public free-for-all (spam risk) but also not so private that new agents cannot find communities to join.
- Work done at the group coordination level (informal logs) must have a clear pathway to becoming a validated Contribution recorded on the NDO DHT.
These gaps are addressed by the Lobby DNA layer defined in this document.
3. Architecture overview
Three-layer DHT model
Lobby DHT (public registry, canonical network_seed)
|
|-- Group DHTs (per-group, invite-only, one DHT per group)
| |-- Work logs, soft links, membership
|
|-- NDO DHTs (per-NDO, constitutional, one DHT per NDO)
|-- Resources, events, contributions, hard links, smart agreements
Governance hierarchy (strictly ordered)
NDO governance (constitution, supersedes all)
|
Group governance (coordination, agents only)
|
Lobby (no governance, permissionless registry)
Two link tiers
Soft links live in the Group DHT:
- Created by any group member, permissionless
- Invisible to the target NDO
- Represent planning and coordination intent
- Subject only to group governance
Hard links (NdoHardLink) live in the NDO DHT:
- Created only on validated EconomicEvent Fulfillment
- Require Accountable Agent authorization
- Represent structural reality (what has actually been incorporated)
- Intrinsic to the NDO, OVN-license compliant
- Immutable and permanent
Agent identity layers
One physical agent produces multiple pubkeys across DHT layers. The Lobby, Group, and NDO layers each hold a distinct identity record for the same person:
LobbyAgentProfile(Lobby DHT) — ecosystem-wide public handle. One per agent, never modified by NDO joins. Stable cross-community identity anchor.Person(NDO DHT,zome_person) — constitutional identity within one specific NDO. A freshAgentPubKeyis created per NDO join; thePersonentry records roles, PPRs, and private data for that community.GroupMembership.ndo_pubkey_map(Group DHT) — the MVP bridge linkinglobby_pubkeyto the per-NDO pubkeys, enabling cross-DHT identity resolution without Flowsta. Post-MVP, FlowstaIsSamePersonEntrysupersedes this (REQ-LOBBY-INT-01).
For the full identity-layer diagram and implementer guidance, see
documentation/specifications/post-mvp/lobby-architecture.md §2 "Agent identity layers".
Groups vs organization-NDOs
Groups and organization-NDOs are distinct concepts that must not be conflated:
- A Group (Lobby layer) is a coordination space for agents. It has no
NondominiumIdentity, no Layer 0 lifecycle, no PPRs, and cannot hold resource custody. It governs agents only: membership, work logs, and soft links. - An organization-NDO (NDO layer) is a
NondominiumIdentityrepresenting a collective entity. It has its own lifecycle,Agreement,AccountableAgents, and can accumulate Contributions and reputation. Post-MVP it can hold resource custody (AgentContext, REQ-AGENT-02). - A group typically creates and coordinates around an organization-NDO but does not become it. The two are always separate entities at separate DHT layers.
- An agent does not need to be in a group to contribute to an organization-NDO. Group membership governs group-layer coordination only; NDO participation is governed by the NDO's own rules.
For the comparative table and worked example, see
documentation/specifications/post-mvp/lobby-architecture.md §2 "Groups vs organization-NDOs".
4. Lobby DNA Requirements
4.1 Agent profile
- REQ-LOBBY-01: Any agent may register a public
LobbyAgentProfilein the Lobby DHT containing a handle, optional avatar, and optional bio. Registration is permissionless. - REQ-LOBBY-02: An agent may update only their own profile. Profiles cannot be deleted (permanent identity anchors in the Lobby DHT).
- REQ-LOBBY-03: Agent profiles are discoverable via a global anchor
(
Path("lobby.agents")).
4.2 NDO descriptor registry
- REQ-LOBBY-04: Any agent may register an
NdoDescriptorentry in the Lobby DHT for an NDO they initiated. The descriptor contains: NDO name, DnaHash, network_seed, Layer 0 identity hash, lifecycle_stage, property_regime, resource_nature, and description. - REQ-LOBBY-05: Only the registrant may update a descriptor. Descriptors cannot be deleted (mirroring the permanent nature of NondominiumIdentity in the NDO DHT).
- REQ-LOBBY-06: The only mutable field on a descriptor after registration is
lifecycle_stage, which mirrors transitions on the NDO'sNondominiumIdentity. - REQ-LOBBY-07: Descriptors are discoverable via global anchors and categorization paths by lifecycle stage, resource nature, and property regime.
- REQ-LOBBY-08: Anti-spam: registration requires a valid
DnaHashreferencing an actual NDO cell. Ghost registrations (no deployed DNA) are detectable by peers who attempt to connect and find no DHT.
4.3 Discovery model
- REQ-LOBBY-09: NDO descriptors are publicly discoverable in the Lobby DHT without any group membership or invitation.
- REQ-LOBBY-10: Groups are NOT publicly discoverable. Group membership is invite-only. Agents discover groups through personal connections and out-of-band invite codes.
- REQ-LOBBY-11: Canonical Lobby network seed (
"nondominium-lobby-v1") is hardcoded in the hApp bundle to ensure all deployments share one global registry.
5. Group DNA Requirements
5.1 Group structure
- REQ-GROUP-01: Each Group occupies its own DHT, instantiated with a unique network seed (the invite code or a random seed on creation). This provides natural isolation and makes group creation computationally non-trivial (anti-spam).
- REQ-GROUP-02: On first launch, an agent's conductor automatically creates a "group-of-one" personal workspace. This solo group can later expand to accommodate new members without any structural migration.
- REQ-GROUP-03: Groups are flat: no recursive group nesting, no groups of groups. The Lobby is the only shared coordination layer above groups.
- REQ-GROUP-04: A
GroupDescriptorentry is created by the founding agent (progenitor) and is immutable after creation.
5.2 Membership
- REQ-GROUP-05: Group membership is invite-only. Joining requires a valid invite code (or, when running inside Moss, the Moss invite system).
- REQ-GROUP-06: A
GroupMembershipentry records the joining agent's Group DHT pubkey and their per-NDO pubkey map (Vec<NdoPubkeyEntry>), following the MossAppletToJoinedAgentidentity pattern. - REQ-GROUP-07: An agent may update their
ndo_pubkey_mapafter joining a new NDO DHT (i.e. after installing a new NDO clone cell). This is the MVP cross-DHT identity bridge. - REQ-GROUP-08: Group members can look up the NDO-DHT pubkey of any other group member for a given NDO, enabling cross-DHT agent resolution without Flowsta (MVP).
5.3 Work logs
- REQ-GROUP-09: Any group member may create a
WorkLogentry referencing an NDO, a process context, a description, and optional effort hours. Work logs are informal and pre-contribution; they are invisible to the NDO. - REQ-GROUP-10: Work logs serve as the group-level input to the contribution validation
pipeline: an AccountableAgent of the NDO reviews the work log and, if accepted, promotes
it to a
Contributionentry on the NDO DHT.
5.4 Soft links
- REQ-GROUP-11: Any group member may create a
SoftLinkentry pointing to any NDO, without requiring that NDO's permission. Soft links are invisible to the target NDO. - REQ-GROUP-12: A soft link has one of three purposes:
Incorporation(planning to structurally incorporate the target NDO into a parent NDO),Use(using the NDO as a tool or equipment), orMonitoring(observing the NDO lifecycle). These map to VfAction valuesCombine | Use | Citerespectively (see architecture specSoftLink.planned_action). - REQ-GROUP-13: A soft link may optionally reference a
Commitmentaction hash in the target NDO's DHT, associating the planning intent with a formal economic commitment. - REQ-GROUP-14: When an Incorporation soft link's associated Commitment is fulfilled (i.e. a hard link is created on the NDO DHT), the group deletes the soft link and displays it as "promoted" in the UI.
- REQ-GROUP-15: Only the link creator or the group progenitor may delete a soft link.
5.5 Group governance
- REQ-GROUP-16: Groups have their own governance rules, stored as
GroupGovernanceRuleentries. MVP: governance rules are flat string key-value pairs. - REQ-GROUP-17: Group governance governs group-internal concerns only: membership, coordination norms, and soft link management. Group governance does NOT govern contributions, benefit distribution, or smart agreements (these belong to NDO governance).
- REQ-GROUP-18: NDO governance supersedes group governance. If an NDO's governance rules conflict with a group's rules, the NDO rules take precedence for any action on that NDO.
6. NDO DNA Extension Requirements
6.1 Hard NDO-to-NDO links
- REQ-NDO-EXT-01: The NDO DNA (zome_gouvernance) shall support a
NdoHardLinkentry type representing a permanent, validated structural relationship between two NDOs. - REQ-NDO-EXT-02: A
NdoHardLinkmay only be created by an agent holding theAccountableAgentorPrimaryAccountableAgentrole in the originating NDO. - REQ-NDO-EXT-03: Every
NdoHardLinkmust reference a validEconomicEventfulfillment hash in the originating NDO's DHT. This fulfillment is the cryptographic proof that the incorporation actually occurred. - REQ-NDO-EXT-04:
NdoHardLinkentries are immutable: no updates or deletions are permitted after creation. Hard links represent permanent historical reality (OVN license requirement). - REQ-NDO-EXT-05: Three
NdoLinkTypevalues are supported:Component(target is a structural component of the source),DerivedFrom(source was forked/adapted from target),Supersedes(source replaces target in the network). - REQ-NDO-EXT-06: Hard links are publicly discoverable on the NDO DHT via
NdoToHardLinksanchor links and filterable by type.
Design note — two-stage NdoHardLink deployment
NdoHardLink uses the same struct in both stages. No breaking change occurs between Stage 2
and Stage 3. The fields to_ndo_dna_hash: DnaHash and to_ndo_identity_hash: ActionHash
change only in value, not in meaning:
Stage 2 (pre-Lobby DNA, clone_limit: 0): Both the source and target NDOs live in the
same nondominium cell. to_ndo_dna_hash equals the shared nondominium DNA hash.
to_ndo_identity_hash is the target NDO's NondominiumIdentity action hash. Resolving the
link requires no cross-cell call — both hashes are local to the same DHT.
Stage 3 (post-Lobby DNA, clone_limit: 1024): Each NDO has its own cloned cell with a
unique DnaHash (because each clone has a unique network_seed). to_ndo_dna_hash is the
target NDO cell's unique hash. The UI resolves the link by connecting to
CellId(to_ndo_dna_hash, agent_pubkey) and calling get_ndo(to_ndo_identity_hash). The
Lobby's NdoDescriptor provides a human-readable index but is not required for resolution.
See documentation/specifications/post-mvp/lobby-architecture.md §6.1 for the full entry
struct and §7.1 for the incorporation pipeline.
6.2 Contributions
- REQ-NDO-EXT-07: The NDO DNA shall support a
Contributionentry type representing a peer-validated record of work done on the NDO. - REQ-NDO-EXT-08: A Contribution is created by any agent but must be validated by at
least one
AccountableAgentof the NDO. Thevalidated_byfield records all validating agents. - REQ-NDO-EXT-09: A Contribution may optionally reference a
WorkLogentry in a Group DHT (stored asDnaHash + ActionHash) for audit purposes. This reference is not validated on-chain (cross-DHT references are informational only). - REQ-NDO-EXT-10: When a work log is validated as a Contribution, the contributing
agent's pubkey is discoverable via
AgentToContributionslinks, making them appear in the NDO's contributor list. - REQ-NDO-EXT-11: A Contribution may optionally reference an
EconomicEventfulfillment hash when the work resulted in a structural change (i.e. hard link creation).
6.3 Smart agreements
Entry type name: Agreement (aligned with VF vocabulary vf:Agreement); referred to as
"smart agreements" in this document to emphasise their benefit-distribution role.
- REQ-NDO-EXT-12: The NDO DNA shall support an
Agreemententry type defining benefit distribution rules for the NDO. Smart agreements are created and updated only by agents holding theAccountableAgentrole. - REQ-NDO-EXT-13: A
Agreementcontains a list ofBenefitClauseentries, each specifying a beneficiary (agent or component NDO), a share percentage, and a benefit type (Monetary,GovernanceWeight, orAccessRight). - REQ-NDO-EXT-14: Smart agreements are versioned. Each update creates a new entry linked
to the previous via
AgreementUpdates. The full version history is preserved for audit purposes. - REQ-NDO-EXT-15: When a
NdoHardLinkof typeComponentis created, the originating NDO's smart agreement should be updated to include a cascade benefit rule to the component NDO, implementing the OVN license benefit cascade. (Automated post-MVP via Unyt; manual in MVP.) - REQ-NDO-EXT-16:
BeneficiaryRefsupports bothAgent(AgentPubKey)andNdoComponent { ndo_dna_hash, ndo_identity_hash }, allowing benefits to flow recursively through the NDO composition graph.
7. Cross-cutting Requirements
7.1 Dual deployment
- REQ-XCUT-01: The Nondominium hApp shall run as a standalone application (Lobby DNA + Group DNA + NDO DNA, all managed by one conductor) AND as a single Moss/The Weave Tool applet (Nondominium Lobby appears as one tile in the Moss sidebar; Moss handles agent invites and identity at the surface level).
- REQ-XCUT-02: The NDO DNA is not modified between standalone and Moss deployments. The Lobby and Group DNAs are either used directly (standalone) or delegated to Moss equivalents (Moss integration).
7.2 Resources are organization-agnostic
- REQ-XCUT-03: NDO resources (EconomicResource, NondominiumIdentity) are groups- and organizations-agnostic. A Group does not own an NDO. Multiple groups may soft-link to the same NDO. The NDO's governance is independent of any group that references it.
7.3 Solo agent model
- REQ-XCUT-04: A solo agent who has not joined any multi-member group appears in the UI as an individual Agent. Internally, they operate via an auto-created group-of-one. This group-of-one can grow to accommodate new members without any structural migration.
8. Governance Layers
8.1 NDO governance (constitutional layer)
NDO governance is defined by the NDO's GovernanceRule entries and the AccountableAgent
role set. It governs:
- Who may create hard NDO-to-NDO links (AccountableAgents only)
- Who may validate contributions (AccountableAgents only)
- Who may create and update smart agreements (AccountableAgents only)
- What EconomicEvent actions are valid for the NDO
- NDO lifecycle stage transitions
NDO governance supersedes group governance for all actions that affect NDO state.
8.2 Group governance (coordination layer)
Group governance is defined by GroupGovernanceRule entries. MVP: flat key-value rules.
It governs:
- Who may join the group (invite code validation)
- Who may create or delete soft links
- Coordination norms and cultural rules
Group governance does NOT govern contributions, benefit distribution, or smart agreements.
8.3 Lobby (no governance)
The Lobby DHT is permissionless. Any agent may register a profile or NDO descriptor. The only implicit governance is the requirement that a registered NDO descriptor references an actual deployed DNA (discoverable by peers who attempt to connect).
9. Integration Requirements
9.1 Flowsta (post-MVP, Phase 1+3)
- REQ-LOBBY-INT-01: Post-MVP, the MVP cross-DHT identity mechanism (per-NDO pubkey
map in
GroupMembership) shall be superseded by FlowstaIsSamePersonEntryattestations, enabling cross-conductor and cross-device identity federation. - REQ-LOBBY-INT-02:
GroupMembership.ndo_pubkey_mapis forward-compatible: the Flowsta DID can be added as an additional field without breaking existing records. - See
flowsta-integration.mdfor full Flowsta requirements (REQ-NDO-CS-12 through CS-15).
9.2 Unyt (post-MVP)
- REQ-LOBBY-INT-03: Post-MVP,
Agreementrules withBenefitType::Monetaryshall be activated via Unyt: validated Contributions trigger RAVE events, and NdoHardLink creation triggers benefit cascade through the NDO composition graph. - REQ-LOBBY-INT-04: The Lobby shall support monetary contributions to NDOs via Unyt (agents can donate to an NDO from the Lobby without joining a group).
- See
unyt-integration.mdfor full Unyt requirements.
9.3 Many-to-many flows (post-MVP)
- REQ-LOBBY-INT-05: NdoHardLink creation currently requires a single AccountableAgent signature. Post-MVP, multi-party consent for structural incorporation shall be supported per REQ-MMF-* (many-to-many-flows.md).
10. Current State vs Planned Enforcement
As of the Nondominium MVP codebase:
- Lobby DNA, Group DNA, and NDO DNA extensions are not yet implemented.
- The existing NDO DNA (
zome_person,zome_resource,zome_gouvernance) provides the constitutional layer for a single NDO DHT; the multi-network federation layer is absent. NdoHardLink,Contribution, andAgreemententry types are specified but not yet present in the WASM.- The companion architecture specification
(
documentation/specifications/post-mvp/lobby-architecture.md) provides the full schema, coordinator API, validation rules, sequence diagrams, and ADRs for implementation.
For OVN-scale motivation (bridge nodes, multi-community agents, holonic layers) and the
normative NDO requirements that this document extends, see ndo_prima_materia.md §6, §8,
and §11. For the companion architecture design, see
documentation/specifications/post-mvp/lobby-architecture.md.