Release evidence

Evidence you can check.

See what shipped, what ran, on which hardware, under which workload, and where each result stops applying.

Published preview

Install the published preview.

v0.1.0 is available through SwiftPM, PyPI, npm, and Maven Central. The table separates package publication from target qualification, so an available artifact is not mistaken for universal device support. View the v0.1.0 release.

SwiftPackages RetrievalKit, RetrievalKitGraph, EmbeddingKit, PipelinePublication Published preview from signed tag and release XCFrameworkAvailable now SwiftPM 0.1.0
PythonPackages retrievalkit, retrievalkit-graph, retrievalkit-embeddingPublication Three macOS arm64 distributions publishedAvailable now PyPI 0.1.0
Node.jsPackages Base, graph, and independent embeddingPublication Three macOS arm64 packages publishedAvailable now npm 0.1.0
BrowserPackages Worker retrieval and independent Worker embeddingPublication Two portable/SIMD128 WASM packages publishedAvailable now npm 0.1.0
KotlinPackages retrievalkit, retrievalkit-graph, retrievalkit-embeddingPublication Three macOS arm64 artifacts publishedAvailable now Maven Central 0.1.0
AndroidPackages retrievalkit-android, retrievalkit-graph-android, retrievalkit-embedding-androidPublication Three arm64-v8a AARs published; live device unqualifiedAvailable now Maven Central 0.1.0

Scoped evidence

Measured workloads, named hardware, no universal claims.

Retrieval and embedding are separated unless a result explicitly says end to end. Mobile browser performance and all live Android-device performance remain unqualified.

Frozen observations for revision 9c784d2f, reported 2026-07-21. They describe that revision, not the current checkout.

Read the frozen Phase 6 report → Open its validation result →

Speed

Named Apple M1 Max contracts. Retrieval timings exclude embedding generation.

Native exact retrieval, P50

7.17× – 7.60×

Exact retrieval vs sqlite-vec 0.1.9 on Apple M1 Max

Exact F32, 384d, top-10, P50: 7.17× at 10K chunks, 7.60× at 25K, 7.29× at 50K. With the frozen filter: 10.38×, 9.08×, 8.43×. 20 warmups, 100 queries, embedding excluded. Both engines passed the same frozen correctness gate.

Browser pipeline, P95

12.460 ms

Browser pipeline P95 on Chrome 150, Apple M1 Max

50K chunks, 384d I8, 32-token query, separate embedding and retrieval Workers, WebGPU + SIMD128. Firefox 150: 21.660 ms. Safari 26.5.2: 18.380 ms. Those two are measured, not qualified.

Kotlin/JVM, P95

8.175 ms + 0.218 ms

Kotlin/JVM P95 on Apple M1 Max, packaged macOS arm64 JAR

Warm embedding and native I8 retrieval, measured separately. Not end-to-end. Not Android.

Retrieval quality

Frozen HotpotQA linked-abstracts comparison, weighted I8.

Graph-scoped vs whole-corpus, NDCG@10

0.858 → 0.928

Graph-scoped NDCG@10 on HotpotQA

296 queries, 12,670 chunks. Recall@10: 0.872 → 0.958. Complete-evidence Recall@10: 0.743 → 0.922. Candidate sets cut 972.65× at 96.79% candidate recall, zero empty scopes. One dataset. Quality, not speed.

Physical-device qualification

Supported-workload qualification on one named device, with embedding excluded.

iPhone 17 Pro Max, median-session P95

Pass

Qualified on a physical iPhone 17 Pro Max

The supported 10K, 25K, and 50K F32/I8 workflows passed. All six graph-free candidate-to-baseline median-session P95 ratios at or below the frozen 1.03 gate, embedding excluded. A pass, not a latency number.

Correctness

The comparison baseline held the same frozen gate before any speed claim.

Frozen correctness gate, both engines

Pass

P6-MAC-CORRECTNESS-001

RetrievalKit exact F32 and sqlite-vec 0.1.9 both passed the identity, filtering, deletion, determinism, and reload gates at 10K, 25K, and 50K.