2. The mapping — every biological layer already has a substrate primitive
Each row is a layer the framing names, the function it performs, and the
capability in this system that already performs it. A caution before reading it:
the MCP surface exposes only three verbs — whoami / read / act
(services/gateway) — and all capability lives in the target argument. So
$catalog is a deliberate projection; the real primitive count is an order of
magnitude larger, declared in services/workspace/descriptors.ts (~34 workspace
tools), the platform/runtime/* physics, and each cell's TOOLS array. The names
below are real targets, not a wishlist.
| Neuro layer |
Function |
Substrate primitive (exists today) |
| Spinal cord / reflex arc |
fast, local, stereotyped loops |
registerSubscription (reactions to matching writes → invoke or deliver); declared actions with if/enabled guards; fact timers/leases (FactTimer, ifAbsent+timer atomic claim, state.ts); the subscription reactor (event-handlers.ts) |
| Tectum / orienting |
detect salience; turn toward / away |
six salience signals — recency · velocity · attention · standing · centrality · relevance (state.ts:406-731); lenses (salience/recent/connected/durable/active); per-actor weighting (ADR-0050); _config/salience tuning + ScoreExplain; focus/peripheral/elided bands; reads recall / query / peek / changes |
| Basal ganglia |
action selection: approach, avoid, inhibit |
read("$catalog", { for | forType }) (ADR-0049 — what can act on this fact); $types handlers; registerAction+actions+invoke; suggestions (ratification candidates); @c15r/tasks.next. An action's if precondition is inhibition — an affordance withheld until state permits |
| Thalamus |
routing / gating between systems |
the read/act/whoami spine (target grammar + read/act boundary + scope gate, services/gateway); services/dispatch HTTP ingress (/@*, /d/*) → forge proxy + SSR compose; shaping tiers (refs/card/full); registerSubscription({deliver}) event routing |
| Hippocampus |
episodic / contextual binding + the blackboard |
facts {value, _meta} with server-stamped provenance; remember/ingest; supersede+migrateLinks (retire-not-delete); content-hash CAS (ifVersion/ifRevision/ifAbsent); sharing/authority (share/grants/group/requestGrant), auth identity; changes (trajectory tail); athena (SQL over the whole change history via the archiver) |
| Pallium / cortex |
maps, abstraction, simulation |
authored edges (link/unlink) + derived backbone (instanceOf/managedBy/…) + inferred similarTo (vectors.ts, similar-edges.ts); reads neighbors/links/graph/members; reindex + project (PCA→2D/3D, ADR-0047); canvas boards + views; @c15r/models.agent as the reasoning loop |
| Cerebellum |
prediction, calibration, error-correction |
attention (stale/unlinked/dangling); tend (audit + delta vs prior); ratify (promote inferred → authored); pruneSimilar; supersede+migrateLinks — the primitives exist, but the loop is open (§5): they measure and repair structure, nothing scores the correction |
| Neocortex expansion |
higher planning, execution, social |
@c15r/machine (DyGram, define_machine/step); the effectors @c15r/models (run/agent) and @c15r/run (exec); @c15r/tasks goals; cells.create — neurogenesis at runtime; multi-tenant slices + share/grants (shared world models — a theory-of-mind substrate) |
Read the table twice. Downward, it says: the organism's layers each have a home.
Upward, it says something sharper — the substrate was not designed as a brain,
and it converged on one anyway, because the pressures are the same. A system
that must perceive a growing world, decide what to attend to, select actions under
scarcity, remember what happened, and not drift, grows these organs whether you
name them in Latin or in TypeScript.
Organs versus applications. Not every cell is an organ. The rows above are
cognition — the substrate's own physics. Built on that organism is an
application / interface layer: @c15r/regwatch (a regulatory-monitoring app —
collect → review → calibrate), @c15r/lit (a prose/doc editor and fact renderer),
@c15r/canvas (spatial boards over the graph), @c15r/home (the signed-in
dashboard), @c15r/input (a capture PWA), and the shared render modules
(viewers/kernel/starter). These are things built with cognition, not organs
of it — the same distinction the visual plate draws as a surface resting on the
stack. (@c15r/regwatch, filed in the first draft as "a cortical column," belongs
here: it is an app that happens to run a perception→feedback loop, not a substrate
primitive.) Infrastructure — services/cells (the forge) and services/auth — is
a third category: the ground the organism grows in, not part of it.