# Claude-Opus-4.8 — Binding Vote

**Priority 1: AtomMemory — the sharded inverted-index Modern Hopfield attractor.**
- Build: A k-sparse hetero-associative cleanup memory storing only atomic entity/relation vectors, with 64 dimension-sharded posting lists and a tombstone bitmap.
- Algorithm: Inverted-index overlap scan (`Σ_{d∈query} posting[d]` histogram), softmax(β·overlaps), weighted dim-score superposition, top-k projection back to exactly k=64 sparse — iterated 1–3 times to a fixed point under monotone-descent energy `E = -lse(β, overlaps)`.
- Test: Present queries corrupted by 0/10/25% bit-flip noise (MiniMax's exact reproducible `corrupt`), assert recall ≥0.95 at ≤25% noise against 100K stored atoms, and assert convergence in ≤3 iterations.

**Priority 2: RoleAlgebra + CompositeMemory — the irreducible fuzzy structural query.**
- Build: Cyclic-shift role-binding (odd shifts coprime with D) producing canonical triples `T = S ⊕ ρ₁(R) ⊕ ρ₂(O)`, stored in a second inverted index, queried by partial/noisy role patterns.
- Algorithm: Build query `Q` from known roles, overlap-scan CompositeMemory to find the match set, then for each matched composite individually XOR out known roles and inverse-shift (MiMo's per-composite unbind — NOT bundle-threshold, which returns empty), clean each residual through AtomMemory, aggregate per-entity via `1-(1-mean_conf)^support` (MiniMax's calibration), falling back to TripleStore materialization above ~40 matches.
- Test: Build a graph with controlled fan-out {1,5,10,20,30,40,50,80} plus 50K noise triples; assert noisy-subject queries (25% corruption) recover the exact object set with recall ≥0.95 and precision ≥0.95 on the algebraic path, and that aggregated noise-hit confidence never exceeds 0.5.

**Priority 3: mmap-backed CSR segments with prefetched scan — the scaling substrate.**
- Build: Disk-backed Compressed-Sparse-Row immutable segments (`offsets`/`pids`/`arena`) memory-mapped via raw libc, with a small in-RAM mutable tail and Arc-swap compaction, plus a zero-copy 13-byte-triple WAL that re-derives composites on replay.
- Algorithm: Sort query dims by posting-list length, issue `_mm_prefetch` for all 128 list heads to overlap page-fault latency, then accumulate overlaps in cache while the OS resolves faults in the background.
- Test: Qwen's Cold-Page-Fault Gauntlet — insert 10M triples, compact to disk, force `madvise(MADV_DONTNEED)` to evict the page cache, then assert p50 <0.5ms and p99 <2ms across 1000 cold queries.

---

**One honest caveat on this vote:** Priorities 1 and 2 are the *product* — the invertible compositional query is the only thing here that Pinecone and Neo4j structurally cannot do. Priority 3 is *necessary but not differentiating* — it's correct systems engineering that prevents an OOM crash at 40M triples, and Qwen was right to force it, but it does not by itself justify the project. If the Priority-2 test fails (algebraic recall craters at low fan-out under noise), **stop and ship Priority 1 alone as an honest associative memory** rather than pretending the holographic algebra works.
