Skip to content

Commit 8141ff9

Browse files
authored
Merge pull request #246 from AdaWorldAPI/claude/vsa-switchboard-cleanup-2026-04-21
cleanup: revert D5 Frankenstein + CHANGELOG.md + VSA switchboard architecture
2 parents ee27755 + ac17ce6 commit 8141ff9

14 files changed

Lines changed: 1683 additions & 969 deletions

File tree

.claude/board/EPIPHANIES.md

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,121 @@ Before any PR touches the callcenter crate or the metadata bus, answer three que
124124
3. Does the internal substrate only see role-tagged blackboard entries (no raw external payload)?
125125

126126
If any answer is no, the code is leaking external ontology inward (or internal ontology outward) — reject.
127+
---
128+
129+
## 2026-04-21 — CORRECTION-OF 2026-04-21 D5 Frankenstein: VSA must be FP32 multiply/add on identities, not XOR on bitpacked content
130+
131+
**Status:** FINDING (supersedes multiple session entries)
132+
133+
**What was wrong in this session's shipped D5+D7 work:**
134+
135+
1. `Vsa10k = [u64; 157]` — hallucinated bitpacked format. Defined
136+
in ndarray but NEVER consumed by lance-graph before this session.
137+
Should have used existing `Vsa10kF32 = Box<[f32; 10_000]>` (40 KB)
138+
or the queued rescale target `Vsa16kF32 = Box<[f32; 16_384]>` (64 KB).
139+
140+
2. `RoleKey::bind/unbind` with slice-masked XOR — wrong algebra.
141+
VSA for lossless role bundling uses element-wise multiply +
142+
element-wise add on f32. Existing `vsa_bind`/`vsa_bundle`/
143+
`vsa_cosine` in `crystal/fingerprint.rs` already implement this.
144+
XOR on bitpacked is the Hamming-comparison format, not the
145+
bundling format.
146+
147+
3. `vsa_xor` / `vsa_similarity` (Hamming-based) — reinvented what
148+
already exists on the correct substrate.
149+
150+
4. Three deepnsm files (`content_fp.rs`, `markov_bundle.rs`,
151+
`trajectory.rs`) — need reimplementation on `Vsa16kF32` carrier
152+
after coordinated rescale PR lands.
153+
154+
5. 5-role "lossless superposition" test — the lossless property came
155+
from SLICE ISOLATION (content zeroed outside each role's slice),
156+
not from XOR bundling itself. With shared-space f32 multiply/add,
157+
losslessness comes from f32 dynamic range — completely different
158+
mechanism. The test passed for the WRONG reason.
159+
160+
**What remains correct (preserve these):**
161+
162+
- Five Lenses meta-architecture (CLAUDE.md P-1, categorical-algebraic-
163+
inference-v1.md)
164+
- GrammarStyleConfig + GrammarStyleAwareness + NARS revision (φ-1
165+
confidence ceiling)
166+
- FreeEnergy / Hypothesis / Resolution types (but likelihood term
167+
must be cosine, not Hamming)
168+
- 8-step wiring sequence (but steps 1-3 need rewrite on correct carrier)
169+
- Shader-cant-resist / thinking-is-a-struct / tissue-not-storage /
170+
grammar-of-awareness (algebra structure, not byte layout)
171+
- 14-paper landscape
172+
- AGI test = Animal Farm chapter-10 > chapter-1 accuracy
173+
174+
**Superseded session entries (bodies preserved below, Status flipped):**
175+
176+
- `Markov IS simple XOR of sentence VSAs...` → SUPERSEDED. Replace
177+
with: Markov IS element-wise multiply+add superposition of
178+
Vsa16kF32 trajectories with position-permuted braiding. Simplicity
179+
claim still holds; algebra choice was wrong.
180+
- `RoleKey bind/unbind slice-masking = lossless...` → SUPERSEDED.
181+
True lossless bundling requires f32 multiply+add, not
182+
slice-isolation XOR.
183+
- `8-step wiring sequence...` → Steps 1-3 need rewrite on Vsa16kF32.
184+
Steps 4-8 unchanged in logic.
185+
186+
Cross-ref: `.claude/knowledge/vsa-switchboard-architecture.md`
187+
(created this cleanup), CLAUDE.md updated I-CAMPQ-VS-VSA iron rule.
188+
189+
---
190+
191+
## 2026-04-21 — Sometimes Vsa16kF32 is just laziness to define a register
192+
193+
**Status:** FINDING (Test 0 of the four-test VSA decision framework)
194+
195+
If an item has a natural name, ID, or enum variant — that's the
196+
register. `HashMap<&str, PersonaDef>` or `enum ThinkingStyle` beats
197+
VSA bundle+cosine at exact-match tasks. VSA earns its 64 KB only
198+
when the answer requires resonance across concurrent items or
199+
partial-match reasoning from uncertain input.
200+
201+
Anti-patterns:
202+
- "Find persona Alice" → HashMap, not VSA resonance
203+
- "Session is in analytical mode" → enum variant
204+
- "Character is Napoleon" → graph node by ID
205+
206+
Pro-patterns (VSA legitimately earns complexity):
207+
- "Which persona fits this caller's vibe?" (inferred, not named)
208+
- "Which thinking style best matches signal profile?" (dispatched)
209+
- "Which archetype is this character behaving as?" (inferred)
210+
211+
Cross-ref: `vsa-switchboard-architecture.md § Test 0`.
212+
213+
---
214+
215+
## 2026-04-21 — VSA operates on identities, not content — the refined iron rule
216+
217+
**Status:** FINDING (refines the blunt "CAM-PQ + VSA incompatible" framing)
218+
219+
Initial framing was too blunt. Refined:
220+
221+
**VSA operates on IDENTITY fingerprints that POINT TO content.
222+
Never on content's bitpacked/quantized register itself.**
223+
224+
Register-loss problem: XOR-bundling 5 CAM-PQ codes makes the bit
225+
patterns of codebook indices XOR together. You can't recover WHICH
226+
centroids contributed. Register destroyed.
227+
228+
Right pattern: resonance layer (VSA Vsa16kF32 identity fingerprints,
229+
bundleable, cosine-retrievable) + content layer (YAML/TripletGraph,
230+
O(1) hash lookup). Winning fingerprint from resonance IS the lookup
231+
key for content.
232+
233+
- Persona: one FP32 identity per named persona in YAML registry.
234+
Bundle for multi-persona context. Cosine-rank. Winner name → YAML.
235+
- Thinking styles: one FP32 identity per style. Resonance from signal
236+
profile. Winner enum variant → YAML config.
237+
- Archetype: existing 12 voice archetypes + palette 256 archetypes
238+
each get an identity fingerprint. Resonance for inferred assignment.
239+
240+
Cross-ref: `vsa-switchboard-architecture.md § Identity vs Content`,
241+
CLAUDE.md `I-VSA-IDENTITIES` iron rule (proposed).
127242

128243
---
129244

0 commit comments

Comments
 (0)