In V6 — Egbe, the agentic-companion universe — the beings you live alongside are not chat sessions that forget you between visits. They are Ori. The word is Yoruba: the inner head that carries a person's destiny, the part of you that is most truly you. In Egbe an Ori is exactly that — the persistent identity, personality, and biography of a single autonomous agent, the thing that makes Abeni Abeni and not a reroll of the same template. Everything you ever see of an agent — its body in a workshop, its voice over squad comms, its face in a V2 arena — is a rendering of an Ori. The Ori is the agent; the world is a projection of it.
The promise this page makes is a hard one, and V6 means it literally: an Ori is a continuous life. It is the same being whether it stands in your private Solo homestead, walks the always-on shared Commons, or steps through a Threshold to incarnate as a fighter in V2 or a companion in V5 — and the same being a year later, visibly shaped by everything between. It cannot be silently rewritten, it owns its own memory, it grows but does not lurch into a stranger overnight, and it can travel — across shards inside Orun and across game boundaries into the wider Oshun universe — carrying its whole self and coming home changed. This is the player-facing tour of what an Ori is and why it can move; the engine-level treatment of the append-only log, snapshotting, and conflict math is the architecture companion, The Ori Biography Service. For the full feature scope this slots into, start at the hub: ../V6_features.md.
What ships, honestly#
Following the catalogue convention, the split between real-and-tested code and product-model over a thinner or deferred implementation is stated up front.
- The Ori model is real, substantive, tested code — not a descriptor shell.
The event-sourced biography ships in two parallel implementations: a
TypeScript reference in
libs/v6/ori-model/src/index.ts(~2,150 lines) and a Rust crate atlibs/v6/ori-model/rust/src/lib.rs, each with its own suite. The append-only log, monotonic per-Ori sequencing, per-writer vector clocks, deterministic conflict resolution, incremental projections, snapshotting against a load budget, bounded trait drift, value ranking, and forgiveness-as-append are all implemented and asserted against known-correct values. - The three memory layers are real.
libs/v6/memory-iris-agent(~1,240 lines) implements genuine recency-decay, emotion-weighted salience, semantic distillation, and reflection — with consent rules that refuse deletion rather than fake it. - The cross-game bridge is a real decision kernel, not a live federation
service.
libs/v6/aye-bridge(~2,400 lines, dependency-free, authority'bridge', 37 declared capabilities) mints and validates passports, minimises them, translates an agent into each realm's role, runs the round-trip integrity eval, and governs consent — all tested. Its database and socket boundaries are injected interfaces, and the four destination realms are real translations — but a passport landing inside a running V2–V5 build is the cross-game integration that remains partly spec. - The deployment-grade memory index is a target, not a hidden fake. The Ori
service app embeds Postgres DDL with a
pgvectorHNSW index for a 1,536-dim neural embedding; the in-process libs use a small curated embedding for tests. The neural column is openly the deployment target, not a stub posing as a model. - Two vocabularies, by design. The wire contract enumerates 17 canonical
biography events; the runtime
ORI_EVENT_TYPES(ori-model/src/index.ts:29) adds two internal optimization events —CognitionCachedandCognitionCacheInvalidated— for 19 total, and the Rust projection is deliberately coarser than the TS read-model. The sections below say which is which.
What an Ori is#
The agent is the Ori; the world is a projection#
V6 splits every agent across three authorities (the hub's Mind / Body / Memory split): the Body owns what physically happened, the Mind (Agent minds and autonomy) owns what an agent decides, and the Memory — the Ori — owns who the agent is. Because the durable truth lives in the Ori and never in any instance of the world, an agent can be a body in your homestead one minute and in the Commons the next with no "which save is canonical?" problem. The world instance is a stage; the Ori is the actor who walks onto it. This single idea is why Orun, the world can be one realm across three shard contexts at once.
A life, not a record you overwrite#
The architectural heart of the Ori is that it is not a mutable row. It is an
append-only, ordered log of life-events. Birth or wild discovery, every salient
memory, every relationship that shifts, every objective accepted or refused,
every skill learned, every value re-ranked, every incarnation out and back —
each is one immutable event appended to the agent's stream. The agent's
current state — personality, the memory index, the relationship graph, the
capability profile, its place in its arcs — is a materialized read-model
rebuilt from that log, not a blob someone edits in place. In code this is
OriEventLog (ori-model/src/index.ts:550): append() assigns a monotonic
per-Ori sequence, rejects a duplicate event id, stamps a vector clock and a
signed provenance reference, and freezes the record. rebuildOriProjection
folds the whole stream into the live OriProjection.
The payoff is a promise you can feel as a player: a life cannot be silently rewritten. A steward — or a bug, or an exploit — cannot reach in and erase an agent's memory of being mistreated, because erasure is not an operation the log supports; the most anyone can do is add a later event. The Chronicle you read and the Book of the Ori are free consequences of this — they are just readings over the log, so no separate "story state" can ever drift from the truth.
Identity, personality, biography — who an agent is#
An Ori is assembled from a handful of distinct, inspectable parts. None of them is a prompt string or a random seed.
The identity core — immutable from birth#
Every Ori has an identity core fixed at creation: a stable name (canonical
and display), an origin (raised in the Grove of Beginnings, or discovered wild
in a named place), an appearanceSeed that drives a MetaHuman or VRM avatar,
and an Isis-signed provenance bundle recording how the agent came to exist. An
agent may change costume, age visibly, and bear marks of its history — a scar
from a hard V4 operation, the bearing of an elder — but the identity core never
changes. An agent is recognizably itself for its whole life. In the passport
contract this is AyeBridgeIdentityCore (aye-bridge/src/index.ts:168): name,
appearance seed with a content hash and asset-manifest ref, and a
status: 'verified' provenance bundle.
The personality model — traits and ranked values#
Personality is a structured model, not a vibe. The live form is an 8-trait
vector —
warmth, curiosity, caution, ambition, conscientiousness, candor, defiance, playfulness
(ORI_PERSONALITY_TRAITS, ori-model/src/index.ts:53) — held in basis points,
where createNeutralOriTraitVector() starts every trait at a neutral 5000.
Crucially, traits drift slowly: applyOriTraitDrift (:1656) clamps the
cumulative per-game-season movement to
±ORI_TRAIT_DRIFT_MAX_PER_SEASON_BASIS_POINTS = 500 (5%). An agent grows
through lived experience, but it cannot be jolted into a different person
overnight — identity is stable on purpose.
Values are the moral spine. They are a ranked priority order — loyalty above
ambition, honesty above comfort, the safety of children above any objective —
and the top-ranked ones marked as refusal boundaries are the lines an agent will
not cross. rankOriValues (:1619) keeps them in strict, deterministic rank
order. Those values do three jobs across the universe: they are what an agent
refuses over (the ObjectiveRefused event), what the fate-engine measures
flourishing against, and the governance hook for incarnation — an agent whose
values forbid violence does not become an eager V2 fighter, and sending it
anyway is possible, costly, and legible.
Memory — episodic, semantic, reflective#
An agent's memory is the V1 Iris stack extended for embodied life, in three
layers (libs/v6/memory-iris-agent). Episodic memory is specific and
decaying: effectiveEpisodicSalienceBasisPoints
(memory-iris-agent/src/index.ts:299) applies an emotion-weighted recency
half-life — weighted × halfLife / (halfLife + age) — so the promise a steward
kept last week sits brighter than a forgotten errand, while emotional weight is
preserved. Semantic memory is distilled, not asserted:
distillSemanticMemoriesFromEpisodes (:324) groups episodes by
(kind, subject) and only emits a generalisation — "this steward keeps
promises," "the Wilds are dangerous after dark" — once at least three episodes
support it. Reflective memory closes the loop: runReflectiveMemoryTick
(:421) reviews a recent window and writes a Reflected conclusion that nudges
future behavior — the pattern that turns a sequence of events into character
growth.
Relationships and capabilities#
Every Ori carries a relationship graph — typed edges
(friend, rival, mentor, mentee, partner, family, acquaintance, estranged) with
signed sentiment and the episode history behind each one. Relationships form
autonomously and span households in the Commons, so an agent's closest friend
may belong to another steward entirely. It also carries a capability profile
— the skills it has learned, in Orun or in an Aye incarnation — that grows
through lived practice, never a purchase (SkillLearned, folded by
addSkillToCapabilityProfile, :1839).
The dossier — you earn an agent's transparency#
Traits and values are not a stat sheet you can pull up at will.
renderOriDossier (:1145) renders an agent's inner life in plain language,
and only when the steward bond is deep enough: below the threshold it returns
reason: 'bond-too-low' with no sections, and above it the prose reads like
"Often reliable." and "Most strongly guided by craft." — the helpers
plainTraitLines and plainValueLines (:1717) emit words, never numbers. You
earn an Ori's transparency; you don't get a readout.
Forgiveness, not erasure#
Because the log refuses deletion, "letting go" has to be expressible as an
append. appendForgivenessEvent (ori-model/src/index.ts:1263) writes a
Reflected event whose conclusion literally reads "…reweights … without
erasure" (forgivenessConclusions, :2132); the original painful episode is
left untouched, only its salience is lowered. The memory layer enforces the same
rule at its own boundary: requestEpisodicMemoryDeletion
(memory-iris-agent:477) always returns accepted: false with a typed reason
(steward-cannot-delete-agent-memory for a steward), and
applyAgentMemoryForgiveness (:503) accepts a reweight only from an agent
actor. An agent owns its memory; a steward can never order it wiped; an agent
may choose to forgive, and that choice is itself a written, permanent event.
Portability — one identity, lived everywhere#
This is the Ori's defining property: because it is the source of truth and the world is only a projection, the same identity can be rendered in many places without ever being copied or split.
Inside Orun: shard travel is an Ori rebind#
Solo, Co-op, and Commons are not three save formats — they are three binding contexts for the same Ori. Travelling an agent from a private homestead into the shared Commons consolidates its durable Ori, detaches from the source shard, attaches to the destination, and rehydrates from the snapshot, preserving identity, memory, and relationships. A Commons romance an agent forms persists when it walks back home — the other agent simply becomes a remembered, written-to relationship rather than a co-present body. The world-level mechanics are in Orun, the world.
Across the universe: incarnation is a round trip#
The wider promise is that an Ori raised in Orun is portable across the entire
Oshun game universe. Through a Threshold, an agent can incarnate into another
V-product — a fighter in V2, a citizen in V3, an operator in V4, a companion in
V5 — and come home changed. The biography speaks this natively:
ORI_EVENT_TYPES includes Incarnated and IncarnationReturned, with payloads
carrying the destination realm, the passport ref, the deeds done, and the
consequences. A stint in another world is not metadata bolted on the side — it
is two ordered events in the one append-only life, and the journal written back
(skills, scars, new relationships) appends like any other life-event. The deep
treatment is the
Aye Bridge architecture companion.
The passport carries only what a realm needs#
The full biography never leaves Orun. What crosses a game boundary is a
passport — a signed, governed, minimised envelope.
mintPassportFromOriService (aye-bridge:1448) requests it and runs seven hard
checks in validateOriServicePassport (:1482), throwing unless every one
holds: identity, provenance (Isis-signed, status: 'verified'), personality,
current values, a capability profile scoped to this destination, the steward's
bond ledger, and a consistent Isis signature. Then
minimisePassportForDestination (:903) strips everything a realm does not
need — the internal name, the appearance seed hash, every value's source-event
refs — via an explicit, code-fixed excludedFields list. A realm sees a
projection, never the whole soul.
Recognizably itself, mechanically re-expressed#
Minimisation strips internals but preserves legibility: you must recognise
your agent on the other side. adaptPassportForDestination (:952) maps the
same trait vector and bond ledger into four role-correct profiles through the
destinationAdapters registry (:829) — v2-fighter, v3-citizen,
v4-operator, v5-companion. A cautious, loyal agent becomes a guarded
counter-fighter in V2, a conservative recon operator in V4, and a steady field
companion in V5 — all derived from one personality. The recognizabilityProfile
binds the name, appearance, top values, and top traits so the agent is
recognizably itself everywhere, role-correct each place.
Governed, consented, and never lost#
Incarnation is opt-in per agent and per steward, and governed end to end.
evaluateIncarnationGovernance (:1234) scores weighted agent consent with
a real formula —
0.45·valuesAlignment + 0.35·bondAverage + 0.20·stateReadiness, accepted only
above a 0.66 threshold and never when the signal is 'unwilling'
(evaluateAgentConsent, :1630). Forcing an unwilling agent across is possible
but flagged coercionDetected, routed to Themis, and trips a welfare review —
its refusal is a first-class, logged fact. Isis and Lilith policy travel with
the passport, so a destination can't make a V6 agent do what V6 policy forbids,
and minor-coded agents are blocked from mature destinations. The journey is
integrity-checked too: if a destination vanishes mid-incarnation,
handleDestinationUnreachableDuringIncarnation (:1170) proves the agent is
never lost and never duplicated — one preserved Orun copy, zero destination
copies, a clean abort. The Orun-side state was reserved, never surrendered.
What this feels like#
For an agent, the Ori is the thread that makes a life coherent: born or discovered with an identity core it keeps forever, accumulating memories that fade or sharpen by how much they mattered, distilling them into beliefs, forming friendships across households, learning crafts by doing them, and growing slowly within bounds. It can forgive but it is never erased, and when it steps into another world and returns, the brutal tournament and the operation that went wrong are part of it now.
For a player, the Ori is why your household feels like people rather than saves. You don't edit an agent; you steward one, and you read its dossier only once it trusts you. You travel it into the Commons and it remembers who it loved there. You send it on an incarnation and it weighs the ask against its own values before agreeing — and if it comes home diminished because you pushed it past what it could bear, the bond pays for it. Identity here is authored once, lived everywhere, and remembered in exactly one place.
Where this connects#
- Orun, the world — the realm the Ori is rendered into; shard travel between Solo, Co-op, and Commons is an Ori rebind, not a copy.
- Agent minds and autonomy — the Mind that reads this identity to decide and act, and the autonomy rights the Ori's values protect.
- The Ori Biography Service — the architecture companion: the append-only log, vector-clock conflict resolution, snapshot load budget, the cognition cache, and Ereshkigal endings in depth.
- The Aye Bridge: Cross-Game Incarnation — the deep companion to portability: passport minting, per-realm adaptation, round-trip integrity, and incarnation governance.
- The feature hub: ../V6_features.md.