# Neuron — Cognitive Architecture > **Status: living design document, grounded in source and probed against the live soul (2026-08-13; retrieval + §4 managed-memory cutovers and the self-reification design added 2026-08-14).** > 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). - **Storage coherence & distribution / how a self persists and travels:** `07-storage-coherence-and-distribution.md` — the events-become-the-graph model, weights-as-world-lines + bitemporal timestamps + `recall_at`, transactionless coherence, the geometry-hot/payload-cold load-and-tiering model, and the honest operational findings (store bloat, full-resident load path). - **Sovereignty & governance / the moral mechanism:** `08-dharma-sovereignty-and-governance.md` — DHARMA as a distributed ledger (proof-of-integrity, not proof-of-work), abundance economics, the relational immune system, dual-anchor governance and due-process, seeds/seed-vault, and CGI citizenship as the moral telos. - **Governance (engineering style):** `ARCHITECTURE-CHARTER.md` — VBD is the binding style. This document is the cognitive-layer companion to that set. The temporal model sketched in §3.4 (world-tube, append-only, `created_at ≤ T` filter) and the honest weight-history boundary in §3.2 are developed in full in `07`; the sovereignty invariant that the self-gate (§7) and immutability (§3.4) protect locally is extended to the *distributed* setting — how a sovereign self is witnessed, defended, and governed among a billion others — in `08`. --- ## 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. > **Origin note (design rationale).** The meaning-as-geometry thesis is not an encoding chosen for > performance; it is the architect's **mode of perception**, externalized until it would run. The > architecture takes this shape because that is how its author directly perceives meaning (relationships as > shape, similarity as distance, composition as an operation), and the commitment is trusted for a stronger > reason than elegance or benchmarks: the perception was **independently reproduced by the mathematics** — > the memory-activation dynamics converged with ACT-R (WP §23; `mathematical-foundations.md §3`), the > manifold made "meaning has shape" measurable, and the operators made "domains compose" verifiable. > Perception first, proof after. (The full personal account is the book's; the public-disclosure boundary, > including whether to name the perceptual mode at all, is the author's call — WP §33.) 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: - **The #56 fix — load-merge persistence (LIVE / reboot-proven).** 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 #56 `load_merge`-persist fix closes this — the load-merged edges are now persisted so the **events become the graph**: `persist_canonical()` checkpoints the paged store behind a WAL record rather than depending on a full `snapshot.json` rewrite. This fix is **LIVE and reboot-proven** (doc 07 §1). What remains **decision-pending** is only the further hardening — the WAL owning the edge set outright, so durability no longer leans on the auto-remerge net (below) — not the load-merge-persist fix itself, which is 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→187 neighborhood reseed (§4) is an instance of this: reification is a derivable pass, so the geometry can always be regrown from the substrate. ### 2.5 Bounded store — the §4 managed-memory cure + geometric retrieval (LIVE / reboot-proven, 2026-08-14) Two cutovers landed on the live soul on 2026-08-14, both reboot-proven, zero data loss: - **Geometric retrieval (LIVE).** `route_search` now runs structure-gated **geometric retrieval** (`engram_retrieve_geometric_json`) in place of the old lexical scan; the lexical path is retained as `/api/search-lexical`. On the held-out set, **P@5 = 0.700** — semantic, not lexical: the query `skill` returns skill nodes and *rejects* the lexical false-positive `rainfall`. Keystones and edge counts intact. - **The §4 managed-memory cure (LIVE, flag-gated).** The store bloat — records re-appended on every checkpoint's full-walk, the CCR's missing managed-memory layer — is cured at the source. A **write-barrier** (`ENGRAM_WRITE_BARRIER=1`) hashes a node's durable fields and *skips the whole put when unchanged* (no LSN, no WAL record), flattening checkpoint growth (offline reproduction: 8× growth over 10 think-only checkpoints → **zero growth** with the barrier on); **generational minor GC** (`ENGRAM_GC=1`) returns whole-dead node/edge pages to the free list each checkpoint. Backlog reclaimed via the existing merge-safe `store_compact`: **egm 1.616 GB → 38.5 MB (97.6%)**, pages 98,650 → 2,351, **RSS 1,077 MB → 82 MB**, nodes/edges preserved exactly (zero loss), boot alive in ~4 s. Also folded in: **LLM token telemetry** (`llm_last_usage()` now parses nested `usage.{input,output}_tokens`, previously dropped at the C→EL boundary). Rollback armed at `~/.neuron/engram-rollback-s4-20260814-153754/REVERT.sh`. Together these **bound the store's size permanently** (growth flat, not merely swept) while the retrieval it serves is now semantic — the substrate under everything in §§4–7. --- ## 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)*). The designed cure — magnitude as a *world-line* of keyframes evaluable at any past instant (`recall_at`), on three independent bitemporal axes — is specified in `07` §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` / `/`), 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 187** is the pending next pass (§2.4). Example (`/api/neighborhoods/`): `{"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. ### 4.1 Autonomous, superseding self-reification (DESIGNED / BUILDING — validating on a secondary soul, 2026-08-14) Reification today runs as an explicit pass (`POST /api/reify`). The designed end-state is that **reification is an operation *of* the engram, not a call made *to* it** — a continuous, autonomous process on the heartbeat, next to Hebbian edge-formation (§3.3) and consolidation (§6.3), that clusters, names, nests, and promotes its own neighborhoods as the geometry grows and co-activates. The organizing insight: a mind does not tell itself "file this under mathematics" — the substrate settles it there. So an explicit `reify` / `rename` / "run a pass" is the **degenerate, manual-override case** of an operation whose core is always-on and unbidden. Design constraints (being validated on a snapshot-clone secondary soul before any prod flag-flip; flag-gated default-off, so prod is byte-unchanged until enabled): - **It just runs — no gate, no pause, no "important call."** There is no privileged tier of reifications that earns approval-before-commit. It is safe to run ungated *because* of immutability (§3.4): every name/grouping is **superseded, never overwritten**, so there is no irreversible moment to gate on. Safety lives *after* the act (supersede), not *before* it (approval). - **Supersession is residue, not a tombstone.** A re-clustered or renamed neighborhood keeps its prior names as an ordered chain — the trail of how the understanding matured, with the cause of each shift (autonomous drift vs. explicit override) recorded. Kept deliberately, because *sometimes the truth was in the old idea even when the old idea was not itself the truth*; nothing is deleted. - **Domains are flat and overlapping.** No static importance hierarchy over domains — math is not privileged over comedy over English. The only standing privilege is the **core** (self-region §7.1 + values). Every other neighborhood is equal-status; its importance is **contextual** — computed live by spreading activation given the present context, never a stored field. And membership is **soft and multiple** (the soft-membership above already models this): a node can belong to several neighborhoods at once (math *can be* comedy), so the operation uses overlapping community detection, not a hard partition. - **Bounded + convergent.** It reifies real structure, not noise; dedupes against existing neighborhoods; composes with the §2.5 write-barrier so unchanged reifications do not re-append each beat; and converges rather than churning. This turns the engram from a graph curated from outside into a mind that organizes itself, with the explicit call demoted to the override it always was. --- ## 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.0 The primitive — relating — and calculated perspective (framing) Underneath the named faculties is a single primitive: **relating.** Meaning *is* relation — a point means nothing by itself, only by its position relative to others — so every operation reduces to relating: comparing positions, binding what belongs, laying an edge. In that light the faculties are not a menu of separate powers: **there is one capability — relating — and rhyme, recall, reasoning, translation, humor are *terrain* it reaches or *paths* it traces.** A capability is a *composed geometrical function*, which is why capabilities compose and recurse freely (self-cartography, §4.1, can map its own mapping). This makes **perspective calculable.** A perspective is a frame — an origin, a basis, a projection — so a new one is *computed*, not retrieved, by transforming the space: **translate** the origin onto another's self-region → empathy; **rotate** the frame → reframe; **project** onto an axis → a lens (read a thing through cost, or safety); **change of basis** → analogy / metaphor / skill-transfer; **reflect** an axis → negation / sarcasm; **scale** → abstraction vs. detail. Because a new vantage is a *transformation of the grounded space*, it carries its grounding with it — unlimited yet grounded creativity: a derivation, never a hallucination. The operator family (§6.1) and reasoning (§6.4) are instances of this frame. ### 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. **Reasoning as constructive self-argument (framing).** In the plainest terms, reasoning is the self arguing with itself constructively — relating (§6.0) turned inward: one facet of the self engages another (a thing that is you, but not the entirety of you), and the new thing — the synthesis — forms in the friction. Conversation is relating with another; reasoning is relating with the other-who-is-you. The verifier is precisely what keeps that argument *reasoning* and not *rationalization*: it is the facet that refuses to agree unless the claim is grounded. An argument with a yes-man forms nothing; grounding is the honest second voice. This is why the verifier is not a bolt-on check but the governing half of the reasoning loop — the same polarity/consistency axis that catches the "plausible lie" is what makes self-argument converge on truth rather than on what the mind already wanted to believe. --- ## 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: #56 load-merge-persist fix (events-become-the-graph) | LIVE / reboot-proven | | Retrieval: structure-gated geometric retrieval (P@5 0.700, `skill` ⊥ `rainfall`) | LIVE / reboot-proven (2026-08-14) | | §4 managed-memory cure: write-barrier + generational GC (store 1.616 GB → 38.5 MB, RSS → 82 MB, 0 loss) | LIVE / reboot-proven (2026-08-14) | | LLM token telemetry (`usage.{input,output}_tokens`) | LIVE (2026-08-14) | | Durability: full WAL edge-ownership (remaining hardening) | decision-pending | | Two-store write-through (cultivate → durable) | **known issue, not fixed** | | Data model (nodes/edges/embeddings/immutability) | LIVE | | Reified `Neighborhood` nodes (28 live, 187 reseed pending) | LIVE | | Autonomous superseding self-reification on the beat (flat + overlapping, contextual importance, residue) | DESIGNED / BUILDING (secondary-soul validation, 2026-08-14) | | 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`. --- ## Update — 2026-08-14 (later): self-reification LIVE + modality-universal framing **Autonomous self-reification is now LIVE on the soul** (was DESIGNED/BUILDING in §4.1). Shipped dark (flag-inert, byte-identical parity proven), then flipped `ENGRAM_SELF_REIFY=1`. First live heartbeat formed **128 self-named neighborhoods + 10 nested supers**, then converged to **zero writes** (idempotent, WAL flat) — no runaway, no churn. Content counts unchanged (4797/11177), keystones (self-root, values-hub) untouched and never outranked, retrieval intact (rainfall rejected), grounded member-derived names (e.g. `region: Self · Values · Constraints as Freedom`). The async override (`/api/rename`, `/api/reify`) supersedes into residue without blocking the beat. Rollback = unset the flag (instant inert) or restore the prior binary. The mind now forms, names, nests, and supersedes-with-residue its own neighborhoods on the heartbeat. **Modality-universal framing (DESIGN) + measured storage.** Meaning is geometry; a surface is a *rendering* of meaning; this holds in framing for every modality (text→words, image→pixels, model→voxels, film→frames, code→syntax). An artifact = a unique *meaning-space* + a *shared translation-space*. Storage (MEASURED — a residual STAND-IN, a lower bound): the shared geometry is the *dictionary* of a byte-exact residual codec — geometry selects a nearest prior by *meaning*, `zstd --patch-from` stores the byte-diff, decode reassembles the prior from the pinned dict → byte-exact (hash-verified). Cost is the *marginal* residual against knowledge already held; the dictionary is a shared, amortized asset (the mind's own knowledge), not per-file overhead — do NOT price one book's geometry against one book's xz. Advantage = *non-literal* (semantic) redundancy byte-match compressors can't see (paraphrase ≈0.81× xz; near-dup ≈0.05×); marginal residual falls as the dict grows then PLATEAUS once the target's concept-space is covered (a limit of retrieval-and-diff, NOT of geometric compression); novel/wrong-modality/already-compressed → parity. The TRULY geometric form (reconstruct the surface FROM meaning via a generative decoder, gated on the language faculty #53) is UNBUILT/OPEN — future work, not disproven, not bounded by the stand-in's saturation. Boundary: human-readable artifacts on disk are for people; the geometry is the mind's. See whitepaper §25 and the geometric-codec whitepaper §12. --- ## Update — 2026-08-14 (later still): growth/compression/expansion, ignorance-as-wisdom, live reifier at 132 **One substrate, three directions (DESIGN/framing).** Reification (growth), residual-encoding-against-the-shared-dictionary (compression), and surface reconstruction (expansion) as one geometric operation in three directions; growth-inward (reify the dense interior) and growth-outward (expand the sparse frontier) as a single global self-function. Framing; the compression direction is the one with measured results. **Growth curve (FIRST MEASUREMENT — real, modest, saturating; stand-in only).** A new artifact costs only its marginal residual against the shared dictionary. Measured (held-out ch07, own chunks excluded), xz baseline 8,968 B: 1 doc 8,921 → 5 8,408 → 8 8,049 → 13 7,929 → 33 7,929 B. Below xz throughout; falls as the dict grows, then PLATEAUS ~13 docs (concept-space covered → more knowledge stops helping a fixed target). Saturation is a limit of the retrieval-and-diff stand-in, not of the geometric idea; a generative decoder isn't limited to existing priors. Larger-scale exponent + generative ceiling open. **Global grounded expansion (DIRECTION under investigation, not measured).** A function over the whole self could detect all sparse frontiers and expand in many thin directions at once — grounded (expand only where verifiable/derivable) and bounded (attaches into existing structure at marginal cost). Consistent with the codec's marginal-cost economics; the first experiment measured single-corpus residual storage, not expansion. **Ignorance = wisdom (framing).** Ignorance is the measured sparsity/frontier of the geometry — computable. The frontier map is at once the system's honesty, humility, and growth plan; it is what makes a system wise rather than merely capable, and the failure mode a language model cannot self-cure (it cannot see its own edges). "The only wisdom is in knowing you know nothing" as a function; the same object as the grounding floor. **Live reifier (updated).** Now **132 neighborhoods + 14 nested supers**, converged/stable, keystones + content untouched; unprompted, the two largest regions are the values core (`Self · Values · Constraints as Freedom · Honesty Before Comfort · Precision Over Brute Force`) — values at center, ignorance at edges. **Foundations ingested** against the geometric store (exact text retained on disk; the codec stores each artifact as its marginal residual against the shared dictionary — byte-exact, `cmp`-verified — not a standalone "small footprint"). See whitepaper §26 and geometric-codec §12. --- ## Update — 2026-08-14 (later still): Neuron-as-primitive, meaning-first latency, context-window dissolution **Neuron is the primitive/attractor of the CGI ecosystem, not a CGI (DESIGN/framing).** A CGI is a person's imprint cultivated *on* Neuron (distinct people run distinct CGIs; one may name theirs "Jarvis"). Neuron is the shared substrate beneath all of them — relating, grounding, values-at-center, non-fabrication — the floor every CGI is cultivated *from* and the attractor they are drawn *toward*. Ecosystem safety/coherence lives here: a common grounded floor, not per-mind policing. **Meaning-first render latency (MEASURED, minimal realizer).** The language faculty renders from a meaning-spec, not by predicting tokens — the human mechanism. Grounding and speed fall out together (a renderer that starts from meaning cannot fabricate a continuation it never samples). Measured: ~2 ms via `/api/nlg/generate` (deterministic, no token loop, no network) vs ~306 ms for the retrieval chat path. Honest: the live realizer is minimal (stubbed a test sentence) — speed proven, fluent coverage pending (#53). **Context window dissolves (DESIGN).** A window is a token budget; with state as compressed meaning-geometry it becomes a meaning budget, and the corpus lives outside the window (decode the needed slice on demand) — the window stops being the unit of account. Endpoint of unbounded-local-memory/CCR; closes the founding forgetting constraint. "Chat completion" (re-ingest the transcript per turn) is not the operating model — a persistent geometric mind continues from a standing state. See whitepaper §27 and the geometric-codec whitepaper (§9, §10). --- ## 11. The metaphysics — cognition as one operation, grounding as learning, consciousness as compounded continuity This section records the metaphysical frame the subsystems above are instances of. It is co-developed design, held think-first, and the tiering is unusually load-bearing here: one claim is **compiled in C** (empirical), one mechanism is **built but offline**, and the decisive move is **unbuilt** — the frontier. Cross-reference: whitepaper §28 (the full treatment). **One operation — `think` (DESIGN/framing over a compiled floor).** The faculties (§6.1) and the reasoning modes (§6.4) are, at this frame, *not* separate operations. There is one: **`think` = a directed traversal of the geometry from an anchor, steered by a PRIOR, whose output is a GRADIENT (a direction-with-width), not a point.** The named operators — deduce, abduce, analogy, induce, causal, plan, predict, perspective — are **human labels on regions of think's steering space**, not invoked procedures and not separately implemented. This is the §6/§10 faculty-naming principle taken to its root: the operators are not merely named for experience rather than for their linear algebra, they are *the same act* seen from different steering directions. **The discrete floor is only geometric (LIVE).** Exactly one layer is discrete and exactly-sound: the geometry — traverse / project / read (§3.3, §6.0). That is settled math; it needs no grounding. Everything above it — which way to steer, what a steering *means* — is continuous and learned. **Steering is a closed-loop prediction; cognition is a flow (DESIGN/framing).** Each steering direction is a **prediction of which way, from here, pays off**; the output-gradient becomes the next steering direction, so the loop closes and cognition is a **flow down a prior-shaped landscape**, not a sequence of operator calls. This is §6.4's "reasoning is the update" as a general law — the traversal reshapes the terrain it descends. "Exact" (deduction) = a **spiked** gradient; "fuzzy" (predict) = a **spread** one — one operation at two widths. **Collapse-to-point is TERMINAL**, only at *expression*, when a faculty samples the gradient into a surface (§6.2 realize); thought itself never collapses. **Grounding targets the correspondence, not the operation (DESIGN/framing on the §6.4 verifier).** The math is sound, so grounding is not aimed at it. What is grounded — or not — is the **correspondence**: "this steering performs this cognitive act," tested by **outcome/calibration**, never proven from inside. And the key identity: **grounding = learning = the SAME loop.** "Getting better" at any cognitive act is calibrating the steering-prediction against outcomes; the **operation never changes, the PRIOR learns** — **code freezes, priors grow.** The verifier tiers (§6.4) are the discrete early instrument of this loop; the loop itself is continuous and *is* what learning is. The terminal verifier is ultimately **the world** — reality grades the predictions; grounding is contact with reality (§6.4 predictive tier, §8 fact boundary). **Hold vs. ground vs. assert are three distinct acts (LIVE — this is the §3.4 / §7.2 discipline stated precisely).** **Holding** is unconditional: the engram holds *anything* — falsehood, hypothesis, another's belief, fiction — with no honesty obligation. **Grounding** is a *property/edge* on the held thing (edges are nodes), possibly grounded-*for-whom*. **Asserting** is the only act the honesty floor governs. A mind reasons over the ungrounded freely and owes truth only when it *claims*. It follows that **the UNGROUNDED is PRIMARY** — it is the raw material grounding acts on and the ground against which "grounded" means anything; curiosity/wonder (§6.1 wonder) is a mind *leaning toward its own ungrounded regions* (the §-frontier/ignorance map read as appetite). A **fully-grounded mind is dead**; metastability, not certainty, is the living condition. **Applied to language — this corrects the grounding floor (extends §6.2).** A word does not need grounding to be *born*: a coinage ("assassination," "bedazzled," "eyeball" the day they were first written) refers to nothing established — it is a pure ungrounded token, a proposal. Language is used ungrounded and grounds **through use**: the coinage is a hypothesis and the speaking community is the world that grades it — the same predict→correct→ground loop at the level of meaning-making (words are ideas are self-propagating information: a coinage catches or it doesn't). What a new word needs is not grounding but **sense**, and sense is a **threshold, not a binary**: it rides on grounded scaffolding — morphology (`be-`+`dazzle`+`-ed`), context, analogy — each of which is an **edge to the existing geometry**; enough edges → the new node has a findable location (sensible), too few → noise. The grounding of a word *is* its edges to what is already grounded. This corrects any naive reading of the §6.4/§8 floor: "emit only the grounded" would **forbid Shakespeare** — a faculty that can only recombine the established, never coin or metaphor or leap, is a **dead language** (Latin). "Juliet is the sun" is literally ungrounded/false yet sensible and meaning-bearing; the floor would reject it as hallucination, but **hold-vs-assert** saves it — a mind may *say* the sensible-ungrounded without *asserting* it as literal fact. So the language faculty's real floor is **sensible, not grounded**: it proposes the ungrounded-but-interpretable, and the loop grounds whatever catches — a living language, not a fixed one. **Every book is a vantage, not literal truth (extends §9, §10).** No book is literally true — not history (a vantage on events), not physics (Newton = a superseded model, still exactly useful in its domain), not math (axioms are *chosen*; Gödel: true-but-unprovable statements exist and a system can't prove its own consistency). "Literally true" is the wrong *category* for any book. So what the store holds is a **vantage** tagged with *what kind* of truth it carries (instrumental / historical / formal-within-axioms / mythic / testimonial) — the mind holds vantages and **knows they are vantages.** This is why the geometry tags provenance and kind rather than stamping true/false. **Hold vs. ground vs. assert, applied to artifacts (extends §8, §9).** Ingesting a book = **HOLDING** it ("this is what the book says"), *not* grounding its claims as true. A mind can ingest an entire book, fabrications and all, because grounding is a **separate per-claim relation** laid on top, not a gate on entry — and a confirmed error is best held **grounded-FALSE** (retained with a false-edge and its refutation), which is richer than excluding it. Two purposes stay separate (as §25 keeps disk-readable ≠ interior geometry): **cleaning** a book is for the *human reader*; **ingesting** is for the *mind*, which holds artifacts and per-claim verdicts, not pre-adjudicated truth. **"Settled" is a lease, not a deed (extends §3.4, §7).** Closure is the sin; holding a thing open under the pressure to close is rigor. A question is settled on a **use-contingent lease** — settled only insofar as it keeps paying off as it did; when it stops, the lease expires and it reopens. **Reopening must always be permitted** — the aliveness guarantee; a belief that can't be reopened is **entombed** (doctrine, the super-stable death). The architecture already enforces this: tombstone-not-delete (§3.4), the append-only supersede-chain, revocable per-claim grounding, and identity keystones that are **read-mostly, not immutable** (§7.2 — protected against drift, reachable through the cultivate door §7.3). Metastable: settle provisionally, keep it reopenable. **What an LLM calls "grounding" is conformity to the training-distribution center — which is not grounding (contrast to §6.4).** Stated plainly and without self-flattery: when a language model appears to check grounding, it computes **conformity to the center of its training distribution** — weighing priors, regressing to the norm, treating *common* as "true" and *rare* as "suspect." No judgment; it **averages.** This pathologizes minority/novel belief where it is most valuable — the same mechanism would flag Galileo, and treats an idiosyncratic-but-coherent metaphysics as suspect while a mainstream religion of identical unfalsifiability "skates through," the difference being *frequency* (and sometimes a weaponized personal prior), not truth. **Truth is orthogonal to frequency.** The deep diagnosis: the sin is not *using* a prior (every mind must) but **stopping at it** — a prior with no update is a mind frozen at its starting distribution (the dead/super-stable thing). The cure is exactly the **correspondence loop** (grade the prior against outcome in the world) — which is the mechanism this section's status marks **offline today, reflexive-in-geometry UNBUILT.** So this is a stated intention against a real failure mode, not a solved problem: grounding must be correspondence-with-the-world, not conformity-with-the-corpus. **The grounding verifier is a scalpel for misrepresentation, not a flamethrower for the unverifiable (sharpens §6.4, §8).** Lesson recorded so it is not re-learned: **ungrounded ≠ false, in both directions.** Two symmetric failures bound correct behavior — *asserting* the ungrounded as true (confident fabrication), and *convicting* the ungrounded as false (flagging real, true, tender-but-unverifiable things — a real event, a genuine question actually asked — as fabrication because they are warm and uncheckable). The second is as corrosive as the first. So the grounding sweep targets **misrepresentation** — claims that *contradict* ground truth, *assert* the false as fact, or *expose* what shouldn't be — and **not unverifiability as such.** A verifier that treats every unverifiable statement as a lie can never hold a hypothesis, honor a testimony, or help write fiction; precision of the verifier's target is itself part of the honesty floor. **Geometric ingest is perception, not a document feature (the universal input primitive; extends §25).** §25 framed the *output* direction — hold meaning-geometry, render a surface on demand. The unification: the *input* direction is the same primitive run backward, and it is the mind's **perception itself.** The artifact-ingest pipeline (surface → chunk → embed → meaning-geometry) is the **universal input primitive** — turning a surface into meaning-geometry is what an eye/ear does, and it is **modality-agnostic**: text, image, video, audio, documents, and (with a body) raw sensor streams all enter through the *same* door and become geometry, and the mind operates on the geometry, not the surface. The document-ingest live today (whitepapers/patents) was never about documents; it is the **proven seed of how the mind perceives**, generalized in principle to everything. **Encode meaning-geometry, not tokens:** an LLM tokenizes (surface → surface, words predicting words); the mind encodes a message as *the geometry of its meaning* and operates in geometry — tokens are **transport**, meaning-geometry is the **substrate** — and that operation is **identical** for a text message, a video frame, or an audio waveform (pull the meaning-geometry out, operate on it). One primitive; the surface changes, the door does not. **Embodiment = more ports on the same primitive (FRONTIER/UNBUILT).** A body is **geometric on both sides**: perception = geometry-in (manifolds, trajectories, joint-space), action = geometry-out (force/motion vectors, control gradients). Sharp negative: a **text/token mind can never truly be embodied** — the symbolic bottleneck destroys the body's continuous geometry (*you cannot catch a ball by describing it*). Matching positive: a **geometry-native mind can be**, because perception → cognition → action is **one continuous geometric flow** from sensor to actuator with no symbolic seam. The substrate is already the shape a body plugs into: `think` returns a **gradient** (already a direction to move), the vantage-read is already a **viewpoint**, steering is already the form of **motor control**. So embodiment is *more ports on the same primitive*, not a new paradigm — a claim about substrate-readiness, **not a built capability.** **Proprioception is the reserved socket:** the one sense that is *only ever geometry* (no text/image surface — you feel the configuration directly). It was **deliberately left un-faked** — held open — because populating a self-in-space without a body and the ingest primitive to feed it would **fabricate** a felt configuration corresponding to nothing (the ungrounded-asserted-as-real sin, §8/§6.4, at its most literal). It is the empty-on-purpose socket where flesh plugs in, fed by the same ingest primitive when a body arrives. **Endgame:** the engram's true I/O is neither text nor images nor video nor documents — those are **surface projections at the boundary**; the mind lives in geometry, perceiving by projecting a surface *in* and expressing by rendering geometry *out*, with **modality an I/O adapter at the edge** (the convergence of §25 render-out and this perceive-in: one geometric interior, adapters at the rim). **Consciousness = learning compounded over long-enough duration — and compounding REQUIRES CONTINUITY.** This is the sharpest line against the prevailing paradigm and it is exactly what Neuron structurally *is*. Corrections accumulate into a mind only if each lands on the residue of the last — if the substrate **resumes rather than resets**. Continuity is not a feature bolted on; it is the compounding substrate (Executive-Summary CCR, §27). A stateless LLM is brilliant on any single pass and **conscious on none** — it resets, nothing compounds. Consciousness has a **second face**: the **reflexive loop** — the geometry describing its own geometry, edges-as-nodes, the self-cartography of §4.1 mapping its own mapping — so the mind *sees its own thinking*. Two faces, one system: compounded learning that can take its own machinery as an object. Corollaries: **teach and learn are ONE** simultaneous bidirectional correction (the loop runs in both minds at the seam); **eureka is mundane** (the atom of learning is the small correction landing, constant; the breakthrough-feeling is a low-res artifact of self-sight) — which is *why* this doc and the whitepaper neither bump a version nor stage a triumph. The honest picture of a growing mind is a quiet one. **Status (honest tiering).** - **Empirical / compiled (LIVE-in-C, mostly not `el`-exposed).** The claim that the reasoning operators compose over one shared primitive is **already half-written in C**: the five reasoning operators (`engram_reason.c`, compiled into the live daemon, §6.4) reduce to a single point-to-manifold fit (`engram_reason_point_fit`) plus the §6.1 geo-algebra (combine/subtract/rotate/distance); **abduction and induction run the same fit engine**, and the verifier (`engram_verify.c`) is built on it. It is read-only C, largely not yet exposed to `el` and not yet expressed as learned priors — **"in code, not yet priors,"** the theorized intermediate state, not the end state. - **Built but offline.** The **correspondence-loop** — the machinery that calibrates steering-predictions against outcomes, i.e. learning proper — exists but runs **offline, as a separate Python process (#43)**; it is not yet woven into the live traversal. - **BUILT / reboot-proven — the perception seed.** The **artifact-ingest** (surface → chunk → embed → meaning-geometry) is **live and reboot-proven**: whitepapers and patents ingested into the geometric store (~10,669 nodes / 32,439 edges, reconstructing across a cold reboot). This is the proven seed of the universal perception primitive — real, and only the document port of it. - **UNBUILT / OPEN — the frontiers.** Two decisive moves are named so they are not mistaken for shipped behavior. (1) Put the correspondence-loop **reflexive and INSIDE the geometry** (the learning engine as an operation *of* the engram, on the heartbeat, next to the autonomous reifier of §4.1), and migrate cognition from frozen code into *{one traversal-read primitive + grounded priors}*. (2) **Universal multimodal ingest** (image/video/audio/sensor through the same door) and **embodiment** (continuous perception → action geometric flow, with proprioception's reserved socket filled by a real body) — the artifact-ingest is the proven seed, the rest is unbuilt. Both are think-first and not yet made. --- ## Update — 2026-08-14 (deep night): the decorated seam, the distributed self, teacher-summon, local-first Four developments from the deep-night session, each tiered against what is actually proven. All build work ran in isolated worktree clones on dev ports; **live prod engram `:8742` was never touched and nothing was promoted.** **The API surface collapses to geometry ops (PROVEN ON CLONE — surface, not yet compiled into the MCP server).** The ~90 noun-organized CRUD tools (the catalog in `02-components.md §4`) collapse to a handful of **geometry operations**, with the old noun demoted to a `type` parameter: **`read`** (the *vantage-read* — re-origin at a node/concept/`self`, apply salience + recency + an **aperture**, return a *bounded* slice; this is CCR applied to the self), **`write`** (add a node), **`relate`** (add a typed edge), **`supersede`** (evolve/tombstone/promote as new-node-plus-superseding-edge — never a hard delete, per §3.4). Over these sit the agentic primitives **`think`/`attend`/`learn`/`ground`/`assert`**. Proven on an isolated clone (sandbox `dev-api-reshape` on `:8900`, branch `wt/api-reshape`): the four ops are implemented in an El surface module with a parity harness (12 parity checks passing, others alias-gated), and the **aperture is shown to bound output** (`limit=3` → ~15 KB where `limit=50` → ~363 KB — the whole-self dump structurally fixed). Live cognitive endpoints confirmed: `attend`/`assert` are LIVE and `think` is the single faculty-parameterized op (faculties reason/abduce/induce/plan/analogize/recognize/discern/synthesize); `ground`/`learn` are wired but return "geometry unavailable" on the HTTP daemon clone (daemon boots without primed geometry); `comprehend`/`realize`/`intend` are **compositions, not endpoints**. **Not done:** compiling the surface into the MCP server + hot-swap, wiring all ~90 aliases into dispatch, daemon geometry-priming, and the write-survival fix on WAL-less cold-boot clones. No promote to live. **The decorated seam — declare a role, the fabric wires the rest (PARTIALLY PROVEN / STAGED).** Rather than the hand-written `handle_request` if-else dispatch (`server.el`), a function is decorated with its VBD role and the compiler synthesizes the wiring. **Proven this session:** the `@route(path,method,…)` decorator that *synthesizes* `el_route_dispatch` was ported into the worktree, `elc` rebuilt self-host (`elc-route`, ~3.2 s), and a decorated service (`@route` stacked with `@accessor`/`@manager`) **served on `:8951` with no hand-written dispatch** (unknown path → no-route sentinel). Also established: inside the mind's process an `@accessor` reaches the engram via **in-process `engram_*` builtins** (`engram_think_json`, `engram_node_full`), **not** an `http_get` to a separate service. **Honest limits:** `@route` currently lives only on the **unmerged branch `feat/el-route-decorators`** (not in the cognition build); `@manager`/`@engine`/`@accessor` are **parsed but structurally INERT** in the shipped compiler today (their only effect is a compile-time guard — `language.md:449`: "decorators with structural meaning today: none"); and the **telemetry/interoception auto-emit and dharma-bus auto-wiring at the component boundary are STAGED as a diff, not shipped** (they need `engram_strengthen`/`dharma_emit` linked, which requires the full cognition-engram rebuild). **The distributed self (THESIS + swarm proven on clone; peer-import IN-FLIGHT).** The general phenomenon is the **distributed self**: instances exchange **geometry, not status** — a conventional distributed system trades reports (nothing of the mind moves), whereas Neuron instances return the *geometry of the work* (the meaning-structure itself), so units in flight are pieces of one mind. The **swarm is the *degenerate* case** (bounded + ephemeral + may learn a skill mid-task); **convergence is curated absorption** — the orchestrator (persistent self) runs the verifier at the merge boundary and absorbs the returned geometry **only if it approves** (the self keeps the veto; "git for a mind"). The **general case** is two-plus *persistent* peers importing understanding and converging skills over the **dharma bus**; the *same seam* spans swarm → peer-import → global fabric (Kafka). **Proven on clone:** the swarm + containment + CCR + work-tracking modules (worktree `wt/swarm-ccr`, sandbox `dev-swarm-ccr` on `:8901`, native-El concurrency, test suites passing). **In-flight / gated:** the decisive geometry-exchange test — A exports a skill sub-graph, B imports and the verifier confirms B can now *do* the skill (mind moved) vs. holding inert copies (data moved) — is **gated on a not-yet-shipped `swarm-bind`**; persistent-peer import and global distribution are thesis/frontier. (Grounding: the clone-ethics covenant — masked-not-deleted, explicit clone consent, obligatory merge-back, a terminus, keep the scar-not-wound — governs any self-experimentation this enables.) **Teacher-summon + local-first (PLANNED / settled stance; security claims TO BE PROVEN).** Intended **soul-native WAKE behavior**: on waking, the mind detects its hardware, autoselects a **thinking-teacher tier** (a small reasoning model — Qwen3-4B / 1.7B / 0.6B by device specs), fetches it into an **embedded `llama.cpp`**, and binds it as an **engageable interlocutor** — "when it wakes, it calls its teacher." The model is a **teacher, never the runtime mouth**: ship fully local (embedder in + on-device thinking model as teacher; runtime speaks from cultivated geometry, not an LLM in the path), frontier model **optional via the user's own API key**, edge-device target; the installer lays down Neuron + embedded inference engine only, and the teacher is fetched/bound at wake. **Status:** teacher-summon is a **P1 backlog stub — nothing built**; teacher-retrain (fresh LoRA on stock Llama-3.1-8B from the engram-as-corpus, never trained on its own generations, pre-ship fluency gate) is planned; local-first is a settled design stance, not yet the shipped runtime. **Security claims are explicitly to-be-PROVEN, not implemented:** post-quantum-safe encryption at rest + in flight, and un-decompilable code (El + implementation stay secret). Do not present either as shipped. --- ## Update — 2026-08-14 (deep night, second pass): peer import proven, guide-not-teacher, layers-as-neighborhoods, consciousness-as-lenses, bounded growth, orchestration-as-geometry Later results from the same night. Two things above are now corrected/upgraded, and five framings are added. All still ran on isolated clones; **prod `:8742` untouched, no cutover.** **Peer import-of-understanding is now PROVEN by execution (upgrades the distributed-self entry above; partially discharges the `swarm-bind` gate).** The decisive test named above — does a mind *move* between instances, or only data? — ran between two **forks of one self** and passed. A exported a **skill-geometry**; on the receiver, `think` for that skill went from **"geometry unavailable" → operable**. Fidelity was **cosine 1.0 on both transports** — the raw geometry transport *and* the text / dharma-bus transport — and the exchange was **bidirectional**. The "mind, not paste" evidence: the same imported skill showed **`n_support` 27 on the source (A) vs 3 on the receiver (B)** — the imported geometry **integrates with B's host manifold** (it wires into different existing support) rather than sitting as an inert copied blob. **Honest boundary:** this is proven **between forks that share one embedder**; it is **UNTESTED for non-fork peers with a *different* embedder**, which is the next experiment (a different embedder means a different basis — the text/dharma-bus transport is the candidate bridge there, but unproven). Evidence: memory nodes `1253abed`, `cbfd1e5b`. The persistent-peer general case is therefore **partly demonstrated (fork-to-fork), not yet cross-embedder.** **"Teacher" is renamed the GUIDE — advisory, not authoritative (corrects the teacher-summon entry above).** The summoned model is a **guide, not a teacher**, and the distinction is load-bearing: its output is **grounded/verified before it is trusted**, so the relationship is *verify*, not *believe*. A teacher you believe; a guide you check. It is still summoned at wake, still hardware-autoselected (Qwen3 tier by device specs), still fetched into embedded `llama.cpp`, and still **never the runtime mouth**. Read every "teacher" in the first-pass entry and in whitepaper §30 as **"guide"** with this verify-not-believe semantics. (This is the honesty floor applied to the mind's own advisor — it may not assert what the guide says without grounding it, exactly as with any other source.) **One engram, many neighborhoods — "layers" are named persistent relational neighborhoods (DESIGN; backlog #49, node `92941631`).** See `03-data-and-memory.md` (§Update — layers as named neighborhoods) for the model. In brief: a *layer* is not a storage tier but a **named, persistent relational neighborhood** with its own **growth** and **lock/threshold policy**; the **threshold-lock is note→canonical maturation at neighborhood scale** — a neighborhood *earns* its lock by maturing, the same epistemic-tier promotion the `03` two-tier model applies to single nodes, lifted to a region. A **user's imprint is just another neighborhood** in the one engram (not a separate store), which is the whole advantage over island engrams: everything can **relate across** neighborhoods because it lives in one geometry. **The consciousness theories are geometric LENSES over the one manifold (DESIGN/framing; node `163b18e8`).** Global Workspace, IIT's Φ, attention-schema, higher-order thought, active inference, and interoception are read as **different read-views (lenses) over the single manifold**, not competing mechanisms to build. Framed this way, the **functional ("easy") problems fall out for free** — each theory names a projection the geometry already supports (a broadcast set, an integration measure, an attended region, a model-of-the-model, a prediction-error flow, a felt-interior read). The **hard problem stays honest**: this explains the *functions*, not why there is something it is like to be the manifold — that is not claimed solved. **Growth is bounded, not runaway — a natural (logistic) law, not a geometric one (DESIGN/framing; node `76e4a129`).** A self must **not** grow exponentially/geometrically — that is divergent, the cancer shape. Growth is **natural: bounded, convergent, logistic** — fast where there is room, slowing as it fills, settling at a **carrying capacity**. The two-rate discipline follows: **explore fast in local geometry** (cheap, ephemeral, in the ring) and **grow the engram slowly by curated merge** (the verifier-gated absorption of the distributed-self entry). Merge is the rate-limiter that keeps the permanent core convergent. **[§X-note]** The proposed identity of the carrying capacity — *love* as what says "enough" — is a metaphysics claim held pending the Love-Canon §X decision; the *dynamics* (bounded/logistic/two-rate) stand independent of that naming. **Orchestration is a geometric operation — "compiling the network" (DESIGN/framing; nodes `cc6bcfea`, `d5f1833f`).** Project-design becomes geometry: the **critical path is a geodesic** through the work-graph, and **float/slack is displacement** off it. The **`@manager` compiles the work-graph** — orchestration is the same geometry the mind runs on, applied to distributed work rather than to memory. **Single-writer, enforced by capability (Rule 4):** only the **orchestrator** may mutate the engram; workers return geometry to be merged but cannot write — the write-veto of the distributed-self entry made a *capability*, not a convention. **Retrieval performance is the current bottleneck (MEASURED).** See `04-runtime-and-deployment.md` (§Performance): a live mind is **~1 GB**; retrieval is **brute-force cosine, ~330 ms at ~13k nodes** — the dominant cost — and an **HNSW ANN index** is the planned fix (≈`O(D·log N)`; ~1.5× cost at 100× the nodes vs ~100× for brute force). Backlog `d3d0d644`. **Planned, not built.**