Entity System → Application Architecture Bridge: Canonical Analysis

Status: Canonical reference. Analyzing the substrate-bridge extensions as bridge primitives connecting entity system substrate {E,I,T,M,X,P} to application architecture surface {D,Sh,Ac,Mt,Pg,Ch,Pc,Pn,Bn,Au,Hs,Ev}. Source: v1_entity_domain_analysis/entity-system-extensions.md, SYSTEM-ARCHITECTURE.md v0.3, current v7.0 extension specs.

** revision summary.** Since the original authoring, the architecture team has restructured the extension layer into a five-tier classification (per SYSTEM-ARCHITECTURE.md §13). The bridge analysis below has been updated to: (1) restrict the bridge set to the substrate-bridge tier (Tier 1); (2) reflect the absorption of SYNC into REVISION; (3) add TYPE / QUERY / REVISION as substrate-bridge extensions; (4) move ROLE / NETWORK to the operational tier (no substrate-bridge edge); (5) acknowledge exploratory (DURABILITY) and first-pass-grounding (TRANSACTION) tiers explicitly as non-bridge categories. The structural framework — pair-bundles → surface primitives → bridge gaps at Pc/Pn — is unchanged from the original analysis.


1. The bridge structure

1.1 What the bridge does

The substrate-bridge extensions translate entity system substrate primitives into application architecture surface capabilities. Each extension exercises specific substrate pair-bundles and produces specific surface primitives. Only the substrate-bridge tier participates in this mapping; the operational, first-pass-grounding, and exploratory tiers play distinct roles (see §1.3).

1.2 The 11 substrate-bridge primitives

#ExtensionWhat it doesSubstrate pairs exercised
1TreeHierarchical namespace, path operations, subtree mountingT (directly)
2TypeValue-level constraint validation, type-analysis ops layered on the native type systemET, EI
3ContentContent store ingestion, chunking, structured manifestsET, IT
4InboxAsync cross-peer messaging, request/response, connection-tolerant deliveryXP, MX
5SubscriptionChange notifications, filtered event streams, bounded fanoutTM, MX, TP
6ContinuationDurable execution, checkpoint/resume, cross-peer workflowMX, IX, EX
7ComputeExpression evaluation, reactive derived values, entity-native computationTMX, EX, IX
8QuerySecondary indexes + compositional queries (type, reverse-hash, path-link, field indexes)TX, ET
9RevisionVersioning + three-way merge + cross-peer sync (DAG + delta transfer) — absorbs the former SYNC extension's roleITM, TP, XP
10HistoryPer-path transition recording, audit, rollbackIT, IM, TM
11ClockSystem time — wall-clock primarily; logical/vector/HLC sub-pieces as reference researchTM, MX

1.3 Extensions outside the bridge set

Three further extension categories exist in the L2.5 layer but do not produce substrate-bridge edges to the application-architecture surface in the structural sense above:

1.4 Note on SYNC's absorption

The version of this analysis listed SYNC as a distinct bridge primitive producing Ch (Coherence). SYNC has been absorbed into REVISION: EXTENSION-REVISION §1.1 explicitly covers the sync protocol (version negotiation, delta transfer, integration between peers). REVISION provides the Ch (Coherence) bridge edge plus the version-DAG semantics that the standalone SYNC did not. The §2 mapping below carries this absorption through.


2. Extension → Surface primitive mapping

The core question: which extensions produce which surface capabilities?

ExtensionSurface primitives producedHow
TreeD (data organization), Sh (structural hierarchy), Ac (path-based access)Tree provides the namespace that organizes content, defines structural hierarchy, and enables path-based lookup
TypeSh (schema enforcement), D (typed data)Type system validates content against schemas (value-level constraints + type-analysis ops above the native type system)
ContentD (data organization), Sh (manifest structure)Content aggregates data into structured collections — data about data
InboxBn (cross-boundary messaging), Pg (distributed propagation)Inbox enables cross-peer communication
SubscriptionPg (change propagation)Subscription IS the propagation bridge — notify on change
ContinuationPg (durable workflow), Ev (long-running computation)Continuation enables persistent reactive evaluation
ComputeEv (derived values, reactive expressions)Compute IS the evaluation bridge — entity-native computation
QueryAc (indexed access)Query is the indexed-access bridge — secondary indexes for non-path lookup
RevisionCh (distributed coherence), Hs (version tracking)Revision IS the coherence + version-history bridge — version DAG, three-way merge, peer-to-peer sync (absorbs the former SYNC extension's coherence role and adds version semantics)
HistoryHs (per-path transition tracking)History tracks per-path transitions for audit / rollback (complement to REVISION's per-version recording)
ClockCh (causal ordering), Hs (temporal coordination)Clock provides time infrastructure for coherence and history
Operational tier (NETWORK, IDENTITY, ROLE, etc.)— not substrate-bridge edges —These provide operational semantics; see §1.3

2.1 Surface primitives and their producing extensions

Flipping the view — which extensions feed each surface primitive:

Surface primitiveProducing extensionsCoverage
D (Data)Tree, Type, ContentWell-covered — entity system's E+I+T directly produce structured content; Content adds manifest aggregation
Sh (Shape)Type, Tree, ContentWell-covered — type system + tree structure + content manifests
Ac (Access)Tree, QueryWell-covered — tree paths provide structural access; Query adds indexed access (type, reverse-hash, path-link, field indexes)
Mt (Mutation)(core M — emit)Covered by CORE PROTOCOL, not an extension. Emit IS mutation.
Pg (Propagation)Subscription, Inbox, ContinuationWell-covered — subscription for local, inbox for distributed, continuation for durable
Ch (Coherence)Revision, ClockWell-covered — Revision's three-way merge + sync protocol + Clock's causal ordering (Revision absorbs the former SYNC extension's coherence role)
Pc (Perception)Core EXECUTE dispatch (X)Covered by CORE — external input arrives as EXECUTE calls with typed parameters. No dedicated extension; see §2.2 gap.
Pn (Presentation)Core EXECUTE dispatch (X) + Compute + SubscriptionNo dedicated extension; see §2.2 gap. Handlers write to output targets, compute derives what to show, subscriptions push updates.
Bn (Boundary)Inbox + (operational tier: Network)Substrate-bridge: Inbox provides messaging across boundaries. Operational tier: Network provides connectivity layer.
Au (Authority)(core P — capabilities) + (operational tier: Role, Identity)Substrate-level: capability system on Peer. Operational tier: Role provides RBAC patterns, Identity provides peer identity / controllers / quorums.
Hs (History)Revision, History, ClockWell-covered — Revision's version DAG + History's per-path transitions + Clock's temporal coordination
Ev (Evaluation)Compute, ContinuationWell-covered — expressions + durable evaluation

Note (revision). §3-§11 have been rerun against the current 11-extension substrate-bridge set. Key shifts: SYNC absorbed into REVISION; NETWORK and ROLE moved to operational tier (no longer in the bridge set); QUERY added to the bridge set with three heavy pairs; independent-extension count rose from 4 to 7; the dependency DAG now has a shared predecessor (Inbox) and a join (Query needs Subscription AND Type). Major substantive finding: Query's addition lands application-architecture Ac3+ (indexed access) inside the substrate-bridge tier — the "Ac is partially covered" gap is closed.

Followup completed: §6.4 has been computed. 576 / 2048 = 28.125% valid coherent subsets over the new DAG. Notably tighter than the 42.2% — driven by Query's join (needs Sub AND Type) and Inbox's role as a shared predecessor. Programmatic enumeration confirms the hand-walked count (make enumerate-lattices, compute/scripts/enumerate_lattice_filters.py): bridge/substrate filter ratio is exactly 2.0000.

2.2 Gaps in the bridge

Two surface primitives are NOT well-covered by extensions:

Perception (Pc) — NO DEDICATED EXTENSION. The entity system doesn't have an extension for receiving external input. User actions, sensor data, external events — these enter the system through EXECUTE dispatch (X) and emit (M), but there's no structured bridge specifically for external input handling.

No extension handles external input. The path from external input to entity system operations isn't formalized in the extension set.

Presentation (Pn) — NO EXTENSION COVERS THIS. No extension handles external output production. The Content extension is about data aggregation (content manifests), not rendering or presentation. The bridge from entity system content to visible output is entirely unspecified.


3. How substrate primitives expand to surface

3.1 The expansion pathways

E (Entity) ──→ via Type, Tree ──→ D (Data), Sh (Shape)
   Encoding becomes structured typed content with schema.
   
I (Identity) ──→ via History, Revision ──→ Hs (History), Ch (Coherence)
   Content-addressing enables version comparison and convergence checking
   (Revision absorbs the former Sync extension's coherence role).
   
T (Tree) ──→ via Tree, Type ──→ Sh (Shape), Ac (Access)
   Namespace becomes structural hierarchy and path-based retrieval.
   
M (Emit) ──→ via Subscription, History ──→ Mt, Pg, Hs
   Observable mutation splits into: state change, change propagation, 
   and change tracking.
   M is the MOST EXPANSIVE substrate primitive — produces 3 surface concerns.
   
X (Execution) ──→ via Compute, Continuation ──→ Ev (Evaluation)
   Dispatch becomes application-level evaluation — derived values, reactive computation.
   X is also AMBIENT — general computation assumed by all surface concerns.
   
P (Peer) ──→ via Inbox ──→ Bn (Boundary)
   Substrate-bridge: Inbox handles cross-peer messaging.
   Operational tier (NETWORK, IDENTITY, ROLE) provides the operational
   Au (Authority) and broader Bn surface but lives outside the
   substrate-bridge set.

3.2 What's NOT bridged from the substrate

Pc (Perception) and Pn (Presentation) don't have clear substrate origins. They EMERGE at the surface from the system being USED by external entities. The entity system's primitives are about internal information processing — they don't inherently produce external I/O capabilities.

The fact that these two surface primitives lack substrate origins is structurally meaningful:

The bridge TOWARD humans (Pc, Pn) requires client-side implementation — SDKs, UI frameworks, device drivers. These are bridges the entity system doesn't fully specify because they cross into a different chain (the human chain).

3.3 The expansion factor

Entity system 6 substrate primitives → 12 surface primitives. Factor: 2×.

But of the 12 surface primitives:

So the substrate-to-surface expansion is really 6 → 10 through bridge mechanisms (via 11 substrate-bridge extensions), plus 2 environmental primitives. The bridge expansion (6→10, factor 1.67×) is closer to biology's expansion factor (~1.5×). The Au (Authority) primitive sits partly inside the substrate (capabilities on Peer) and partly in the operational tier (Identity, Role, Group, Attestation, Quorum) — it bridges the substrate but draws much of its surface from operational machinery that is not in the substrate-bridge set.


4. Bridge internal structure

4.1 Dependencies between extensions

Reconstructed from current Depends: headers in the v7.0 extension specs:

Tree (extended) ─────── (independent — depends on core tree handler only)
Type ────────────────── (independent — depends on ENTITY-NATIVE-TYPE-SYSTEM)
Content ─────────────── (independent — core ET/IT only)
Inbox ───────────────── (independent — core)
Compute ─────────────── (independent — core TMX/EX/IX only)
History ─────────────── (independent — core ITM)
Clock ───────────────── (independent — core TM only)

Subscription ──► Inbox  ──► (core XP)
Continuation ──► Inbox  ──► (core XP for cross-peer)
Query ──► Subscription, Type ──► Inbox
Revision ──► Tree-extended, History (optional)

Independent extensions (7 of 11): Tree, Type, Content, Inbox, Compute, History, Clock — depend only on core protocol or core-protocol-internal Tier-0 handlers. This is a notable shift from the original analysis (4 independent), driven by the absorption of SYNC and the removal of Network/Role from the bridge set.

Chain extensions (4 of 11): Subscription, Continuation, Query, Revision — form short dependency chains within the bridge layer.

4.2 Hub extensions

Inbox — Subscription, Continuation, and Query (transitively through Subscription) depend on it. Cross-peer messaging is foundational for distributed capabilities.

Tree (extended) and History — Revision depends on both. Tree-extended for snapshot/diff/merge primitives, History for path-level transition data when enriching versions.

Subscription — Query depends on it for tree-change event semantics. Promoted to hub status by Query's addition to the bridge set.

The hub pattern parallels biology's bridge structure (Code as the hub — everything depends on the genetic code); here, the substrate's content-addressed-tree-with-emit-events is the structural analog and Inbox/Tree/Subscription are the bridge-level hubs that propagate access to it.

4.3 Over-subscribed substrate surfaces

Updated for the current 11-bridge set:

Substrate pairBridge extensions exercising itCount
TM (tree-emit)Subscription, Compute, History, Revision, Clock5
MX (emit-execution)Compute, Subscription, Continuation3
XP (execution-peer)Inbox, Revision (cross-peer sync), Continuation (cross-peer)3
IT (identity-tree)History, Revision, Content3
ET (entity-tree)Type, Content2
EX (entity-execution)Compute, Type2
TX (tree-execution)Tree, Query, Revision, Continuation4

TM (tree-emit) is the most over-subscribed — five bridge extensions compete for events when tree paths change. This is why L2 (System-Composition) exists: consumer ordering, cascade depth limits, convergence classes. The count rose from 4 to 5 because Revision (which absorbed Sync's coherence role) also consumes TM events for auto-versioning.

TX (tree-execution) is the second most subscribed at 4 — a new finding when Query is added to the bridge set, since Query's secondary indexes are tree-walk dispatch operations.

MX (emit-execution) is the reactive core — where emit triggers dispatch triggers further emit. Unchanged from the prior analysis.

4.4 Core triad of the bridge

{Compute, Subscription, Revision} — Evaluation bridge + Propagation bridge + Coherence bridge.

"What are the essential application bridges?" → The ability to COMPUTE within the entity system (Compute), PROPAGATE changes to interested parties (Subscription), and RECONCILE distributed state including its version history (Revision — which subsumes the former Sync extension's role).

The core triad's role is unchanged from the analysis; the third member's name changed from Sync to Revision when the architecture team absorbed sync semantics into the version-DAG-and-merge framework. The structural argument carries: all three exercise the TMX triangle (the reactive dispatch substrate surface) from different angles:

4.5 Comparison to biology's bridge structure

PropertyEntity→App bridgeBiology→Organism bridge
Bridge count11 (substrate-bridge tier only)12
Independent7 (Tree, Type, Content, Inbox, Compute, History, Clock)3 (per biology analysis)
Hub extensionsInbox, Tree, SubscriptionCell Division, Signal Transduction
Most over-subscribedTM (5 extensions)G-Reg (5 mechanisms)
Core triad{Compute, Subscription, Revision}{CellDiv, SigTrans, Morphogen}

The bridge structure replicates structurally even with the count shift. The 12 → 11 reduction is driven by architectural reclassification (Network/Role moved to operational tier) rather than by methodological inconsistency. Hub-and-spoke pattern, over-subscribed substrate surfaces, and a clean three-extension core triad all carry over.


5. Pair Enumeration and Load Classification

Pair count: C(11,2) = 55 pairs (was 66 with the 12-bridge set). The drop reflects Network/Role moving to operational tier; the substitution Sync→Revision keeps the same slot.

5.1 Heavy pairs (updated)

#PairContentWhy heavy
1Type-TreeTypes live in the tree as entities at paths. Type resolution is tree traversal.Constitutive — the type system IS tree-structured
2Compute-SubscriptionCompute depends on subscription for reactive re-evaluation. Change → recompute.The reactive loop — TMX triangle through two extensions
3Compute-TypeCompute expressions are typed entities. Type checking applies to expressions.Typed computation — expressions are entities
4Subscription-InboxSubscription delivers notifications via Inbox. Direct dependency.Architectural — subscription requires messaging
5Revision-HistoryRevision uses version comparison and per-path transition data; History optional dep per spec.Architectural — versioning composes with transition recording (absorbs the former Sync-History pair)
6History-SubscriptionVersion changes trigger subscription notifications. History events propagate.Reactive versioning — changes to history are observable
7Compute-HistoryComputed values may depend on historical state. Temporal computation.Temporal queries — compute over history
8Revision-SubscriptionRevision state changes trigger subscription notifications. Remote-peer changes propagated.Distributed reactivity — revision feeds subscriptions (absorbs the former Sync-Subscription pair)
9Type-ContentContent manifests are typed. Content structure follows type system.Typed content — Content uses Type for structure
10Compute-ContinuationDurable computation — long-running evaluations checkpoint and resume.Persistent evaluation — computation survives restarts
11Revision-TreeRevision depends on EXTENSION-TREE for snapshot/diff/merge primitives.Architectural — version DAG built on tree-extension snapshots
12Query-SubscriptionQuery depends on Subscription for tree-change event semantics (per QUERY v1.7 Depends).Architectural — query indexes are subscription-maintained
13Query-TypeQuery indexes by type; typed-query operations.Architectural — type system is one of Query's primary index axes
14Query-TreeQuery operates over tree-organized entities; index entries live in tree.Constitutive — query IS tree-walk with secondary-index acceleration

14 heavy pairs of 55 = 25.5% (was 12/66 = 18%; the bridge's structural density rose with Query's addition and Revision's three-axis role).

**Pairs removed since ** Inbox-Network and Network-Role (both Network/Role moved to operational tier; their pairs against bridge extensions live in a separate operational-coupling analysis, not in the substrate-bridge layer).

5.2 Medium pairs (updated)

#PairWhy medium
15Tree-SubscriptionSubscriptions are to tree paths. Real but the content is mostly in TM substrate pair.
16Tree-HistoryHistory tracks tree state changes. Real but mediated through emit events.
17Tree-ContentContent manifests organized in tree. Real but thin.
18Type-SubscriptionTyped subscription filters. Real but specialized.
19Type-RevisionType-aware merge / schema compatibility across version branches. Real but specialized. (was Type-Sync)
20Inbox-ContinuationDurable inbox delivery — messages survive restarts. Real but specialized.
21Clock-HistoryTimestamps on version entries. Real but Clock serves History.
22Clock-RevisionCausal ordering for cross-peer version reconciliation. Real and important but narrow. (was Clock-Sync)
23Clock-SubscriptionTimed subscriptions, delivery timing. Real but narrow.
24Compute-ClockTime-dependent computation. Real but narrow.
25Content-HistoryContent versions. Real but through standard entity versioning.
26Content-RevisionContent manifests in versioned trees. Real, follows from Revision-Tree + Type-Content.
27Query-InboxCross-peer query result delivery. Real but specialized.
28Query-ContinuationDurable query operations across long timescales. Possible but not in current specs.
29Compute-QueryCompute expressions can reference query indexes for data lookup. Real, derivative.

5.3 Light pairs (updated)

Of the remaining 55 - 14 (heavy) - 15 (medium) = 26 light pairs in the 11-bridge set. Network/Role pairs from the enumeration are removed (those extensions are operational tier; their interactions with bridge extensions are tracked separately).

Representative light pairs:

PairWhy light
Tree-InboxTree paths scope inbox delivery. Indirect through TP substrate pair.
Tree-ClockTree doesn't directly use clock.
Tree-ContinuationContinuation doesn't directly interact with tree operations.
Type-InboxTyped messages. Real but types apply to everything.
Type-ClockClock entries may be typed. Thin.
Type-ContinuationContinuation checkpoints may be typed. Thin.
Content-SubscriptionContent changes trigger subscriptions. Through standard emit.
Content-InboxContent delivered via inbox. Through standard messaging.
Content-ClockContent timestamps. Through standard clock.
Content-ContinuationContent in durable workflows. Thin.
Subscription-ContinuationDurable subscriptions. Possible but not specified.
Subscription-ClockTimed subscription. Through Clock.
Query-ContentContent-aware queries. Thin.
Query-RevisionQuerying versioned state. Through standard tree-walk.
History-ContinuationVersioned durable workflows. Thin.
History-InboxHistory entries delivered via inbox. Thin.
Revision-ContinuationVersioned continuation chains. Thin.
Inbox-ClockTime-stamped messages. Thin.
Continuation-ClockTime-bounded continuations. Thin.
(Remaining ~7 light pairs)Indirect or negligible interactions

5.4 Summary

14 heavy of 55 (25.5%). Notable rise from the 12/66 = 18% — driven by:

  1. Query's three heavy dependencies (Subscription, Type, Tree) when added to the bridge set.
  2. Revision's three heavy pair-bundles (Tree, History, Subscription) absorbing Sync's role plus the version-DAG semantics.
  3. Removal of the 6 pairs involving Network/Role (which were medium/light in the original count) shrinking the denominator.

Heavy pairs cluster around three structural cores:

The distributed-networking core that existed in the framing (Inbox–Network, Network–Role) is gone from the bridge analysis — those interactions now live in the operational-tier analysis (TODO doc).


6. Coherent Sub-lattice

6.1 Dependencies restated

Tree → (independent)
Type → (independent)
Tree → (independent — depends on core tree handler only)
Type → (independent — depends on ENTITY-NATIVE-TYPE-SYSTEM, no other extensions)
Content → (independent — core ET/IT only)
Inbox → (independent — uses core XP)
Compute → (independent — core TMX/EX/IX only)
History → (independent — core ITM)
Clock → (independent — core TM only)
Subscription → Inbox (hard, per SUBSCRIPTION spec)
Continuation → Inbox (hard, for cross-peer XP)
Query → Subscription, Type (hard, per QUERY v1.7 Depends)
Revision → Tree (hard, per REVISION spec)

Hard extension-to-extension dependencies (used for sub-lattice enumeration):

6.2 Enumeration

11 extensions. 5 hard dependencies (some transitive via Subscription).

Total subsets: $2^{11} = 2048$.

Invalid subsets (violate at least one hard dependency): those containing Subscription without Inbox, OR Continuation without Inbox, OR Query without (Subscription AND Type), OR Revision without Tree.

The dependency graph is no longer a simple set of independent chains (as it was in the 12-bridge picture); Query introduces a join (requires both Subscription and Type), and Subscription/Continuation share a common predecessor (Inbox). The clean inclusion-exclusion count of the analysis no longer applies directly; a coherence enumeration must walk the dependency DAG.

An approximate filter estimate by analogy with the walk (3 simple chains gave 42% coherent): the 11-extension set with one shared predecessor (Inbox) and one join (Query) is moderately tighter than the old chain-only structure — back-of-the-envelope estimate puts the coherent fraction in the 30-40% range, with the exact count pending a proper combinatorial enumeration (deferred — see §6.4).

6.3 What the moderately-tight filter means

Applications can still select extension sets fairly freely, but Query's join (needs both Subscription AND Type) and Inbox's role as a shared predecessor (for Subscription, Continuation, and transitively Query) introduce real coupling. Representative coherent configurations:

Selectable modularity remains the bridge's distinctive feature — you configure your bridge profile to your deployment's needs. Biology's bridge is not selectable (you get all developmental mechanisms or you're not an organism); the entity system's bridge is.

6.4 Exact combinatorial enumeration

Walking the 11-extension dependency DAG: 4 chain extensions (Subscription, Continuation, Query, Revision) × 7 independent extensions (Tree, Type, Content, Inbox, Compute, History, Clock).

Constraints (five hard dependencies):

Walk method. Enumerate the 16 chain combos (S, C, Q, R) ∈ {0,1}⁴. R3 eliminates the 4 combos with Q=1 and S=0, leaving 12 valid chain combos. For each valid chain combo, count the compatible independent-extension subsets: the count is a product of single-variable factors — 1 if the variable is forced to 1 by an active constraint, 2 otherwise. The four always-free independents (Content, Compute, History, Clock) contribute a uniform factor of 2⁴ = 16.

(S, C, Q, R)InboxTypeTree× 16Count
0, 0, 0, 022216128
0, 0, 0, 12211664
0, 1, 0, 01221664
0, 1, 0, 11211632
1, 0, 0, 01221664
1, 0, 0, 11211632
1, 1, 0, 01221664
1, 1, 0, 11211632
1, 0, 1, 01121632
1, 0, 1, 11111616
1, 1, 1, 01121632
1, 1, 1, 11111616

Total valid coherent subsets: 576 of 2048.

Filter: 576 / 2048 = 28.125%.

Sanity check: 576 valid + 960 invalidated by R1/R2/R4/R5 (within otherwise-valid chain combos) + 512 invalidated by R3 alone (the 4 Q=1 S=0 chain combos × 128 indep subsets each) = 2048. ✓

**Comparison to ** the prior 12-bridge analysis gave 1728/4096 = 42.2%. The new 28.125% is notably tighter, driven by:

  1. Query's join constraint (Q=1 needs both Sub=1 and Type=1) — joins tighten more than parallel chains do.
  2. Inbox's role as a shared predecessor (for Sub, Cont, and transitively Query) — concentrating dependency weight on one extension.
  3. Smaller universe (2^11 vs 2^12) — but this alone would predict a similar percentage.

Comparison to substrate filter: the substrate has 9/64 = 14% coherent. The bridge at 28% is exactly 2× looser — consistent with the bridge being modular by design (selectable extension profiles) while the substrate is constitutively interlocked (primitives co-determine one another).

Programmatic verification: the per-chain-combo table above and the totals (576 valid, 9 substrate-coherent, 2× ratio) are reproduced by compute/scripts/enumerate_lattice_filters.py (make enumerate-lattices). The bridge/substrate filter ratio is exactly 2.0000.


7. Build-up Sequence (Hasse Walks)

7.1 Dependency structure for the 11-bridge set

The structure is no longer three independent chains; Inbox is a shared predecessor and Query is a join. The dependency DAG:

                Inbox ─→ Subscription ─→ Query
                  ↓        ↗ (join)
              Continuation
                          Type ─→ Query
                          Tree ─→ Revision
                          History ─→ (Revision optional)

Chain extensions (4): Subscription, Continuation, Query, Revision. Independent (7): Tree, Type, Content, Inbox, Compute, History, Clock.

7.2 Build-up paths

Because most extensions are independent, there are MANY valid monotone paths. Key paths:

Path α — Content-first:

{} → Tree → Type → Content → History → Subscription+Inbox → Sync → Compute → ...

Start with content organization and typing. Add versioning. Add notification. Add distributed consistency. Add computation. This builds a CONTENT MANAGEMENT system.

Path β — Reactive-first:

{} → Tree → Compute → Subscription+Inbox → Type → History → Sync → ...

Start with reactive computation. Add notifications. Add typing. Add versioning. Add sync. This builds a REACTIVE APPLICATION.

Path γ — Distribution-first:

{} → Tree → Inbox → Subscription → History → Revision → ...

Start with the messaging substrate. Add subscriptions. Add history. Add version-based reconciliation (sync now lives inside Revision). This builds a DISTRIBUTED SYSTEM at the substrate-bridge level; operational network connectivity (NETWORK extension, peer discovery) sits in Tier 2 and is composed on top.

Path δ — Minimal-operational:

{} → Tree → Type → Compute → Inbox → Subscription → History → Revision

The minimum path to a reactive, versioned, distributed typed system. 7 of 11 substrate-bridge extensions. This is the CORE OPERATIONAL SET.

Path ε — Indexed-data:

{} → Tree → Type → Inbox → Subscription → Query → ...

A new path enabled by Query's place in the bridge set: build indexed access by composing Subscription (for index maintenance) with Type (for typed index keys) and Query (the operation surface). Reaches application-architecture Ac3+ (indexed access) without leaving the bridge layer.

7.3 Phase transitions in the bridge

TransitionWhat changesWhy it matters
+ComputeEntity tree becomes a computation graphReactive derived values. "Spreadsheet semantic."
+Inbox+SubscriptionChanges become observable across peersSystem transitions from pull to push. Real-time.
+TypeContent becomes structurally typed (above the native type system)Value-level constraint validation.
+QueryTree gains indexed access beyond path traversalApplication-architecture Ac3+ (indexed access) lands inside the bridge.
+HistoryMutations become versioned per-pathEvery change trackable. Temporal queries possible.
+RevisionState reconciles across peers via version DAGMultiple peers can diverge and converge with merge semantics (absorbs former Sync).

The most consequential: +Compute (entity tree → computation graph), +Inbox+Subscription (pull → push), and +Revision (per-peer state → reconcilable distributed state). Together they create the reactive distributed system — the entity system's primary surface capability.


8. Load-bearing Compositions

8.1 Triangles

Updated for the 11-bridge set:

TriangleNameContentAll pairs heavy?
{Compute, Subscription, Revision}Reactive distributed consistencyCompute + notification + reconciliation. The operational core.Compute-Sub ✓, Compute-Revision (via History) ✓, Sub-Revision ✓
{Type, Tree, Content}Typed content organizationTypes + namespace + manifests. The structural core.Type-Tree ✓, Type-Content ✓, Tree-Content (medium) — borderline
{Inbox, Subscription, Continuation}Cross-peer messaging coreInbox provides delivery, Subscription provides reactive consumption, Continuation provides durable workflow.Sub-Inbox ✓, Continuation-Inbox (medium) borderline, Sub-Continuation (light) fails
{Revision, History, Clock}Temporal reconciliationVersion comparison with causal ordering.Revision-History ✓, Clock-History (medium), Clock-Revision (medium) — borderline
{Compute, Type, Tree}Typed reactive namespaceTyped expressions evaluated in tree context.Compute-Type ✓, Type-Tree ✓, Compute-Tree (via TMX) medium — borderline
{Query, Subscription, Type} (new)Indexed accessQuery depends on both Subscription (index events) and Type (typed keys).Query-Sub ✓, Query-Type ✓, Sub-Type (medium) borderline

8.2 Core triad confirmed

{Compute, Subscription, Revision} is the strongest — all three pairs are heavy through the reactive distributed core. The core triad {Compute, Subscription, Sync} is unchanged in structural role; the third member's name is now Revision (which absorbed Sync's coherence role into the version-DAG framework).

"What are the essential application bridges?" → COMPUTE within the system, PROPAGATE changes to interested parties, RECONCILE distributed state. These three together enable reactive, consistent, distributed computation.

8.3 Quad

{Compute, Subscription, Revision, History} — the operational quad. Reactive computation + distributed notification + version-based reconciliation + per-path transition tracking. Minimum for a fully operational distributed reactive system. The quad {Compute, Subscription, Sync, History} is the same up to Sync→Revision.

8.4 Higher / full set

{Tree, Type, Content, Inbox, Subscription, Continuation, Compute, Query, Revision, History, Clock} — the complete 11-extension substrate-bridge set. The full application-architecture bridge configuration; peaks at the full-spec target. Consistent with the entity-system complete-substrate composition, plus operational extensions composed on top for deployment (not part of the substrate-bridge story).


9. Emergent Properties

Updated for the 11-bridge set:

CompositionRegimeEmergent Property
{Tree, Type}Both activeTyped namespace — content organized by type-checked structure
{Compute}Compute3+ (reactive)Spreadsheet semantic — tree paths as live computed values
{Inbox, Subscription}Both activePush notification — changes delivered without polling
{History}ActivePer-path versioning — every mutation creates a traceable transition
{Tree, History, Revision}All activeVersion DAG + merge — full distributed version-control semantics
{Compute, Subscription}Both at reactive levelReactive cascade — computed values recompute on dependency change, notifications propagate
{Compute, Subscription, Revision}All activeReactive distributed computation — live computed values that stay consistent across peers
{Subscription, Type, Query}All activeIndexed access — secondary-index-backed query language over typed entities
{Inbox, Continuation}Both activeDurable workflow — long-running cross-peer computations survive restarts
{All 11 substrate-bridge active}Full setFull application platform — reactive, versioned, distributed, typed, indexed, with durable workflow

Operational tier (peer discovery, identity management, role-based authority, etc.) sits alongside; it provides deployment operability and is not part of the substrate-to-application-architecture bridge mapping above.

9.1 Activation thresholds

The bridge has specific activation thresholds where qualitative capability changes:

  1. +Tree+Type: Content becomes structurally organized and type-checked. Data integrity.
  2. +Compute at reactive level: The tree becomes a live computation graph. Derived values.
  3. +Inbox+Subscription: The system becomes push-based. Real-time.
  4. +Query (with Subscription+Type already active): The system gains indexed access. Application-architecture Ac3+ lands inside the bridge.
  5. +History+Revision: The system becomes versioned and convergent across peers. Distributed consistency with merge semantics.
  6. +Continuation: The system supports durable, cross-peer workflows.

Each threshold enables a class of applications that wasn't possible before.


10. Manifestation Landscape

10.1 Extension profiles of real implementations

Updated for the 11-bridge set (substrate-bridge tier only; operational-tier columns dropped from this table — they belong in a separate operational profile if/when authored). Note: column header "Rev" = Revision; "Query" added.

SystemTreeTypeContentInboxSubContComputeQueryRevHistoryClock
Entity Core GoFull3122022221
Entity Core Py32000000010
Full spec targetFullFullFullFullFullFullFullFullFullFullFull
Git (analogy)Full00000002Full1
Kafka (analogy)1202Full000232
React+Redux (analogy)22103031010
CouchDB (analogy)21002012320

The Sync→Revision absorption means the old Sync column folds into the Revision column with comparable values (Git had Sync=2 → Revision=2 since Git's pull/push is a version-DAG operation; CouchDB had Sync=3 → Revision=3 since its replication protocol is conceptually a version-DAG reconciliation).

10.2 What the landscape shows

Go implementation is progressing through the build-up — Tree, Type, Subscription, Compute, Query, Revision, History all at moderate levels. This is broader bridge coverage than the snapshot showed (Query and Revision now present).

Git has extreme History (Full) and Tree (Full) plus moderate Revision (the version-DAG semantics map). Nothing in the reactive cluster — it's a versioned content store, not a reactive system.

Kafka has extreme Subscription (Full) and moderate Revision (its log-as-version-stream). Notification-first, weakly versioned.

React+Redux has moderate Compute and Subscription plus light Query (component lookup). Reactive-first frontend.

CouchDB has moderate Revision (its replication protocol is version-DAG-shaped) and moderate Query (its view machinery). Document-store-with-replication shape.

The extension profile IS a fingerprint that differentiates architecturally distinct systems — and Query's addition to the bridge gives the fingerprint another discriminating axis (Kafka, CouchDB, React+Redux differ sharply on Query coverage).


11. The full connection traced

11.1 End-to-end: substrate → bridge → surface

Updated for the current 11-bridge set:

SubstrateBridge(s)SurfaceThe translation
E (typed data)Type, Tree, ContentD (data), Sh (shape)Entities become structured typed content with schemas and manifests
I (content hash)History, RevisionHs (history), Ch (coherence)Content-addressing becomes version tracking and convergence (Revision absorbs former Sync)
T (tree namespace)Tree, Type, QuerySh (shape), Ac (access)Tree structure becomes schema hierarchy, path access, and indexed access
M (emit)Subscription, History, RevisionMt (mutation), Pg (propagation), Hs (history)Emit becomes change + notification + tracking + version
X (dispatch)Compute, ContinuationEv (evaluation) + AMBIENTDispatch becomes application computation; general compute is ambient
P (peer)InboxBn (boundary, substrate-bridge slice)Substrate-bridge: cross-peer messaging. Operational tier (NETWORK, IDENTITY, ROLE) provides peer discovery, identity management, role-based authority, and most of Au (Authority) above the substrate.
— (external)Content (partial), client SDKsPc (perception), Pn (presentation)External I/O requires client-side bridges beyond the protocol

11.2 What the entity system spec covers vs what's left to implementation

Updated to reflect Query's addition to the bridge set (which lands Ac3+ indexed access inside the substrate-bridge tier) and Sync→Revision absorption:

Fully specified by the substrate-bridge extensions:

Specified by operational tier (Tier 2, not substrate-bridge):

Left to client-side implementation:

5.3 What this means for entity system development

Strong bridges (well-specified, ready): D, Sh, Mt, Pg, Ch, Hs, Ev, Bn, Au — 9 of 12 surface primitives are well-served by extensions.

Well-covered through core + extensions (10/12): D, Sh, Mt, Pg, Ch, Hs, Ev, Bn, Au through extensions. Pc and Pn through core EXECUTE dispatch — external input arrives as EXECUTE calls, external output is produced by handlers dispatched through X. Compute and Subscription support Pn (computing what to show, pushing updates).

Partial (1/12): Ac at path level only (tree paths). Property-based queries, full-text search, semantic access (Ac3+) not covered by any extension.

Gap (1/12): Ac at query level — the only surface primitive without a clear bridge path. Applications needing property-based retrieval must build query infrastructure beyond the tree extension.


6. The codes at the bridge

Each extension carries a specific code (Ke+Kd) — an encoding/decoding protocol:

ExtensionEncoding (Ke)Decoding (Kd)Determinism
TreePath strings → tree operationsTree state → navigable namespaceKd4 — deterministic path resolution
TypeSchema definitions → validation rulesEntity → valid/invalidKd4 — deterministic validation
ComputeExpression entities → evaluation instructionsTree state + expression → computed valueKd4 — deterministic evaluation
SubscriptionPath patterns → notification rulesTree changes → filtered notificationsKd4 — deterministic matching
InboxEntity messages → delivery instructionsMessage → EXECUTE dispatchKd4 — deterministic delivery
SyncMerkle trie → comparison protocolRemote trie → difference setKd4 — deterministic comparison
HistoryEmit events → version entriesVersion entries → temporal navigationKd4 — deterministic versioning
ContentContent entities → manifest structureManifest → aggregated content collectionKd4 — deterministic aggregation

All extensions are Kd4 (deterministic). The bridge is uniformly deterministic — same inputs always produce same outputs across implementations. Any evaluator variability occurs OUTSIDE the bridge, in the cross-chain interaction with humans (how users interpret content), not within the bridge itself.


Summary

PropertyValue
BridgeEntity system substrate → Application architecture surface
Bridge primitives12: {Tree, Type, Compute, Subscription, Inbox, Sync, History, Content, Continuation, Clock, Network, Role}
Independent4 (Compute, Type, Content, Clock)
Hub extensionsInbox, History
Core triad{Compute, Subscription, Sync} — evaluation + propagation + coherence
Most over-subscribedTM (tree-emit) — 4 extensions
Surface coverage10/12 covered (Pc and Pn through core dispatch + extensions), 1 partial (Ac path-only), 1 gap (Ac query-level)
Expansion6 substrate → 10 via bridge + 2 environmental = 12 surface
Evaluator profileKd4 throughout — all extensions are deterministic
GapsQuery infrastructure (Ac3+), perception (Pc), presentation (Pn) — 3 surface primitives unbridged
Replicates biology pattern12 bridge primitives, 2 hubs, ~4 independent, over-subscribed surfaces

Referenced by the model

Cited as a source by 1 model record (browse the model census):