Application Architecture: Canonical Domain Analysis (12 Primitives)

Status: Canonical reference. Full 12-step analysis of the complete application architecture surface — both internal data management and external interaction. Supersedes: analysis-application-architecture.md (9-primitive version focused on data management only) Derived from: Fresh analysis across diverse application types, abstract surface role mapping, 3/3b iteration testing internal/external separation.


Step 1 — Information Gathering

1.1 What we're analyzing

The full structural space of what software applications DO — all of it. Not just data management, not just backend architecture, but the complete surface of software capability. This includes internal data operations, external interaction with users and environment, computation, and system architecture.

1.2 Why 12 and not 9

The original 9-primitive analysis captured data management concerns but missed the external-facing dimension. Testing against real applications (social media, games, creative tools, streaming, embedded systems) revealed the gap: the abstract surface roles Perception and Action were unfilled.

The 3/3b iteration confirmed Perception and Access are genuinely separate (different sources, timing, reliability), and Presentation and Mutation are genuinely separate (different targets, timing, fidelity). The digital medium gives access to structural concerns that other substrates keep implicit — every data management decision is an explicit design choice in software.


Step 2 — Landscape Analysis

2.1 What recurs across ALL software

Every application, regardless of type or platform:

Internal data concerns:

  1. Operates on some form of content (data, state, entities)
  2. Content has structure (types, schemas, formats)
  3. Content must be findable internally (query, lookup, indexing)
  4. Content changes (write, update, append, transform)
  5. Changes may spread internally (events, notifications, reactive updates)
  6. Concurrent changes must not corrupt (transactions, ordering, merges)
  7. Changes may need to be tracked (history, undo, audit) — not always
  8. New values may be derived from existing data (computed views, formulas, rules) — not always

External interaction concerns: 9. The system receives external input (user actions, sensor data, incoming messages) 10. The system produces external output (display, audio, API responses, actuation)

System architecture concerns: 11. Components are separated and communicate across boundaries 12. Access is controlled (permissions, capabilities, isolation)


Step 3/3b — Primitives and Partial Levels

3.1 The twelve primitives

Internal (Content-rooted):

#PrimitiveWhat it does
1Data (D)What the application operates on — data, entities, documents, messages, state
2Shape (Sh)How content is structured — types, schemas, formats, constraints, validation
3Access (Ac)Finding internal content — query, lookup, navigation, search, indexing
4Mutation (Mt)Changing internal state — write, update, delete, append, transform
5Propagation (Pg)How internal changes spread — events, subscriptions, reactive updates
6Coherence (Ch)Maintaining consistency under concurrency — transactions, merges, ordering
7History (Hs)Tracking changes over time — versioning, undo, audit, provenance [conditional]
8Evaluation (Ev)Deriving values from existing data — computed views, formulas, reactive expressions [conditional]

External:

#PrimitiveWhat it does
9Perception (Pc)Receiving external input — user actions, sensor data, incoming API calls, external events
10Presentation (Pn)Producing external output — display, audio, API responses, actuation, notifications

System:

#PrimitiveWhat it does
11Boundary (Bn)Separating and connecting components — service boundaries, modules, protocols
12Authority (Au)Controlling access — permissions, capabilities, roles, isolation

3.2 Abstract surface role mapping

Abstract surface roleApp arch primitiveHow it maps
Structure (St)Data (D)Content IS persistent structure
Organization (Or)Shape (Sh)Shape organizes content
Regulation (Rg)Coherence (Ch)Coherence self-regulates under concurrent pressure
Perception (Pr)Perception (Pc)Direct mapping — detecting external state
Action (Ac)Presentation (Pn)Presentation IS directed output
Protection (Pt)Authority (Au)Authority protects boundaries
Exchange (Ex)Boundary (Bn)Boundary mediates inter-system exchange
[Resource (Rs)]— (ambient)Computation is ambient — infrastructure provides it
[Generation (Gn)]— (absent)Apps don't self-reproduce

All 7 universal abstract roles filled. Plus 5 domain-specific: Ac, Mt, Pg, Hs, Ev — internal data management concerns that the digital medium makes explicit.

3.3 Stability under 3/3b iteration

Tested and confirmed separate:

Potential collapses investigated and rejected:

Conditional primitives:

3.4 Partial levels

Data (D):

LevelDescriptionInstance
D0No contentStateless proxy, pure router
D1Opaque blobsRaw bytes, untyped files
D2Typed recordsStructured data with type/schema
D3Rich contentComplex nested structures, embedded media
D4Self-describing contentContent carries its own structural description
Full DComposable contentContent references and composes other content

Phase transition: D1→D2 (Typing). Data gains type — validation, interop, structural operations become possible. (Levels renamed Ct→D for consistency with the primitive id; "Ct" was stale naming inherited from the superseded 9-primitive "Content" version.)

Shape (Sh):

LevelDescriptionInstance
Sh0No shapeContent unconstrained
Sh1Implicit shapeConventions enforce structure, not declared
Sh2Declared schemaExplicit type definitions
Sh3Validated shapeSchema enforced on write
Sh4Relational shapeTypes reference each other
Full ShEvolutionary shapeSchema evolves with migration, compatibility

Phase transition: Sh2→Sh3 (Enforcement). Shape is ENFORCED — data integrity becomes a system property.

Access (Ac):

LevelDescriptionInstance
Ac0No accessContent exists but can't be located
Ac1Direct addressAccess by key, path, memory address
Ac2Indexed accessSecondary indexes, access by properties
Ac3Query languageDeclarative queries — SQL, GraphQL
Ac4Full-text and semanticSearch, fuzzy matching, semantic similarity
Full AcAdaptive accessSystem optimizes access patterns automatically

Phase transition: Ac1→Ac2 (Indexing). Find content by WHAT IT IS, not just where it is.

Mutation (Mt):

LevelDescriptionInstance
Mt0No mutationImmutable — append-only at most
Mt1OverwriteDestructive replacement
Mt2Structured mutationTyped operations — insert, update, delete
Mt3Transactional mutationAtomic multi-step changes
Mt4Validated mutationMutations checked against shape constraints
Full MtComposable mutationMutations compose, merge, resolve — CRDTs, OT

Phase transition: Mt2→Mt3 (Transactions). Changes become atomic — all-or-nothing.

Propagation (Pg):

LevelDescriptionInstance
Pg0No propagationChanges invisible until polled
Pg1PollingConsumers check periodically
Pg2Push notificationSystem notifies on change
Pg3SubscriptionConsumers declare interest, system delivers
Pg4Reactive cascadeChanges trigger computations trigger further changes
Full PgDistributed propagationChanges propagate across boundaries with guarantees

Phase transition: Pg1→Pg2 (Push). Real-time behavior begins.

Coherence (Ch):

LevelDescriptionInstance
Ch0No coherenceSingle-writer or accept corruption
Ch1LockingExclusive access — pessimistic
Ch2Optimistic concurrencyDetect conflicts after the fact
Ch3Conflict resolutionAutomatic merge strategies
Ch4Convergent stateDistributed replicas guaranteed to converge
Full ChMulti-level coherenceDifferent consistency guarantees for different data

Phase transition: Ch2→Ch3 (Automatic resolution). Conflicts resolve without human intervention.

History (Hs) [conditional]:

LevelDescriptionInstance
Hs0No historyChanges permanent and untraceable
Hs1Undo bufferRecent changes reversible
Hs2Audit logChanges recorded, append-only
Hs3Version controlFull snapshots, branching, diffing
Hs4ProvenanceCausal chain tracked
Full HsTemporal queriesAny historical state reconstructible

Phase transition: Hs2→Hs3 (Version control). Any previous state reconstructible.

Evaluation (Ev) [conditional]:

LevelDescriptionInstance
Ev0No evaluationNo derived values
Ev1Simple formulasComputed fields, basic derivations
Ev2Reactive derivationValues recompute when dependencies change
Ev3Query-based derivationMaterialized views, aggregations
Ev4Rule-based evaluationBusiness rules, constraint propagation
Full EvTuring-complete evaluationArbitrary computation within the content domain

Phase transition: Ev1→Ev2 (Reactivity). Derived values update automatically when inputs change.

Perception (Pc):

LevelDescriptionInstance
Pc0No perceptionNo external input (closed system)
Pc1Batch inputExternal data loaded in bulk on schedule
Pc2Event inputExternal events received and queued
Pc3Interactive inputReal-time user actions processed (click, type, gesture)
Pc4Continuous inputStreaming sensor data, audio/video input, real-time feeds
Full PcAdaptive perceptionSystem adjusts what it perceives based on context (focus, filtering, attention)

Phase transition: Pc2→Pc3 (Interactive). The system responds to individual human actions in real time.

Presentation (Pn):

LevelDescriptionInstance
Pn0No presentationNo external output to users (internal only)
Pn1Batch outputReports, exports, generated files
Pn2Static displayRendered pages, fixed UI, read-only views
Pn3Interactive displayUI that responds to user actions, dynamic updates
Pn4Continuous outputReal-time rendering (games, video), audio streams
Full PnAdaptive presentationSystem adjusts presentation based on context (responsive, accessible, personalized)

Phase transition: Pn2→Pn3 (Interactive display). The display responds to user actions — the reactive UI.

Boundary (Bn):

LevelDescriptionInstance
Bn0No boundaryMonolith, single address space
Bn1Logical boundaryModules, packages, namespaces
Bn2Process boundarySeparate processes, IPC
Bn3Network boundarySeparate machines, network protocols
Bn4Trust boundaryDifferent trust levels, security domains
Full BnDynamic boundaryBoundaries form and dissolve — P2P, mesh, federation

Phase transition: Bn2→Bn3 (Network). Distributed systems concerns become relevant.

Authority (Au):

LevelDescriptionInstance
Au0No authorityEverything accessible to everyone
Au1IdentityComponents have identity
Au2Role-basedAccess by roles — admin, user, guest
Au3Capability-basedUnforgeable tokens, delegatable
Au4Attribute-basedPolicy engines, computed access
Full AuSelf-sovereignDecentralized identity and authority

Phase transition: Au2→Au3 (Capabilities). Authority becomes delegatable without central coordination.


Step 4 — Dependencies

D → (nothing; root 1 — internal hub)
Sh → D (shape constrains content)
Ac → D (access finds content)
Mt → D (mutation changes content)
Pg → Mt (propagation triggered by mutation)
Ch → Mt (coherence coordinates mutation)
Hs → Mt (history tracks mutations)
Ev → D (evaluation derives from content)
Pc → (nothing; root 2 — external input, independent)
Pn → D (presentation requires content to present)
Bn → D (boundary scopes content)
Au → Bn (authority operates at boundaries)

Two independent roots:

This mirrors the SSA's two-root structure: En (encoding) and Cx (context).

DAG:

D (root 1)                    Pc (root 2)
  ├── Sh                         (independent — external input)
  ├── Ac
  ├── Mt → Pg
  │     ├── Ch
  │     └── Hs
  ├── Ev
  ├── Pn
  └── Bn → Au

Depth: Maximum chain: D → Mt → Pg (depth 2) or D → Bn → Au (depth 2). Shallow — consistent with surface domains.


Step 5-6 — Pairs and Load Classification

C(12,2) = 66 pairs. Classifying the most structurally significant:

Heavy pairs

#PairContentWhy heavy
1D-ShTyped contentFoundational — every app needs structured data
2D-AcAccessible contentContent you can find internally
3D-MtMutable contentContent that changes
4Mt-PgReactive mutationChanges trigger propagation
5Mt-ChCoherent mutationConcurrent changes coordinated
6Mt-HsTracked mutationChanges recorded
7Sh-MtValidated mutationChanges checked against shape
8Sh-AcTyped accessShape-informed queries
9Bn-AuAuthorized boundaryAccess control at system edges
10Pc-MtInput-driven mutationExternal input causes state change
11D-PnPresented contentContent shown to users
12Pc-PnInteractive loopPerception + presentation = the interaction cycle
13Pn-PgLive updatesPropagation drives display updates
14Bn-PgDistributed propagationChanges propagate across boundaries
15Bn-ChDistributed coherenceConsistency across boundaries

15 heavy of 66 (23%). Moderate — consistent with a surface domain with both tightly coupled internal pairs and loosely coupled external ones.

Medium pairs

PairWhy medium
D-BnContent scoped by boundary — real but mediated through Ac and Au
D-AuContent protected — mediated through Bn
D-EvContent evaluated to derive new values — real for computed views
D-HsContent has history — mediated through Mt
D-PcContent drives what input is expected — forms, prompts
Ac-PgLive queries — access re-evaluated on change
Ac-BnRemote access across boundaries
Ac-EvAccess to computed/derived values
Sh-ChShape informs merge strategies — structural merge vs text merge
Sh-PnShape informs presentation — types determine display format
Sh-EvShape constrains evaluation — typed expressions
Sh-BnSchema compatibility across boundaries — API contracts
Mt-PnMutation drives display update — the reactive UI pattern
Mt-EvMutation triggers re-evaluation of derived values
Mt-BnRemote writes — mutations across boundaries
Pg-ChPropagation ordering and coherence — event ordering guarantees
Pg-EvPropagation triggers re-evaluation
Pc-AcInput drives data retrieval — search, navigation
Pc-EvInput triggers computation — interactive evaluation
Pc-BnInput arrives across boundaries — remote events

Light pairs

PairWhy light
D-PgContent and propagation — indirect through Mt
D-ChContent and coherence — indirect through Mt
Ac-MtFind-then-modify — sequential use, not pair interaction
Ac-PnAccess result displayed — but mediated through D
Ac-HsTemporal queries — specialized
Ac-AuAuthorized queries — mediated through Bn
Ac-PcAlready listed as medium
Sh-HsSchema evolution — related but loose
Sh-AuShape and authority — orthogonal
Sh-PcShape constrains input — form validation. Real but mediated.
Mt-AuAuthorized writes — mediated through Bn
Mt-PcAlready listed as heavy (Pc-Mt)
Pg-PnAlready listed as heavy
Pg-AuAuthorized subscriptions — specialized
Pg-HsEvent replay — specialized
Pg-PcInput triggers propagation — but through Mt
Pg-BnAlready listed as heavy
Ch-PnConsistent display — mediated through Pg
Ch-EvCoherent evaluation — computed values consistent
Ch-AuAuthority-aware conflict resolution — rare
Ch-HsVersion-based merge — specialized
Ch-PcInput during conflict — mediated
Ch-BnAlready listed as heavy
Hs-EvEvaluate historical state — specialized
Hs-PnDisplay history — specialized
Hs-PcInput on history — undo commands. Specialized.
Hs-BnDistributed version sync — specialized
Hs-AuAudit trail access control — specialized
Ev-PnComputed values displayed — real but through D
Ev-BnDistributed evaluation — remote compute
Ev-AuAuthorized computation — resource limits
Ev-PcInteractive computation — already medium
Pn-AuAuthorized display — content gating
Pn-BnPresentation across boundaries — CDN, SSR
Pn-HsDisplay version history — specialized
Bn-HsDistributed version sync — specialized
Au-HsAudit of access — specialized
Au-EvAuthorized evaluation — specialized
Au-PcAuthentication of input — real but mediated through Bn
Au-PnAuthorized display — content gating. Mediated.

20 medium, 31 light of 66. Distribution: 15 heavy (23%), 20 medium (30%), 31 light (47%).

The Pc-Pn pair

Pc-Pn (perception-presentation) is the INTERACTION LOOP — the external cycle where the app perceives input and presents output. This is the pair that makes software INTERACTIVE. At Pc0+Pn0: no interaction (batch/background). At Pc3+Pn3: full interactive application.

This pair is the app architecture equivalent of organism architecture's Sn-Rs (sensing-response) — the environmental interaction pair.

Anchor pairs

D-Mt (content-mutation) is the internal anchor — most internal compositions cluster around it. Pc-Pn (perception-presentation) is the external anchor — all interaction compositions include it.


Step 7 — Coherent Sub-lattice

Dependencies

D and Pc are independent roots. Given D:

Given Pc: no dependents (Pc is a leaf in the dependency sense — things may be TRIGGERED by Pc but don't structurally DEPEND on it).

Enumeration

Valid subsets of {Sh, Ac, Mt, Pg, Ch, Hs, Ev, Pc, Pn, Bn, Au} given D always present:

Constraints: Pg→Mt, Ch→Mt, Hs→Mt, Au→Bn. Pc independent. Others need only D.

Let me partition: {Pc} is fully independent. For the remaining 10 {Sh, Ac, Mt, Pg, Ch, Hs, Ev, Pn, Bn, Au}:

Constraints on remaining 10: Pg→Mt, Ch→Mt, Hs→Mt, Au→Bn.

Mt absent: Pg, Ch, Hs all absent. Remaining free: {Sh, Ac, Ev, Pn, Bn, Au} with Au→Bn. Valid combos: 2^6 = 64 minus (Au without Bn = 2^4 = 16) = 48.

Mt present: Pg, Ch, Hs each free. Remaining: {Sh, Ac, Pg, Ch, Hs, Ev, Pn, Bn, Au} with Au→Bn. Valid combos: 2^9 = 512 minus (Au without Bn = 2^7 = 128) = 384.

Total for {Sh,Ac,Mt,Pg,Ch,Hs,Ev,Pn,Bn,Au}: 48 + 384 = 432.

Each can independently include or exclude Pc: 432 × 2 = 864.

Including {} and {D alone}: already counted in the 432 (empty subset of the 10 = just D).

Total coherent subsets of 2^12 = 4096:

Filter: 866/4096 = 21.1%.

Cross-domain consistency correction (task #7): an earlier draft recorded 865, excluding the {Pc}-alone subset on the semantic ground that "perception with no content is meaningless" (logged as judgment call #14, deferred to this consistency pass). Resolution: filter_stringency is the full dependency-coherent presence-lattice BFS, counting independent-root-alone singletons uniformly — physical-hardware already counts {Pw}-alone, and every other one of the 34 corpus files has stored == full BFS. {Pc} is an independent root (no presence dependency), so {Pc}-alone is coherent and counted: 866. The semantic nuance (a perceiving-but-contentless application is a degenerate corner) is noted here but does not change the structural count.

Moderate — similar to the 9-primitive version (21.3%). The added primitives (Pc, Pn, Ev) don't create much additional filtering because Pc is independent and Pn/Ev depend only on D.


Step 8 — Build-up Sequence

Primary path (data-first, then interaction)

Step 0→1: {} → {D}
  Content exists. Something to operate on.

Step 1→2: {D} → {D, Sh}
  Content has shape. Structure is explicit.

Step 2→3: {D, Sh} → {D, Sh, Ac}
  Content is findable internally.

Step 3→4: {D, Sh, Ac} → {D, Sh, Ac, Mt}
  Content is mutable. State changes.

Step 4→5: → add Pc, Pn (perception + presentation)
  External interaction begins. The app perceives input and presents output.
  This is where the app becomes INTERACTIVE.

Step 5→6: → add Pg (propagation)
  Changes spread. Reactive behavior.

Step 6→7: → add Ch (coherence)
  Concurrent changes coordinated.

Step 7→8: → add Bn, Au (boundary + authority)
  System architecture — components separated, access controlled.

Step 8→9: → add Hs, Ev (history + evaluation)
  Conditional capabilities — tracking and derived values.

Alternative: interaction-first path

{D} → {D, Pc} → {D, Pc, Pn} → {D, Sh, Pc, Pn} → add Mt → add Pg → ...

Start with content and external interaction before internal data management. This is the PROTOTYPING approach — build the interface first, then the backend. Common in UI-driven development.

Alternative: distribution-first path

{D} → {D, Bn} → {D, Bn, Au} → {D, Sh, Bn, Au} → add Mt → add Ch → ...

Start with system architecture — boundaries and authority before data management. Common in enterprise and microservices-first architecture.


Step 9 — Load-bearing Compositions

Core triad

{D, Sh, Ac} — Content, Shape, Access.

"What is a data system?" → CONTENT with SHAPE that you can ACCESS. The minimal structured data system. Present in every application.

All three pairs heavy: D-Sh ✓, D-Ac ✓, Sh-Ac ✓.

Secondary triads

{Mt, Pg, Ch} — Mutation, Propagation, Coherence.

"What is a reactive consistent system?" → Changes (Mt) that PROPAGATE (Pg) while maintaining COHERENCE (Ch). The operational core.

{Pc, Pn, Mt} — Perception, Presentation, Mutation.

"What is an interactive application?" → The app PERCEIVES input (Pc), MUTATES state (Mt), and PRESENTS output (Pn). The interaction triangle. This is the external-facing equivalent of the data management core.

{Bn, Au} — Boundary, Authority.

"What is a secure distributed system?" → Components separated (Bn) with controlled access (Au).

Named compositions

CompositionNameWhat it captures
{D, Sh, Ac}Data systemStructured accessible content
{Pc, Pn, Mt}Interactive applicationInput → state change → output
{Mt, Pg, Ch}Reactive consistent systemChanges propagate coherently
{D, Mt, Hs}Versioned dataContent with tracked changes
{D, Ev, Ac}Computed dataContent with derived values and queries
{D, Sh, Ac, Mt}CRUD systemThe classic — create, read, update, delete
{Pc, Pn, Mt, Pg}Real-time interactiveLive interactive application with reactive updates
{Mt, Pg, Ch, Bn}Distributed reactiveChanges propagating coherently across boundaries

Quad

{D, Sh, Ac, Mt} — The CRUD system. Content with shape, accessible and mutable. Minimum viable application.

{Pc, Mt, Pn, Pg} — The real-time interactive. Input drives mutation drives presentation drives updates. The live application.

Higher / full set

{D, Sh, Ac, Mt, Pg, Ch, Hs, Ev, Pc, Pn, Bn, Au} — the complete application platform: all twelve surface primitives active. Peaks at the most-complete applications (Instagram, Kubernetes). Carried as an explicit higher composition for full-set coverage, consistent with the entity-system complete-substrate composition.


Step 10 — Emergent Properties

CompositionRegimeEmergent Property
{D, Sh}Sh ≥ Sh3Data integrity — content validated against shape
{D, Sh, Ac}Ac ≥ Ac3Queryable structured data
{Mt, Pg}Pg ≥ Pg2Real-time system — changes visible immediately
{Mt, Ch}Ch ≥ Ch3Convergent system — concurrent changes resolve automatically
{Pc, Pn}Both ≥ Pc3, Pn3Interactive application — human interaction loop active
{Pc, Mt, Pn}All ≥ 3Direct manipulation — user actions directly modify visible state
{Mt, Pg, Ch, Bn}Bn ≥ Bn3Distributed reactive system — cloud-native architecture
{D, Ev}Ev ≥ Ev2Reactive computation — derived values update automatically
{D, Mt, Hs}Hs ≥ Hs3Version-controlled content — any state reconstructible
Full setAll highComplete application platform

Step 11 — Cross-Domain Patterns

11.1 Comparison to other surfaces

PropertyApp arch v2Organism archCognitive archAbstract surface
Primitives12 (10 + 2 conditional)997 + 2 conditional
Filter21.1%~15%~37.7%38.3%
Internal primitives8~4~4~3
External primitives4~5~5~4
Roots2 (D, Pc)111
HubD (Content)Mo (Morphology)Kw (Knowledge)St (Structure)

App architecture has MORE INTERNAL primitives (8 vs ~4) because the digital medium makes every data management concern an explicit design choice. Other surfaces keep these concerns implicit.

The two-root structure (D + Pc) mirrors the SSA's two-root structure (En + Cx). External input is structurally independent of internal content.

11.2 The substrate expansion

Entity system 6 → App architecture 12. Expansion factor: 2×.

How the expansion works:

The larger expansion (2× vs ~1.5× in biology) comes from two sources:

  1. More internal separation (M→3, T→2, P→2) because digital makes concerns explicit
  2. External primitives (Pc, Pn) that emerge from the human-software interaction

Step 12 — Manifestation Landscape

Positioned systems

SystemDShAcMtPgChPcPnBnAuHsEv
PostgresFullFullFullFull2Full102323
InstagramFull4Full3Full3FullFullFull313
MinecraftFullFull3FullFull4FullFull3222
PhotoshopFullFull3Full31FullFull21Full3
Kafka3321Full3203231
REST API222200223200
React+Redux3223Full2FullFull1022
Kubernetes3Full3333223322
Thermostat111220322101
GitFull222021111Full0

What the landscape reveals

Interactive consumer apps (Instagram, Minecraft, Photoshop) cluster at HIGH Pc + HIGH Pn — full interactive loop. They differ on internal concerns (Photoshop: History-Full; Instagram: Propagation-Full).

Backend services (Postgres, Kafka, Kubernetes) cluster at LOW Pc + LOW Pn — minimal direct interaction. They're strong on internal concerns and Boundary.

Hybrid systems (React+Redux, REST API) are moderate on both — they serve as the CONNECTION between backend and interactive.

The Pc-Pn diagonal divides the landscape: high on both = interactive application; low on both = backend service; mixed = middleware/framework.

Attractor positions

AttractorPosition (characteristic)What makes it sticky
CRUD web appD3,Sh3,Ac3,Mt3,Pg2,Ch2,Pc3,Pn3,Bn3,Au2Covers most needs. Rails/Django default.
Event streamD3,Sh3,Mt1,Pg-Full,Ch3,Pc2,Pn0,Bn3High propagation, low interaction. Kafka pattern.
Content storeD-Full,Sh2,Ac2,Mt1,Pc1,Pn1,Bn1,Hs-FullPerfect history, minimal interaction. Git pattern.
Interactive rich clientD3,Sh3,Mt3,Pg-Full,Pc-Full,Pn-Full,Ch2Full interaction + reactivity. Game/creative tool pattern.
API gatewayD2,Sh2,Ac2,Mt2,Pc2,Pn2,Bn-Full,Au3Strong boundary and authority, thin on everything else.

Summary

PropertyValue
Domain nameApplication Architecture (Complete Functional Surface)
Primitives12: {D, Sh, Ac, Mt, Pg, Ch, Hs, Ev, Pc, Pn, Bn, Au}
Roots2: D (content — internal hub) and Pc (perception — external input)
Core triad{D, Sh, Ac} — structured accessible content
Interaction triad{Pc, Mt, Pn} — perceive, mutate, present
Operational triad{Mt, Pg, Ch} — mutate, propagate, cohere
Filter866/4096 = 21.1%
Heavy pairs15/66 = 23%
ConditionalHs (history), Ev (evaluation)
Expansion from substrateEntity system 6 → App arch 12 (2×). M→3, T→2, P→2, plus Pc+Pn emerge.
Two-root structureMirrors SSA's En + Cx. Internal content + independent external input.
Abstract surface rolesAll 7 universal roles filled + 5 domain-specific internal primitives

Referenced by the model

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