Skip to content

These are the release notes for every version, newest first, generated from the commit history.

Changelog

All notable changes to this project are generated from the commit history. Format: Keep a Changelog + Conventional Commits.

[Unreleased]

Added

  • One series per patience value in the ANN comparison tables
  • Stemmed BM25 and min-max score blend in the document API
  • Patience stop rule, opt-in 1-bit screen and error-returning builds for the vertex graph index
  • Competitor ANN harness for SymphonyQG, RaBitQ, NGT and Lucene HNSW
  • Check the graph cache header and verify the merged qgraph defaults
  • Add integer vector stores and per-vertex codes to qgraph
  • Batch Qwen3 decoding and padded encoder batches on Metal and CUDA
  • Add per-vertex 8-bit code graph index with residual re-rank
  • Add held-out tuning mode to public-bench ann-qgraph
  • Add on-device Qwen3 model stages behind local-models
  • Add quantized graph ANN index and its public benchmark mode
  • Add hms-server HTTP service for the Python SDK
  • Add experimental query-private similarity scoring behind private-search
  • Subset-union bundle experiment and capacity sweep

Changed

  • Drop rejected intersection kernel candidates

Documentation

  • Ideas tree for October 2026 with its 10-minute proxies
  • Preliminary nytimes VGraph comparison on the M4 and the next-session specs
  • Record the green CI and the clippy toolchain for the gate
  • Record that main is pushed and in sync
  • Record that all work is on main and what was superseded
  • Record the merged qgraph state and what is unverified
  • Record the integration state
  • Standardize README header (#71)
  • Update continuation state
  • Record the index and model-stage outcomes
  • Record the holographic prototype outcome
  • Record continuation state for the next session
  • Plan the holographic fact memory and its tests
  • Plan local model stages inside HMS
  • Define the single-run protocol for LongMemEval_M
  • Set the speed and accuracy targets and record the compute limits
  • Plan the LongMemEval_M run with larger models
  • Record the encoder test and the agent-memory benchmark plan
  • Attribute semantic search to the document API
  • Update changelog [skip ci]
  • Record the outcomes of the algorithm work
  • Give the SDK README the project header, badges and a quick start
  • Use absolute logo URLs so the README renders on package registries
  • Update changelog [skip ci]

Fixed

  • Satisfy clippy 1.99 lints in the qgraph kernels and graph cache
  • Keep greedy decoding at batch 1 unless a batch is set
  • Reserve Modal wave cost before launch so preemption cannot bypass the cap
  • Run HMS model stages on L4 on Modal
  • Decode benchmark data with as_chunks for the current clippy
  • Resolve leftover merge markers in .bestpractices.json
  • Serve SDK queries by exact cosine through the document API
  • Return query results best-first on exact-scan, multi-shard and federated paths

Performance

  • Quantized construction search for the graph build; cache header records it
  • Quantized construction search and owned-input build for the proximity graph
  • Byte visited marks for the unfused block path; close the neighbour-block mechanism
  • Keep the default neighbour loop free of the delta decoder and the cap counter
  • Neighbour cap for the per-row search, lint fixes, x86 paired rows
  • Unbiasing scale for block codes, sorted candidate pool, delta-coded adjacency
  • Neighbour-block fast-scan codes with evidence fusion and a certified exit for the vertex graph
  • NEON per-row 1-bit screen kernel with its microbenchmark kill test (screen stays off)
  • Scan both planes of 2-bit qgraph edge codes in one NEON pass
  • Add FastScan edge kernel, batched pool merge and 2-bit qgraph edge codes
  • Add 4-bit traversal codes, aligned rows, BFS reorder and 3-byte ids to the vertex index
  • Screen exact distances in vertex graph construction with 8-bit bounds
  • Measure Metal batching and set per-stage defaults
  • Prefetch rows ahead in qgraph fill, prune inputs and edge encoding
  • Use a bitset visited set and prefetch adjacency in qgraph construction
  • Speed up qgraph construction without changing the built index
  • Speed up from_dense with branchless term compaction and add encoder-eval
  • Gallop before AVX2 on skewed sizes; add intersection kernel bench
  • Route sparse queries to the exact inverted index

Bench

  • Per-session quota on the tuned LongMemEval turn ranking fails on cached dev scores
  • Record timed held-out glove run of i8 vertex-code qgraph
  • Correct reference eval counts in memory-first results
  • Record held-out recall screening of qgraph memory layouts
  • Add grid-matched vertex search pairs and correct the alignment claim
  • Record paired held-out timing of the vertex search encodings
  • Narrow the FAISS comparison and vendor the clean edge baselines
  • Record paired held-out timing of the per-vertex code index
  • Add paired-timing sync to ann-qgraph
  • Record held-out recall and memory of the per-vertex code index
  • Record the s-dev-hms cost overrun and stop
  • Record held-out qgraph tuning on nytimes
  • Measure HMS fact extraction against the Python stage on S dev
  • Add seeds and an equal-bytes index control to the holographic prototype
  • Record quantized graph results against HNSW
  • Prototype the holographic fact memory and measure it on LongMemEval_S dev
  • Make the Modal cost cap cumulative across relaunches
  • Key LongMemEval fact extraction by content and re-tune on dev
  • Record the LongMemEval dev results and the Modal dry run
  • Tune the LongMemEval pipeline on dev and record the ablation
  • Add the LongMemEval multi-key pipeline, Modal job and dev sweep
  • Freeze the LongMemEval 100 dev / 400 held-out split
  • Add LongMemEval_S retrieval baseline (dense, lexical, hybrid)
  • Add public BEIR and ann-benchmarks comparisons
  • Report encoder candidate recall after exact rerank

Research

  • Durability matrix harness and first matrix against SQLite and Lucene
  • Record native benchmark gate checkpoint
  • Checkpoint native harness validation draft
  • Establish checked LongMemEval dev answer results
  • Checkpoint final local reader batch and faster validation
  • Preserve dev reader progress and speed pilot audits
  • Checkpoint local reader evidence and judge progress
  • Checkpoint judge instability and local evidence
  • Checkpoint dev answer scores and repeat study
  • Freeze dev reader protocol and checkpoint quota blocker

[0.6.1] - 2026-10-05

Documentation

  • Update changelog [skip ci]

[py-v0.6.1] - 2026-10-05

Added

  • Introduce IdentityRegistry enforcing W3C DIDs, Verifiable Credentials, and POSME Receipts for queries
  • Add AsyncHolographicClient, batch uploading, and metadata filtering
  • Add Pydantic AI and SmolAgents tool wrappers
  • Add Phidata integration and fix broken Rust examples
  • Add Semantic Kernel and DSPy integrations to Holographic SDK
  • Add LlamaIndex SDK adapter and CI pipeline
  • Pivot to Zero-Trust Edge Architecture (FHE-Lite, AGPL-3.0, SIMD)
  • Python bindings + PyPI packaging for holographic-vsa (maturin/pyo3)
  • PhaseResonator reusable-index API + clean re-export + doctest (§20 capability)
  • PhaseHVec core type + real Frady/Kent resonator on quantized-phase substrate
  • Counting membership store with Poisson z-score readout (4x Bloom capacity)
  • Real SHA-256 commitment for verifiable phasor mutation (lane 3)
  • Multi-hop reasoning over the phasor memory (retrieve_path)
  • PhaseGraph -- phasor relational memory with relation algebra + retrieval
  • Presence-gate the observer effect (no confabulation-on-query)
  • Persist ConnectionGraph via its event log; survives restart
  • ConnectionGraph -- plastic event-sourced relation store, wired into engine
  • Trust-anchored provenance verification and sharded ANN persistence
  • Runnable cross-verification of the cogmem C2PA sample
  • Add provenance system with COSE, VCs, C2PA, JUMBF, Sigstore, KERI, CAWG
  • Add research-grade benchmarks, scaling analysis, and visualizations
  • Add sparse Clifford algebra multivector type (CliffordVec)
  • Define HolographicAlgebra trait boundary for future geometric algebra
  • Add Hopfield-Fenchel-Young energy-based associative retrieval
  • Multi-scale encoding, morphological decomposer, fault-tolerant federation
  • Improve SOTA for analogy, planner, and concept synthesis
  • Add cost/total_cost fields to planner N-API types
  • Evidence-weighted multi-hop confidence, ranked results
  • Expose cleanup_vector N-API method for standalone Hopfield denoising
  • Add agency layer (GoalStore, Planner, QuestionGenerator, SelfModifier)
  • Add cognition layer, distributional refiner, CI coverage
  • N-API bindings, persistence, load_from_log, compact for meaning memory (G6)
  • Integrate meaning memory into HmsCore, wire write/delete paths (G5)
  • Fuzzy_structural_query + multi_hop_query pipelines (G4)
  • AtomMemory, CompositeMemory, TripleStore, RuleStore, Decomposer (G3)
  • Shared utilities + IndexedMemory with Hopfield attractor (G1-G2)
  • Rename to holographic-memory, fix npm logo, update all URLs
  • Graph engine with multi-hop traversal, inference, temporal, federated queries
  • Complete security integration, DP wiring, docs, LF readiness
  • Add security features behind feature flag for LF Decentralized Trust readiness
  • Migrate to writerslogic org, add npm publish pipeline
  • Eliminate remaining gaps, expose train_nsg/train_ivf via N-API
  • Expose diffusion config through HmsConfig and N-API
  • Configurable thresholds, N-API config constructor, status getters
  • Add query_sequence, elevate test coverage for weak features
  • Add multi-shard support with auto-sharding
  • Initial release of Holographic Memory System (HMS)

Changed

  • Centralize SDK HTTP client and add CrewAI + Embedchain platforms
  • Consolidate LangChain, LlamaIndex, and Haystack adapters into unified holographic-sdk
  • Remove dead self-inverse resonator; move ResonatorConfig to phase_resonator
  • Extract shared wire codec (write/read_lp_str, write/read_deltas)
  • Extract meaning_ctx() helper shared by structural_query and multi_hop
  • Gate experimental VSA modules behind experimental feature
  • Migrate HMS agent identity from did.cose to CAWG ICA
  • Deduplicate RNG pruning, unify patterns, add doc comments
  • Eliminate dead code, add delete/compact with persistence
  • Remove redb dependency, use in-memory FxHashMap with arena log persistence

Documentation

  • State the AGPL-3.0-or-later license in the security policy
  • Update changelog [skip ci]
  • Record algorithm findings and private-search threat models
  • Rewrite README to highlight Zero-Trust Enterprise Security and Python SDK
  • State the testing policy explicitly in CONTRIBUTING.md (#66)
  • Sync changelog (#54)
  • Align guidance and track deferred production work (#52)
  • Update changelog [skip ci]
  • Update changelog [skip ci]
  • Standardize badges (add OpenSSF Scorecard; consistent order/format)
  • Update changelog [skip ci]
  • Update changelog [skip ci]
  • Update changelog [skip ci]
  • Update changelog [skip ci]
  • Update changelog [skip ci]
  • Update changelog [skip ci]
  • Update changelog [skip ci]
  • Update changelog [skip ci]
  • §29 confirmed on unseen seeds — 4-bit matches float, 8-16x footprint win; log floor-exploration findings
  • Wire deterministic-resonator capability into RESEARCH.md (discoverability + correct citation)
  • Overnight closeout — queue exhausted, 337 tests green, flag pre-existing §21 bin lint
  • Correct resonator-factorize repro command — bin is std-only, no experimental feature
  • Reproducibility header for resonator-factorize (fixed seeds, correct repro command)
  • DETERMINISTIC-RESONATOR.md — §20 validation write-up from in-loop 24-seed run
  • Block codes also floor (§24); capacity gap is retrieval-vs-information, open not impossible
  • Retract 'info-theoretically impossible' framing; 0.1D Plate is a readout artifact, closing gap to ceiling is open (§22)
  • Update changelog [skip ci]
  • Update changelog [skip ci]
  • Update changelog [skip ci]
  • Update changelog [skip ci]
  • Update changelog [skip ci]
  • Update changelog [skip ci]
  • Update changelog [skip ci]
  • Update changelog [skip ci]
  • Record why presence gate uses an absolute margin, not SNR
  • Update changelog [skip ci]
  • Update changelog [skip ci]
  • Update changelog [skip ci]
  • Update changelog [skip ci]
  • Update changelog [skip ci]
  • Update changelog [skip ci]
  • Pre-register non-self-inverse binding + nonlinear readout experiment
  • Update changelog [skip ci]
  • Update changelog [skip ci]
  • Replace logo with continuous-rotation animation
  • Update changelog [skip ci]
  • Update changelog [skip ci]
  • Restructure README with collapsible sections
  • Update changelog [skip ci]
  • Update changelog [skip ci]
  • Rewrite README — fix logo for npmjs, restructure with quick start first, improve clarity
  • Update changelog [skip ci]
  • Update changelog [skip ci]
  • Update changelog [skip ci]
  • Update changelog [skip ci]
  • Add agent-provenance stack cross-reference to README
  • Update changelog [skip ci]
  • Update all documentation for v0.5.0 accuracy
  • Add meaning memory architecture, structural queries, attractor cleanup
  • Add meaning memory architecture, structural queries, attractor cleanup

Fixed

  • Remove unimplemented security claims and retired cloud code
  • Add missing experimental feature gate to zero_trust_demo
  • Add missing experimental feature gate to zero_trust_demo
  • Resolve CodeQL alerts and README formatting
  • Resolve clippy::chunks_exact_to_as_chunks lint regression on main (#61)
  • Resolve workflow code scanning alerts (#53)
  • Give relations a distinct magic byte (0xFA), accept legacy 0xFE on read
  • Clippy needless_range_loop in resonator-bundle (§21 bin) — enumerate rewrite, outcome-neutral
  • Close remaining provenance trust-anchor gaps (cawg, vc-only records)
  • Use sort_by_key to satisfy clippy 1.96 unnecessary_sort_by
  • Repair --all-features build (port SCITT to ureq 3 API, drop dead CliffordVec bench, gate provenance example)
  • Allow CDLA-Permissive-2.0 license from webpki-roots via ureq
  • Replace bare unwrap() with expect() or total_cmp in production code
  • Remove dead CliffordVec code and fix clippy warnings
  • Perf and safety improvements from audit
  • 5 bugs from audit (deadlock, double-decay, over-count, double-start, stale-used)
  • Cargo fmt
  • Use sort_by_key for clippy on newer Rust
  • Cargo fmt formatting
  • Benchmark crate rename, cargo fmt
  • Resolve all clippy warnings for CI
  • Quality pass on G1-G4 code
  • Use absolute URL for logo on npmjs, add project.yaml for orchestrator
  • Resolve 15 audit findings (3 critical, 8 high, 4 medium)
  • Crash-safety, error propagation, and compaction correctness
  • Propagate errors from shard insert/remove, guard ShardManager invariant
  • Use .clamp() instead of .max().min() to satisfy clippy

Performance

  • Optimize Zero-Trust FHE-Lite key generation and eliminate string cloning in hot loops
  • Use posting-list candidate generation for synthesizeConcepts (>500 vectors)

Security

  • Remediate repository alerts and dependencies (#38)
  • Harden signing-key file perms, zeroize copies, bound JUMBF recursion

Assets

  • Static transparent logo from first frame, text removed
  • Simplify logo — strip floating decorative specks, keep the connected graph mark
  • Replace logo with self-contrasting node-graph mark (animated gif + static svg), drop garbled-text variants

Deps

  • Land 10 Dependabot major bumps with API fixes (#26)

Example

  • Story_memory -- HMS reasoning memory serving a writer (scrivener-mcp)

Research

  • Fractional-power encoding gives the phasor memory continuous 'near'
  • Phase memory retrieves under load where sparse collapses
  • Rotation binding gives relation algebra the current substrate lacks
  • Path-plasticity -- holographic generalization a cache can't do
  • Living-connection-graph slice -- plasticity beats saturation, verifiably
  • 2 hardening RETRACTS the sparse-wins claim (AUC artifact)

  • 2 strong baselines HRR + MAP vs sparse permutation

  • 2 involution control disconfirms the self-inverse framing

  • 2 density-matched control rules out the confound

  • 2 step-1 binding discriminator harness + result

Style

  • Apply rustfmt to experiment binaries