VSA as a link-coprocessor beside the model: plan with one model, execute with another, remember what it learns.
Measured live on real API endpoints. Fully reproducible via scripts in the repository.
Hybrid context-first cuts costs by x2.6, while distilled procedures achieve up to x6.0 savings.
Reduces input context bloat by bypassing loop iterations, saving up to x16.5 fewer tokens.
Repeated tasks compile into deterministic scripts, lowering overheads by x9.7 on light workloads.
Real-API measurement (2026-06-11) auditing a codebase package for docstrings, TODOs, and functions. Same model, same task, executed three ways.
| Metric | Pure Tool-Loop (B) | Hybrid Context-First (C) | Procedure + 1 Call (A) |
|---|---|---|---|
| LLM Calls | 8 | 1 | 1 |
| Tokens (In+Out) | 45,288 | 14,484 | 2,744 |
| Cost ($) | $0.3010 | $0.1156 | $0.0501 |
| Time (seconds) | 55.9 s | 32.6 s | 22.7 s |
| Report Quality | Deep | ≥ B (Found B's findings + 3 new issues) | Metrics OK, generic advice |
Real-API measurement (2026-06-12) under live `deepseek-chat` demonstrating cost reductions over repeated tasks.
| Profile | Base Cost | Distilled (Only) | Context-First | Combined |
|---|---|---|---|---|
| Light (Little Data) | $0.00034 | $0.00004 (×9.7) | — | — |
| Heavy (Audit Task) | $0.00100 | $0.00046 (×2.2) | $0.00059 (×1.7) | $0.00013 (×7.7) |
Vector Symbolic Architecture generating D=10,000 hypervectors in your browser.
Try entering facts (e.g. "Alice loves Bob") and asking questions ("Alice loves ?").
A framework that splits thinking from doing, remembers what it learns, and runs locally.
Plan on a smart model, execute on a cheap one. Decouple high-level strategies (Claude) from repetitive tool iterations (DeepSeek) to cut context costs.
Facts are stored as (Subject, Relation, Object) algebraic hypervectors. Persists on disk, reloads instantly, and is recalled only when relevant across languages.
Engage two independent LLM models to debate a technical choice. A third neutral model distills the consensus, automatically updating the VSA memory.
Repeated read-only tool-loops are automatically compiled into deterministic Python procedures, stripping LLM overhead by up to ×9.7 on subsequent runs.
Provider-agnostic and client-owned. Run on Anthropic Claude, DeepSeek, OpenAI, or any OpenAI-compatible API endpoints.
The core relies only on NumPy. Easy to hack, customize, and plug into other frameworks. Released under AGPL-3.0 for open research.
It all started in December 2025 just for fun — wanted to mess around with voice AI and personal knowledge graphs. Thought I'd laugh, code a bit in the evenings. But the project sucked me in completely: I quit my regular job because I couldn't stop.
Now Astrum is no longer a hobby — it's a full-on thing: a hyper-advanced voice assistant running on your private knowledge graph, with 3D orbits, embeddings, spatial UI. I coded everything with Anthropic Claude — tried every coding agent out there (Gemini, Grok, o1, the rest), but only Claude has the memory and understanding to keep the whole complex project in its head without losing the thread. And yeah, it ate up every last dollar I had on API credits. Sitting in Calgary with zero savings, no investors, no corporate backing.
If the AI community and anyone who vibes with this doesn't throw some voluntary support my way — the project will just stall out. No moon promises, just a real indie dev trying to finish what he started.
VSA is not a replacement for the semantic intelligence of language models. It is an extremely lightweight, local, private, and deterministic coprocessor for symbolic links and states.
Question: Can a freely learnable VSA codebook learn algebraic relations and generalize to unseen/held-out entities (OOD)?
Finding: Train Acc: 0.99 / OOD Acc: 0.10 (chance baseline 0.04). Optimization collapses on new entities because their vectors remain random.
Question: Does OOD generalization improve when all entities are trained but specific relation-entity combinations are held out?
Finding: Train Acc: 1.00 / OOD Acc: 0.02. Free codebook optimization destroys the systematic permutation-algebra structure.
Question: Is OOD collapse caused by "train-attractor collapse" pulling new vectors to trained primitives?
Finding: Theory Refuted. OOD errors are random (0.68 vs 0.625 baseline). The collapse in Exp 02 is noise from a small sample size.
Question: Does systematic analogy generalization stem from fixed algebraic structures rather than learning?
Finding: OOD Acc: 1.00. Non-learned permutation algebra yields 100% OOD accuracy without any training, proving structure > optimization.
Question: Can we learn a mapping (grounding) from raw features into a frozen VSA codebook while preserving OOD systematicity?
Finding: Train Acc: 1.00 / OOD Acc: 1.00. Freezing the algebra and training only the mapping preserves 100% OOD systematicity.
Question: Does a fixed, random projection of sentence embeddings + VSA algebra preserve semantic structure without training?
Finding: VSA: 0.75±0.07 vs 3CosAdd: 0.99±0.03 (baseline 0.025). VSA projection loses semantic structure; learning window is narrow.
Question: Does VSA binding out-perform raw linear embeddings in zero-shot composition (e.g. Person → Country → Capital)?
Finding: VSA: 0.24 vs Linear Offset: 0.45 (leakage 0.36). Linear offsets win because embeddings are fundamentally linear, not algebraic.
Question: Can training a grounding encoder (embedding-to-hypervector) improve VSA composition to beat linear offsets?
Finding: VSA composition reached 0.40±0.06, showing parity with the linear offset ceiling of 0.45, but failed to exceed it.
Question: How does VSA perform in its native niche—role-filler binding with abstract symbols without semantic interference?
Finding: VSA: 1.00 vs NN OOD: 0.014 (baseline 0.08, bag-of-values 0.33). VSA achieves 100% accuracy with zero training.
Question: Does VSA's advantage hold as load (bound roles in a state) increases in D=2048 space?
Finding: VSA holds 1.00 up to 64 roles, 0.995 at 96 roles, while the neural network collapses to floor starting at 16 roles.
Question: Can VSA speed up tag-overlap calculations in a real graph compared to exact sparse structures?
Finding: SciPy CSR: 260 μs, 0.4 MB vs VSA: 1200 μs, 78 MB. VSA loses because graph links are highly sparse (2-8 tags/node), which CSR processes by nnz.
Question: What is the capacity limit of Astrum's StateMemory, and how does VSA match up to exact structures under noise?
Finding: D=2048 holds ~128 facts, D=10k holds ~512. Under noise, exact pairs beat VSA by 20x in speed (606 μs vs 13.2 ms) and 6x in memory.
Question: What is the latency and cost difference between asking an LLM to compute links vs local computing?
Finding: LLM: 36 s, $1.7–$2.7 vs Local: 169 μs, $0. Local calculation is over 200,000x faster and free. Model needs token budget to compute.
Question: Can VSA derive semantic meaning to resolve polysemous words (words with ~10 meanings) in context?
Finding: VSA algebra alone cannot derive semantic meaning (Acc ≈ baseline 1/N). It only recalls pre-mapped structural relations.
Question: How self-consistent are frontier models on highly controversial or ambiguous classical Arabic terms?
Finding: Frontier models show overconfident self-contradiction under minor phrasing changes and struggle to acknowledge scholarly uncertainty.
Question: Can a VSA-seeded generation pipeline help human scholars identify novel interpretations of verses like 24:35?
Finding: Developed a prototype where VSA seeds relational targets and the LLM formulates angles, using self-flagging honesty checks.
Question: Can a VSA-bundle act as a standalone metadata obfuscator?
Finding: Negative. Without a secret, the link graph is recoverable by membership query (separation σ=7–20). With a key, strength lives in the key, not VSA. VSA is just a wrapper, not a cryptosystem.
Question: Can VSA index an encrypted archive better than classical baselines?
Finding: Mixed. Only matches a plain embedding+filter baseline on composition. Superposition destroys recall (G=2→0.80, G=4→0.35). Squeeze and lose, don't and it's worse than FAISS. Crypto & retrieval are not VSA's territory.
Question: Do VSA neighbors surface real link candidates on a real text corpus?
Finding: Positive. Overlap@5 with raw embeddings = 0.93 using SimHash grounding. Confirms VSA's real niche: associative recall with one atom per record.
Question: Is a graph's decay signal (weighted by degree) a valid measure of importance?
Finding: Negative. Degree protects frequent, self-similar noise. The earlier framing that "decay protects junk by degree" was over-claimed. Measurement repointed the hypothesis.
Question: Can one human judgment about a pattern scale automatically across a memory graph?
Finding: Positive. It can auto-apply with a confidence gradient, provenance tags, and an audit trail for rollback. Reflex applies only to stable *nature*, never fluid *significance*.
Question: How much bloat does pattern-cleanup actually remove from a memory graph?
Finding: A handful of pattern-judgments isolate a measurable but small fraction of the bloat. Point-cleanup is hygiene, not the cure.
Question: Where does the real noise and bloat accumulate in the knowledge graph?
Finding: Bloat lives in an ephemeral dead-zone: items decay skips but consolidation misses. Structural signals alone cannot separate valid from noise; a human validity signal is required.
Synthesis: 16–17 close the door on VSA-as-crypto. 18 confirms VSA's real niche (associative recall). 19–22 turn to the harder problem — telling valid memory from accumulated noise — and find that structure alone can't; a human validity signal is the missing piece. Hypotheses were killed on measurement, not on prose.
Empirical capacity thresholds measured across 30 random seeds, representing the worst-case retrieval accuracy.
Measures the accuracy of role-binding retrieval under increasing superposition load (from 1,000 to 16,000 independent facts) in a D=10,000 bipolar space.
| N (facts) | Mean Acc | Std | Min (Worst-Case) | Max | Seeds |
|---|---|---|---|---|---|
| 1,000 | 0.9333 | 0.0167 | 0.8900 | 0.9600 | 30 |
| 2,000 | 0.9225 | 0.0165 | 0.8900 | 0.9500 | 30 |
| 4,000 | 0.8825 | 0.0221 | 0.8250 | 0.9450 | 30 |
| 8,000 | 0.8420 | 0.0226 | 0.8050 | 0.9050 | 30 |
| 16,000 | 0.7468 | 0.0321 | 0.6950 | 0.8050 | 30 |
Measures structural order recall precision for full sequential episodes vs. a bounded working window (W=150).
| L (length) | Mean Acc | Min | Max |
|---|---|---|---|
| 50 | 1.0000 | 1.0000 | 1.0000 |
| 100 | 0.9900 | 0.9900 | 0.9900 |
| 200 | 0.9507 | 0.9350 | 0.9650 |
| 500 | 0.5567 | 0.4720 | 0.6060 |
| 1,000 | 0.2365 | 0.1910 | 0.2710 |
| L (length) | Mean Acc | Min | Max |
|---|---|---|---|
| 50 | 1.0000 | 1.0000 | 1.0000 |
| 100 | 0.9900 | 0.9900 | 0.9900 |
| 200 | 0.9780 | 0.9733 | 0.9800 |
| 500 | 0.9649 | 0.9533 | 0.9667 |
| 1,000 | 0.9649 | 0.9533 | 0.9667 |
* Note: Sequential order recall drops as the superposition increases. By introducing a bounded working window W=150 (ephemeral active memory), recall accuracy remains stable at ~0.965 even at L=1000 length.
Measures structural embedding similarity fidelity (preserving original geometry of transformer embeddings projected to hypervectors).
| Metric | Mean Correlation | Std | Min (Worst-Case) | Max | Seeds |
|---|---|---|---|---|---|
| Pearson | 0.992122 | 0.000176 | 0.991792 | 0.992492 | 30 |
| Spearman | 0.990727 | 0.000225 | 0.990383 | 0.991217 | 30 |
A comprehensive suite of 83 unit tests across 9 modules validating memory, distillation, and safety.
Validates compile-time capture of command histories as deterministic procedures, ensuring only read-only pipelines are learned.
Verifies state-quarantining, fitness feedback loops, and procedure validation/lint checks to filter out buggy codeblocks.
Asserts execution correctness of compiled procedures, matching inputs/outputs, and handling sandbox file reads.
Tests VSA register state memory bindings, unbinding operations, bundled memory, and cleanups in browser engines.
Tests the performance and accuracy of compact VSA bit-packing, converting floating-point vectors into binary elements.
Ensures VSA memory is safely stored to disk and reloaded intact across subsequent session instances.
Checks regression fixes and code corrections identified during codebase review cycles, preserving critical logic.
Validates workspace collection strategies, context budget allocation, and the initial inject sequence.
Verifies the extraction of consensus debate statements into memory triples, making verdicts durable.
We do not polish our numbers or hide failure modes. Our methodology rests on radical transparency and fail-fast refutation.
Every capacity benchmark represents the average and worst-case bounds measured across 30 separate random initializations. We report the minimum retrieval accuracy bounds to guarantee real-world performance, not cherry-picked best runs.
We compare VSA and our distillation loop against state-of-the-art implementations (like full Opus 4.8 prompts and native exact matrix calculations), rather than using weak or un-optimized baselines to artificially inflate our speedups.
We document negative findings (such as VSA semantic limitations or failure under D=10,000 without windows). Failure is not a setback, but a boundary condition that clarifies when VSA is a coprocessor versus when traditional databases or LLMs must take over.
Anthropic Claude
Google Gemini
DeepSeek V4
Llama 3.1
Whisper STT
Cartesia TTS
Mapped the capacity limit. Memory can override a weak model (26) — but only for facts it already stores; on conflicts or unseen queries the override confidently fails. Retrieval, not reasoning. The collapse obeys an exact law: Hopfield capacity α_c ≈ 0.14·N — a sharp retrieval→spin-glass transition, not gradual fade (27; measured 0.152 vs theory 0.138). Geometrically the overload is spaghettification: an anisotropic collapse into a thread — the shared gist survives along one axis while per-item detail thins to the noise floor (28). Unlike a black hole, the thread has a bottom: it thins only to the resolution limit √D, never to a singularity.




Closed VSA-as-crypto (16–17). Confirmed associative-recall niche (18, overlap@5=0.93). Opened the valid-vs-noise problem (19–22): structure alone can't tell them apart — a human validity signal is required. Direction set for a human-validated link layer.
Research landing published (experiments 01–15, benchmarks, 83 tests).