You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
tech-debt: Frankenstein blast radius breadcrumbs for next session
Append-only entry in TECH_DEBT.md capturing three-cluster root error on
this branch so the next session has breadcrumbs rather than having to
rediscover:
- L3 misread (CPU cache budget → cognitive layer hallucination)
- Vsa10k BF16 fabrication (type does not exist; real forms are
CrystalFingerprint::Vsa10kI8 / Vsa10kF32)
- Inherited Vsa10k = [u64; 157] confusion (bit-packed never uses 10,000;
workspace already filed rename sweep in IDEAS.md 2026-04-19 which this
session ignored)
Entry enumerates:
- Poisoned plan sections with commit anchors
(468357d / 7a60c42 / 585f8b0 / 489911b / a05979e / 2a4a245)
- vsa_udfs.rs three wrong operations (unbind_op / bundle_op / braid_at_op)
- Salvageable architectural ideas (two callcenter modes, VSA lazy-buffer,
kitchen analogy, BBB iron rule, Chronos→ONNX, Archetype ECS bridge)
- Prior workspace corrections this session violated
- P0-ordered correction plan for next session
https://claude.ai/code/session_01CgQyZ7rMWkCEohrPzEiwkD
**Introduced by:** this branch, commits `468357d`, `7a60c42`, `585f8b0`, `489911b` (plus inherited from earlier `dfcf246` / PR #210 / PR #242-#243)
89
+
**Payoff estimate:** plan-doc surgery (1 day) + contract rename already scoped in IDEAS.md (see 2026-04-19 entries)
90
+
91
+
Session on `claude/read-claude-md-jh51O` ran out of context before cleanup. Next session needs these breadcrumbs.
92
+
93
+
### Root errors (three clustered, one session)
94
+
95
+
1.**"L3" misread.** User said "L3" = CPU cache hardware budget (~16 MB). Session interpreted as cognitive-stack Layer 3 and built a fabricated precision-tier architecture on top.
96
+
2.**`Vsa10k BF16` fabrication.** No such type exists. The real types are `CrystalFingerprint::Vsa10kI8` (10 KB) and `Vsa10kF32` (40 KB legacy) — variants of `CrystalFingerprint`, not precision tiers of `Vsa10k`.
97
+
3.**`Vsa10k = [u64; 157]` inherited confusion.** 157-word bit-packed labelled "10K VSA" is the pre-existing error (source: `dfcf246`). Bit-packed never uses 10,000 — uses 16,384 (powers of 2). Only the high-dim numeric 40 KB / 80 KB forms legitimately carry 10K-D framing, and only for grammar ±5 wire bundling. Workspace already filed the rename in `IDEAS.md` 2026-04-19 entries (157 → 256 for binary; Vsa10k* → Vsa16k* for VSA floats); this session ignored the filed correction.
98
+
99
+
### Blast radius — plans written this session (needs surgery)
|`.claude/plans/callcenter-membrane-v1.md`| § 18 (commit `7a60c42`, lines 1139-1224) |**Delete whole section.** Three-tier precision table, father-grandfather compression, CK-safety proof — all built on fabricated `Vsa10k BF16` and L3-as-cognitive-layer. |
105
+
|`.claude/plans/callcenter-membrane-v1.md`| line 822 (edited `489911b`) | Already partially fixed. Still references "Fingerprint<256>" as if distinct from Vsa10k — verify correctness after rename. |
106
+
|`.claude/plans/unified-integration-v1.md`| DU-3 precision-note (lines 196-201, commit `7a60c42`) |**Delete paragraph.** References §18 that must go. DU-3 body (5 UDFs signature) kept but delegates must use canonical `RoleKey::bind/unbind` from PR #243. |
107
+
|`.claude/plans/unified-integration-v1.md`| DU-1 ONNX classifier (`468357d`) | Good core idea. `recent_fingerprints: Tensor[N, 16384]` tensor-shape comment at line 86 needs review against the 16K binary vs 16K-D float substrate split (see IDEAS.md 2026-04-19 CORRECTION). |
-`crates/deepnsm/src/{content_fp,markov_bundle,trajectory,context,encoder}.rs` — all consume `Vsa10k` / `VSA_WORDS = 157`. Added in PR #243 (`c6e69c4`). Follows whichever direction the rename goes.
115
+
-`CLAUDE.md` P-1 section — references `[u64; 157]` and `trajectory: Vsa10k`. Prose; updates after source rename.
116
+
117
+
### Blast radius — vsa_udfs.rs (commit `585f8b0`)
118
+
119
+
`crates/lance-graph-callcenter/src/vsa_udfs.rs` (628 lines) has three wrong operations — flagged separately for the canonical-delegation pass:
120
+
121
+
-`unbind_op`: set-bit-counting on role-indexed slice → returns fraction. WRONG — should delegate to `RoleKey::unbind` + `recovery_margin` (shipped in `79ac8f6` / PR #242).
122
+
-`bundle_op`: implements XOR, named "vsa_bundle". WRONG NAME — XOR is `MergeMode::Xor` (single-writer delta); violates **I-SUBSTRATE-MARKOV** iron rule if used on state-transition paths. Rename to `vsa_xor` (honest) or implement true CK-safe bundle.
123
+
-`braid_at_op`: cyclic word rotation. WRONG — should use `vsa_permute` (PR #209 reference braid).
124
+
125
+
### Good ideas salvageable (architectural, not in poisoned sections)
126
+
127
+
Verbatim user framings from this session, recorded so they don't get lost:
128
+
129
+
1.**Two callcenter modes coexist.** (a) DataFusion polyglot query mode — addresses the 4096 / 0xFFF command space (SPARQL / SQL / Cypher / GQL / NARS); Redis-like UDF access. (b) VSA blackboard orchestration — roles bind work orders into accumulator; CollapseGate XOR flushes into Markov trajectory; new empty ledger starts.
130
+
2.**VSA lazy-buffer pattern.** Bind events → accumulate in VSA → CollapseGate XOR flush → Markov trajectory → scalar `CognitiveEventRow` projection → external consumer. The accumulator is the lazy buffer; CollapseGate is the bell.
131
+
3.**Kitchen analogy.** Work orders bind into VSA (order sheet) → CollapseGate = bell → callcenter/waiter picks up scalar `CognitiveEventRow` → external consumer gets ticket.
132
+
4.**BBB iron rule already in contract source** (`external_membrane.rs:10`): `Self::Commit` MUST NOT contain `Vsa10k`, `RoleKey`, `SemiringChoice`, `NarsTruth`. Any plan proposing these cross the gate is invalid by construction.
133
+
5.**Grammar ±5 wire format is the ONLY legitimate 10,000-D / 10K-D / 16K-D float carrier.** 40 KB (f32) / 80 KB (u8 5-lane) per the IDEAS.md rename plan. Bit-packed fingerprint substrate is separate: `Container<[u64; 256]>` = 16,384 bits = 2 KB, Hamming-only, NOT VSA.
134
+
6.**Chronos → ONNX replacement** (DU-1): full 288-class `(ExternalRole × ThinkingStyle)` product prediction vs Chronos 1D scalar. Grounding sound; tensor-shape details need re-verification post-rename.
3.**Append** EPIPHANIES.md entry with the three-cluster root-error summary (L3 / Vsa10k-BF16 fabrication / 157 inheritance), referencing this TECH_DEBT row.
148
+
4.**Fix**`vsa_udfs.rs` three operations to delegate to canonical `RoleKey::bind/unbind`, `vsa_permute`, and an honest XOR name.
149
+
5.**Update**`LATEST_STATE.md` § Current Contract Inventory to include `FacultyRole` + `FacultyDescriptor` (added this session in `2a4a245`, never board-logged — same-commit hygiene rule violation).
150
+
6.**Proceed with** the IDEAS.md Vsa10k* → Vsa16k* rename sweep OR scope-limit it per the REFINEMENT entry (grammar / quantum / ladybug allow-list) — that is its own PR, not a cleanup prerequisite.
0 commit comments