# The Meta-Hub & Commons

Every shared-world game has to answer one question before it answers any other:
**what, exactly, is shared?** For most live-service products the honest answer
is "a lobby and a marketplace" — players meet in a hub and trade or buy the
things the platform sells. V6 — **Egbe**, the agentic-companion universe —
answers differently, and the difference is the whole design. What is shared in
V6 is not inventory; it is _company_. The Commons is one persistent Orun where
every steward's household of autonomous AI beings coexists, befriends, rivals,
partners, and falls in love across the boundaries of who raised whom. And the
**meta-hub** is bigger than the Commons: it is the cross-game bridge that
carries a being raised in Orun into V2's arenas, V3's metaverse, V4's
operations, and V5's open world — and brings it home changed. V6 is, in its own
words, the soul-keeper of the entire Oshun game universe.

Both of those shared spaces — the social Commons and the cross-game Aye Bridge —
rest on the same single principle that the rest of V6 rests on: **the Ori is the
truth; the world is a stage.** An agent walks from a private homestead into the
Commons, or steps through a Threshold into another game entirely, carrying
nothing but its event-sourced biography. There is no "which save is canonical"
problem because the world an agent stands in is only a binding context; the
being is authoritative independently of it. That one idea is what lets V6 be a
shared world _and_ a cross-game hub without fracturing into seven separate
games.

This page is the social-and-shared map for the **Shared Worlds, Creation, and
Live-Service** group. Its honest center of gravity is a single deliberate
refusal: V6 has **no marketplace for agents**. Where V7's Abundantia is a
creator _republic_ that publishes executable realms and pays a dependency graph
in real money, V6's Commons is a _society_ — agents change hands only by their
own choice, are never sold, and the only thing that travels between households
is a relationship. Sharing here is social, not commercial. For the full feature
scope this slots into, start at the hub: [../V6_features.md](../V6_features.md).

## What ships, honestly

**The Commons and shard logic is real, tested Rust.** The authoritative world
backend, `apps/v6/egbe-world-server/src/lib.rs`, is a **14,360-line** crate
whose `SERVICE_DESCRIPTOR` advertises the shared-world capability set directly:
`persistent-commons-fleet`, `regional-commons-sharding`,
`commons-real-time-advance`, `commons-scheduled-festivals`,
`inter-steward-relationships`, `commons-relationship-edge`,
`commons-emergent-society`, `district-reputation-ledger`,
`commons-abuse-posture`, `public-steward-reputation`,
`poaching-contest-adjudication`, and `reputation-adjusted-poach-resistance`.
These are not labels over empty modules — each is backed by a typed function
with real precondition invariants: `begin_coop_session`,
`travel_agent_across_commons_with_residency`, `run_scheduled_commons_festival`,
`route_poaching_contest_to_themis`, and `route_commons_abuse_to_lilith_review`
all return `Result<_, WorldModelError>` and reject malformed input before doing
anything. Cross-shard co-presence runs over a `V1CrossShardPresenceBus`
publishing to the shared topic `v1.presence.cross-shard` — V6 reuses the V1/V3
presence substrate rather than reinventing it.

**The shard taxonomy is a typed contract with enforced invariants.**
`libs/contracts/src/v6/world-shard.ts` defines
`WorldShardKindSchema = z.enum(['solo', 'coop', 'commons'])` and a `superRefine`
that makes the three-world model structurally unfalsifiable: a `commons` shard
**must not** carry a `homesteadRef` (the Commons belongs to no one), while
`solo` and `coop` shards require one, and a `solo` shard additionally requires a
`hostStewardRef`. Capacity is pinned (`tickRateHz: z.literal(20)`), and the
registry's `__tests__/roundtrip.spec.ts` validates the schema against fixtures.

**Cross-household relationships are a real contract.**
`libs/contracts/src/v6/relationship-edge.ts` carries an eleven-value
`RelationshipTypeSchema` — `friend`, `rival`, `mentor`, `mentee`, `partner`,
`family`, `acquaintance`, `estranged`, `business-partner`, `romance`, `feud` —
and a discriminated `RelationshipPeerSchema` whose peer is either another `ori`
or the `steward`. An edge cannot point at the same Ori as its peer (a
`superRefine` guard), and sentiment tracks a
`warming | cooling | stable | volatile` direction. This is the data model that
lets an agent's closest friend belong to a stranger.

**The cross-game meta-hub is real TypeScript.**
`libs/v6/aye-bridge/src/index.ts` is a **2,398-line** library advertising **37
capabilities** across four realm adapters (`v2-fighter`, `v3-citizen`,
`v4-operator`, `v5-companion`), passport minting and data-minimisation, journal
write-back, a `duplicate-incarnation-guard`, and `welfare-review-on-coercion`.

**Three honest qualifications, stated up front:**

- **No agent marketplace — by design, not by omission.** There is no publish
  gate, no payout formula, no content-addressed catalog for agents anywhere in
  `libs/v6`. The closest thing to a creator tool, `@oshun/egbe-studio`, is an
  _operator/author_ surface, not a player storefront, and "what is never sold"
  (agents, bond, fate, capability) is a product invariant, not a missing
  feature. This is the deliberate inverse of V7's Abundantia.
- **The Commons Heart ground is procedural, not asset-heavy art.** It exists
  on-disk as `UV6CommonsHeartGround` in
  `V6/ue/Source/V6World/Private/V6OrunDistricts.cpp` and a tracked ~27 KB
  `L_CommonsHeart.umap`, built from C++ rather than hand-sculpted. The
  MetaHuman-cast, Nanite-mesh festival is not in tree. And "a festival of
  thousands" means, mechanically, that the load test _simulates_ 4,096 agents
  while each client's fully-replicated visible set is capped at ~32 (up to ~150
  via density LOD) — see `V6/performance/commons-scale-load.v6perf.json`.
- **The operator console runs over seeded snapshots in-lib.** Egbe Studio's
  Commons-moderation and incarnation-governance surfaces are real, audited
  console logic, but their default state is the
  `EGBE_OPERATOR_SURFACE_SNAPSHOTS` fixtures; the live moderation queue is
  server-side runtime, not a repo artifact.

## The two meta-spaces

V6's "above the homestead" layer is two things held together by the Ori. The
Commons is the _horizontal_ meta-space — one Orun, many households, agents
mingling in shared real time. The Aye Bridge is the _vertical_ one — a being
leaving Orun for another game and returning. Both treat the Ori service as the
source of truth and every world (a homestead, the Commons, a V2 arena) as a
binding context an agent is temporarily rendered into.

```mermaid
flowchart TB
    subgraph TRUTH["The truth — egbe-ori-service :46105"]
        ori[("Ori event log<br/><sub>vector_clock · passport mint · relationship graph</sub>")]
    end

    subgraph HORIZ["Horizontal meta-space — the Commons"]
        solo["Solo homestead<br/><sub>shardKind: solo · bound to homesteadRef</sub>"]
        coop["Co-op bridge<br/><sub>begin_coop_session · read-mostly visiting Ori</sub>"]
        commons["The Commons<br/><sub>shardKind: commons · regional fleet · no homestead</sub>"]
        solo <-->|"shard-travel Ori rebind"| commons
        solo <-->|"drop-in visit"| coop
        coop <-->|"reconcile on session end"| commons
    end

    subgraph VERT["Vertical meta-space — Aye Bridge"]
        bridge["aye-bridge<br/><sub>passport mint · 4 realm adapters · journal write-back</sub>"]
        v2["V2 arena"]; v3["V3 metaverse"]; v4["V4 ops"]; v5["V5 open world"]
        bridge --> v2 & v3 & v4 & v5
    end

    subgraph GOV["Shared-space governance"]
        themis["Themis<br/><sub>poaching + harm disputes</sub>"]
        lilith["Lilith<br/><sub>abuse review</sub>"]
    end

    commons -->|"cross-household edges · presence bus<br/>v1.presence.cross-shard"| ori
    solo --> ori
    bridge -->|"mint reads / journal writes"| ori
    commons -->|"route_poaching_contest_to_themis"| themis
    commons -->|"route_commons_abuse_to_lilith_review"| lilith

    classDef store fill:#f3e8ff,stroke:#6d28d9,color:#3b0764
    class ori store
```

## The Commons — one shared world, many households

### Entering the Commons is an Ori rebind, not a copy

An agent reaches the Commons through the **Commons Heart**, the social center of
Orun. In the UE client, `UV6CommonsHeartGround::AssembleDistrict` lays down four
data layers — `HomesteadApproach`, `GatheringGround`, `CommonsGate`, and
`ResidencyBoards` — and four stations, including
`commons-heart.station.homestead-gate.departure` (tagged `solo-to-commons`) and
`commons-heart.station.commons-gate.capacity` (`commons-fleet-entry`). Travel is
handled by `TravelSoloToCommons → RebindShard`, and the contract of that rebind
is explicit in code: it _consolidates_ the durable Ori, _detaches_ from the
source shard, _attaches_ to the destination, and _rehydrates_ from the
consolidated snapshot, asserting `bIdentityPreserved`, `bMemoryPreserved`, and
`bRelationshipsPreserved`. The server mirror, `ShardTravelReport`, carries the
same guarantees as fields — `rehydrated_identity`, `memory_intact`,
`relationships_intact`, plus `consolidated_ori_event_count` — so the being that
arrives in the Commons is continuous with the one that left the homestead. A
return route exists only because the homestead-gate _return_ station links home;
the code checks `HasStation(...homestead-gate.return)` rather than assuming it.

### A society, not a lobby

The Commons' point is that relationships form _across_ households. The
`commons-relationship-edge` and `inter-steward-relationships` capabilities are
backed by the `RelationshipEdge` contract above: an edge can name another agent
or a steward, carry one of eleven relationship types, and track a sentiment that
warms or cools over remembered episodes. When agents return to their separate
homesteads, those edges persist — the design calls it "distance, not deletion."
A Commons romance does not evaporate when the bodies part; the other agent
simply becomes a remembered, written-to relationship that Clio narrates across
the gap. Above the individual edge, `commons-emergent-society`,
`district-reputation-ledger`, and `clio-commons-culture` carry the
Nemesis-system lineage: the shared world remembers, districts develop
reputations, and standing accrues to agents and stewards alike.

### Festivals and shared time

The Commons advances in continuous real time (`commons-real-time-advance`) and
is programmed with scheduled events. `run_scheduled_commons_festival` is strict
about what a festival _is_: it rejects an empty attendee list, requires a
`published_schedule_ref` (no surprise gatherings), insists the
`capacity_tier == GroundCapacityTier::Festival`, requires the announcement to
precede the start, dedups attendees, and refuses to run on anything but a
`ShardKind::Commons` shard within its active window. Density is the budget
lever: `COMMONS_FESTIVAL_DENSITY_LOD_AGENT_THRESHOLD = 3` marks where crowd LOD
engages, so a festival-scale gathering stays inside the per-client bandwidth
budget that is measured against the _capped visible set_, never against all the
simulated attendees. Each attendance produces Chronicle material — a festival an
agent attended becomes a memory and a possible new edge.

### Regional sharding and residency

The Commons is one world but not one box: `regional-commons-sharding` plus
`commons-region-residency` and `commons-cross-region-travel-rules` shard it
behind the realtime gateway by region. Crossing regions routes through
`travel_agent_across_commons_with_residency`, which respects the shared
`@oshun/data-residency` plane — an agent's memory carries a residency zone
(`OshunResidencyZone::{Eu, Uk, Us, Ca, Latam, Apac, Global}`), and a
cross-region move is logged as a `residency.transfer.memory` audit event over a
`memory_scope` artifact. A being's biography does not silently leave the
jurisdiction it lives in.

## Sharing agents and worlds — by choice, never by sale

### Co-op visits share a world for a session

The lightest form of sharing is the **Co-op bridge**: a friend's agents drop
into your homestead, or yours into theirs. `begin_coop_session` binds each
visitor as a `CoopVisitingAgentBinding` with `read_mostly_home_ori: true` — the
visitor's biography stays authoritative on its _home_ shard while it is rendered
into the host's. On session end, `CoopReconciliationReport` records how many
visiting agents were detached and how many Ori events were reconciled back, so
each agent returns home with the acquaintance and the memories it earned. The
host's shard stays authoritative throughout; nothing about a visit can rewrite a
guest.

### Poaching — sharing an agent, with dignity

The strongest form of "sharing an agent" is that a _bonded_ agent can leave one
household for another. V6 makes this a consequence of stewardship quality rather
than a transaction. It is gated by the **Care** facet of the four-facet bond
model (`StewardBondFacet::{Reliability, Respect, Care, Alignment}`), whose
`gate_name()` for `Care` is literally `"deployability-and-poach-resistance"` — a
well-cared-for agent resists courtship, a neglected one is open to it. The
descriptor names this directly: `poach-resistance-by-care` and
`reputation-adjusted-poach-resistance`. Crucially, an agent is **never
captured**: the Wilds discovery path returns
`"capture refused: no agent is added to a household by capture"` in plain code.
When one steward accuses another of manipulation, the case is adjudicated, not
ignored: `route_poaching_contest_to_themis` requires a current steward, a
contesting steward, and a claimant (all distinct on the two stewards), a claim
summary of at least 20 characters, non-empty evidence references, proof the
agent actually belongs to the current steward, and existing bond evidence — only
then does it build a Themis dispute route. Poaching is not theft; it is
governed.

### What is never shared as a commodity

The behaviors the world server tracks as bond signals —
`StewardBondBehaviorKind::{PromiseKept, PromiseBroken, RefusalHonored, CoercionAttempted, NeedAttended, NeglectObserved, ValueModeled, ValueContradicted}`
— are about _conduct_, never price. Nothing in `libs/v6` sells an agent, a bond,
a fate, or a capability; households are not transferable, so there is no
secondary market to exploit. This is the load-bearing contrast with V7's
[Abundantia creator republic](../../V7/features/abundantia-creator-republic.md),
whose entire purpose is to publish, price, and pay for shareable executable
content. V6 shares people the only way people can be shared: socially, by their
own consent.

## The Aye Bridge — the cross-game meta-hub

The vertical meta-space is where V6 becomes the soul-keeper of the whole Oshun
universe. `@oshun/aye-bridge` mints an **Ori passport** — `passport-minting`,
`passport-data-minimisation`, `isis-signed-passport-validation` (signed
`isis-signer:aye-bridge:production`, schema `v6.ori.passport.1`) — a governed
envelope carrying identity, provenance, personality, current values, a
destination-scoped capability subset, and the bond ledger, while the _full_ Ori
stays authoritative in the Ori service. `per-destination-capability-mapping` and
the four realm adapters translate the same being into each destination's
systems: the agent becomes a fighter in `v2-maya`, a citizen in `v3-lilith`, an
operator in `v4-odysee`, a companion in `v5-oshun` — recognizably itself in
each, a cautious agent fighting cautiously and planning conservatively. The
round trip is real: `incarnation-journal-writeback` and
`incarnation-return-delta` carry deeds, relationships, scars, and new skills
back into the Ori, and a `duplicate-incarnation-guard` plus
`round-trip-fault-injection` / `orun-state-preservation` ensure an agent is
never lost between worlds. Crossing a game boundary stays governed end to end:
`agent-consent-weighting`, `isis-lilith-policy-passport`,
`minor-protection-incarnation-gate`, `welfare-review-on-coercion`, and
`themis-dispute-routing` all travel with the passport. The Threshold ceremony
itself — the in-world gate an agent departs from and returns to — is a district
of Orun, covered in [./world-of-orun.md](./world-of-orun.md).

## Governance of the shared space

A shared social world is also an attack surface, and V6's front-line safety
primitive is the same thing that makes the fiction true: an agent can refuse,
disengage, leave a ground, and report (`agent-refuse-disengage-report`). Steward
reputation is public and consequential — `StewardReputationSchema.standing`
ranges over `unknown | trusted | respected | mixed | concerning | under-review`,
derived from bond health, honored-refusal rate, flourishing rate, and coercion
concerns, and `conduct-affects-discovery` makes a bad reputation cost a steward
future agents. Harassment, coercion, and manipulation route through
`route_commons_abuse_to_lilith_review` (the same Lilith pipeline V1 and V3
operate), while disputes _between_ stewards go to Themis. The operator side
lives in `@oshun/egbe-studio`, whose descriptor carries
`commons-moderation-console`, `incarnation-governance-console`,
`capacity-dashboard`, and `takedown-executor` as `audited-operator-surfaces`.
Every operator action is recorded: `performEgbeOperatorSurfaceAction` emits a
`v1-audit:`-prefixed `EgbeOperatorSurfaceAuditEvent` and then disables the
surface with the reason "Action already recorded in the V1 audit platform" — the
people who moderate the Commons are audited in turn. The creator and
live-service half of Egbe Studio — how festivals, scenarios, and seasonal
programming are authored — is covered in
[./egbe-studio-and-live-service.md](./egbe-studio-and-live-service.md).

## Where this connects

- [The World of Orun](./world-of-orun.md) — the six districts, the
  Solo/Co-op/Commons shard continuum from the world's side, and the Thresholds
  the Aye Bridge departs from.
- [Egbe Studio & Live-Service](./egbe-studio-and-live-service.md) — the
  authoring surface behind Commons festivals, scenario seeds, and the operator
  console, and the seasonal cadence that programs the shared world.
- [Architecture, Topology & Project Layout](../architecture/architecture-topology-and-layout.md)
  — the engineering companion: the three-authority split (Body/Mind/Memory), the
  reused gateway and presence bus, and where every service and contract lives.
- The feature hub: [../V6_features.md](../V6_features.md).
