5,000 workers embedded through nomic-embed-text (real, not random).
Results on REAL embeddings:
HNSW recall@10: 1.0000 p50: 762us — PERFECT
Lance recall@10: 0.9500 p50: 6.8ms — better than random vectors
SQL autonomous: 50/50 (100%)
Key finding: real embeddings IMPROVE Lance recall (0.95 vs 0.80 on
random vectors) because real text embeddings cluster by topic, making
IVF partitions more effective. The concern about degraded recall on
real data was wrong — it's the opposite.
Also discovered: the 50K embedding job DID complete (50K chunks in
234s) but the job progress tracker showed 0/0. The supervisor's
progress reporting has a bug — the actual embedding pipeline works.
Known remaining issue: hybrid search ID matching between workers_500k
(worker_id format) and vector index (W5K-{id} format) needs the
prefix stripping fix applied to the new index.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
THE PROOF:
10,000,000 × 768d vectors
30 GB Lance dataset on disk
IVF_PQ index: 173 seconds to build (3162 partitions, 192 sub_vectors)
Search p50: 5ms — at TEN MILLION vectors
Search p95: 19ms
HNSW at 10M would need 29 GB RAM = past the ceiling
Lance at 10M = 30 GB disk, 5ms search, no RAM constraint
Agent test on 500K workers: 22/22 positions filled (100%)
Forklift Operator x5, Machine Operator x4, Welder x3,
Loader x8, Quality Tech x2 — all via hybrid SQL+vector
The architecture holds past the HNSW ceiling. Lance takes over
exactly as ADR-019 designed. This is not theoretical anymore.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>