Review: Case Studies for Application Architecture (12 Primitives)

Status: Critical review. Testing {Ct, Sh, Ac, Mt, Pg, Ch, Pc, Pn, Bn, Au, Hs, Ev} against diverse and exotic software applications. Looking for systems that break the model.


1. Methodology

For each system: position it in the 12-primitive lattice, check for primitives that don't apply, check for concerns that aren't captured, and assess whether the positioning is structurally informative (does it tell us something real about the system?).

Deliberately including exotic/edge cases beyond mainstream applications.


2. Standard applications (sanity check)

2.1 Gmail (web email)

PrimitiveLevelWhat it looks like
CtFullMessages, contacts, labels, threads, attachments
Sh4Message schema, thread structure, label taxonomy
AcFullSearch (Google-grade), label filtering, conversation threading
Mt3Send, archive, delete, label, star — typed operations
Pg3New message notifications, label count updates
Ch3Eventual consistency across devices/tabs
Pc3Keyboard shortcuts, click, touch, compose events
Pn4Rich HTML rendering, conversation view, responsive layout
BnFullClient ↔ API ↔ services ↔ storage ↔ spam ML ↔ push
Au3Google account, delegated access, confidential mode
Hs2Undo send (timed), trash (30 day), no version history on messages
Ev2Filters/rules, smart categories, priority inbox (algorithmic sorting)

Assessment: Maps cleanly. All 12 primitives apply. The positioning IS informative — Gmail's strength is Ac (search), Bn (distributed architecture), and Pn (rich presentation). Its weakness is Hs (minimal history) and Ev (basic rules). Matches real user experience.

2.2 Postgres (relational database)

PrimitiveLevelWhat it looks like
CtFullRows, columns, tables, JSON, binary objects
ShFullSQL DDL, constraints, foreign keys, check constraints
AcFullSQL queries, indexes, full-text search, GIS
MtFullINSERT/UPDATE/DELETE, transactions, triggers
Pg2LISTEN/NOTIFY, logical replication, triggers
ChFullACID transactions, MVCC, serializable isolation
Pc1Receives SQL commands over connections — batch input
Pn0No direct presentation to humans — returns result sets to client apps
Bn2Client-server protocol, replication
Au3Roles, row-level security, connection authentication
Hs2WAL, point-in-time recovery — but not application-level version control
Ev3Materialized views, computed columns, stored procedures, triggers

Assessment: Maps cleanly. Pc at 1 and Pn at 0 correctly capture that Postgres is a backend service — it doesn't interact with humans directly. Ev at 3 captures the computation Postgres DOES do (views, procedures). Structurally informative.


3. Exotic cases

3.1 Bitcoin / Blockchain

A decentralized ledger with no central authority, no server, append-only mutations.

PrimitiveLevelWhat it looks like
Ct3Transactions, blocks, UTXOs, scripts
Sh3Transaction format, block structure, script language
Ac2UTXO lookup by address, block by hash/height — limited query
Mt1APPEND ONLY — transactions are immutable once confirmed. No update/delete.
PgFullTransaction broadcast, block propagation across P2P network
ChFullNakamoto consensus — probabilistic finality, longest chain rule, Byzantine fault tolerance
Pc2Receives transactions from wallets/nodes — event-driven
Pn0-1No presentation — wallet apps provide UI separately
BnFullFully P2P, every node is equal, dynamic mesh
AuFullCryptographic — private keys, signatures, script-based authorization. Self-sovereign.
HsFullThe blockchain IS the history — every transaction ever, immutable, reconstructible
Ev3Script evaluation, smart contracts (Ethereum), transaction validation

Assessment: Maps well. The unusual features are captured:

Does it break the model? No. The positioning is informative and distinctive. Blockchain is structurally unique: {Mt1, Pg-Full, Ch-Full, Hs-Full, Au-Full} — append-only with maximal propagation, coherence, history, and authority. No other system has this profile.

3.2 TikTok's recommendation algorithm (as a system component)

The recommendation engine specifically — not the full app, but the algorithm that selects what you see.

PrimitiveLevelWhat it looks like
CtFullVideos, user profiles, engagement signals, model weights
Sh4Feature schemas, embedding structures, model architecture
AcFullVector similarity search, feature retrieval, candidate retrieval
Mt3Model updates, feature updates, engagement signal recording
Pg3Model deployment propagation, feature refresh
Ch2Eventual consistency on model versions across serving fleet
PcFullContinuous perception — every swipe, watch time, share, pause is input
Pn0No direct presentation — feeds results to the app's presentation layer
Bn3Training ↔ serving ↔ feature store ↔ logging pipeline
Au2Internal service auth, data access controls
Hs3Full engagement history (drives the model), model versioning
EvFullTHIS IS THE CORE — the entire system IS evaluation. ML inference, feature computation, ranking, filtering

Assessment: Ev at Full is the distinctive finding. The recommendation engine IS an evaluation system — it derives output (ranked video list) from input (user signals + content features + model weights). The model captures this correctly.

Does it break the model? No. But it stress-tests Evaluation (Ev) — this system exists PRIMARILY for Ev. All other primitives serve Ev. This is like how a ribosome EXISTS for evaluation — the recommendation engine is a purpose-built evaluator.

3.3 Arduino / Embedded firmware

A simple microcontroller running a control loop — read sensor, compute, actuate.

PrimitiveLevelWhat it looks like
Ct1Sensor readings, config values, state variables — in registers/RAM
Sh1C structs, bit fields — implicit shape, no dynamic schema
Ac1Direct memory address, register read — no query, no index
Mt2Direct register write, state variable update
Pg2Interrupt handlers, event loop — reactive but simple
Ch1Atomic operations, volatile variables — bare minimum
Pc3-4Continuous sensor input — temperature, light, motion, voltage
Pn2LED output, servo control, serial print — simple actuation
Bn1-2ISR boundary, maybe serial/I2C/SPI to other chips
Au0-1Maybe hardware write-protect, mostly none
Hs0No history — limited RAM, no storage
Ev1Simple formulas — convert ADC value to temperature, PID control loop

Assessment: Low across most primitives but EVERYTHING APPLIES at some level. Even the simplest embedded system has content (sensor readings), mutation (register writes), perception (sensor input), and presentation (actuator output).

Pc at 3-4 is notably HIGH relative to everything else — embedded systems are perception-heavy. They exist to SENSE their environment. This is captured correctly.

Does it break the model? No. The primitives scale down to minimal systems. The positioning is informative: {Ct1, Ac1, Pc3-4, Pn2} = sensor-driven simple actuator. Distinctive and correct.

3.4 Compiler (GCC, LLVM)

A batch transformation system — takes source code in, produces machine code out.

PrimitiveLevelWhat it looks like
CtFullAST nodes, IR, symbol tables, type info, machine instructions
ShFullLanguage grammar, type system, IR type system
Ac3Symbol lookup, type resolution, scope walking
Mt3AST transformations, optimization passes, lowering
Pg2Pass pipeline — one pass's output feeds the next
Ch1Single-threaded mostly, parallel compilation units independent
Pc1Reads source files — batch input
Pn1Writes object files, prints errors/warnings — batch output
Bn2Frontend ↔ optimizer ↔ backend, separate compilation units
Au0-1File system permissions, no internal auth
Hs1No history of transformations (though debug info traces source)
EvFullTHIS IS THE CORE — parsing, type checking, optimization, code generation are ALL evaluation

Assessment: Like the recommendation engine, a compiler is an EVALUATION SYSTEM. It exists to transform (evaluate) source code into machine code. Ev at Full is correct and distinctive.

Pc and Pn at 1 (batch) correctly capture that compilers aren't interactive (ignoring IDE integration which is a separate system).

Does it break the model? No. Correctly identifies compilers as evaluation-dominated systems with batch I/O.

3.5 Multiplayer VR game (VRChat, Rec Room)

Real-time 3D rendered social space with voice, avatars, physics, user-generated content.

PrimitiveLevelWhat it looks like
CtFull3D models, avatars, worlds, audio clips, physics objects
ShFullModel formats, physics constraints, animation rigs, shader parameters
Ac3Spatial queries (what's near me), avatar lookup, world search
MtFullContinuous — position updates 90fps, physics, voice, interactions
PgFullReal-time state sync to all players, voice streaming, physics broadcast
Ch3-4Server-authoritative position, client prediction, rollback
PcFull6DOF head tracking, hand tracking, controller input, voice input, gaze direction
PnFullStereoscopic 3D rendering at 90fps, spatial audio, haptic feedback
Bn3-4Client ↔ game server ↔ voice server ↔ content CDN ↔ social services
Au3Accounts, friends, block, trust levels, instance permissions
Hs1Minimal — no replay, no undo (ephemeral experience)
Ev2-3Physics simulation, IK solving, shader evaluation, simple scripting

Assessment: Everything at HIGH LEVELS except History. VR is the most demanding application type — it pushes Pc and Pn to their limits (full-body tracking input, stereoscopic 90fps output). The model captures this: {Pc-Full, Pn-Full, Mt-Full, Pg-Full} = maximum real-time interactivity.

Does it break the model? No. The distinction between VR and other interactive apps IS the Pc and Pn levels — VR requires Pc-Full (continuous multi-channel sensor input) and Pn-Full (continuous multi-channel immersive output). The model differentiates this correctly.

3.6 Unix pipes (cat file | grep pattern | sort | uniq -c)

A composition of simple programs connected by data streams. No persistence, no state, ephemeral.

PrimitiveLevelWhat it looks like
Ct1-2Text lines — structured only by convention (columns, separators)
Sh0-1No formal schema — convention only
Ac0-1Sequential read — no random access, no query
Mt0-1Each program reads input, writes output — no persistent mutation
Pg2Pipeline IS propagation — data flows through connected programs
Ch0No concurrency concerns — each program is sequential
Pc1Reads from stdin or file — batch
Pn1Writes to stdout or file — batch
Bn2Each program is a separate process connected by pipes
Au0-1Unix file permissions
Hs0Ephemeral — no history
Ev0-1Each program IS a fixed evaluator (grep, sort, uniq) but not user-defined

Assessment: Almost everything at LOW LEVELS. But nothing at -1 or "doesn't apply." Even the simplest Unix pipeline has content (text), propagation (pipe flow), boundary (process separation), and perception/presentation (stdin/stdout).

The distinctive profile: {Pg2, Bn2, everything else ~0-1} = pure data flow with process boundaries. This IS the Unix philosophy structurally characterized.

Does it break the model? No. Scales down cleanly. The positioning is correct and informative.

3.7 Smart contract on Ethereum (a DeFi protocol like Uniswap)

Autonomous code running on a distributed virtual machine with economic value.

PrimitiveLevelWhat it looks like
Ct3Token balances, liquidity pools, price oracles, transaction history
Sh3Solidity structs, ABI schema, ERC-20/721 standards
Ac2Storage slot reads, event log queries, RPC calls
Mt2State-changing transactions — atomic, gas-metered
Pg3Events emitted on-chain, indexed by external services
ChFullBlockchain consensus — global atomic state transitions
Pc2Receives transaction calls — event-driven, from wallets or other contracts
Pn0No presentation — frontend dApps provide UI separately
BnFullEvery contract is a boundary — isolated storage, typed interface (ABI)
AuFullCryptographic — msg.sender, access modifiers, role patterns
HsFullBlockchain IS history — every state change recorded permanently
Ev3-4Smart contract logic IS evaluation — AMM formulas, lending calculations, governance voting

Assessment: Similar to Bitcoin but with HIGHER Ev (smart contracts are programmable evaluation). The DeFi protocol IS an evaluator — it computes prices, interest rates, liquidation thresholds.

Pn at 0 correctly captures that smart contracts have NO presentation — they're pure logic. Frontends are separate applications.

Does it break the model? No. Correctly differentiates from Bitcoin (higher Ev) and from traditional databases (higher Ch, Hs, Au).

3.8 Video surveillance system (CCTV + analytics)

Continuous video capture, recording, analysis, alerting.

PrimitiveLevelWhat it looks like
Ct3-4Video streams, frame metadata, detection events, faces, plates
Sh3Video format (H.264/265), metadata schema, detection types
Ac3Time-based search, detection-based search, spatial queries
Mt2Continuous append (recording), detection event creation
Pg3Alert notifications, detection event propagation to monitoring
Ch1-2Recordings don't need consistency — each camera independent
PcFullCONTINUOUS video/audio input from multiple cameras — the core function
Pn3Live monitoring displays, recorded playback, alert dashboards
Bn3Cameras ↔ NVR ↔ analytics server ↔ monitoring station ↔ storage
Au3-4Camera access control, user roles, export permissions, legal compliance
HsFullRecording IS history — the entire point is preserving visual history
Ev3-4Computer vision — face detection, motion detection, behavior analysis, plate recognition

Assessment: Pc at Full is the DEFINING characteristic — this system exists to PERCEIVE continuously. Hs at Full because the system exists to RECORD. Ev at 3-4 because analytics IS evaluation.

Profile: {Pc-Full, Hs-Full, Ev3-4} = continuous perception with permanent history and computational analysis. This is distinctive and correct.

Does it break the model? No. Correctly captures the system's structure: perception-dominated with history and evaluation.

3.9 Operating system kernel (Linux)

The most fundamental software — manages hardware resources, provides abstractions, runs all other software.

PrimitiveLevelWhat it looks like
Ct2-3Processes, files, sockets, memory pages, device state
Sh3File types, socket types, ioctl structures, proc/sys interfaces
Ac3File paths, process IDs, file descriptors — multiple access mechanisms
MtFullSystem calls — every state change in the system goes through the kernel
PgFullSignals, polling, epoll, inotify, netlink — rich event propagation
ChFullLocks, mutexes, RCU, atomic operations, transaction-like filesystems
PcFullInterrupts from hardware, system calls from userspace — continuous input from multiple sources
Pn2Terminal output, framebuffer, audio devices — kernel provides but doesn't manage presentation directly
BnFullProcess isolation, namespaces, cgroups, seccomp, network namespaces
AuFullUsers, groups, capabilities, SELinux/AppArmor, seccomp
Hs2Journaling filesystems, audit log, dmesg — but not application-level version control
Ev3BPF programs, iptables rules, scheduling algorithms, filesystem logic

Assessment: Almost everything at HIGH levels. The kernel IS infrastructure — it provides high levels of every primitive for applications running on top. Pn at 2 (kernel doesn't manage presentation directly — it provides the framebuffer but display servers handle the rest) is correct and distinguishing.

Profile: Most things at 3-Full, with Pn at 2 and Hs at 2. The kernel is a PLATFORM — high capability across the board.

Does it break the model? No. But it raises an interesting question: is the kernel an APPLICATION or INFRASTRUCTURE? It maps to the app architecture lattice, but it might be better understood as part of the digital computing substrate or as bridge machinery between hardware and applications.

The fact that it CAN be positioned in the app architecture lattice suggests the lattice is general enough to capture infrastructure too. The kernel at high levels on most primitives IS what makes it infrastructure — it provides capability that applications inherit.

3.10 A static website (plain HTML + CSS, no JavaScript)

The simplest possible "application" — just files served by a web server.

PrimitiveLevelWhat it looks like
Ct2HTML pages, CSS, images — structured but fixed
Sh2HTML structure, CSS classes — implicit schema
Ac1URL paths — direct address only, no search
Mt0NO MUTATION — content is static
Pg0NO PROPAGATION — nothing changes
Ch0NO COHERENCE — nothing concurrent
Pc1HTTP requests — minimal, batch-like (request/response)
Pn2-3HTML rendered by browser — static but visual
Bn2Client ↔ web server
Au0-1Maybe HTTP basic auth, usually none
Hs0No history (unless you count the web server access log)
Ev0No computation — pure static content

Assessment: Nearly everything at 0-2. But it IS positioned — a static website is a valid (minimal) application. Profile: {Ct2, Pn2-3, everything else ~0} = static content presentation. This IS what a static website is — content that's presented but doesn't change, isn't queried, isn't interactive.

Does it break the model? No. The model correctly identifies static websites as minimal applications — they have content and presentation but almost nothing else. The positioning is informative: compare to Gmail (high everything) or Postgres (high internal, low external) or Arduino (high Pc, low everything else).

3.11 AI coding assistant (Cursor, Claude Code)

An agent that reads code, understands context, generates/edits code, uses tools, takes direction.

PrimitiveLevelWhat it looks like
CtFullSource code, conversation history, file system state, tool outputs
Sh3-4Language grammars, AST structures, file types, prompt schemas
AcFullCode search (grep, glob), file reading, symbol lookup, web search
Mt3-4File edits, code generation, git operations, terminal commands
Pg2-3File change notifications, tool result streaming
Ch2Single-agent usually — limited concurrency
PcFullUser prompts, file system state, tool outputs, lint/compile errors — CONTINUOUS multi-source
Pn3-4Streaming text output, code diffs, tool call display, status updates
Bn3Agent ↔ LLM API ↔ tools ↔ file system ↔ terminal ↔ web
Au2-3Sandbox permissions, tool approval, file access scoping
Hs3Conversation history, git for code changes
EvFullLLM inference IS evaluation — token generation, tool selection, planning

Assessment: Ev at Full — the AI IS an evaluator. The system exists to evaluate (generate, reason, plan). Pc at Full — the agent perceives multiple input channels continuously (user messages, file state, tool outputs, errors).

This is an AGENT — it actively perceives, evaluates, and acts. The profile {Pc-Full, Ev-Full, Mt3-4, Pn3-4} = active perceiver-evaluator that modifies the world. This is structurally different from passive tools (which have low Pc/Ev) or pure databases (which have low Pc/Pn).

Does it break the model? No. The model correctly characterizes AI agents as evaluation-dominated active perceivers. This is the kind of system where Evaluation as a surface primitive proves its worth — without Ev, you can't distinguish an AI coding assistant from a text editor structurally.

3.12 Digital twin / simulation (factory model, climate model)

A computational model that mirrors a physical system and runs simulations.

PrimitiveLevelWhat it looks like
CtFullPhysical system model — components, properties, relationships, time series
ShFullSimulation schema — component types, physics equations, constraint definitions
Ac3-4Query simulation state, search parameter space, retrieve time series
Mt3Update model parameters, inject disturbances, advance simulation time
Pg3State changes propagate through model — physics simulation IS propagation
Ch2Single simulation thread usually, parallel ensembles independent
Pc3-4Receives sensor data from physical twin, user parameter adjustments
Pn3-43D visualization, dashboard, time series plots, alerts
Bn3Simulation ↔ visualization ↔ data acquisition ↔ control system
Au2User roles, data source authentication
Hs3-4Simulation run history, parameter sweep records, scenario comparisons
EvFullTHIS IS THE CORE — the entire system IS evaluation (physics simulation, what-if analysis)

Assessment: Another Ev-Full system. Digital twins exist to EVALUATE — to simulate what the physical system does or would do. Pc at 3-4 captures the sensor data input from the physical twin. Pn at 3-4 captures the visualization output.

Does it break the model? No. Correctly identifies simulation as evaluation-dominated with real-time perception (sensor feeds) and rich presentation (visualization).


3. Patterns across exotic cases

3.1 Systems that exist FOR evaluation

SystemEv levelWhat it evaluates
TikTok recommendationFullUser preference → ranked content
CompilerFullSource code → machine code
AI coding assistantFullContext → generated code
Digital twinFullPhysical model → simulated behavior
Smart contract3-4Economic rules → token transfers
Surveillance analytics3-4Video → detection events
Postgres (materialized views)3Queries → derived data

A significant fraction of software exists PRIMARILY for evaluation. The Evaluation primitive captures this correctly — without it, these systems are indistinguishable from storage systems.

3.2 The Pc-Pn profile as system characterizer

System typePcPnCharacter
Backend database10Data service — no human interaction
Batch processor11Transforms files — minimal I/O
API service22Request/response — structured I/O
Web application33Interactive — human in the loop
Game / VRFullFullImmersive — continuous multi-channel
Embedded sensor3-42Perception-dominated — senses more than it shows
SurveillanceFull3Perception-first — records everything

The Pc-Pn position IS a fundamental classifier of software. It separates backend from frontend, batch from interactive, passive from immersive. This validates Perception and Presentation as primitives — they carry structural information that no other primitive provides.

3.3 Nothing broke the model

Across all 12 case studies (4 standard + 8 exotic):

3.4 The closest to breaking

The OS kernel raised the question of whether infrastructure should be positioned in the same lattice as applications. It can be — the kernel at high levels on most primitives IS what makes it infrastructure. But it might also be understood as part of the digital computing substrate or as bridge machinery. The lattice handles it either way.

Unix pipes tested the lower bound — can the simplest software be positioned? Yes. Even a pipeline of trivial programs has positions on all 12 axes.


4. Assessment

4.1 Coverage

All 12 primitives have demonstrated utility across the case studies. No primitive was useless for any system. The conditional primitives (Hs, Ev) showed full range (0 to Full) — they're real axes, just not universal.

4.2 Distinctiveness

Every system has a distinctive 12-dimensional profile. No two systems share the same position. The positions correctly capture what makes each system structurally different:

4.3 Structural predictions

The positions generate testable predictions:

4.4 What WASN'T tested

These would be good additional case studies but the current set covers the structural space well enough to validate the 12-primitive model.


5. Conclusion

The 12-primitive model {Ct, Sh, Ac, Mt, Pg, Ch, Pc, Pn, Bn, Au, Hs, Ev} survives the exotic case study review. Every primitive applies to every system at some level. Positions are distinctive and informative. The model correctly captures what makes blockchain different from VR different from a compiler different from a thermostat.

The strongest validations: