Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions .claude/board/AGENT_LOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,45 @@
## [Main thread / Opus, autoattended] D-EW64-2 review (LAND) + 2 coverage tests added

**Branch:** claude/jolly-cori-clnf9 | **PR #447.** Opus review agent verdict: **LAND** — no P0/P1. It re-implemented `promote` and brute-forced all 0-4-edge words × every promote target: zero invariant violations (strongest==e, no dups, eviction only on full+new, coldest==slot 3, idempotence, order preserved); packing/shift correct; firewall clean; API consistent. Applied its 2 recommended P2 coverage tests: `promote_cross_family_local_collision_is_not_deduped` (dedup discriminates on family) + `promote_chains_mru_aging_and_appends_fresh_on_non_full` (multi-promote MRU aging + fresh-on-non-full append). Left the 3rd P2 (pre-existing `to_slot` masking on contract-violating `EdgeRef` input) as out-of-scope (module-wide decision; only triggers on invalid input).

**Cargo:** episodic_edges 16/16 (+2); contract lib green; default clippy `-D warnings` clean. CI on #447 was in_progress at push; re-runs on this commit. Awaiting CI green + CodeRabbit.

---

## [Main thread / Opus, autoattended] D-EW64-2 — EpisodicEdges64 MRU promote (Hebbian hot-tier "stronger immediate edges")

**Branch:** claude/jolly-cori-clnf9 (synced onto merged main; #446 merged the bifurcation+faculties+arcuate wave). **Cargo:** `cargo test -p lance-graph-contract --lib` → 533 green (+5 promote); default clippy `-D warnings` CLEAN; episodic_edges.rs clean at pedantic+nursery (the 3 pedantic errors are pre-existing in free_energy/escalation/thinking/sigma_propagation/scenario, NOT mine). Autoattended (user asleep: "draft, review, fix, PR, subscribe, repeat").

**Shipped:** `EpisodicEdges64::promote(self, EdgeRef) -> (Self, Option<EdgeRef>)` + `strongest()`. MRU: a fired edge moves to slot 0 (strongest/most-immediate); survivors shift down; a new edge on a full word evicts the coldest (slot 3, returned for demotion to the cold connectome); idempotent on the already-hottest edge. **Slot order IS strength** — no per-edge weight stored (co-addressed CausalEdge64 plasticity carries the Hebbian weight; recency = slot index). Realizes `E-EW64-STRENGTH-IS-CE64-PLASTICITY`.

**Firewall:** opaque (family,local) only; no COCA; zero-dep; the surreal-LIVE wingman that will drive promote stays gated on OQ-11.6 (LanceDB-LIVE fallback) — this is the substrate-agnostic hot-tier mechanism.

**Loop state:** drafted+committed; next = review agent (Opus) on the diff → fix → open PR (claude/jolly-cori-clnf9 → main) → subscribe. Board: STATUS_BOARD D-EW64-2 row + LATEST_STATE PR-in-flight note.

---

## [Main thread / Opus] EW64 stronger-immediate-edges resolution + surreal-wingman weigh-in (E-EW64-STRENGTH-IS-CE64-PLASTICITY)

**Branch:** claude/jolly-cori-clnf9. Design-only check (no code) per user floating the surreal-substrate option + "EW64 needs stronger immediate edges."

**Resolution:** EW64 `EdgeRef{family,local}` has NO strength field — but needs none. Strength = the co-addressed `CausalEdge64` plasticity (W15 0=frozen..3=hot; EW64 shares CE64 low-40 bits); the 4 slots = an MRU hot set (slot 0 strongest, fire→promote, age→evict to cold). Register-lazy, no 16-bit change.

**Surreal wingman:** = the EXISTING `E-SUBSTRATE-IS-THE-SCHEDULER` (surreal LIVE over the version arc fires the promote/prefetch back into the mailbox; same substrate holds the cold connectome + orchestration). GATED on OQ-11.6 (surreal_container fork) but OPTIONAL — LanceDB-LIVE is the substrate-free fallback. Hot 4-edge EW64 stays in the SoA (deterministic); surreal is cold+reactive only.

**Honest:** E-ARIGRAPH-IS-AN-ISLAND gap — EW64 = 0 code symbols, Lance→surreal→kanban unbuilt, HotWitness = todo!(). Unblocked next = contract-side EW64 strength/MRU atom (no fork, offline, firewall-clean); surreal wingman deferred to OQ-11.6. Feeds queued spec episodic-witness64-ce64-prefetch.md.

---

## [Main thread / Opus] check (a): planning is white matter — grey mailboxes vs white connectome (E-PLANNING-IS-WHITE-MATTER)

**Branch:** claude/jolly-cori-clnf9. Design-only check (no code) per user "check about (a)". **coexist** confirmed (512-bit ContextWindow internal + arcuate cross-boundary; wiring queued behind this check). #446 merged (LATEST_STATE/PR_ARC sweep + the few CodeRabbit comments deferred per "stay on track" — can sweep on request).

**Finding:** the 64k mailboxes = GREY matter (compute) + PFC=MUL/planner; the CE64/EW64 plasticity connectome = WHITE matter (planning). Planning = Hebbian-wired path (fire→wire) + prefetch + spreader, under PFC/MUL bias + head2head selection — NOT OTP/`KanbanMove` scheduling. Unifies existing Hebbian findings (`E-EW64-IS-PREDICTIVE-PREFETCH`, `plasticity_counters`, §11.5 spreaders, `high_heel` W15 plasticity) under the grey/white lens and reframes the planner.

**Honest:** the white-matter mechanism is DESIGN — A3 `witness_arc` MISSING, OQ-11.1 spreader radius/decay TBD, prefetch spine = the unbuilt EW64 reactive seam. **Seam:** plasticity update + spread on the SoA EdgeColumn. `arcuate.rs` is the first explicit white-matter tract.

---

## [Main thread / Opus] arcuate connector — the Broca↔Wernicke cable carries signal (E-ARCUATE-CONDUCTION, first fix)

**Branch:** claude/jolly-cori-clnf9. **Cargo:** deepnsm lib 99 green (+4 `arcuate`) + 4+8+1; `arcuate.rs` default-clippy-clean. User: "okay" → build the connector seam.
Expand Down
38 changes: 38 additions & 0 deletions .claude/board/EPIPHANIES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,41 @@
## 2026-05-31 — E-EW64-STRENGTH-IS-CE64-PLASTICITY — EW64's "stronger immediate edges" need no new field (strength = co-addressed CE64 plasticity + MRU slot-order); the surreal LIVE wingman is the designed orchestrator but GATED + optional

**Status:** FINDING (design resolution, register-lazy). User-stated 2026-05-31 ("episodicwitness64 needs the stronger immediate edges; wingman orchestration in surrealdb in same substrate is an option"). Resolves the strength gap in `EpisodicEdges64`; weighs the surreal-same-substrate option. Feeds the queued spec `episodic-witness64-ce64-prefetch.md`.

**The gap (grounded):** `EpisodicEdges64` = 4×`EdgeRef{family:u8, local:u16}` (`episodic_edges.rs`) — NO strength / weight / recency field. "Stronger immediate edges" has no home today.

**The register-lazy resolution (no 16-bit EdgeRef change):** EW64 already **shares CE64 low-40 bits (co-address)** — each EW64 edge co-addresses a `CausalEdge64` whose **plasticity** (`high_heel` W15 `0=frozen..3=hot`; v2 plasticity[2]) IS the edge strength. Two complementary orderings, both free:
- **strength = co-addressed CE64 plasticity** — the Hebbian weight is already there; EW64 inherits it by co-address.
- **the 4 slots = an MRU hot set** — slot 0 = strongest/most-immediate; fire → promote to slot 0 (strengthen); age → demote → evict slot 3 to the cold connectome. Slot ORDER is the ranking. No new field.

**The wingman = the surreal LIVE scheduler (already `E-SUBSTRATE-IS-THE-SCHEDULER`):** witness fires → Lance append → surreal LIVE → promote the EW64 edge + prefetch the next into the SoA; the mailbox runs no planner loop. "Same substrate" = SurrealDB holds the **cold connectome** (all edges as graph RELATE + strength/recency) AND orchestrates the hot EW64 refresh (LIVE). The **hot 4-edge EW64 stays in the SoA** (resident, deterministic, zero-copy); SurrealDB is the cold+reactive tier, never the hot compute.

**The option, weighed:** surreal-same-substrate is the DESIGNED goal and the right fit for cold+wingman — but GATED on `surreal_container` (OQ-11.6: fork dep + Lance 6 pin) and OPTIONAL: the design is substrate-free, so a **LanceDB-LIVE trigger is the fallback** (surreal is the goal, not a dependency). Adopting surreal is a free upgrade when OQ-11.6 clears, not a blocker.

**Honest state + the unblocked next:** this is the `E-ARIGRAPH-IS-AN-ISLAND` gap — EW64/`SpoWitness64` = 0 code symbols; the Lance→surreal→kanban subscription unbuilt; `HotWitness` = `todo!()`. The surreal side is blocked (OQ-11.6). The UNBLOCKED, firewall-clean, offline-testable next = the **contract-side EW64 strength/ordering atom**: the hot-4 MRU semantics + CE64-plasticity-mirror strength on `EpisodicEdges64` (no fork), deferring the surreal wingman to wire when OQ-11.6 clears. **Firewall:** EW64 stores opaque `(family,local)` + co-addressed CE64; surreal would store opaque handles + strength — never COCA. Cross-ref: `E-SUBSTRATE-IS-THE-SCHEDULER`, `E-EW64-IS-PREDICTIVE-PREFETCH`, `E-PLANNING-IS-WHITE-MATTER`, `E-ARIGRAPH-IS-AN-ISLAND`, `episodic-witness64-ce64-prefetch.md` (queued spec), OQ-11.6.

---

## 2026-05-31 — E-PLANNING-IS-WHITE-MATTER — the 64k mailboxes are GREY matter (compute); planning lives in the WHITE matter (the CE64/EW64 plasticity connectome), not in OTP/BEAM scheduling

**Status:** FINDING (architecture reframe; unifies existing Hebbian/plasticity findings under the grey/white lens — the *mechanisms* are already on the board, the *framing* of planning is the new part). User-stated 2026-05-31 ("it doesn't make sense to have 64k OTP BEAM Erlang multithreading when you don't recognize the potential as grey vs white matter and BNN what fires together wires together"). Extends the language-network map (`E-ARCUATE-CONDUCTION`) into the cognitive substrate. Answers: "what can the mailbox SoA do about planning."

**Grey vs white:**
- **Grey matter (compute / neurons)** = the 64k mailboxes (per-mailbox SoA: Fingerprint/Qualia/Meta columns + the `Think` compute) AND the PFC executive (`lance-graph-planner`: MUL / elevation / strategies — goal-setting + suppression).
- **White matter (connectome / axonal tracts)** = the CE64 (causal) + EW64 (episodic) EDGE columns + **plasticity** (`high_heel` W15 u8 `0=frozen..3=hot`; v2 `CausalEdge64` plasticity[2]; `sensorium.plasticity_flux`). `arcuate.rs` is the first explicit *named* tract.

**Planning is a white-matter phenomenon, not OTP scheduling:**
- A plan = a trajectory through the mailbox population. The white matter encodes which trajectories are **myelinated** (high plasticity = well-worn = automatic).
- "Fire together → wire together" (already on board: `E-EW64-IS-PREDICTIVE-PREFETCH`, `plasticity_counters`, the prefetch spine): executing a path increments edge plasticity → consolidates it into **procedural memory** (a habit/skill).
- Planning = bias toward myelinated paths (exploitation) + the **spreader** recruiting adjacent low-plasticity edges when the goal isn't reached (exploration, OQ-11.1/§11.5) + **prefetch** making the next step resident before it's asked. NOT a DAG computed by `KanbanMove`/`VersionScheduler`.
- **Reframe:** `KanbanMove` / `VersionScheduler` / ractor = grey-matter process COORDINATION (necessary plumbing), **not the planner**. The planner IS the plasticity-weighted EW64/CE64 connectome, under PFC (MUL) bias + `head2head::SupportSpread` action-selection.

**Why "64k OTP/BEAM concurrency" misses it:** Erlang treats processes as isolated units with explicit message passing (supervision trees). A BNN treats them as a connected population where the CONNECTIONS carry the computation. The brain is mostly white matter; a 64k-grey-node system with a thin connectome can compute in parallel but can't PLAN — planning lives in the wiring. The lever is the connectome (EW64/plasticity), not more grey-matter concurrency.

**Honest state (the mechanism is DESIGN, not built):** A3 `witness_arc` MISSING; the Hebbian spreader radius/decay TBD (OQ-11.1, D-MBX-A4); `plasticity_counters` described not built; the prefetch spine = the unbuilt EW64 reactive seam ("every link shipped, the chain open at the joints"). The grey/white lens UNIFIES these and reframes the planner; the **buildable seam = the plasticity update + spread on the SoA EdgeColumn** (white-matter growth). Cross-ref: `E-EW64-IS-PREDICTIVE-PREFETCH`, `E-ARCUATE-CONDUCTION` (first tract), §11.5 plasticity-spreaders, OQ-11.1/11.2, `head2head`, `sensorium.plasticity_flux`, `high_heel` W15.

---

## 2026-05-31 — E-ARCUATE-CONDUCTION — the stack has conduction aphasia: Broca+Wernicke intact, the arcuate cable (disambiguator_glue) carries no signal (the producer gap) — closing it IS the next wire

**Status:** FINDING (diagnosis, grounded in source). Extends `E-BROCA-WERNICKE-HIPPO` to the full distributed language network (doc § "the full language network"). Names the single highest-value wire.
Expand Down
4 changes: 4 additions & 0 deletions .claude/board/LATEST_STATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@

---

> **2026-06-01 — PR-in-flight (autoattended)** (D-EW64-2): `lance_graph_contract::episodic_edges::EpisodicEdges64::{promote, strongest}` — MRU "promote" strengthens an edge to slot 0 (the hot / most-immediate position); fire→front, un-refired ages toward slot 3 and evicts to the cold connectome; **slot order IS the strength ranking** (no per-edge weight stored — the co-addressed `CausalEdge64` plasticity carries the Hebbian weight, recency is the slot index). Realizes `E-EW64-STRENGTH-IS-CE64-PLASTICITY` (the user's "stronger immediate edges"). Zero-dep; contract lib 533 green (+5), default clippy clean, episodic_edges.rs pedantic+nursery clean. The surreal-LIVE "wingman" that drives `promote` stays GATED on OQ-11.6 (LanceDB-LIVE fallback exists) — this is the substrate-agnostic hot-tier mechanism it calls.

---

## Recently Shipped PRs (reverse chronological)

| PR | Merged | Title | What it added |
Expand Down
6 changes: 6 additions & 0 deletions .claude/board/STATUS_BOARD.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,12 @@

---

## D-EW64-2 — EpisodicEdges64 MRU promote (Hebbian hot-tier "stronger immediate edges")

| D-id | deliverable | status | PR / evidence |
|---|---|---|---|
| D-EW64-2 | `EpisodicEdges64::{promote, strongest}` — MRU slot-order = strength; fire→slot 0, evict coldest (`E-EW64-STRENGTH-IS-CE64-PLASTICITY`) | In PR (claude/jolly-cori-clnf9) | contract lib 533 green (+5); default clippy clean |

## Status Legend

| Status | Meaning |
Expand Down
Loading
Loading