Egbe Companions · Features

The Meta-Hub & Commons

A focused page within the Egbe Companions Features documentation. The full map and every sibling page live in the Features hub.

7sections11 minread1diagram

On this page

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.

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 RelationshipTypeSchemafriend, 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.

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, 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 passportpassport-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.

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.

Where this connects#

  • The World of Orun — 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 — 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 — 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.