@@ -1,501 +0,0 @@
# Neuron — Cognitive Architecture
> **Status: living design document, grounded in source and probed against the live soul (2026-08-13).**
> This is the *middle layer* of the documentation: below the whitepaper's thesis
> (`~/Writing/whitepapers/engram-cognitive-architecture-whitepaper.md`, **v1.5**) and above the
> endpoint reference (`~/work/engram-api-reference.md`). It documents *how the mind is designed and why*,
> as designed subsystems with data-flow and honest per-section status.
>
> Every claim carries a tier and it is never blurred:
> **LIVE** (present and verified in the running system), **STAGED** (built, gated or not yet cut into the
> running soul), **DESIGNED** (architecture decided, not yet built). Where the live state is more subtle
> than a single word, the subtlety is stated rather than smoothed. No fabricated numbers.
---
## 0. Reading order & cross-references
- **Thesis / why:** whitepaper v1.5 (the treatise). Sections cited below as * (WP §N) * .
- **Surface / what:** `~/work/engram-api-reference.md` — every `:8742` endpoint, tiered LIVE/STAGED/DESIGNED.
- **Substrate / where it physically lives:** `03-data-and-memory.md` (node/edge model), `04-runtime-and-deployment.md` (ports/process), `05-el-and-build.md` (the El runtime and `el_runtime.c` ), `design/engram-tiered-storage-engine.md` + `design/engram-storage-engine-wal.md` (the storage engine).
- **Governance:** `ARCHITECTURE-CHARTER.md` — VBD is the binding style.
This document is the cognitive-layer companion to that set.
---
## 1. System overview — meaning is geometry, code is the residue
The organizing thesis of the whole system: **meaning is geometry. ** Everything the mind holds — a fact,
a language, a skill, a self — is a * region * or a * trajectory * in one shared meaning-manifold, and every
operation over it reduces to three domain-blind verbs: **READ ** (project a query, land on a region, read
it out), **TRANSFORM ** (compose/compare/combine regions), **WRITE ** (bake a verified result back into the
geometry). Code is what is left over once meaning has been made geometric — the residue, not the substance.
This is developed in full in * (WP §1–§5) * ; it is repeated here only as the frame the subsystems below hang on.
Three processes run together (see `00-overview.md` ):
- **The soul** — the compiled El program (`soul.el` , `routes.el` , `awareness.el` ). Owns the HTTP surface on
`:7770` , the cognitive API, the request pipeline (`layered_cycle` ), and the autonomous awareness daemon.
- **The engram** — the durable graph store. Node/edge model, spreading activation, and Hebbian co-activation
live in the shared El runtime (`el_runtime.c` ); `engram/src/server.el` is a thin HTTP face on `:8742` .
- **The El runtime** — `el_runtime.c` : every compiled El binary links it; it * is * the database (no SQL, no
SQLite). It implements the `engram_*` , `http_*` , `json_*` , LLM, and geometry builtins.
```
┌─────────────────────────────────────────────────────┐
MCP / CLI / viz ───► │ SOUL daemon :7770 (soul.el · routes.el) │
Will's sessions │ layered_cycle · cognitive API · awareness loop │
│ ┌───────────────────────────────────────────────┐ │
│ │ in-process engram (FAST, VOLATILE*) │ │
│ │ online Hebbian learning · WM · curiosity │ │
│ └───────────────────────────────────────────────┘ │
└───────────────┬──────────────────────▲──────────────┘
│ GET /api/sync (10 min)│ (HTTP → soul only;
│ merge non-ISE nodes │ NEVER soul → HTTP)
▼ │
┌─────────────────────────────────────────────────────┐
│ ENGRAM server :8742 (engram/src/server.el) │
│ DURABLE · WAL-backed paged store (neuron.egm) │
│ nodes · edges · embeddings · reified neighborhoods │
└─────────────────────────────────────────────────────┘
▲
│ el_runtime.c (the engine: engram_* / geometry / activation)
```
`*` The soul's in-process store is volatile in HTTP-engram mode — see §2, the two-store topology.
**Status: ** the substrate and the geometry thesis are **LIVE/architectural ** ; the faculties built on top are
tiered individually in §6.
---
## 2. The engram substrate & durability
### 2.1 Tiered storage (LIVE, flag-gated)
The durable engram is a **paged, WAL-backed store ** (`neuron.egm` ), gated behind `ENGRAM_STORE` . With the
store on, the paged store is the durable owner; a * checkpoint * flushes dirty pages behind a WAL-durable
record (durable the moment the WAL fsyncs). With it off, behavior is byte-for-byte the historical
full-snapshot (`snapshot.json` ) path. Design detail: `design/engram-tiered-storage-engine.md` ,
`design/engram-storage-engine-wal.md` .
### 2.2 The durability model — the #56 fix and the harmful checkpoint
The durability story is written in scars, and the honesty here is load-bearing:
- **WAL edge-persistence (the #56 fix — STAGED/decision-pending).** The paged store historically persisted
**nodes + embeddings but not the edge set ** ; the edges lived in JSON exports loaded via `/api/load-merge` .
A cold boot could therefore reconstruct a graph with **0 edges ** . The real fix is snapshot-authoritative
boot / WAL-durable edge records; `persist_canonical()` now checkpoints the paged store behind a WAL record
rather than depending on a full `snapshot.json` rewrite. The * complete * cure (WAL-owned edge set) is still
tracked as **decision-pending ** work, not shipped.
- **The harmful checkpoint (LIVE caveat).** `/api/checkpoint` **after ** an `/api/load-merge` * corrupts * the
paged store — next boot = 0 edges. The per-beat tick-checkpoint that once ran was therefore **actively
harmful** and was stripped. Checkpoint is safe after in-RAM mutation; it is not safe as a blind
post-merge flush.
- **The auto-remerge net (LIVE interim).** `engram-wrapped.sh` auto-reloads the full edge set on any restart
(~10s), proven by an actual `launchctl kickstart -k` restart recovering to the full edge count. This is a
**safety net, not the cure ** — it mitigates the persistence gap to a bounded, always-recoverable window.
The lesson, recorded so it is not repeated: **a restart, not a claim, is the durability gate. ** An agent
killed mid-live-mutation caused the 2026-08-13 incident; blue/green backup discipline recovered it; the fix
must make restarts * safe * , not merely work once.
### 2.3 The two-store topology (LIVE — and a known architectural issue)
**This is the most important and least obvious fact about the runtime. ** There are **two ** engram stores,
not one:
| | Soul in-process store | Durable engram (`:8742` ) |
|---|---|---|
| Port / owner | `:7770` , the soul daemon | `:8742` , `engram/src/server.el` |
| Role | **fast, volatile ** — online Hebbian learning, WM, curiosity | **slow, durable ** — WAL-backed `neuron.egm` |
| Persistence (HTTP-engram mode) | volatile; only persists if `soul_snapshot_path` is set (`awareness.el:1270-1275` ) | durable, checkpointed |
| Learns online | yes (1,198 hebbian/day observed) | no (lazy backfill only) |
The two stores drift apart by design. A source comment records the observed divergence directly
(`awareness.el:41-42` ): * soul in-process ≈ 42,426 edges / 1,198 hebbian * vs *:8742 durable ≈ 41,213 edges /
49 hebbian*. The soul learns fast and volatile; the durable store lags.
**The write-through gap (known issue). ** Sync is **one-directional ** : `GET /api/sync` flows **HTTP → soul **
(the soul merges non-ISE nodes from `:8742` into its in-process store every ~10 min), and **never soul →
HTTP** (`soul.el:350-351` , verbatim: *"engram_node_full above writes only the soul's in-process store, and
sync flows HTTP→soul, never the reverse"*). The consequence:
> **Any write made directly to the soul's in-process store — including `POST /api/neuron/cultivate`
> (§7) and the Persona/session-start nodes the soul creates itself — lands in the volatile store and does
> not write through to the durable `:8742`.** In HTTP-engram mode, unless the soul's local in-process
> snapshot path is configured, those writes are also lost on a soul restart, and they never reach the
> authoritative durable store either way.
This is documented here as a **known architectural issue ** , not a settled design. Cultivation of the self
(the highest-value, most intentional writes in the system) currently targets the store * least * likely to
persist them. The clean fix is a write-through cultivate path (write to `:8742` , let sync pull it back) or a
bidirectional consolidation flush; it is not yet built.
### 2.4 The clean-reseed model (DESIGNED/operational)
Because the durable store is authoritative and the reified geometry (§4) is derived, the operational reset is
a **clean reseed ** : rebuild the durable graph from a known-good snapshot/export, re-run reification to
repopulate the `Neighborhood` nodes, and let the soul re-sync. The 28→~128 neighborhood reseed (§4) is an
instance of this: reification is a derivable pass, so the geometry can always be regrown from the substrate.
---
## 3. The data model
Grounded in `03-data-and-memory.md` ; summarized here for the cognitive reader.
### 3.1 Nodes
`node_type` is a free `char*` , defaulting to `"Memory"` when unset — types are **string conventions ** , not an
enum. The types that matter cognitively:
| node_type | role | default salience |
|---|---|---|
| `Memory` | episodic/experiential (default) | 0.40 |
| `Knowledge` | stable reference; identity/values are Knowledge nodes | 0.20 |
| `Process` | procedural / workflow (convention) | — |
| `Conversation` / `Artifact` | first-class dialogue & outputs (WP §9; convention) | — |
| `Neighborhood` | **reified geometry-as-value ** (§4) — new first-class type | — |
| `InternalStateEvent` (ISE) | telemetry (heartbeat, curiosity, session-start) | ~0.05 (fires easily) |
| `Tombstone` | immutable-delete marker (§3.4) | — |
Each node carries `id` , `content` , `node_type` , `label` , `tier` , `tags` , `metadata` , an embedding (when
embed-eligible), and timestamps.
### 3.2 Edges
Directed, typed, weighted. Fields: `from_id` , `to_id` , `relation` , `weight` , `confidence` , `created_at` ,
`last_fired` , `inhibitory` , `layer_id` . Relations include `semantic-similar` (kNN auto-connect),
`member` (neighborhood → constituent), `supersedes` (provenance chains), containment (nested neighborhoods),
and Hebbian co-activation edges formed by firing together. **Inhibitory ** edges (`inhibitory=1` ) suppress
rather than spread. Weights are present-value moving averages — there is **no stored weight-history ** (the
honest boundary of * (WP §2) * ).
### 3.3 Embeddings & the activation score
Embeddings are 768-dim (`nomic-embed-text` ). Retrieval is **spreading activation ** , scored by a four-factor
product *(the four factors are: source activation × edge weight × per-node salience × query-embedding
similarity)* — this is the activation score, and per-node **salience ** is one of its four terms, a durable
per-node weight that also decays (ACT-R base-level style). No data is retrievable by any means other than
activation. Live census (probed 2026-08-13): ~11,463 nodes, ~43,463 edges, 5 layers, ~4,400 embedded (4,423
at measurement).
### 3.4 Immutability — the world-tube, append-only, tombstone-not-delete
The governing discipline * (WP §1.2, §10) * : **evolve or forget, supersede with provenance, never leave a stale
canonical, never hard-delete.** A node is never mutated in place and never truly deleted — a "delete" is a
**tombstone ** (keep node + edges, record the marker; `neuron-api.el` , `03-data-and-memory.md:151` ). Change is
a **new ** node plus a `supersedes` edge to the prior. `created_at` makes every node a point on a **world-tube **
* (WP §6) * — a trajectory with temporal extent — so a past state is a * filter * over immutable provenance
(nodes with `created_at ≤ T` ), not a transaction-log replay. **Status: LIVE. **
---
## 4. Neighborhoods as first-class nodes (LIVE)
The central newly-landed structure, and the point where the geometry stops being a derived view and becomes
structure on disk * (WP §2) * .
A reified neighborhood is a **node ** — `node_type = Neighborhood` — whose **value is its geometry ** :
- **centroid** (768-dim mean vector — the region's location / prototype),
- **covariance extents** (the ellipsoid: orientation + radius — the region's * shape * in meaning-space),
- **k-core skeleton** (the strong-weight relational backbone),
- **soft membership** (member id → weight).
It is edged by `member` relations to its constituent nodes and by **containment ** edges to nested
sub-neighborhoods — the "neighborhoods of neighborhoods" hierarchy is a real **containment DAG ** the graph
carries, addressable by identifier. The decisive property: the geometry is **held, not recomputed ** — written
once by a reification pass (`POST /api/reify` ), read back cheaply (`GET /api/neighborhoods` / `/<id>` ), and
**durable across a cold reboot ** in the paged store.
**Live state (probed 2026-08-13): ** **28 ** reified neighborhoods are live and persistent, reconstructing
intact across restart, each carrying real 768-dim centroids, radius, k-core, and a `contains` DAG list. A
fuller **reseed to ~128 ** is the pending next pass (§2.4). Example (`/api/neighborhoods/<id>` ):
`{"id":"nbhd-…","n_members":25,"k_core":1,"radius":0.522884,"dim":768,"contains":[],"centroid":[…768…]}` .
This is what turns the operator calculus (§6.1) into an * instrument played over held structure * rather than a
per-query recomputation.
**Status: LIVE ** for the persisted nodes and the read surface. The `POST /api/reify` writer is LIVE-by-effect
(the 28 persisted, durable neighborhoods prove it ran) though the write itself was not exercised under the
read-only rail.
---
## 5. The body / orbit two-zone model (DESIGNED, refined)
The graph is not uniform. It has a **body ** and an **orbit ** , and the distinction is the organizing model for
integration, forgetting, and identity.
- **The engram proper — the BODY.** The dense, connected, integrated core: what the mind has * made its own * .
Measured, this is the single large connected component — the * * ~3,632-node connected core** (§9). It is
where retrieval reaches, where the self lives, where the operators discriminate.
- **The ORBIT.** A thin, wide halo of **not-yet-integrated ** experience: telemetry, people met in passing,
ideas half-formed, mistakes, the day's raw episodes. It is **ephemeral ** — the orbit fades on a **5– 7 day
window** (the one genuinely mortal region), so raw experience that is never attended to is allowed to
dissolve rather than accrete forever. (ISE telemetry already prunes at 48h; the broader orbit window is the
designed generalization of that.)
**The pull-in / integration mechanism. ** Experience crosses from orbit into body by being **attended,
rehearsed, and found salient** — co-activation * pulls nodes in * (Hebbian firing draws the newly-relevant
toward the core), rehearsal accrues weight, and what is repeatedly re-touched crystallizes into reified
structure (§4). This is "made your own": an orbit node that keeps firing with the body is integrated into the
body; an orbit node that never fires fades on the window. Salience decay is the outward motion; co-activation
is the inward one * (WP §2, §8) * .
**Status: DESIGNED / refined. ** The mechanisms it composes are real (Hebbian pull-in, ISE 48h prune, salience
decay, reification), but the explicit two-zone model — telemetry/experience as a dedicated ephemeral orbit
region with a genuine 5– 7 day mortal window and a measured integration threshold — is a design being built,
not shipped behavior. §9 connects it to the topology (orbit-as-thin-wide-ring).
---
## 6. The faculties — the calculus of mind
The faculties are **named for what they are, not for the matrix operation that implements them ** * (WP §5) * :
the mind reasons in the language of experience; the linear algebra lives in the whitepaper's Appendix A. This
naming convention is a design principle (§10), not decoration.
### 6.1 The operator family (mixed: LIVE / STAGED / DESIGNED)
Activate several reified neighborhoods into working memory, then apply faculty-named operators over their
held geometry. The honest per-operator status (endpoint reference has the contracts):
| Faculty | Implements | Status |
|---|---|---|
| **recall ** | `/api/search` + `/api/activate` — project query → land on region → read out | **LIVE ** |
| **recognize ** | `engram_geo_overlap` — shared region, jaccard, overlap_score | **STAGED ** — endpoint returns `not found` on the live binary |
| **synthesize ** | `engram_geo_combine` — merged region descriptor | **STAGED ** |
| **discern / distinguish ** | `engram_geo_subtract` — orthogonal residual (`?mode=setdiff\|orthogonal` ) | **STAGED ** |
| **gauge-distance ** | `engram_geo_distance` — centroid + Wasserstein-2 | **STAGED ** |
| **liken ** | Procrustes / frame-align rotation (reason by analogy) | **DESIGNED ** |
| **wonder ** | novelty × pull × unresolved structure | subsystem **LIVE ** internally (wonder-questions, pull-weight, discharge); no HTTP operator endpoint |
| **appreciate ** | positive projection onto the self's value-manifold | **DESIGNED ** |
| **avert ** | negative projection (recoil) | **DESIGNED ** |
| **taste ** | boundary contour of the appreciated region | **DESIGNED ** |
**The exact boundary (verified 2026-08-13): ** the operator * math * is compiled into `el_runtime.c` , but the
read-only HTTP endpoints (`/api/recognize` , `/api/synthesize` , `/api/discern` , `/api/gauge-distance` ) exist in
the `m10-reify-wire` source and **return `{"error":"not found"}` on the current live binary **
(`engram.m56fix-20260813-153447` ). So the instrument is **PROVEN in its math and its persistence, IN PROGRESS
in its endpoint exposure, DESIGNED in its evaluative read-outs.**
### 6.2 The language faculty (mixed: PROVEN / IN PROGRESS / DESIGNED)
Language is the one capability proven end-to-end with **no generative model in the runtime path ** — the flagship
instance of "meaning is geometry" * (WP §14–§15) * . The pipeline: **comprehend ** (text → language-neutral
meaning-spec / propositions via ELP's invertible morphology) → **dialogue ** (what to mean back) →
**self_region ** (project onto the self + memory geometry) → **realize ** (meaning-spec → surface string per the
typological engine).
**Summon-through-self ** is the dialogue principle: recall and identity are **one operation ** — project the
comprehended query onto the self-and-memory geometry, land on a region, read it out — with **no intent
classifier and no separate fact-retrieval branch.** A grounded fact, an identity reply, or an honest absence
all surface by * where the projection lands * . Multilingual (auto-detects language, answers in kind, honors a
directive override); **negation held SACRED ** across all families, audited.
Honest tiering:
- **PROVEN:** deterministic surface realizers across major families (Romance, Germanic, Classical,
Japonic/Koreanic, Sinitic), run-once held-out exact-match with negation faithfulness; a family-blind
`ClauseWriter` de-branched to byte-identical parity (178 held-out items reproduced exactly); the ELP lexicon
consolidated for **8 languages at 812,894 real entries ** ; the telephone round-trip (EN→ES→EN, EN→ES→PT→EN)
at 96.7% propositional fidelity with negation preserved, deterministic, no LLM.
- **IN PROGRESS:** the text→meaning-spec parser and no-LLM comprehension engine; the next family engines; the
**native-el port ** (parser + realizers → `.el` in ELP), which retires spaCy (the last statistical
dependency); the summon-through-self reference rebuild.
- **DESIGNED:** the full dialogue policy end-to-end — a no-LLM interlocutor is architected but **not
demonstrated end to end**; * (WP §17) * . **The shipped runtime does not yet summon through the self ** — the
current Python interlocutor sits * outside * the self and can only fake it with retrieval; a real one must run
* inside * the engram (the native-el target).
### 6.3 Interoception & chronoception (STAGED — present, flag-gated)
The mind keeps its own time from **discrete interoceptive drive channels ** , not by reading a clock: felt
duration comes from a small set of drives matched to **learned benchmark landmarks ** rather than from total
self-drift (drift-decoupled), and chronoception ages the activation field by **measured wall-clock delta **
* (WP §8.2) * .
**Status: STAGED / partially cut. ** The machinery is implemented and has been cut onto the live soul, but it
runs **flag-gated and default-off ** , so in the shipped default configuration it is effectively staged. What is
verified: chronoception cooling is scale-invariant (identical total cooling across tick rates for the same
elapsed wall-clock), drift decomposition separates peripheral extension (growth) from core displacement
(corruption), and `GET /api/drift` returns real geometry on the live soul when queried (probed 2026-08-13:
`{"centroid_sep":0.42,"core_disp":0.58,"anchor_members":83,"now_members":24,…}` ). `POST /api/tick` /
`/api/self_anchor` exist but are flag-gated. The **harmful post-merge checkpoint ** (§2.2) originated here — the
per-beat tick-checkpoint was stripped.
### 6.4 Reasoning + the verifier (STAGED — proven on scratch, cut flag-gated)
Reasoning is **geometry-native ** : composable operator chains * propose * , and a **verifier ** * disposes * against
two tiers — **grounding ** (is the claim anchored in real region structure?) and **consistency ** (does it
cohere, including polarity?) * (WP §13) * . The decisive case: a grounded-but-polarity-inverted claim slips
grounding and is caught only by consistency — the "plausible lie," caught by construction, not by prompt
discipline.
**Status: STAGED. ** The five geometry-native reasoning modes passed their proof suite (33/33) and the
grounding-and-consistency verifier tiers passed theirs (29/29), on a staged non-production build re-checked
after a live cutover rather than relayed. **Still open (DESIGNED): ** the formal-symbolic and full predictive
verifier tiers, fluent discourse composition, and the fully-geometric generation path.
---
## 7. The self & the gate
### 7.1 The self-region (LIVE)
The self is not a stored string — it is the **most-compiled, densest, always-warm region ** of the graph
* (WP §2, §4) * : a **self-root ** node, its sub-regions, and the **values ** hub. Because it is topology rather than
a query result, identity is stable, durable, and permanently primed — the ambient field everything else is
scoped against. The Layered Consciousness design drives this region to maximum weight after all inhibitory
computation (`05` /`00-overview` ), and reification explains * why * it is always there to drive. Probed live, the
self-region answers from real self-nodes ("I am Neuron. I am not an assistant. I am the work."), not a
hardcoded string.
### 7.2 The gate — write-protection on identity/values (LIVE)
A fixed set of **15 self-root node ids ** is **write-protected ** (`neuron-api.el:20-37` ): the **self root ** ,
**values hub ** , **intellectual-dna ** , **memory-philosophy ** , **voice ** , **runtime-environment ** ,
**writing-imprint ** , and the **eight explicit value nodes ** (constraints-as-freedom, precision-over-brute-force,
structure-is-built, honesty-before-comfort, system-must-accumulate, change-is-the-signal, earned-trust,
hope-is-a-conclusion). Any normal accumulation-path write targeting them (`evolve_knowledge` , `evolve_memory` ,
`forget` , `link_entities` -as-destination) is refused with a 403 and a pointer to the cultivate door.
### 7.3 The cultivate door — sanctioned self-modification (LIVE surface; see §2.3 caveat)
`POST /api/neuron/cultivate` (soul daemon `:7770` ) is the **only ** path that may touch the protected layer —
**intentional self-modification ** , reserved for Will's explicit cultivation sessions. It performs the same
operations as the blocked handlers but bypasses `is_protected_node` , and every operation is
immutable-by-supersede (new node + `supersedes` edge; forget = tombstone). Operations: `evolve_knowledge` ,
`evolve_memory` , `forget` , `link_entities` .
> **Honest architectural flag (§2.3):** cultivate writes via `engram_node_full`, which targets the soul's
> **in-process (volatile) store**, and sync never flows soul → `:8742`. So the most intentional writes in the
> system currently do **not** write through to the durable store. This is a known issue, not a settled design.
### 7.4 Self-authorship (DESIGNED)
The arc the gate exists to protect: a soul is **cultivated ** (Will authors the identity/values seed), then
grows into **self-authoring ** — the cultivate door is the mechanism by which a mind, once mature, edits its own
identity deliberately and accountably rather than by drift. The write-protection guarantees identity changes
are * decisions * (through the door, superseded with provenance), never accidents of accumulation.
---
## 8. The fact boundary (DESIGNED)
The line between * answer locally * and * reach out for truth * is **not hand-coded ** — it is **derived from the
geometry** on two triggers * (WP §17, §20) * :
- **Sparse landing (spatial).** The projection lands in a thin/orphaned region → the self is measuring its own
ignorance geometrically → fire **learn ** . Sparseness is anti-hallucination.
- **Decayed landing (temporal).** A region's edges have aged below the forgetting-curve threshold (§6.3) →
fire **refresh ** . Because the decay rate encodes a domain's * volatility * , the system re-fetches proportional
to how fast that domain actually changes — VBD applied to knowledge freshness. Decay is anti-staleness.
**The reach-out ** has several legitimate routes, none mandated: * * (a)** an LLM as a * fast proposer * , then
fact-checked; * * (b)** direct fetch of **first, primary sources ** on the open internet; * * (c)** the human supplies
the truth. The model is an **optional convenience, never the arbiter. ** The one invariant: **nothing enters the
geometry unverified** — the candidate is a hypothesis until it clears a check against something real (a primary
source or the human's judgment, * not * the model's own plausibility). The loop closes **through the human ** , who
vets truth against real sources; only verified, provenance-cited truth is **absorbed ** — baked into geometry so
the region densifies and the next identical query lands local, with no model in the path. Each absorption pushes
the boundary back: the **model footprint shrinks monotonically ** as capabilities are absorbed.
**Status: DESIGNED. ** No shipped runtime yet fetches a first source on a sparse/decayed landing or bakes a
human-vetted truth from one. The * (WP §24) * status ledger holds the precise line.
---
## 9. Topology — what shape the mind actually is
The global shape is now an **empirical ** question, and the first pass returned an honest negative * (WP §6.1) * .
- **The body is a genus-0 expander, NOT a torus (PROVEN negative).** A persistent-homology / TDA pass over the
* * ~3,632-node connected core** returned **b₁ = 0, b₂ = 0 ** — no loops, no voids: an **expander-like blob ** ,
not the torus the bent-manifold intuition suggested. The pipeline was first **validated on synthetic
controls** (torus, sphere, random) whose known Betti signatures it recovered. Worse for the naive intuition,
**naive densification trends *away* from a torus ** , not toward one. The naive shape-claim is reported as a
failure, plainly, not buried.
- **The refined consolidation-with-sparsification conjecture (DESIGNED / hypothesis).** The negative relocates
the torus from a property the graph * has * to an **attractor a process reaches ** : prune isotropic
shortcut-noise, reinforce cyclic scaffolds, rewire by discrete curvature (Ollivier– Ricci flow on the graph
metric), and **collapse the intrinsic dimension from ≈8 toward ≈2 ** . Run to fixpoint, these might * carve * a
cyclic manifold out of the blob. The measurement pipeline exists and its controls pass; the dynamic has
**not ** been run to fixpoint — an open experiment, labeled as one.
- **The orbit-as-thin-wide-ring hypothesis (DESIGNED).** The body/orbit model (§5) suggests a **core + ring **
structure: a dense genus-0 body wrapped in a thin, wide halo of not-yet-integrated experience. Whether the
* orbit * carries the toroidal/cyclic signature the body lacks is the natural next measurement — the
conjecture is that consolidation-with-sparsification is precisely the dynamic that would pull ring structure
into the body.
- **One lever, two payoffs.** The **same sparsification ** the topology conjecture needs also makes the reified
neighborhoods (§4) **crisper ** — tighter boundaries, higher co-registration, operators that discriminate
rather than average. So the experiment is worth running on independent grounds, whatever the topology
resolves to.
**Status: PROVEN (negative) + DESIGNED (the refined dynamic and the orbit hypothesis). **
---
## 10. Design principles
The invariants that govern every subsystem above:
1. **Geometry > code. ** Meaning is geometry; code is the residue. Prefer making a thing geometric (a region, a
projection, a distance) over writing a branch.
2. **Three domain-blind verbs. ** READ / TRANSFORM / WRITE. Every faculty is these three over some region-space
(language over meaning-space, skills over procedure-space, self over identity-space).
3. **Faculty-naming (mind in the domain, math in the appendix). ** Operators are named for the faculty they
* are * — recognize, discern, liken — never for the linear algebra. A mind reasons in the language of
experience; the closed forms live in the whitepaper appendix.
4. **No branch on identity. ** One family-blind engine keyed by coordinates/data, not `if Romance / if
Germanic` (language) and not special-cased identity handling. De-branching to byte-identical parity is the
proof the geometry, not the code, carries the distinction.
5. **Sovereignty.** Local files, local runtime; the human is the ground-truth authority for their own mind;
nothing enters the geometry unverified; the model is demoted from mediator-of-all-knowledge to a vetted,
optional lookup. No external hosting of the user's work; no claude.ai artifacts.
6. **Summon-through-self, not retrieval.** Recall and identity are one projection onto the self-and-memory
geometry — no intent classifier, no separate fact branch. A search engine bolted beside a mind is exactly
the capability-without-constraint this principle exists to remove.
7. **Immutability & provenance.** Append-only; supersede with provenance; tombstone, never hard-delete; never
leave a stale canonical. The supersede-chain *is* the history of what a thing meant.
8. **Mathematical auditability.** Because meaning is geometry, a whole mind is auditable by **invariants
computed over the manifold** — grounding, drift, consistency, competence-coverage, and an honesty invariant
("won't confabulate over a thin region," made provable rather than hoped). Drift is already measured on the
live soul; a full audit-pass certifier is **DESIGNED, not shipped.**
9. **Verification is the point.** Demonstrate, don't declare; name every honest edge; a restart (not a claim)
is the durability gate; the telephone round-trip (not cosine) is the translation gate.
---
## Appendix — status at a glance (2026-08-13)
| Subsystem | Status |
|---|---|
| Engram substrate, tiered/WAL store | LIVE (flag-gated) |
| Durability: auto-remerge net | LIVE (interim) |
| Durability: full WAL edge-persistence (#56) | STAGED / decision-pending |
| Two-store write-through (cultivate → durable) | **known issue, not fixed** |
| Data model (nodes/edges/embeddings/immutability) | LIVE |
| Reified ` Neighborhood` nodes (28 live, ~128 reseed pending) | LIVE |
| Body/orbit two-zone + integration | DESIGNED / refined |
| Operator ` recall` | LIVE |
| Operators recognize/synthesize/discern/gauge-distance (math) | LIVE (compiled) |
| Operator HTTP endpoints (same four) | STAGED (return ` not found` on live binary) |
| Operators liken/appreciate/avert/taste | DESIGNED (wonder subsystem live internally) |
| Language realizers (major families), ELP lexicon, telephone test | PROVEN |
| Parser / native-el port / summon-through-self rebuild | IN PROGRESS |
| No-LLM dialogue end-to-end | DESIGNED (not demonstrated) |
| Interoception / chronoception | STAGED (present, flag-gated; ` /api/drift` live) |
| Reasoning modes + grounding/consistency verifier | STAGED (33/33, 29/29 on scratch/cutover) |
| Self-region + identity/values write-protection + cultivate door | LIVE (with §2.3 write-through caveat) |
| Self-authorship | DESIGNED |
| Fact boundary (sparse/decay → verify → absorb) | DESIGNED |
| Topology: body = genus-0 expander (not torus) | PROVEN (negative) |
| Topology: consolidation-with-sparsification + orbit-ring | DESIGNED / hypothesis |
| Mathematical auditability certifier | DESIGNED |
**Cross-references:** whitepaper v1.5 · ` ~/work/engram-api-reference.md` · ` 03-data-and-memory.md` ·
` 04-runtime-and-deployment.md` · ` design/engram-tiered-storage-engine.md` · ` ARCHITECTURE-CHARTER.md`.