docs: record the correspondence corrections — grounding, faculties, wonder, consolidation
The architecture docs describe four things the design spec has since ruled out, and each one is a supervisor invented for something that should be a property of the substrate: grounding modelled as a subsystem rather than as the edge weight it already is; faculties modelled as parameters of a read when abduce is a write; wonder materialized as a maintained manifest when it is the boundary of the structure; and consolidation implemented eleven times behind tickers when a brain has no cron job. Left standing rather than deleted, per the repo's own supersession discipline — the trail of how the understanding matured is the point. Each stale passage is marked inline and points at a new 06 §12 that transcribes the corrections and records the measured consolidation inventory. Authority: foundation/el, branch design/correspondence-and-censorship, lang/spec/correspondence-and-censorship.md.
This commit is contained in:
@@ -45,7 +45,7 @@ raw `/api/graph*` reads.
|
||||
| Graph/activation | `/api/neuron/graph`, `/graph/link`, `/api/graph*`, `/list/:type` | neuron-api + engram builtins |
|
||||
| Cultivation/self | `/api/neuron/cultivate`, `/lineage`, `/imprint/*`, `/synthesize` | neuron-api, routes.el |
|
||||
| Processes/config | `/api/neuron/processes{,/define}`, `/config{,/tune}` | neuron-api |
|
||||
| State/consolidate | `/api/neuron/state-events`, `/consolidate` | neuron-api |
|
||||
| State/consolidate | `/api/neuron/state-events`, `/consolidate` | neuron-api — *one of eleven consolidation implementations; see `06` §12.4* |
|
||||
| Backlog/artifacts | `/api/backlog`, `/artifacts`, `/projects`, `/memories` | Axon (HTTP) |
|
||||
| Chat/NLG | `/api/chat`, `/see`, `/elp/chat`, `/dharma*`, `/nlg*` | chat.el, elp-input.el |
|
||||
| Health/UI | `/health`, `/lineage`, `/` | routes.el, studio.el |
|
||||
@@ -112,6 +112,13 @@ tombstoning.
|
||||
identity-write path, gated by convention to Will's explicit cultivation
|
||||
sessions.
|
||||
|
||||
> **Consolidation has no owner (2026-08-16) — see `06` §12.4.** `/consolidate`
|
||||
> below and `mem_consolidate` in the table further down are two of **eleven**
|
||||
> measured consolidation implementations, spread across three languages and two
|
||||
> processes. Consolidation had no owner, so it was implemented at every site that
|
||||
> needed a piece of it. Every name in the set is a consolidation verb — compress,
|
||||
> cultivate, digest, integrate, review, reify, beat.
|
||||
|
||||
- **Config / processes / state-events / consolidate** — config anchors + a
|
||||
`ConfigEntry` node search (`:616-639`), `tune_config` (`:642-653`),
|
||||
`browse_processes` / `define_process` (`:547-568`), state-event log/list
|
||||
@@ -155,7 +162,7 @@ The single isolation point over the engram FFI. Key functions:
|
||||
| `mem_strengthen` | `42-44` | `engram_strengthen` | salience bump |
|
||||
| `mem_tombstone` | `52-62` | `engram_node_full` + `engram_connect` | the one canonical soft-delete |
|
||||
| `mem_forget` | `70-72` | `mem_tombstone` | soft delete (no longer hard) |
|
||||
| `mem_consolidate` | `92-133` | `engram_wm_top_json`, `engram_strengthen` | salience-evolution pass |
|
||||
| `mem_consolidate` | `92-133` | `engram_wm_top_json`, `engram_strengthen` | salience-evolution pass — *one of eleven consolidation implementations, `06` §12.4* |
|
||||
| `mem_save` / `mem_load` | `135-148` | `engram_save/load` | snapshot I/O |
|
||||
|
||||
Note the distinction between **recall and search**: `mem_recall` fires spreading
|
||||
@@ -166,6 +173,22 @@ and to the MCP surface vocabulary.
|
||||
|
||||
### 3b. Autonomous cognition — `awareness.el` (the daemon)
|
||||
|
||||
> **Corrected (2026-08-16) — see `06-cognitive-architecture.md` §12.4.**
|
||||
> `awareness_run()`'s **continuous, in-process loop is the one fragment of
|
||||
> consolidation with the correct shape.** It is not a scheduled job; it runs while
|
||||
> the process serves. Everything below that is described as *"every 60s" /
|
||||
> "every 30s" / "every 10 min"* is an interval inside that loop, and the design
|
||||
> spec's verdict is that intrinsic rhythm — not an external clock — is what these
|
||||
> should be. Consolidation is **ambient, not scheduled: a brain has no cron job**,
|
||||
> and **the presence of a ticker is the diagnostic.** The genuinely external
|
||||
> tickers are catalogued in `06` §12.4; this loop is the shape they fold *into*.
|
||||
>
|
||||
> **Stale line numbers (verified 2026-08-16):** `awareness_run()` is defined at
|
||||
> `awareness.el:1221` (its `while true` at `:1252`), not `:1097-1284`; it is
|
||||
> launched from `soul.el:731`, not `soul.el:627`. `SOUL_TICK_MS` is read at
|
||||
> `awareness.el:1228` (default **200 ms**) and `SOUL_HEARTBEAT_MS` at `:1248`
|
||||
> (default **60000 ms**) — those two defaults are correct as documented.
|
||||
|
||||
`awareness.el` is the **idle-cognition daemon plus observability**, not
|
||||
emotional-state code. `awareness_run()` (`:1097-1284`) is the master loop,
|
||||
launched last from `soul.el:627`. Each tick (`SOUL_TICK_MS`, ~200ms):
|
||||
@@ -184,8 +207,26 @@ launched last from `soul.el:627`. Each tick (`SOUL_TICK_MS`, ~200ms):
|
||||
top result **only if it changed** (novelty-gated), and derives an
|
||||
autobiographical seed from the top-10 working-memory nodes with
|
||||
stopword/IDF/tabu filtering.
|
||||
> **Superseded (2026-08-16) — see `06` §12.3.** Three errors in one name.
|
||||
> (a) **Curiosity is not a scan.** Nothing in a mind sweeps its neighbourhoods
|
||||
> to find what is surprising — the surprise captures attention; salience is
|
||||
> bottom-up. A search asks *"which of these is odd"*; a mind has
|
||||
> *"something is odd **here**"* for free. A sweep over regions is a supervisor.
|
||||
> (b) **It is not on a timer.** "Every 30s when idle" is an external clock
|
||||
> standing in for a drive. Low activation is aversive and the system
|
||||
> self-activates; there is **one activation process with two seed sources** —
|
||||
> external (a request) and internal (a curiosity) — not a scheduled scan
|
||||
> competing for spare capacity.
|
||||
> (c) **Rotating 4 seed-domain sets is a manifest.** Curiosity is wonder
|
||||
> crystallized at a nucleation site, and a nucleation site is a per-edge
|
||||
> structural fact (`|discord|`, `06` §12.4), not an entry in a rotation.
|
||||
4. **Engram sync** (every 10 min): `GET /api/sync` → `engram_load_merge` →
|
||||
telemetry prune.
|
||||
> **Ticker, but not consolidation (2026-08-16).** Sync is store coherence
|
||||
> between the two-store topology (`06` §2.3), not dreaming. Distinguished
|
||||
> here because `06` §12.4 sweeps for tickers. **Not** to be confused with the
|
||||
> separate `ai.neuron.engram-tick` launch agent (`StartInterval = 600`), which
|
||||
> pokes `POST /api/tick` and **is** consolidation driven by an external clock.
|
||||
|
||||
Two functions carry most of the file's weight and volatility:
|
||||
- **`hebb_consolidate()`** (`:64-99`) — the durable-learning write-back. It drains
|
||||
|
||||
Reference in New Issue
Block a user