Nearly-optimal Agentic Memory without an LLM
Abstract
A very recent paper by Tirmazi et al., Context Compaction Theory, proves that context window compaction has an information-theoretic floor: a best-case limit that no method can do better than, no matter what or how it computes. Every bounded-context agent solves this problem each turn.
The paper measures a deployed LLM summarizer against the floor. Anthropic’s Opus 4.8 compaction endpoint, at a ~14-kilobit budget over 15,000 items, lands on the random-guess line. Its total error is 0.50 to 0.56. It cannot tell members from non-members at this budget.
We ran the same experiment with Wunderblock, the VSA memory substrate at the heart of WunderOS. At the same task shape (15,000 items, 16,384-bit budget, set membership), Wunderblock’s total error is 0.245 to 0.310. It is 84% of the information-theoretic floor (mean), 95.7% at the best seed. A Bloom filter at the same budget is 55% of optimal.
- Wunderblock beats Bloom: Wunderblock is 0.65 times Bloom’s error at matched budget
- Wunderblock beats Opus 4.8: 0.53 times its error
The LLM summarizer is on the random-guess line. Wunderblock is near the floor.
This is an instance of a design philosophy, not a one-off result. WunderOS moves LLMs off the hot path where a fast, deterministic, and less expensive mechanism achieves the required quality. WunderOS has taken a strict “no LLMs in memory” posture from day one. It was my first, primary motive in founding Pentad Labs. Wunderblock is VSA: 16384-bit binary spatter codes, counter-based majority bundling, Hamming similarity on AVX-512, sub-millisecond, no allocation on the read path. The compaction paper gives the floor and the diagnostic. Wunderblock is the condenser that does not collapse where the LLM summarizer does.
Further, Wunderblock’s operating point trades false negatives for false positives. This is the safe direction for agentic memory. A false negative (“I have not seen this fact”) costs a re-fetch. The fact is in the store. The agent asks again. The signal strengthens. The operation is idempotent. A false positive (“I have seen this fact”) costs a confabulation. The agent acts on a fact it does not have, that may not exist. Wunderblock’s min-total-error point has FP = 0.19 to 0.31 and FN = 0.28 to 0.38. It errs toward re-fetch, not toward confabulation. The trade is tunable. The agentic-safe operating point (zero-FP, accept FN) is a threshold raise away.
For associative recall, which is Wunderblock’s primary job, the measurement is sharper.
- At \(n=16384\), Wunderblock achieves perfect accuracy (1.0000) where the \(n=500\) reference substrate crosstalks into failure.
- At matched accuracy, Wunderblock decodes the same total information as the reference (696 bits vs 700 at \(D=5\), \(v=300\)), and more at larger alphabets.
The \(I_{\text{dim}}\) metric (bits per dimension) shows a \(10\text{--}30\times\) gap. But the gap is the dimension dividing, not a retrieval deficit. Wunderblock is the same or better at total information decoded, and better at accuracy.
1. The floor
Context Compaction Theory gives the membership question a floor. The paper formalizes context compaction as two games.
- The Context Selection Game retains a subset of items (SELECT).
- The Context Generation Game summarizes items into a bounded message (GEN).
The paper proves that GEN compaction is equivalent to one-way communication complexity (Theorem 1). The minimum compaction budget at a target error equals the one-way communication complexity of the induced problem. SELECT is a restricted class of one-way protocols. Any gap between selection and generation is a gap between two classes of protocols.
The lower bound is unconditional. No algorithm, no condenser, no interpreter can reduce below it, however it computes.
The upper bound has a computational caveat. The paper shows that some GEN algorithm meets the budget. It does not guarantee that a particular algorithm (an LLM summarizer, a VSA bundle) can compute it.
Any artifact that meets the lower bound is provably near-optimal. The residual risk is only in the upper-bound direction. We control that direction by construction.
For set membership, the paper shows that a Bloom filter is near-optimal. It sits within a factor of \(\log_2 e \approx 1.44\) of the information- theoretic floor (\(N \cdot \log_2(1/\varepsilon)\) bits for \(N\) items at false-positive rate \(\varepsilon\)). The paper’s case study measures Anthropic’s Opus 4.8 compaction endpoint on set membership over 15,000 URLs. At a ~14-kilobit budget, the endpoint’s total error is \(0.50\text{--}0.56\) across three seeds. It sits on the random-guess line. A Bloom filter of the same size errs on about a third of queries. The LLM summarizer cannot reach the optimum on membership.
2. Membership measured
The setup mirrors the paper’s case study. Wunderblock is the condenser.
15,000 items (32 random bytes each, BLAKE3-encoded to Grooves). Etch all into
one GrooveAccumulator at weight 1. Binarize to one 16,384-bit Groove.
Budget B = 16,384 bits, comparable to the paper’s ~14-kilobit. 200 membership
queries per seed: 100 true members (sampled from the 15,000) and 100
non-members (fresh random IDs, guaranteed not in the set). Three seeds (42,
43, 44), the same seeds as the paper’s case study.
Three stages:
-
Stage A, substrate capability. Etch only the 15,000 membership items. The binarized Groove answers membership with total error 0.245 to 0.310 across the three seeds. The information-theoretic floor at this budget is 0.2345. Wunderblock is 84% of optimal (mean), 95.7% at the best seed (seed 43: 0.2345 / 0.245 = 0.957). Bloom’s total error at the same budget is 0.43, which is 55% of optimal. Wunderblock beats Bloom: 0.65 times Bloom’s error. It beats Opus 4.8: 0.53 times its error. Opus sits on the random-guess line at 0.53 mean. Wunderblock sits near the floor at 0.28.
The operating point trades false negatives for false positives. FP = 0.19 to 0.31, FN = 0.28 to 0.38. For agentic memory, this is the safe direction. A false negative costs a re-fetch. The fact is in the store. Etching again strengthens the signal. The operation is idempotent. A false positive costs a confabulation. The agent acts on a fact it does not have. The trade is tunable. Raising the threshold toward zero-FP accepts more FN. This is the agentic-safe direction because re-fetch is cheap and confabulation is expensive.
The accumulator path sits on the random-guess line. This path queries the unbinarized i16 counters by resonance against a single item. A single member’s +1 contribution is drowned by 14,999 other items’ noise at this density. Binarization, a nonlinearity, amplifies the majority signal that the linear accumulator resonance cannot surface. This is a query-method issue, not a substrate issue. The information is in the bundle. The right decoder is the binarized one.
-
Stage B, membership under realistic associative load. Etch 15,000 membership items plus 15,000 PathHD-bound facts (random subject/predicate/object, bound by rotational PathHD into fact Grooves). 30,000 items etched into the same 16,384-bit budget. Total error rises to \(0.330\text{--}0.415\). The threshold collapses from \(0.0035\text{--}0.0065\) (Stage A) to 0.0015 (Stage B). The associative load pushes the member and non-member score distributions closer together. Membership survives, degraded. It is not the random-guess line. The margin roughly halves.
-
Stage C, budget vs load. \(K\) independent accumulators (\(K = B/16384\)), each etched with the full 30,000-item load, each with a per-\(K\) salt XOR’d into item bytes before encoding (\(K\) independent BLAKE3 hashes, the Bloom k-hash analog). Membership = min-over-\(K\) resonance \(\geq\) threshold (the Bloom AND of \(k\) hash checks). At \(K=4\) (\(B = 65{,}536\) bits), total error returns to 0.260/0.305/0.300, back in the Stage A band. Doubling the load (15k \(\to\) 30k etched) needs roughly \(4\times\) the budget (16k \(\to\) 64k bits) to hold the same separation.

The Groove curve descends from 0.355 at 16k bits to 0.288 at 64k bits. It stays between the Bloom baseline (0.43) and the IT floor (0.23). The random-guess line (0.50) is above. Wunderblock does not meet the floor. It does not collapse to random either. It sits in between, and it moves toward the floor as the budget grows.
At matched budget (\(B=16384\)), Wunderblock is 84% of optimal on membership. Bloom is 55% of optimal. Wunderblock’s bundling does not preserve the independent-hash-functions structure that gives Bloom its near-1.44 times factor. But at matched budget it does not need to. The binarized majority vote, a nonlinear threshold over a correlated sum, lands closer to the IT floor than Bloom’s independent hash bits do. PathHD binding is non- commutative rotational. The i16 counters accumulate correlated contributions. The literature’s capacity analysis (Clarkson et al. 2023) gives a membership bound for binary-majority VSA under Hadamard binding, not rotational. The bound is big-O, not a tight constant. The result is empirical, not derived from the bound.
At higher budget (Stage C, \(K=4\), \(B=65536\)), the IT floor drops to 0.0242 while Wunderblock’s error stays at 0.288. The gap widens to \(10\times\) because the floor drops faster than the substrate does. The near-optimality is a matched-budget result, not a scaling result. The budget-vs-load tradeoff (roughly \(4\times\) budget for \(2\times\) load to hold the Stage A margin) characterizes the scaling. It is worse than Bloom’s. But it is the cost of a substrate that does two jobs where Bloom does one.
Membership is a side-effect Wunderblock has but does not invoke. The write path does not check membership before etching. The read path does not threshold resonance into a boolean. That the side-effect is 84% of optimal at matched budget is the finding.
3. Recall measured
Recall is the primary function of an agentic memory system.
To measure Wunderblock against a published reference, the information-rate metric from Kleyko et al. (2023) is \(I_{\text{dim}} = v \cdot I_{\text{symb}}(a, D) / n\). Here \(a\) is per-symbol decode accuracy, \(D\) is alphabet size, \(v\) is sequence length, and \(n\) is dimension. \(I_{\text{symb}}\) is the mutual information per decoded symbol under a uniform-error assumption. The metric is substrate-agnostic. Any VSA that decodes a positional sequence can compute it.
The protocol: encode a positional sequence of \(v\) symbols from an alphabet of size \(D\) into one \(n\)-dimensional bundle by superposition of positionally-bound codebook vectors. Decode each position. Measure accuracy. Kleyko’s reference peaks (at \(n=500\)) are 1.40 bits/dim (\(D=5\)), 1.34 (\(D=15\)), 1.26 (\(D=100\)). Their best decoders (covariance-adjusted matching pursuit with explaining-away) achieve these. Their weakest decoder (plain codebook decoding: unbind, argmax over codebook by similarity) sits well below. Wunderblock runs plain codebook decoding. It fits sub-millisecond, SIMD, lockless, deterministic constraints. The better decoders do not fit. They require matrix inversion, iteration, quadratic cost. Their headline numbers are measured only at \(n=500\) with no scaling to \(n=16384\).
The sweep: \(v \in \{10, 30, 50, 100, 200, 300\}\) and \(D \in \{5, 15, 100\}\) (Kleyko’s alphabet sizes, for direct comparison) at \(n=16384\), three seeds.
Accuracy is 1.0000 almost everywhere. Up to \(v=200\), across all three alphabets, every position decodes correctly. Only at \(D=100\), \(v=300\) does it drop, to 0.9956 (mean of 299/300, 297/300). At \(n=16384\), the substrate gets perfect recall where the \(n=500\) substrate crosstalks into failure.
The \(I_{\text{dim}}\) numbers look bad. At \(D=5\), \(v=300\), Wunderblock’s \(I_{\text{dim}}\) is 0.043. Kleyko’s peak is 1.40. The ratio is \(32\times\), which tracks the dimension ratio exactly. \(I_{\text{dim}}\) divides by \(n\). Wunderblock’s \(n\) is \(32\times\) Kleyko’s. The difference is not a competence deficit. It is the metric charging for the dimension spent.
The total information decoded tells the real story. \(I_{\text{tot}} = v \cdot I_{\text{symb}}(a, D)\), before dividing by \(n\). At \(D=5\), \(v=300\), \(a=1.0\): \(I_{\text{tot}} = 300 \cdot \log_2(5) = 696\) bits. Kleyko’s peak at \(D=5\): \(I_{\text{dim}} \cdot n = 1.40 \cdot 500 = 700\) bits. Wunderblock decodes 696 bits. Kleyko decodes 700. At \(D=15\): 1173 bits vs
- At \(D=100\): 1992 bits vs 630. At matched or better accuracy, Wunderblock decodes the same or more total information. The \(I_{\text{dim}}\) gap is the dimension dividing, not a retrieval deficit.

Three rising Groove curves (\(n=16384\)) hug the bottom of the log scale. Three horizontal Kleyko reference lines (\(n=500\)) sit \(10\text{--}30\times\) above them. The chart makes the metric artifact visible. The curves sit low because \(I_{\text{dim}}\) divides by 16384, not because the substrate recalls poorly.

The third chart plots \(I_{\text{dim}}\) against accuracy for each alphabet at \(v=300\). The operating point (\(a=1.0\)) is marked. Kleyko’s peak \(I_{\text{dim}}\) is the horizontal reference lines. The Groove curves rise to perfect accuracy at the bottom of the density axis. The Kleyko reference lines sit above, at the lower accuracy the smaller substrate achieves, but at higher density. The metric rewards the upper-left of this chart (high density, partial accuracy). Wunderblock lives in the lower-right (low density, perfect accuracy). The gap is the cost of the choice, measured in the metric that penalizes it.
4. Near-optimal where it matters
What Wunderblock buys with VSA is the set of properties that make it an agentic memory substrate, not an index. Binding composes structure into a single fixed-width vector. A fact with subject, predicate, and object is one Groove. You can recover it by inverse rotation. You can compare it by Hamming distance to any other Groove. Bundling superposes many facts into one vector. You can query it in a single pass, with no scan, no index lookup, and no secondary structure. Resonance is content-addressed. The query is the same kind of object as the stored facts. Similarity is a popcount, not a join. These properties give \(O(1)\) query latency over the bundle. They run sub- millisecond on AVX-512, with deterministic execution and no allocation on the read path. A Bloom filter answers membership in \(O(k)\) hash evaluations. But it answers only membership.
Wunderblock answers relevance, association, and composition in one operation. Membership falls out as a side-effect. The value proposition is not density. It is that one substrate does what otherwise requires several. This is Model Minimalism at the substrate level: the cheapest mechanism that preserves the required quality, where “cheapest” is structural economy, not bits per dimension.
VSA’s density orientation comes from robotics, edge, and scarce-resource heritage. In that world, bits and joules are the binding constraint. Enterprise substrate has the opposite constraint. Correctness is binding. Dimension is not. We chose \(D=16384\) to max out accuracy early. We accepted lower information density because density is not critical for what Wunderblock is for. The membership gap is the cost of that choice measured in a currency Wunderblock does not spend (bits per membership test). The recall “gap” is the cost measured in a currency that penalizes the dimension choice (bits per dimension). Neither currency prices what Wunderblock buys: correct associative recall at a budget the density-optimized substrate cannot match.
Wunderblock lives or dies on associative recall. The quality bar is the ZRP \(K \leq 10\) benchmark: does it find the right facts within ten hops on the LDBC corpus. No floor has been proven for open-ended relevance retrieval. The benchmark is empirical, not theoretical. The claim is “it works,” not “it is optimal.” The recall measurement here gives a stronger empirical claim. At \(n=16384\), the substrate achieves perfect recall where the density- optimized reference crosstalks into failure. It decodes the same or more total information at matched accuracy.
If a future regime requires zero false negatives, Bloom guarantees this and Wunderblock does not. Adding an optimal membership index (a Bloom filter alongside Wunderblock) is a small engineering decision, not an architectural pivot. Wunderblock does not need to be a near-optimal membership structure to justify the design. Membership is not its job. It needs to recall facts correctly. At \(D=16384\) it does.
5. Where the floor dissolves
The Context Compaction Theory floor is unconditional. But it holds only for the stochastic and oblivious query regimes. An adaptive adversary, one that observes the compacted output before it chooses the query, falls outside Theorem 1’s scope. VMW, the memory-management unit that assembles the context block for every agent turn, is a closed-loop controller (ADR-020). It reads the turn context before it finalizes the slot prefix. The condenser sees query-correlated information before it commits. VMW is adaptive, not oblivious. The lower bound still bounds VMW from below. The equivalence does not. The floor is a lower bound on VMW, not an equivalence.
The paper models a single compaction. VMW runs per turn. Each turn’s assembled context is a compaction. The next turn starts from the previous turn’s state plus new sensorium, affect, and retrieval. The per-turn lower bound holds. The session-level story, how error grows across a sequence of compactions, is open. Repeated compaction degrades. The paper notes that Codex warns users about this. How fast it degrades, and whether the per-turn floor gives a useful session-level bound, is unmodeled.
These two gaps, adaptive adversary and repeated compaction, are limits of the paper’s framework when it is applied to a system that does not match the framework’s assumptions. The floor is a lower bound on VMW, not an equivalence. The session-level error growth is a question the framework opens but does not answer.
6. D is frozen
The substrate’s fundamental hyperparameter, \(D\), the dimension, is hardcoded at 16384 across 51 source files. It is not parameterized. It is not tunable. It cannot be swept without a rewrite. This is a debt filed as PEN-5159, not just a research inconvenience. A frozen \(D\) is a loop that cannot close. CARL, the autonomic loop that tunes substrate parameters against the recall benchmark (ADR-071), cannot propose a different \(D\) today. The choice made deliberately, \(D=16384\), retrieval over density, cannot yet be tested against the alternatives. That inability is the one part of the story that is not defensible.
When parameterization lands, the retrieval-vs-density frontier becomes measurable: \(D=8192\), \(D=32768\), and the curve between them. The prediction, from the two measured points, is that lower \(D\) trades retrieval for density along a frontier not yet mapped. The right operating point depends on whether the deployment regime is memory-constrained (where density matters) or enterprise substrate (where it does not). The claim is not that \(D=16384\) is optimal. It is that it is the point chosen, the cost is measured, and the cost is the one chosen to pay.
Related work and notes
Tirmazi, Markelon, Bishop, and Mitzenmacher, Context Compaction Theory (arxiv:2608.01326, 2026), supplies the Theorem 1 floor and the Bloom near-optimality reference for membership. The paper’s case study (Anthropic Opus 4.8 compaction on the random-guess line) is the diagnostic shape E-004 adapts with Wunderblock as the condenser.
Clarkson, Ubaru, and Yang, Capacity Analysis of Vector Symbolic Architectures (arxiv:2301.10352, 2023), gives the membership capacity bound for binary-majority VSA (MAP-B) via Johnson-Lindenstrauss: \(m = O(n \log(d/\delta))\). The bound assumes Hadamard binding, not rotational PathHD. The cold read confirms it does not give an associative-recall floor. Wunderblock’s existing membership measurement is better-calibrated than anything derivable from this paper alone.
Kleyko et al., Efficient Decoding of Compositional Structure in Holistic Representations (arxiv:2305.16873, 2023), supplies the \(I_{\text{dim}}\) information-rate metric E-005 measures against. It gives the 1.40/1.34/1.26 bits/dim reference peaks at \(n=500\). The cold read confirms the metric is substrate-agnostic and computable from any recall experiment. The better decoders (covariance-adjusted matching pursuit) do not fit sub- millisecond/SIMD/lockless constraints. Their headline numbers are measured only at \(n=500\) with no \(n=16384\) scaling.
Pu et al., Hardware-Aware Static Optimization of Hyperdimensional Computations (arxiv:2304.03335, 2023), is the one corpus near-neighbor both the membership and recall Paper Lantern searches surfaced. It gives the static-analysis method for sizing hypervector dimension and similarity threshold against a target false-positive rate on noisy hardware.
Within the Pentad Labs Research Notes, Model Minimalism names the discipline of spending the cheapest mechanism that preserves quality. What is Autonomic about WunderOS names CARL as the self- optimizing loop. Composing Determinism gives the replay foundation the substrate inherits.
A note on method
The findings here were produced through the pl-paper-oc flow. A neutral technical summary of the paper came from a sub-agent that did not see the WunderOS constraints. Then came a guidance checkpoint, a Paper Lantern analysis, and a fresh cold read of the paper. The cold read came from a sub- agent that saw the constraints but not the Paper Lantern output. A three-way diff (paper, cold take, Paper Lantern) followed. The cold read caught two gaps Paper Lantern missed. VMW’s closed-loop controller is adaptive, not oblivious. Theorem 1’s equivalence does not directly apply. Bloom’s near- optimality constant does not transfer to PathHD binding. The independence assumption fails. The recall measurement followed the same pattern. A Paper Lantern survey of the VSA optimality literature, cold reads of the two papers that bore on the claim (Clarkson and Kleyko), and a measurement grounded in both.
The two experiments (E-004, E-005) are deterministic. They reproduce from
synthetic data. They build on the real Wunderblock substrate: the actual
GrooveAccumulator, the actual BLAKE3 encoder, the actual PathHD algebra.
The code is on the ticket/5155-membership-sketch branch. The build steps
are zig build e004 and zig build e005. The ideas, claims, and
architectural commitments are mine. The Paper Lantern analyses and cold
reads were structured interlocutors that caught what an anchored reader
missed.