Entity System Substrate: Canonical Domain Analysis

Status: Canonical reference. Full 12-step analysis of the entity system as an information substrate. Source: v1_entity_domain_analysis/entity-system.md (comprehensive v1 analysis), updated with abstract substrate framing and evaluator analysis from the biology/cognition series. Position in the topology: Concrete information substrate at the En+Vr position of the SSA. Connected to digital computing (downward realization), application architecture (upward bridge), and (eventually) digital ecosystem.


Step 1 — Information Gathering

1.1 Primary specifications

1.2 Prior analytical work

Extensive prior analysis: pair-relationships-exploration.md, framework-synthesis.md, combinatorial-space-analysis.md, primitive-combinatorics.md, core-protocol-boundary.md. The entity system is the most deeply analyzed domain in the methodology.

1.3 Implementation landscape

Three implementations (Go, Python, Rust) at conformance parity on the normative surface; Go hosts the validate-peer cross-implementation validation harness.


Step 2 — Landscape Analysis

2.1 Manifestation landscape

SystemPositionKey structural features
Git(Full E, Full I, T2, M0, X0, P0)Content-addressed immutable tree. No emit, no execution, no peer.
IPFS/IPLD(Full E, Full I, T2, M0, X0, P1)Content-addressed with basic peer.
Nix(Full E, Full I, T3, M0, X1, P0)Content-addressed with richer tree + basic evaluation.
Holochain(E-partial, Full I, T1, M1, X1, P3)Agent-centric. DNA determinism wall. Types in Rust not data.
AT Protocol(E2, Full I, T2, M1, X1, P2)Closest structural alignment. ALL gaps are fences not walls.
Nostr(E2, Full I, T0, M1, X1, P2)Reinvented {type:kind, data:content} + content-addressing. Flat.
Urbit(E1, I0, T2, M1, X3, P3)Found {type,data} (vases). NO content addressing. Nock/Hoon wall.
HTTP/REST(E1, I0, T2, M0, X1, P1)URL paths + dispatch. Layering trap exemplar.
Actor model(M2, X2, P2, E0, I0, T0)Message dispatch. No content identity, no tree.

2.2 Attractor positions

  1. (Full E, Full I, T2, M0, X0, P0) — Content-addressed immutable store. Git, IPFS, Nix cluster here.
  2. (~E1, ~I0, ~T1-2, M1-2, X1-2, P1-2) — Message-dispatch-with-structure. HTTP, Actor model, RPC systems.

The entity system at (Full everything) is a target, not an attractor — no existing system fully occupies it.


Step 3/3b — Primitives and Partial Levels

3.1 The six primitives

#PrimitiveDefinitionAbstract substrate role
1E (Entity)Typed data structure: {type, data, metadata}Encoding (En) — information carrier
2I (Identity)Content-addressing: hash(canonical(E))Encoding (En) — identity aspect of encoding
3T (Tree)Hierarchical namespace: paths → identity-hashesStructure (St) — organizational arrangement
4M (Emit)Three-step mutation: Store, Bind, NotifyDirection (Dr) + Output (Op) — triggers evaluation and produces observable change
5X (Execution)Handler dispatch: EXECUTE(type, params) → resultEvaluator (Ev) — deterministic translation of encoding to function
6P (Peer)Network identity + capability boundary + connectionsBoundary (Bd) — system scope definition

3.2 Mapping to abstract substrate roles

Abstract substrateEntity systemNotes
Encoding (En)E + IE is the data; I is its identity. Together they form the encoding.
Structure (St)TTree namespace organizes encoding hierarchically.
Evaluator (Ev)XHandler dispatch at Kd4 — deterministic type-checked routing. THE evaluator.
Direction (Dr)M (partially)Emit triggers evaluation — Store→Bind→Notify directs what X dispatches.
Output (Op)M (partially)Emit produces observable mutation — the visible product of the system.
Boundary (Bd)PPeer defines capability-scoped system boundary.

M serves dual roles (Direction + Output). E+I together fill Encoding. These many-to-many mappings reflect the entity system's tighter integration compared to the abstract roles.

3.3 The evaluator: X at Kd4

X (Execution/Dispatch) is the entity system's evaluator. Its structural properties:

3.4 Stability under 3/3b iteration

Splitting candidates:

Collapsing candidates:

6 primitives stable under iteration.

3.5 Partial levels

Entity (E):

LevelDescription
E0No entity (no typed data)
E1Untyped blob (raw bytes)
E2Typed data (type + data, types external)
E3Self-describing types (types-as-entities)
Full ESelf-describing typed datum with metadata, structural type operations

Identity (I):

LevelDescription
I0No content identity (location-addressed)
I1Simple checksums (integrity, not identity)
I2Cryptographic hash (not over canonical encoding)
Full IContent hash over canonical encoding: hash(canonical(E))

Phase transition: I2→Full I. Content-addressing becomes deterministic and structural.

Tree (T):

LevelDescription
T0No tree (flat collection)
T1Simple paths (key→value, no nesting)
T2Hierarchical paths (nested namespaces)
T3Open composition (tree operations, subtree mounting)
Full TSelf-describing tree with extension-defined semantics

Emit (M):

LevelDescription
M0No emit (static, immutable)
M1Simple mutation (overwrite, no event)
M2Structured emit (Store + Bind + Notify as distinct phases)
M3Emit with handler triggers (reactive cascade begins)
Full MFull emit with subscription, cross-peer propagation, ordering guarantees

Phase transition: M2→M3. Reactive cascade — emit triggers handlers that emit further.

Execution (X):

LevelDescription
X0No execution (no dispatch)
X1Fixed evaluation (closed set of operations)
X2Open dispatch (handler registration, extensible)
X3Typed dispatch (type-informed handler selection)
X4Compute extension (entity-native expressions, structural evaluation)
Full XFull execution with continuation, durable execution, distributed compute

Phase transition: X0→X2 (open dispatch). Most consequential — system becomes programmable.

Peer (P):

LevelDescription
P0No peer (single instance)
P1Peer identity (public key, content-addressed peer ID)
P2Capability boundary (scoped access)
P3Peer discovery (find peers, establish connections)
P4Multi-peer sync (exchange entities, reconcile trees)
P5Peer roles (standard profiles — relay, archive, compute, authority)
Full PFull peer with network extension, group formation, distributed authority

3.6 The 3+2+1 structure

E, I, T are primordial (eternal information — exist without time or agency). M, X are temporal (introduce time and computational agency). P is spatial (introduces position and perspective).

This structure corresponds to the abstract substrate's organization:


Step 4 — Dependencies

I → E    (hash requires something to hash)
T → I    (tree binds paths to identity-hashes)
M → T    (emit's Bind step mutates tree bindings)
X → T    (dispatch is a tree walk — the tree IS the dispatch table)
P → I    (peer ID is content-addressed)
P → X    (peer-to-peer interaction requires EXECUTE dispatch)

DAG:

E ← I ← T ← M
              ↑
         I ← P → X ← T

Hub: E (Entity) — everything ultimately depends on having typed data.

Coherent sub-lattice: 9 of 64 subsets.

{}, {E}, {E,I}, {E,I,T}, {E,I,T,M}, {E,I,T,X}, {E,I,T,M,X}, {E,I,T,X,P}, {E,I,T,M,X,P}

Filter: 9/64 = 14%. Tight — highly integrated substrate.

Three Hasse paths:


Step 5-6 — Pairs and Load Classification

C(6,2) = 15 pairs.

Heavy (11):

PairNameContent
EIContent-addressinghash(canonical(E)). Constitutive.
ITNamespace structureTree's value space = I's hash space.
ETType system foundationEntities live at paths. Types-as-entities fixed point.
IMContent mutationStore step: new E → new I.
TMStructure mutationBind step: path→I binding changes.
EXTyped computationAll dispatch is typed: EXECUTE(params: E) → result: E.
TXHandler resolutionDispatch is tree walk. Tree IS the dispatch table.
IXDeterministic computationConvergence check = hash equality. Content-addressed memoization.
MXReactive system coreReactive cascade: M triggers X; X emits further M. HEAVIEST pair.
TPDistributed namespaceAll paths are peer-namespaced.
XPNetwork dispatchEXECUTE crosses the wire. Capabilities, connection lifecycle.

Medium (1): IP (peer ID is content-addressed). Light (2): EM (entities are passive in emit), MP (cross-peer propagation is mediated). Negligible (1): EP (entities don't carry peer identity — peer-independent by design).

11 of 15 heavy (73%). Strong outlier — highest integration of any domain analyzed. Reflects deliberate design for all primitives to interact.


Step 7 — Coherent Sub-lattice

Computation

6 primitives, 2^6 = 64 total subsets.

Dependencies: I→E, T→I, M→T, X→T, P→I+X.

The chain E←I←T is strict — you need E for I, I for T, T for M and X. P needs both I and X.

Valid subsets must be downward-closed in the dependency order:

#SubsetValid?
1{}
2{E}
3{E,I}
4{E,I,T}
5{E,I,T,M}✓ (M needs T ✓)
6{E,I,T,X}✓ (X needs T ✓)
7{E,I,T,M,X}
8{E,I,T,X,P}✓ (P needs I ✓ and X ✓)
9{E,I,T,M,X,P}✓ (Full)

Invalid examples: {I} (needs E), {T} (needs I→E), {M} (needs T→I→E), {P} (needs I+X), {E,I,T,M,P} (P needs X — INVALID), {E,I,M} (M needs T — INVALID).

9 coherent subsets of 64. Filter: 9/64 = 14%. Tight — the strict chain E←I←T plus the double dependency P→{I,X} creates strong filtering.


Step 8 — Hasse Walks (Build-up Paths)

Three monotone paths from {} to {E,I,T,M,X,P}

Path α — Emit before execution (Paper 0's build-up):

{} → {E} → {E,I} → {E,I,T} → {E,I,T,M} → {E,I,T,M,X} → {E,I,T,M,X,P}

Information first: typed data (E) → content-addressed (I) → organized in tree (T) → observable mutation (M) → computation (X) → distribution (P).

This is the "information before computation" narrative. Each step adds a capability:

Path β — Execution before emit:

{} → {E} → {E,I} → {E,I,T} → {E,I,T,X} → {E,I,T,M,X} → {E,I,T,M,X,P}

Same informational base, but computation (X) before temporality (M). This builds a QUERYABLE STRUCTURED STORE before making it reactive. Computation is available before mutation is observable.

Path γ — Peer before emit (distribution first):

{} → {E} → {E,I} → {E,I,T} → {E,I,T,X} → {E,I,T,X,P} → {E,I,T,M,X,P}

Distribution (P) before reactivity (M). This builds a DISTRIBUTED DISPATCH SYSTEM before adding observable mutation. The system can route requests across peers before it tracks changes.

All three paths pass through {E,I,T} — the core triad is the BOTTLENECK. Every path must traverse it. After {E,I,T}, paths diverge based on which non-core primitive comes next.

Phase transitions along the paths

TransitionWhat changesOn which paths
+I (I2→Full I)Content-addressing activates — identity becomes structuralAll paths (step 2)
+THierarchical namespace — data becomes organizedAll paths (step 3)
+M (M2→M3)Reactive cascade — emit can trigger handlersα (step 4), β and γ (step 5)
+X (X0→X2)Open dispatch — system becomes programmableβ and γ (step 4), α (step 5)
+P (P0→P2)Capability boundary — distributed authorityγ (step 5), α and β (step 6)

X0→X2 (open dispatch) is the MOST CONSEQUENTIAL transition — it's where the system becomes programmable. Before X2: fixed operations. After X2: extensible, user-defined computation.


Step 9 — Load-bearing Compositions

Core triad

{E, I, T} — self-describing content-addressed typed data at paths.

"What is a content-addressed typed datum at a path?" → An Entity (E) has an Identity (I = hash of canonical encoding) and lives at a path in a Tree (T).

Named compositions

CompositionNameEmergent property
{E, I, T}Self-descriptionTypes-as-entities fixed point. Self-describing data.
{I, T, M}Emit triangleVersioning by construction. I and T extend into time via M.
{T, M, X}Reactive dispatchEmit triggers execution. Computation has reactive structure.
{I, X, P}Cryptographic capabilityContent-addressed capability transfer. Secure delegated dispatch.
{T, X, P}Distributed dispatchTree-rooted, execution-mediated, peer-scoped. REST structural shape.

Quad

{E, I, T, X} — Self-sustainability. Entity system can sustain itself: typed data (E), identifiable (I), structured (T), executable (X with bootstrap evaluator). Self-hosting. Requires X at X2+.

{E, I, T, P} — Coherent quad (EITP). Content-addressed typed data in a peer space, without the emit/execute reactive core. One of the dependency-coherent quads; the structural position AT Protocol occupies (cf. Paper 0). Distinct from the EITX self-sustainability quad.

Full set

{E, I, T, M, X, P} — Complete substrate (EITMXP). The full coherent six-primitive set: the entity system itself, at maximal substrate. The endpoint of every monotone Hasse path; should peak at the entity-system manifestation by a wide margin.


Step 10 — Emergent Properties

CompositionRegimeEmergent Property
{E, I}I-FullContent addressing — identity = hash of content
{E, I, T}All FullSelf-description — types-as-entities, self-describing data
{I, T, M}All FullVersioning by construction — every mutation creates a new content-addressed version
{T, M, X}M3+, X2+Reactive cascade — emit triggers handlers that emit further
{I, X}I-Full, X2+Convergence — hash equality = computational equivalence
{E, X, I, X, P}X2+, P2+Cross-peer authorization — capability-scoped distributed dispatch
{I, T, M, T, P, X, P}All Full except X2+Distributed sync — Merkle trie-based convergent state exchange
{E, I, T, X}EIT-Full, X2+Self-sustainability — system can host itself

Step 11 — Cross-Domain Patterns

Comparison to other information substrates

PropertyEntity systemBiologyCognition
Primitives666
Filter14%12.5%27%
Heavy pairs11/15 (73%)6/15 (40%)4/15 (27%)
Core triad{E,I,T}{G,T,R}{Rp,Ct,Sy}
EvaluatorX at Kd4R at Kd4-FullSy at Kd1-4 SPLIT
Evaluator typeComputational (type-checked dispatch)Physical (molecular geometry)Neural (formal/linguistic split)

The entity system is the most tightly integrated substrate (73% heavy pairs, 14% filter). Biology is tighter in filter (12.5%) but less integrated in pairs (40%). The entity system's high integration reflects deliberate design — every primitive was designed to interact with every other.

Abstract substrate role mapping

Maps to all 6 abstract substrate roles: En (E+I), St (T), Ev (X), Dr (M), Op (M), Bd (P). The M dual role (Direction + Output) is the entity system's most distinctive feature — emit IS both the trigger and the product.


Step 12 — Synthesis

What the entity system IS

A hard information substrate (Ev = Kd4) with 6 tightly integrated primitives, occupying the same structural role as biology's molecular machinery and cognition's symbolic apparatus. Its evaluator (handler dispatch) is deterministic by type system construction. Its encoding (typed entities with content-addressed identity) is self-describing. Its structure (tree namespace) organizes encoding hierarchically.

The entity system restores hard-substrate information integrity in a digital medium — the computational equivalent of biology's genetic code with ribosome.

Where it sits in its arrangement

Digital computing → [Entity→Digital bridge: Enc,Hsh,Prt,Prs,Sch,Net]
  → Entity system {E,I,T,M,X,P}
    → [Extensions as bridge: 12 extensions]
      → Application architecture {D,Sc,Re,Mu,Ra,Cn,Vs,Co,Au}
        → Digital ecosystem {not yet analyzed}

Summary

PropertyValue
Domain nameEntity System (Information Substrate)
Primitives6: {E, I, T, M, X, P}
HubE (Entity)
Core triad{E, I, T} — self-describing content-addressed typed data
Filter9/64 = 14% (tight)
Heavy pairs11/15 = 73% (highest of any domain)
Dependency depth3
EvaluatorX (dispatch) at Kd4 — deterministic, type-checked
Genesis transitionX0→X2 (open dispatch — system becomes programmable)
3+2+1 structure{E,I,T} primordial + {M,X} temporal + {P} spatial
Three Hasse pathsα (emit-first), β (execution-first), γ (peer-first)
PositionConcrete substrate in entity system arrangement

Referenced by the model

Cited as a source by 7 model records (browse the model census):