WARM
Memory serverOfficial Writerslogic project
Created by Writerslogic
Published in writerslogic/warm. Publisher page
27 GitHub stars
What it is
WritersLogic Adaptive Retention & Memory (WARM): local document search (BM25 + embedding cosine) and vector-symbolic associative memory.
AutoGineer overview, from the brain’s own files
WARM (WritersLogic Adaptive Retention & Memory) is a local-first memory engine designed to provide AI agents and applications with persistent storage and retrieval. It combines traditional document search—using stemmed BM25 and vector-based cosine similarity—with a vector-symbolic layer for associative memory and multi-hop queries. The system is built in Rust and can be deployed as an embedded library, an HTTP server, or an MCP server, allowing it to integrate with various agent hosts and development environments. It emphasizes local control, offering optional encryption and provenance features while avoiding external service calls or telemetry.
How it works
Memory model: Hybrid
AutoGineer overview, from the brain’s own files
The system stores text, vectors, and facts in a local directory. It uses a hybrid approach where document search combines chunking and BM25 with vector embeddings. The vector-symbolic layer utilizes sparse hypervectors to support associative memory, triples, and multi-hop queries. It provides an API for memory management including remember, recall, and forget operations, with support for source provenance and atomic storage updates.
| Folder | Role | Files |
|---|---|---|
| .github | agent-config | 37 |
| assets | attachments | 10 |
| docs | docs | 1850 |
| examples | examples | 47 |
| scripts | scripts | 77 |
| src | source-code | 327 |
| tests | tests | 362 |
| benches | folder | 7 |
| benchmarks | folder | 2898 |
| bindings | folder | 273 |
| deploy | folder | 18 |
| figures | folder | 6 |
| fuzz | folder | 54 |
| integrations | folder | 225 |
| interop | folder | 3 |
| notebooks | folder | 3 |
| npm | folder | 1 |
| proptest-regressions | folder | 1 |
| schemas | folder | 9 |
The agent reads
- query_batch evidence: README.md
- get_document evidence: README.md
- list_documents evidence: README.md
- get_document_info evidence: README.md
- list_document_info evidence: README.md
Requirements
Runtimes: Node.js, Python >=3.9, Rust
Databases: SQLite
API keys (by name): WARM_API_KEY
Works with: Gemini CLI
Set it up
This brain runs code automatically: 1 hook (claude-code), 1 script. Review benchmarks/results/sbg_positions_development/setup.sh, integrations/editors/claude-code/plugin/hooks/hooks.json before opening the folder in Claude Code. No step below turns a hook on for you.
benchmarks/results/sbg_positions_development/setup.sh:sh benchmarks/results/sbg_positions_development/setup.shintegrations/editors/claude-code/plugin/hooks/hooks.json:node
- Not scanned by AutoGineerThe author’s README also describes installing it from a clone of its repository. Read its install section: AutoGineer did not scan that path. https://github.com/writerslogic/warm/blob/e176d5572dd86bf2233bcb120e3a485dc109ea3a/README.md#get-started
- Not scanned by AutoGineerThe author’s README also describes installing it as the npm package writerslogic-warm. Read its install section: AutoGineer did not scan that path. https://github.com/writerslogic/warm/blob/e176d5572dd86bf2233bcb120e3a485dc109ea3a/README.md#get-started
Created by Writerslogic. Published in writerslogic/warm. Licence: Apache License 2.0.
Usage
AutoGineer overview, from the brain’s own files
- Integrating memory into an AI agent via the MCP server.
- Building local-first applications that require embedded search and storage.
- Providing a multi-tenant memory service via the HTTP server.
- Using the Rust library for in-process memory management.
- “Remember that the project deadline is Friday.”
- The agent stores the fact with associated metadata, making it available for future retrieval.
- “Recall information about the project deadline.”
- The agent retrieves the stored fact using hybrid search and provides the information with source provenance.
Documentation by Writerslogic
<img src="https://raw.githubusercontent.com/writerslogic/warm/main/assets/crystal-halo/crystal-detailed-static.png" alt="WARM logo" width="96" align="left">
WARM
Local memory for AI agents and applications.
WARM (WritersLogic Adaptive Retention & Memory) gives agents persistent memory, full-text and vector search, and source provenance in one embeddable Rust engine. Use it inside your application, through HTTP, or from an MCP client, with storage on infrastructure you control.
Image: CI Image: MSRV 1.89 Image: OpenSSF Scorecard Image: OpenSSF Best Practices Image: License: Apache-2.0 Image: WARM MCP server: quality and maintenance score on Glama
Website · Docs · Get started · Standards and provenance · Evaluation · Capabilities · Limits · Contribute
<br clear="left">
What it is
WARM is a Rust library that stores text, vectors and facts in a directory on your machine and finds them again. It ships with optional Node.js, C, WASM and UniFFI bindings, an HTTP server with portable JavaScript and Python clients, and an MCP server. The embedded engine makes no service calls or telemetry requests. HTTP clients connect to the server you configure; model stages are opt-in.
| Capability | What you get |
|---|---|
| Document search | Chunking, stemmed BM25 over blocked postings, Boolean and phrase queries, hybrid fusion with embeddings you supply, metadata filters, byte offsets |
| Vector index | Graph index with a memory-mapped vertex file, an updatable delta for inserts and deletes, optional query-aware routing trained on sample queries |
| Memory API | remember, recall, forget and explain with time validity and supersession; conversation memory with source provenance |
| Storage | Atomic replace and delete, crash-safe journal and checkpoints, verified compaction, one writer per store |
| Security | Optional AES-256-GCM storage encryption with documented coverage and limits, signed audit log, COSE/SCITT provenance |
| Vector-symbolic layer | Sparse hypervectors with bind, bundle and permute, triples with multi-hop queries, Hopfield cleanup |
Who it's for
| You are building | What you get |
|---|---|
| An agent or assistant that needs memory | A memory API with forgetting that removes facts from the store, and an MCP server for editors and agent hosts |
| A local-first or offline app | Embedded search and storage in one directory, with no server process and optional encryption |
| A service that needs vector or text search | warm-server over HTTP with tenants and scoped keys, or the library in-process |
Get started
For an editor or agent host, start with the MCP integration. For an application, choose the Rust library or HTTP server below. WARM runs locally or on your own infrastructure; this repository does not provide a managed cloud service.
To try the offline memory demo from source:
git clone https://github.com/writerslogic/warm
cd warm
cargo run --release --example demo-offline-agent<details open> <summary><strong>Rust</strong></summary>
From your own Rust project, add the current Apache-2.0 source. The crate is warm-rust; the library is imported as writerslogic_warm. The MSRV is Rust 1.89; local-models and --all-features need Rust 1.94 or newer.
cargo add warm-rustThe historical v0.6.1 source
remains AGPL-3.0-or-later; it is available from that Git tag, not as a
warm-rust 0.6.1 release on crates.io.
use writerslogic_warm::{DocumentInput, WarmCore, SearchOptions};
let dir = tempfile::tempdir()?;
let warm = WarmCore::new(4096, Some(dir.path().display().to_string()), None)?;
warm.memorize_document(DocumentInput {
id: "backups".into(),
text: "Restore deleted documents from verified backups.".into(),
source_uri: Some("operations.md".into()),
version: Some("1".into()),
metadata: Some(serde_json::json!({ "project": "alpha" })),
chunk_words: None, overlap_words: None, store_text: None, embeddings: None, title_weight: None,
})?;
let hits = warm.search_documents("restore backups", &SearchOptions::default())?;
println!("{} {:?}", hits[0].document_id, hits[0].source_uri);Rust API change in 0.6.6 (0.6.5 returns these values directly): WarmCore::query, query_batch, and
analyze_components return Result. Handle the result with ? or an explicit
error branch; deferred-encoding failures no longer become successful partial
query results. get_document, list_documents, get_document_info, and list_document_info
also return Result; retained-text and checkpoint decoding failures propagate
instead of panicking, and reads no longer hydrate the
entire checkpoint or hold store locks during text I/O.
</details>
<details> <summary><strong>JavaScript and TypeScript: portable client</strong></summary>
warm-sdk 0.2.1 is the portable HTTP client for a separately running warm-server.
It has no native binaries or runtime dependencies and uses standard Fetch and Web Streams APIs
(Node 18 or newer). Installing or importing it does not load the embedded engine or download models.
For a published release, install the client in your application:
npm install [email protected]Check the available npm versions. To build the client from this checkout:
npm ci --prefix bindings/js/warm-sdk
npm run build --prefix bindings/js/warm-sdkIn your application, install that directory with
npm install /absolute/path/to/warm/bindings/js/warm-sdk.
Start the server in a separate terminal:
cargo build --release --features server --bin warm-server
WARM_API_KEY=change-me target/release/warm-server --input-dim 384import { WarmClient } from 'warm-sdk'
const warm = new WarmClient({
url: process.env.WARM_URL ?? 'http://127.0.0.1:8080',
apiKey: process.env.WARM_API_KEY, tenantId: 'demo',
})
await warm.memory.remember('Restore deleted documents from verified backups.', {
id: 'backups', metadata: { project: 'alpha' },
})
const hits = await warm.memory.recall('restore backups', { filter: { project: 'alpha' } })
console.log(hits[0]?.text)Set WARM_API_KEY to the server's key before running the client. This memory example uses
lexical retrieval and needs no embedding model. A runnable source example also checks retrieval
and deletion in an isolated namespace:
WARM_URL=http://127.0.0.1:8080 WARM_API_KEY=change-me \
node examples/quickstart/js-client/quickstart.mjsSee the client API and release availability. Browser deployments must permit the application's origin at the HTTP service boundary.
</details>
<details> <summary><strong>Node.js: optional embedded engine</strong></summary>
writerslogic-warm embeds the Rust engine in Node. For a published engine release,
install it explicitly with npm's optional dependencies enabled:
npm install [email protected]Check the available npm versions. To build from the cloned repository, with Rust installed:
npm ci --omit=optional
npm run buildThe portable client and embedded engine are separate packages with different APIs.
listDocuments supports scoped pruning. See the
integration guide for source
provenance, namespace isolation, dry runs and deletion limits.
const { WarmMemorySystem } = require('writerslogic-warm')
const { DocumentMemory } = require('writerslogic-warm/semantic')
async function main() {
const dir = require('node:fs').mkdtempSync(require('node:path').join(require('node:os').tmpdir(), 'warm-readme-'))
const memory = new DocumentMemory(new WarmMemorySystem(4096, dir))
await memory.memorize({
id: 'backups', text: 'Restore deleted documents from verified backups.',
sourceUri: 'operations.md', version: '1', metadata: { project: 'alpha' },
})
const [hit] = await memory.search('restore backups', { filter: { project: 'alpha' } })
console.log(hit.documentId, hit.sourceUri, hit.text)
await memory.flush()
}
main().catch(error => { console.error(error); process.exit(1) })</details>
<details> <summary><strong>Server and Python</strong></summary>
The Python package warm-sdk is an HTTP client for warm-server, which stores vectors you
supply. (warm-python, imported as writerslogic_warm, provides native vector indexes and phase vectors, but no document search.)
cargo build --release --features server --bin warm-server
WARM_API_KEY=change-me target/release/warm-server --input-dim 384 &
uv pip install warm-sdkfrom writerslogic_warm_sdk import WarmClient
client = WarmClient(url="http://127.0.0.1:8080", api_key="change-me", tenant_id="demo")
client.add_documents([{"id": "a", "vector": [0.1] * 384, "text": "hello", "metadata": {}}])
print(client.query([0.1] * 384, top_k=1)["matches"][0]["id"])Endpoints, flags, tenants and limits are in the
server docs. A runnable Python quickstart
with a toy embedder is in examples/quickstart/python.
</details>
<details> <summary><strong>MCP</strong></summary>
warm-mcp serves a store to any Model Context Protocol client over stdio or HTTP:
npx -y writerslogic-warm-mcp # stdio; downloads a verified binary on first run
npx -y writerslogic-warm-mcp --transport http # http://127.0.0.1:8765/mcpThe MCP package is a separate launcher. To build the server from source:
cargo build --release --features mcp,security --bin warm-mcp # add local-models for semantic recall
./target/release/warm-mcp # stdio
./target/release/warm-mcp --transport http # http://127.0.0.1:8765/mcpClient setup, data directory and the one-writer rule: MCP integration.
For normalized content from multiple applications, see the organizational knowledge adapter.
</details>
The five-minute quickstart
walks through ingest, search, a SQLite FTS5 comparison and encryption in Rust, Python and Node,
and CI runs that code on every pull request. For a whole agent memory with no embeddings and no
network, run cargo run --example demo-offline-agent.
<a id="headline-results"></a> <a id="where-its-behind"></a>
Evaluation
Recorded results and limitations cover memory quality, text retrieval and vector search. Each result retains its workload, hardware, model, source revision and known losses. The full comparison and reproduction protocol provide the evidence for evaluating WARM on your own workload.
What ships today
| Capability | Status | Documented limit |
|---|---|---|
| Hybrid document search (BM25 + exact cosine, filters, byte offsets) | Ships | Exact scan of eligible chunks; benchmark your corpus before assuming capacity (guide) |
Boolean lexical search (+required, -excluded, quoted phrases) | Ships | Flat queries only, no nesting; an empty or only-excluded query matches nothing (design) |
| Atomic replace/delete, crash-safe journal, verified compaction, process lock | Ships | One writer per store; compaction is not secure erasure |
Vector index (qgraph vertex graph, memory-mapped) | Ships | Build time and serving RSS behind hnswlib on SIFT-1M (gaps) |
| Updatable vector index (durable delta for inserts and deletes) | Ships | Single writer; format in VECTOR-UPDATES.md |
| Query-aware graph routing (trained on sample queries) | Ships (opt-in) | Needs representative training queries; tested on VIBE llama and yi (report) |
| Memory API: remember, recall, forget, explain | Ships | Forgetting removes a fact from the store; it does not cover what a model inferred (docs) |
Conversation memory (conversation-memory) | Ships | Bounded context with exact source provenance; native recall not yet benchmarked on LongMemEval end to end |
| Meaning memory: triples, multi-hop, Hopfield cleanup | Ships (runtime opt-in) | Tested on synthetic and 2,120-fact sets (research_bench_16384_256.json) |
Union-bundle membership (experimental) | Research | At D = 16,384: positive gap to N = 500 (4% false positives), tested to 2,500 (benchmark_scaling_results.json) |
Sparse vector index (memorize_vector) | Experimental | Not competitive with HNSW (results) |
Encrypted stores (security) | Ships | AES-256-GCM, Argon2id; covers the log, index caches and the text segment. Metadata, file names and sizes are not encrypted |
Signed audit log, credential-gated access, COSE/SCITT/C2PA (provenance) | Ships | Host must authenticate DIDs; PoSME, RATS, did:web not implemented |
On-device models (local-models: Qwen3 embed/rerank/LLM) | Ships | Local weights only; never downloads |
warm-server HTTP API, multi-tenant (server) | Ships | Single node; TLS, per-tenant scoped keys (guide) |
MCP server (mcp: warm-mcp, stdio and HTTP) | Ships | Encryption needs security; semantic recall needs local-models |
JavaScript/TypeScript client (warm-sdk 0.2.1) | Source and release builds | Portable HTTP client; requires a separately running server |
Embedded Node.js (writerslogic-warm 0.6.8) | Source and release builds | Eight optional native platform packages; separate from the client |
| C, Go, .NET, Java, Kotlin, Swift and WebAssembly bindings | Source available | Require local builds; the language packages and native bundles are not yet published (runtime guides) |
| Python | HTTP client (warm-sdk); native vector indexes and phase vectors (warm-python) | No in-process document search |
Query-private search (private-search) | Experimental | For searching an index someone else holds; hides the query vector from the scorer only (notes) |
Optional engine capabilities use Cargo features or runtime configuration; Cargo features lists the build choices.
The compatibility policy defines API stability, deprecation windows and storage-format migration rules.
Architecture
flowchart TB
subgraph bindings["Bindings and servers"]
rust["Rust crate"]
node["Node: writerslogic-warm (napi)"]
ffi["C, WASM, UniFFI"]
clients["JavaScript and Python: warm-sdk"]
server["warm-server (HTTP)"]
mcp["warm-mcp (stdio, HTTP)"]
end
subgraph engine["Engine API"]
core["WarmCore: documents, vectors, facts, mutation gate"]
prov["Security and provenance: signed audit log, COSE/SCITT"]
end
subgraph indexes["Indexes and memory"]
text["Text index: blocked postings, BM25, Boolean and phrase"]
vector["Vector index (qgraph): vertex file, updatable delta, query-aware projection"]
memory["Memory API: remember, recall, forget, conversation memory"]
vsa["Vector-symbolic layer: bind, bundle, Hopfield cleanup"]
end
subgraph storage["Storage"]
journal["Journal and checkpoints"]
segments["Append-only segments (CRC32, LZ4)"]
mapped["Memory-mapped files"]
crypto["AES-256-GCM encryption (optional)"]
end
clients --> server
rust --> core
node --> core
ffi --> core
server --> core
mcp --> core
core --> text
core --> vector
core --> memory
core --> vsa
core --> prov
memory --> text
text --> journal
vector --> journal
memory --> journal
journal --> segments
segments --> mapped
segments --> cryptoModule map: docs/ARCHITECTURE.md.
Limits
Not anonymous. Hypervector sketches and term counts are not encryption; anyone with a store can encode candidate text and compare.
storeText: falsekeeps term counts, IDs and embeddings, so it is not a privacy control.Document search is conventional. It does not use the hypervectors; the holographic parts are the algebra and the meaning memory.
One writer per store. A second writing process fails at open with a lock error.
Capacity numbers are points, not guarantees, and are stated only over the tested range (capacity).
Benchmark results are single machines. Conditions are in each results file; the single-core ann-benchmarks run and the VIBE high-recall points are losses (see Where it's behind).
Masking is obfuscation. Client-side vector masking preserves every pairwise similarity.
A store is a directory and
WarmCore::new(.., None, ..)uses the current directory.
Full statement: docs/PRIVACY.md. Report vulnerabilities privately via SECURITY.md.
Contributing
CONTRIBUTING.md: setup, the checks CI runs, DCO sign-off (git commit -s, no
CLA). Start with a good first issue
or Discussions. See the
Code of Conduct. Benchmark changes regenerate the results file they touch;
the README cites files, not remembered figures.
License
Apache-2.0. See LICENSE. Use, modify and embed it in open-source or proprietary software, including network services, with no copyleft obligation. The historical v0.6.1 source remains available under its AGPL-3.0-or-later license.
docs/PRIVACY.md
Privacy and security boundaries
Local processing and retained data
The core engine makes no external embedding API calls. Optional ONNX model adapters load
explicit local directories with local_files_only: true; obtaining those models is a separate
application setup step. Queries and model inference run in plaintext in process memory.
Deterministic text hashes and sparse projections are lossy representations, not encryption or anonymization. An attacker can encode likely inputs and compare them, infer membership, or use lexical and similarity signals. No resistance to such attacks is implied by the number of possible bit combinations. The built-in text encoder captures lexical overlap; semantic retrieval requires suitable supplied embeddings.
Document ingestion retains raw passages by default. Setting storeText: false removes those
passages but still stores lexical term counts, metadata, source URIs, IDs, and any embeddings.
Do not use it as a privacy guarantee. Deletion removes logical records; filesystem snapshots,
backups, obsolete segments, and storage devices may retain previous bytes. Compaction is not
secure erasure.
Signed deletion/provenance records attest to the stated engine operation and its issuer; they do not prove that every physical copy, snapshot, backup or storage-device remnant is gone. Cryptographic signatures and logical absence cannot establish universal physical erasure.
Encryption and signing
With security compiled and encryption enabled, arena payloads and persisted ANN caches use
AES-256-GCM. Argon2id derives the encryption key from a passphrase and per-store salt. Prefer
encryptionPassphraseEnv to embedding a secret in application configuration. Schema metadata,
file names, sizes, topology, salts, and access patterns are not encrypted. Signing keys and
optional audit/provenance sidecars have their own storage policies.
Configuration fails when an unavailable security capability is requested. Schema validation
prevents switching an existing encrypted store to plaintext, and authenticated decryption
errors stop opening the store. securityStatus() distinguishes compiled support from active
encryption, signing, audit, and DP settings. Checksums detect accidental corruption; CRC32 is
not authentication. An audit log records operation timing and ID hashes; low-entropy IDs may
still be guessed. Signing does not provide confidentiality.
Signing keys and encryption salts are published from synced temporary files without replacing an existing destination. Concurrent initializers reopen the same complete bytes. Reads require fixed lengths (32-byte signing seed, 16-byte salt), reject links/nonregular files, and do not allocate the file's advertised size. Unix signing keys must deny group and other access; existing permissive files require an intentional owner permission repair. Parent directories must be controlled by the service account. Windows deployments must provision restrictive parent ACLs; Unix mode checks do not establish Windows ACL policy. Creation does not imply automatic key rotation or backup recovery. Keep the salt with every encrypted backup; restore the appropriate signing key and configuration after rotation.
GCM nonces use fallible OS randomness rather than fork-inherited thread-local generator state. This preserves the encrypted format and does not make random collisions impossible. For q invocations under one key, the ideal 96-bit birthday collision bound is q(q−1)/2^97. NIST SP 800-38D §8.3 limits invocations for its random-IV construction; WARM has no persistent cross-process, cross-backup key-usage accountant. Operators must budget all arena/cache/compaction writes and copied stores sharing a key. Changing a salt in place cannot rotate an encrypted store; re-encryption into a separately keyed store is required. No certification is asserted.
Client-side vector masking
core::mask::VectorMask (feature security) permutes vector coordinates with a secret
permutation derived from a passphrase by Argon2id. A client can mask vectors before sending
them to a store it does not fully trust. It is obfuscation, not encryption, and not
homomorphic encryption:
Every pairwise similarity is preserved exactly, so the store learns the full similarity graph, vector equality, vector weight, and per-coordinate activation frequency.
Masking is deterministic. Each known (plain, masked) pair reveals the image of that vector's active coordinates as a set; enough pairs recover the permutation.
An attacker who can encode likely inputs can still test membership once any part of the permutation is known, and frequency analysis of common coordinates needs no known pairs.
The engine itself applies no mask. A process holding both the passphrase and the vectors gains nothing from masking; use storage encryption for confidentiality at rest.
Set algebra (bind, bundle, similarity) commutes with the mask. Cyclic permutation used for ordered binding does not, so compose sequences before masking.
Credential-gated agent access
core::provenance::access (feature provenance) admits agents by W3C Verifiable Credentials
carrying an eddsa-jcs-2022 proof from an issuer did:key the host has explicitly trusted,
with an optional expiry and explicit revocation. WarmCore::query_as refuses a query unless
the named agent holds a current read grant. The registry is in-memory and per-process. It
decides authorization only: the host must authenticate that the caller controls the DID it
presents, and in-process callers can still use the ungated query. PoSME receipts and RATS
attestation evidence are not verified anywhere in WARM.
Differentially private bundling
DP applies only to the configured bundle operation, not ingestion, retrieval, document metadata, source passages, or the whole application. The intended neighboring datasets differ by adding or removing one input vector in a fixed, public dimension D. Each input is clipped to its first m = max(1, floor(D / 256)) active coordinates. The mechanism:
Counts clipped contributions across all D coordinates, including coordinates absent from input.
Adds independent Laplace noise of scale m / epsilon to every count.
Releases the fixed-size top m coordinates of the noisy histogram.
A single input changes the histogram by at most m in L1 norm. The Laplace mechanism therefore has the stated epsilon bound in the ideal real-arithmetic model under add/remove adjacency; top-m selection is post-processing. Replacing one input can change L1 distance by 2m and has a 2-epsilon bound under basic composition. The implementation uses floating-point sampling; it has not been independently audited as a finite-precision DP mechanism. See the Laplace mechanism and post-processing analysis.
WarmCore::bundle uses the configured public dimensions even for empty input. The low-level
EntangledHVec::bundle_dp infers dimensions from the first vector (or zero for empty
input); do not use that helper across datasets whose inferred dimensions can differ. Epsilon
must be finite and positive. Lower values add more noise, but no epsilon value is universally
appropriate for a category of sensitive data.
The numeric guard also rejects scales above f64::MAX / 64, so the finite uniform
sampler's inverse CDF cannot overflow into infinite scores. Every bundle seeds a fresh
standard cryptographic generator from the OS, avoiding repeated noise from inherited
thread-local state after a fork. OS entropy failure stops the infallible bundle API with
a panic before any output. These checks do not establish finite-precision DP or compose
the privacy cost of repeated releases.
Repeated releases consume additional budget. The caller must account for every release and choose an adjacency model and privacy budget suitable for its use case. WARM does not provide a persistent budget accountant, query privacy, private information retrieval, or a claim that non-DP outputs become private when bundling is enabled.
512 files · 481 not served here
- .bestpractices.json (not served here)
- .dockerignore (not served here)
- .editorconfig (not served here)
- .gitattributes (not served here)
- .github/CODEOWNERS (not served here)
- .github/FUNDING.yml (not served here)
- .github/ISSUE_TEMPLATE/bug_report.yml (not served here)
- .github/ISSUE_TEMPLATE/config.yml (not served here)
- .github/ISSUE_TEMPLATE/feature_request.yml (not served here)
- .github/SECURITY.md (not served here)
- .github/SUPPORT.md (not served here)
- .github/badges/coverage.json (not served here)
- .github/dependabot.yml (not served here)
- .github/pull_request_template.md (not served here)
- .github/workflows/bench-refresh.yml (not served here)
- .github/workflows/bindings.yml (not served here)
- .github/workflows/changelog.yml (not served here)
- .github/workflows/ci.yml (not served here)
- .github/workflows/coverage.yml (not served here)
- .github/workflows/dco.yml (not served here)
- .github/workflows/dependency-review.yml (not served here)
- .github/workflows/docs.yml (not served here)
- .github/workflows/examples.yml (not served here)
- .github/workflows/format.yml (not served here)
- .github/workflows/fuzz.yml (not served here)
- .github/workflows/importers.yml (not served here)
- .github/workflows/js-sdk.yml (not served here)
- .github/workflows/links.yml (not served here)
- .github/workflows/mcp-container.yml (not served here)
- .github/workflows/npm-packages.yml (not served here)
- .github/workflows/python-wheels.yml (not served here)
- .github/workflows/release.yml (not served here)
- .github/workflows/reproducible.yml (not served here)
- .github/workflows/retire-legacy-npm.yml (not served here)
- .github/workflows/scorecard.yml (not served here)
- .github/workflows/standards-interop.yml (not served here)
- .github/workflows/warm-js-sdk-release.yml (not served here)
- .github/workflows/warm-mcp-release.yml (not served here)
- .github/workflows/warm-models-release.yml (not served here)
- .github/workflows/warm-py-release.yml (not served here)
- .github/workflows/warm-sdk-release.yml (not served here)
- .gitignore (not served here)
- .lychee.toml (not served here)
- .npmignore (not served here)
- ATTRIBUTION.md
- AUTOGINEER-RUNS.md
- CHANGELOG.md
- CITATION.cff (not served here)
- CODE_OF_CONDUCT.md
- CONTRIBUTING.md
- Cargo.lock (not served here)
- Cargo.toml (not served here)
- Dockerfile (not served here)
- LICENSE
- README.md
- SECURITY.md
- assets/crystal-halo/README.txt (not served here)
- assets/crystal-halo/crystal-detailed-loop.apng (not served here)
- assets/crystal-halo/crystal-detailed-loop.svg (not served here)
- assets/crystal-halo/crystal-detailed-loop.webp (not served here)
- assets/crystal-halo/crystal-detailed-static.png (not served here)
- assets/crystal-halo/crystal-detailed-static.svg (not served here)
- assets/crystal-halo/source/build_additional_exports.py (not served here)
- assets/crystal-halo/source/build_crystal_halo.py (not served here)
- assets/crystal-halo/source/crystal-halo-geometry.json (not served here)
- assets/social-preview.png (not served here)
- benches/audit_delivery.rs (not served here)
- benches/ingest_alloc.rs (not served here)
- benches/intersection_kernels.rs (not served here)
- benches/query_alloc.rs (not served here)
- benches/vector_record_query.rs (not served here)
- benches/vector_updates.rs (not served here)
- benches/warm_benchmark.rs (not served here)
- benchmarks/ann-benchmarks/campaign/ga.py (not served here)
- benchmarks/ann-benchmarks/campaign/gen_heldout.py (not served here)
- benchmarks/ann-benchmarks/campaign/mkdefs.py (not served here)
- benchmarks/ann-benchmarks/campaign/mkdefs_ivf.py (not served here)
- benchmarks/ann-benchmarks/campaign/mkreport.py (not served here)
- benchmarks/ann-benchmarks/campaign/plans/b1-sift.json (not served here)
- benchmarks/ann-benchmarks/campaign/plans/b2-glove.json (not served here)
- benchmarks/ann-benchmarks/campaign/plans/g1-sift.json (not served here)
- benchmarks/ann-benchmarks/campaign/prebuild.py (not served here)
- benchmarks/ann-benchmarks/campaign/prof.sh (not served here)
- benchmarks/ann-benchmarks/campaign/profq.py (not served here)
- benchmarks/ann-benchmarks/campaign/run_gen.py (not served here)
- benchmarks/ann-benchmarks/campaign/summ.py (not served here)
- benchmarks/ann-benchmarks/campaign/test_campaign_integrity.py (not served here)
- benchmarks/ann-benchmarks/campaign/warm_module_campaign.py (not served here)
- benchmarks/ann-benchmarks/campaign/warmivf_module.py (not served here)
- benchmarks/ann-benchmarks/warm/Dockerfile (not served here)
- benchmarks/ann-benchmarks/warm/config.yml (not served here)
- benchmarks/ann-benchmarks/warm/module.py (not served here)
- benchmarks/competitive/GAPS.json (not served here)
- benchmarks/competitive/README-block.md (not served here)
- benchmarks/competitive/ann_updatable_measure.py (not served here)
- benchmarks/competitive/lucene/LuceneBm25.java (not served here)
- benchmarks/competitive/modal_run.py (not served here)
- benchmarks/competitive/predictions/heavy-20261021T093821.json (not served here)
- benchmarks/competitive/repin_compare.py (not served here)
- benchmarks/competitive/requirements/annoy.footprint.in (not served here)
- benchmarks/competitive/requirements/annoy.footprint.txt (not served here)
- benchmarks/competitive/requirements/annoy.in (not served here)
- benchmarks/competitive/requirements/annoy.txt (not served here)
- benchmarks/competitive/requirements/bm25s.footprint.in (not served here)
- benchmarks/competitive/requirements/bm25s.footprint.txt (not served here)
- benchmarks/competitive/requirements/bm25s.in (not served here)
- benchmarks/competitive/requirements/bm25s.txt (not served here)
- benchmarks/competitive/requirements/chroma.footprint.in (not served here)
- benchmarks/competitive/requirements/chroma.footprint.txt (not served here)
- benchmarks/competitive/requirements/chroma.in (not served here)
- benchmarks/competitive/requirements/chroma.txt (not served here)
- benchmarks/competitive/requirements/diskann.footprint.in (not served here)
- benchmarks/competitive/requirements/diskann.footprint.txt (not served here)
- benchmarks/competitive/requirements/diskann.in (not served here)
- benchmarks/competitive/requirements/diskann.txt (not served here)
- benchmarks/competitive/requirements/duckdb.footprint.in (not served here)
- benchmarks/competitive/requirements/duckdb.footprint.txt (not served here)
- benchmarks/competitive/requirements/duckdb.in (not served here)
- benchmarks/competitive/requirements/duckdb.txt (not served here)
- benchmarks/competitive/requirements/faiss.footprint.in (not served here)
- benchmarks/competitive/requirements/faiss.footprint.txt (not served here)
- benchmarks/competitive/requirements/faiss.in (not served here)
- benchmarks/competitive/requirements/faiss.txt (not served here)
- benchmarks/competitive/requirements/hnswlib.footprint.in (not served here)
- benchmarks/competitive/requirements/hnswlib.footprint.txt (not served here)
- benchmarks/competitive/requirements/hnswlib.in (not served here)
- benchmarks/competitive/requirements/hnswlib.txt (not served here)
- benchmarks/competitive/requirements/lancedb.footprint.in (not served here)
- benchmarks/competitive/requirements/lancedb.footprint.txt (not served here)
- benchmarks/competitive/requirements/lancedb.in (not served here)
- benchmarks/competitive/requirements/lancedb.txt (not served here)
- benchmarks/competitive/requirements/milvus.footprint.in (not served here)
- benchmarks/competitive/requirements/milvus.footprint.txt (not served here)
- benchmarks/competitive/requirements/milvus.in (not served here)
- benchmarks/competitive/requirements/milvus.txt (not served here)
- benchmarks/competitive/requirements/ngt.footprint.in (not served here)
- benchmarks/competitive/requirements/ngt.footprint.txt (not served here)
- benchmarks/competitive/requirements/ngt.in (not served here)
- benchmarks/competitive/requirements/ngt.txt (not served here)
- benchmarks/competitive/requirements/pynndescent.footprint.in (not served here)
- benchmarks/competitive/requirements/pynndescent.footprint.txt (not served here)
- benchmarks/competitive/requirements/pynndescent.in (not served here)
- benchmarks/competitive/requirements/pynndescent.txt (not served here)
- benchmarks/competitive/requirements/qdrant.footprint.in (not served here)
- benchmarks/competitive/requirements/qdrant.footprint.txt (not served here)
- benchmarks/competitive/requirements/qdrant.in (not served here)
- benchmarks/competitive/requirements/qdrant.txt (not served here)
- benchmarks/competitive/requirements/scann.footprint.in (not served here)
- benchmarks/competitive/requirements/scann.footprint.txt (not served here)
- benchmarks/competitive/requirements/scann.in (not served here)
- benchmarks/competitive/requirements/scann.txt (not served here)
- benchmarks/competitive/requirements/server-clients.footprint.in (not served here)
- benchmarks/competitive/requirements/server-clients.footprint.txt (not served here)
- benchmarks/competitive/requirements/server-clients.in (not served here)
- benchmarks/competitive/requirements/server-clients.txt (not served here)
- benchmarks/competitive/requirements/sqlite-vec.footprint.in (not served here)
- benchmarks/competitive/requirements/sqlite-vec.footprint.txt (not served here)
- benchmarks/competitive/requirements/sqlite-vec.in (not served here)
- benchmarks/competitive/requirements/sqlite-vec.txt (not served here)
- benchmarks/competitive/requirements/stdlib-prev.footprint.in (not served here)
- benchmarks/competitive/requirements/stdlib-prev.footprint.txt (not served here)
- benchmarks/competitive/requirements/stdlib-prev.in (not served here)
- benchmarks/competitive/requirements/stdlib-prev.txt (not served here)
- benchmarks/competitive/requirements/stdlib.footprint.in (not served here)
- benchmarks/competitive/requirements/stdlib.footprint.txt (not served here)
- benchmarks/competitive/requirements/stdlib.in (not served here)
- benchmarks/competitive/requirements/stdlib.txt (not served here)
- benchmarks/competitive/requirements/tantivy-prev.footprint.in (not served here)
- benchmarks/competitive/requirements/tantivy-prev.footprint.txt (not served here)
- benchmarks/competitive/requirements/tantivy-prev.in (not served here)
- benchmarks/competitive/requirements/tantivy-prev.txt (not served here)
- benchmarks/competitive/requirements/tantivy.footprint.in (not served here)
- benchmarks/competitive/requirements/tantivy.footprint.txt (not served here)
- benchmarks/competitive/requirements/tantivy.in (not served here)
- benchmarks/competitive/requirements/tantivy.txt (not served here)
- benchmarks/competitive/requirements/usearch.footprint.in (not served here)
- benchmarks/competitive/requirements/usearch.footprint.txt (not served here)
- benchmarks/competitive/requirements/usearch.in (not served here)
- benchmarks/competitive/requirements/usearch.txt (not served here)
- benchmarks/competitive/requirements/voyager.footprint.in (not served here)
- benchmarks/competitive/requirements/voyager.footprint.txt (not served here)
- benchmarks/competitive/requirements/voyager.in (not served here)
- benchmarks/competitive/requirements/voyager.txt (not served here)
- benchmarks/competitive/requirements/whoosh.footprint.in (not served here)
- benchmarks/competitive/requirements/whoosh.footprint.txt (not served here)
- benchmarks/competitive/requirements/whoosh.in (not served here)
- benchmarks/competitive/requirements/whoosh.txt (not served here)
- benchmarks/competitive/tests/test_ann_systems.py (not served here)
- benchmarks/competitive/tests/test_common.py (not served here)
- benchmarks/competitive/tests/test_server.py (not served here)
- benchmarks/competitive/tests/test_table.py (not served here)
- benchmarks/competitive/tests/test_text_systems.py (not served here)
- benchmarks/competitive/tests/test_warm_ann_build.py (not served here)
- benchmarks/competitive/warm-bench (not served here)
- benchmarks/competitive/warmbench/__init__.py (not served here)
- benchmarks/competitive/warmbench/_spawner.py (not served here)
- benchmarks/competitive/warmbench/analyze.py (not served here)
- benchmarks/competitive/warmbench/analyzer_latency.py (not served here)
- benchmarks/competitive/warmbench/ann_worker.py (not served here)
- benchmarks/competitive/warmbench/cli.py (not served here)
- benchmarks/competitive/warmbench/common.py (not served here)
- benchmarks/competitive/warmbench/data.py (not served here)
- benchmarks/competitive/warmbench/envs.py (not served here)
- benchmarks/competitive/warmbench/h5_convert.py (not served here)
- benchmarks/competitive/warmbench/jars.py (not served here)
- benchmarks/competitive/warmbench/land.py (not served here)
- benchmarks/competitive/warmbench/multilingual.py (not served here)
- benchmarks/competitive/warmbench/registry.py (not served here)
- benchmarks/competitive/warmbench/runner.py (not served here)
- benchmarks/competitive/warmbench/server_proc.py (not served here)
- benchmarks/competitive/warmbench/server_registry.py (not served here)
- benchmarks/competitive/warmbench/server_runner.py (not served here)
- benchmarks/competitive/warmbench/server_worker.py (not served here)
- benchmarks/competitive/warmbench/servers.py (not served here)
- benchmarks/competitive/warmbench/table.py (not served here)
- benchmarks/competitive/warmbench/text_worker.py (not served here)
- benchmarks/competitive/warmbench/textdata.py (not served here)
- benchmarks/cue_tags/cue_tagger.py (not served here)
- benchmarks/cue_tags/labels.csv (not served here)
- benchmarks/cue_tags/measure.py (not served here)
- benchmarks/cue_tags/sample.py (not served here)
- benchmarks/cue_tags/stale_arms.py (not served here)
- benchmarks/embedding/agreement.py (not served here)
- benchmarks/embedding/agreement_sample.json (not served here)
- benchmarks/embedding/assemble_selection.py (not served here)
- benchmarks/embedding/bench_torch_cpu.py (not served here)
- benchmarks/embedding/embed_store_bench.rs (not served here)
- benchmarks/embedding/pin_model.py (not served here)
- benchmarks/embedding/reference_granite-embedding-30m-english.json (not served here)
- benchmarks/embedding/run_engine_eval.py (not served here)
- benchmarks/embedding/run_store_eval.py (not served here)
- benchmarks/embedding/select_model.py (not served here)
- benchmarks/evidence/MANIFEST.json (not served here)
- benchmarks/evidence/README.md (not served here)
- benchmarks/evidence/retired-inputs.json (not served here)
- benchmarks/modal_benchmark.py (not served here)
- benchmarks/private_search/lattice_estimate.py (not served here)
- benchmarks/private_search/lwe_core_svp.py (not served here)
- benchmarks/public/accuracy_qualification/PLAN.json (not served here)
- benchmarks/public/accuracy_qualification/analyze.mjs (not served here)
- benchmarks/public/accuracy_qualification/prepare.py (not served here)
- benchmarks/public/accuracy_qualification/pyproject.toml (not served here)
- benchmarks/public/accuracy_qualification/run.mjs (not served here)
- benchmarks/public/accuracy_qualification/test-analyze.mjs (not served here)
- benchmarks/public/accuracy_qualification/test_prepare.py (not served here)
- benchmarks/public/accuracy_qualification/uv.lock (not served here)
- benchmarks/public/aml_cycle2/README.md (not served here)
- benchmarks/public/aml_cycle2/adapter.py (not served here)
- benchmarks/public/aml_cycle2/experimental/__init__.py (not served here)
- benchmarks/public/aml_cycle2/experimental/citation_matches.csv (not served here)
- benchmarks/public/aml_cycle2/experimental/evidence_selection.py (not served here)
- benchmarks/public/aml_cycle2/experimental/findings.json (not served here)
- benchmarks/public/aml_cycle2/experimental/semantic_cases.json (not served here)
- benchmarks/public/aml_cycle2/experimental/test_evidence_selection.py (not served here)
- benchmarks/public/aml_cycle2/gce_install.sh (not served here)
- benchmarks/public/aml_cycle2/local_host.py (not served here)
- benchmarks/public/aml_cycle2/modal_deploy.py (not served here)
- benchmarks/public/aml_cycle2/runtime-requirements.in (not served here)
- benchmarks/public/aml_cycle2/runtime-requirements.txt (not served here)
- benchmarks/public/aml_cycle2/test_adapter.py (not served here)
- benchmarks/public/aml_cycle2/test_local_host.py (not served here)
- benchmarks/public/aml_cycle2/test_query.py (not served here)
- benchmarks/public/analyze_glove_batch_pool.py (not served here)
- benchmarks/public/analyze_glove_batch_pool_feature.py (not served here)
- benchmarks/public/analyze_glove_batch_pool_isolation.py (not served here)
- benchmarks/public/analyze_glove_development.py (not served here)
- benchmarks/public/ann_extra.py (not served here)
- benchmarks/public/ann_failure_map.py (not served here)
- benchmarks/public/ann_modal_confirm.py (not served here)
- benchmarks/public/ann_modal_graph.py (not served here)
- benchmarks/public/ann_modal_repair.py (not served here)
- benchmarks/public/audit_calibration.py (not served here)
- benchmarks/public/audit_serving_job.py (not served here)
- benchmarks/public/batching_assemble.py (not served here)
- benchmarks/public/batching_compare.py (not served here)
- benchmarks/public/batching_inputs.py (not served here)
- benchmarks/public/batching_timing.py (not served here)
- benchmarks/public/bemula/README.md (not served here)
- benchmarks/public/bemula/run_warm.py (not served here)
- benchmarks/public/bemula/summarize.py (not served here)
- benchmarks/public/bemula/warm_adapter.py (not served here)
- benchmarks/public/build_native_bridge.py (not served here)
- benchmarks/public/check_algebraic_codebook_report.py (not served here)
- benchmarks/public/check_compaction_updates.py (not served here)
- benchmarks/public/check_competitive_ann.py (not served here)
- benchmarks/public/check_document_competition.py (not served here)
- benchmarks/public/check_document_operations.py (not served here)
- benchmarks/public/check_document_search_compare.py (not served here)
- benchmarks/public/check_document_sqlite_rank_control.py (not served here)
- benchmarks/public/check_encoder_version_diagnostic.py (not served here)
- benchmarks/public/check_evidence_budget.py (not served here)
- benchmarks/public/check_evidence_completeness.py (not served here)
- benchmarks/public/check_factored_evidence.py (not served here)
- benchmarks/public/check_geometry_report.py (not served here)
- benchmarks/public/check_learned_sparse.py (not served here)
- benchmarks/public/check_lexical_relevance.py (not served here)
- benchmarks/public/check_longmemeval_answers.py (not served here)
- benchmarks/public/check_longmemeval_complete_history.py (not served here)
- benchmarks/public/check_longmemeval_full_history.py (not served here)
- benchmarks/public/check_longmemeval_production.py (not served here)
- benchmarks/public/check_longmemeval_role_reader.py (not served here)
- benchmarks/public/check_longmemeval_user_first.py (not served here)
- benchmarks/public/check_longmemeval_verifier.py (not served here)
- benchmarks/public/check_manifold_report.py (not served here)
- benchmarks/public/check_manifold_schema_report.py (not served here)
- benchmarks/public/check_native_harness.py (not served here)
- benchmarks/public/check_operand_report.py (not served here)
- benchmarks/public/check_operand_tampering.py (not served here)
- benchmarks/public/check_phase_path_report.py (not served here)
- benchmarks/public/check_publication_serving.py (not served here)
- benchmarks/public/check_reader_suspensions.py (not served here)
- benchmarks/public/check_sparse_composition.py (not served here)
- benchmarks/public/check_superiority_checkpoint.py (not served here)
- benchmarks/public/check_weak_reader_evidence.py (not served here)
- benchmarks/public/compact_owned_publication.py (not served here)
- benchmarks/public/compaction_updates.py (not served here)
- benchmarks/public/compare_fact_caches.py (not served here)
- benchmarks/public/competitive_ann.py (not served here)
- benchmarks/public/direct_commit_publication.py (not served here)
- benchmarks/public/document_competition.py (not served here)
- benchmarks/public/document_search_compare.py (not served here)
- benchmarks/public/document_sqlite_rank_control.py (not served here)
- benchmarks/public/durability_matrix.py (not served here)
- benchmarks/public/encoder_version_diagnostic.py (not served here)
- benchmarks/public/evaluate.py (not served here)
- benchmarks/public/evidence_budget_diagnostic.py (not served here)
- benchmarks/public/evidence_completeness.py (not served here)
- benchmarks/public/factored_evidence_diagnostic.py (not served here)
- benchmarks/public/geometry_experiments.py (not served here)
- benchmarks/public/instrument_publication.py (not served here)
- benchmarks/public/learned_sparse_dense_tune.py (not served here)
- benchmarks/public/learned_sparse_encode.py (not served here)
- benchmarks/public/learned_sparse_results.py (not served here)
- benchmarks/public/lexical_relevance_tune.py (not served here)
- benchmarks/public/lme_context/README.md (not served here)
- benchmarks/public/lme_context/breakdown.py (not served here)
- benchmarks/public/lme_context/extract_modal.py (not served here)
- benchmarks/public/lme_context/prep_extract.py (not served here)
- benchmarks/public/lme_context/render.py (not served here)
- benchmarks/public/lme_context/run_arm.py (not served here)
- benchmarks/public/locomo/assemble_results.py (not served here)
- benchmarks/public/locomo/locomo_bench.py (not served here)
- benchmarks/public/locomo/mem0_prompts.py (not served here)
- benchmarks/public/locomo/test_locomo_bench.py (not served here)
- benchmarks/public/locomo_comparison.py (not served here)
- benchmarks/public/longmemeval_500_frozen_config.json (not served here)
- benchmarks/public/longmemeval_answer_evidence.py (not served here)
- benchmarks/public/longmemeval_compact_context.py (not served here)
- benchmarks/public/longmemeval_complete_history.py (not served here)
- benchmarks/public/longmemeval_config.json (not served here)
- benchmarks/public/longmemeval_dev_conversations.py (not served here)
- benchmarks/public/longmemeval_dev_sources.py (not served here)
- benchmarks/public/longmemeval_full_history.py (not served here)
- benchmarks/public/longmemeval_history_budget.py (not served here)
- benchmarks/public/longmemeval_incremental_judges.py (not served here)
- benchmarks/public/longmemeval_local_modal.py (not served here)
- benchmarks/public/longmemeval_local_reader.py (not served here)
- benchmarks/public/longmemeval_memory_recall.py (not served here)
- benchmarks/public/longmemeval_modal.py (not served here)
- benchmarks/public/longmemeval_obligations.py (not served here)
- benchmarks/public/longmemeval_official_qa.py (not served here)
- benchmarks/public/longmemeval_official_qa_500.py (not served here)
- benchmarks/public/longmemeval_pipeline.py (not served here)
- benchmarks/public/longmemeval_production.py (not served here)
- benchmarks/public/longmemeval_qa_l01.py (not served here)
- benchmarks/public/longmemeval_quality.py (not served here)
- benchmarks/public/longmemeval_quota.py (not served here)
- benchmarks/public/longmemeval_reader_api.py (not served here)
- benchmarks/public/longmemeval_reader_api_v2.py (not served here)
- benchmarks/public/longmemeval_reader_budget.py (not served here)
- benchmarks/public/longmemeval_retrieval.py (not served here)
- benchmarks/public/longmemeval_retrieval_limits.py (not served here)
- benchmarks/public/longmemeval_role_reader.py (not served here)
- benchmarks/public/longmemeval_role_retrieval.py (not served here)
- benchmarks/public/longmemeval_run_preopen.sh (not served here)
- benchmarks/public/longmemeval_run_preopen_r3.sh (not served here)
- benchmarks/public/longmemeval_session_closure.py (not served here)
- benchmarks/public/longmemeval_sota.py (not served here)
- benchmarks/public/longmemeval_sota_closure.py (not served here)
- benchmarks/public/longmemeval_sota_context.py (not served here)
- benchmarks/public/longmemeval_sota_expand.py (not served here)
- benchmarks/public/longmemeval_sota_hybrid.py (not served here)
- benchmarks/public/longmemeval_sota_receipts.py (not served here)
- benchmarks/public/longmemeval_sota_replay.py (not served here)
- benchmarks/public/longmemeval_sota_report.py (not served here)
- benchmarks/public/longmemeval_split.json (not served here)
- benchmarks/public/longmemeval_split.py (not served here)
- benchmarks/public/longmemeval_sweep.py (not served here)
- benchmarks/public/longmemeval_user_first.py (not served here)
- benchmarks/public/longmemeval_verifier.py (not served here)
- benchmarks/public/longmemeval_verifier_sources.py (not served here)
- benchmarks/public/longmemeval_weak_reader.py (not served here)
- benchmarks/public/lucene_hnsw/LuceneHnsw.java (not served here)
- benchmarks/public/matched_server/PLAN.json (not served here)
- benchmarks/public/matched_server/adapters.py (not served here)
- benchmarks/public/matched_server/calibrate.py (not served here)
- benchmarks/public/matched_server/check_adapters.py (not served here)
- benchmarks/public/matched_server/check_measure.py (not served here)
- benchmarks/public/matched_server/check_qualification.py (not served here)
- benchmarks/public/matched_server/claim_gate.py (not served here)
- benchmarks/public/matched_server/diagnose_search.py (not served here)
- benchmarks/public/matched_server/distribution.py (not served here)
- benchmarks/public/matched_server/measure.py (not served here)
- benchmarks/public/matched_server/oracle.py (not served here)
- benchmarks/public/matched_server/prepare_inputs.py (not served here)
- benchmarks/public/matched_server/pyproject.toml (not served here)
- benchmarks/public/matched_server/qualify.py (not served here)
- benchmarks/public/matched_server/seal_qualification.py (not served here)
- benchmarks/public/matched_server/test_claim_gate.py (not served here)
- benchmarks/public/matched_server/test_distribution.py (not served here)
- benchmarks/public/matched_server/test_measure.py (not served here)
- benchmarks/public/matched_server/test_prepare_inputs.py (not served here)
- benchmarks/public/matched_server/test_protocol.py (not served here)
- benchmarks/public/matched_server/test_qualify.py (not served here)
- benchmarks/public/matched_server/test_seal_qualification.py (not served here)
- benchmarks/public/matched_server/uv.lock (not served here)
- benchmarks/public/matched_server/verify_evidence.py (not served here)
- benchmarks/public/mem0_protocol/README.md (not served here)
- benchmarks/public/mem0_protocol/budget_ledger.py (not served here)
- benchmarks/public/mem0_protocol/clear_failed.py (not served here)
- benchmarks/public/mem0_protocol/grade_validation.py (not served here)
- benchmarks/public/mem0_protocol/live_smoke.py (not served here)
- benchmarks/public/mem0_protocol/manifest_template.json (not served here)
- benchmarks/public/mem0_protocol/openai_proxy.py (not served here)
- benchmarks/public/mem0_protocol/price.py (not served here)
- benchmarks/public/mem0_protocol/protocol_scope.py (not served here)
- benchmarks/public/mem0_protocol/quota_resume.py (not served here)
- benchmarks/public/mem0_protocol/retrieval_config.json (not served here)
- benchmarks/public/mem0_protocol/retrieval_config_count_matched.json (not served here)
- benchmarks/public/mem0_protocol/retrieval_config_hybrid_dev.json (not served here)
- benchmarks/public/mem0_protocol/retrieval_config_ordered_dev.json (not served here)
- benchmarks/public/mem0_protocol/reuse_locomo_dev.py (not served here)
- benchmarks/public/mem0_protocol/run_mem0_protocol.py (not served here)
- benchmarks/public/mem0_protocol/shim.py (not served here)
- benchmarks/public/mem0_protocol/test_budget_ledger.py (not served here)
- benchmarks/public/mem0_protocol/test_clear_failed.py (not served here)
- benchmarks/public/mem0_protocol/test_openai_proxy.py (not served here)
- benchmarks/public/mem0_protocol/test_quota_resume.py (not served here)
- benchmarks/public/mem0_protocol/test_reuse_locomo_dev.py (not served here)
- benchmarks/public/mem0_protocol/test_run_mem0_protocol.py (not served here)
- benchmarks/public/mem0_protocol/test_shim.py (not served here)
- benchmarks/public/mobile_qualification/ANDROID-PLAN.json (not served here)
- benchmarks/public/mobile_qualification/IOS-PLAN.json (not served here)
- benchmarks/public/mobile_qualification/PLAN.json (not served here)
- benchmarks/public/mobile_qualification/RecoveryConsumerTest.kt (not served here)
- benchmarks/public/native_bridge/Cargo.toml (not served here)
- benchmarks/public/native_bridge/build.rs (not served here)
- benchmarks/public/native_bridge/src/lib.rs (not served here)
- benchmarks/public/native_bridge/src/vertex_support.rs (not served here)
- benchmarks/public/native_harness.py (not served here)
- benchmarks/public/native_recovery/PLAN.json (not served here)
- benchmarks/public/native_recovery/Program.cs (not served here)
- benchmarks/public/native_recovery/RecoveryConsumer.java (not served here)
- benchmarks/public/native_recovery/recovery.c (not served here)
- benchmarks/public/native_recovery/recovery.go (not served here)
- benchmarks/public/native_recovery/run.py (not served here)
- benchmarks/public/native_recovery/test_protocol.py (not served here)
- benchmarks/public/node_recovery.cjs (not served here)
- benchmarks/public/operand_experiment.py (not served here)
- benchmarks/public/platform_microbench_aggregate.py (not served here)
- benchmarks/public/platform_modal_avx512.py (not served here)
- benchmarks/public/platform_modal_e2e.py (not served here)
- benchmarks/public/platform_paired.py (not served here)
- benchmarks/public/prepare.py (not served here)
- benchmarks/public/prepare_ann_scale.py (not served here)
- benchmarks/public/proxies/ann_proxies.py (not served here)
- benchmarks/public/proxies/beir_proxies.py (not served here)
- benchmarks/public/proxies/lme_proxies.py (not served here)
- benchmarks/public/proxies/qgraph_sim.py (not served here)
- benchmarks/public/proxies/stop_screen_report.py (not served here)
- benchmarks/public/publication_serving.py (not served here)
- benchmarks/public/publication_serving.rs (not served here)
- benchmarks/public/publication_trace.rs (not served here)
- benchmarks/public/python_sdk_recovery.py (not served here)
- benchmarks/public/qag_serving_execute.py (not served here)
- benchmarks/public/qag_serving_module.py (not served here)
- benchmarks/public/qgraph_paired.py (not served here)
- benchmarks/public/qgraph_table.py (not served here)
- benchmarks/public/reader_protocol_v1.json (not served here)
- benchmarks/public/remote_document_pilot.py (not served here)
- benchmarks/public/replay_capacity_publication.py (not served here)
- benchmarks/public/report_sparse_composition.py (not served here)
- benchmarks/public/restore_ann_checkpoint.py (not served here)
- benchmarks/public/resume_longmemeval_readers.py (not served here)
- benchmarks/public/run_glove_batch_pool_ablation.py (not served here)
- benchmarks/public/run_glove_batch_pool_feature.py (not served here)
- benchmarks/public/run_glove_batch_pool_isolation.py (not served here)
- benchmarks/public/run_glove_candidate_checks.py (not served here)
- benchmarks/public/run_glove_development.py (not served here)
- bindings/js/warm-sdk/LICENSE
- docs/ARCHITECTURE.md
- docs/COMPARISON.md
- docs/DETERMINISTIC-RESONATOR.md
- docs/GOVERNANCE.md
- docs/INTEGRATION.md
- docs/PREREGISTRATION-binding-readout.md
- docs/PRIVACY.md
- docs/PRIVATE-SEARCH.md
- docs/PUBLIC-BENCHMARKS.md
- docs/RELEASING.md
- docs/RESEARCH.md
- docs/SECURITY.md
- docs/SERVER.md
- docs/STABILITY.md
- docs/SUPERPOSITION-FLOOR.md
- docs/assets/fonts/LICENSE-OFL.txt
- docs/evaluation.md
- docs/index.md
- docs/production-readiness.md
- integrations/mcp/npm/LICENSE
- integrations/mcp/pypi/LICENSE
- tests/fixtures/vectra-0.15/LICENSE
Advantages
- Supports local-first operation with no external service calls or telemetry. evidence: README.md
- Provides a memory API that allows for explicit fact removal via a forget operation. evidence: README.md
Limitations
- The system supports only one writer per store. evidence: README.md
- The vector index build time and serving RSS are currently behind hnswlib on SIFT-1M benchmarks. evidence: README.md
Security
Risk level: Medium risk
This brain runs
Install scripts (1)
benchmarks/results/sbg_positions_development/setup.sh:sh benchmarks/results/sbg_positions_development/setup.sh
MCP servers (3)
integrations/editors/claude-code/plugin/.mcp.json(writerslogic-warm):npx -y writerslogic-warm-mcpintegrations/editors/claude-desktop/claude_desktop_config.json(writerslogic-warm):npx -y writerslogic-warm-mcpintegrations/editors/gemini-cli/gemini-extension.json(writerslogic-warm):npx -y writerslogic-warm-mcp
Hooks (1)
integrations/editors/claude-code/plugin/hooks/hooks.json(SessionStart):node
- Medium risk: runs-mcp-server-unpinned-runner (integrations/editors/claude-code/plugin/.mcp.json)
- Medium risk: runs-mcp-server-unpinned-runner (integrations/editors/claude-desktop/claude_desktop_config.json)
- Medium risk: runs-mcp-server-unpinned-runner (integrations/editors/gemini-cli/gemini-extension.json)
- Low risk: scripts-present (benchmarks/results/sbg_positions_development/setup.sh)
Attribution and licence
- Created by
- Writerslogic
- Declared authors
- WritersLogic, Inc. (declared in package.json)
- WritersLogic, Inc. (declared in pyproject.toml)
- WritersLogic Contributors (declared in CITATION.cff)
- Publisher
- Writerslogic (Official Writerslogic project)
- Source
- writerslogic/warm · commit e176d55
- Licence
- Apache License 2.0 (files served here)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Writerslogic.
Install from source
481 of its files are not served here, so there is no ZIP. writerslogic/warm at e176d55