# Chosen before native measurement Independent post-103 shop copy: P3 Green tea, 50 g stock10; P7 Blue mug stock0; P9 Teapot stock4. No order or payment changes. Vectors are invented numerical teaching values, not embeddings or relevance judgements: P7=[1,0], P9=[0.8,0.6], P3=[0,1], query=[1,0]. L2 distances0,sqrt(0.4),sqrt(2). Cosine distances0,0.2,1. Exact in-stock k2 is P9,P3; global k2 then stock filter keeps only P9. The HNSW figure is a deliberately drawn graph with labelled distances; edges, layers and search sequence do not claim a captured pgvector graph. The IVFFlat drawing has explicitly chosen centres/lists to expose a boundary miss; its assignment/search is a mathematical illustration. Native mathematical fixture (recorded before execution): 6000 rows, integer IDs n=1..6000, cohort=n mod20. Eight coordinates for primes [17,31,47,73,97,127,151,181]: ((n*p) mod1009)/1009 + floor(n/1009)*0.0001*(dimension number). Cast to vector(8) single precision. Query q=1..8 uses n=37q+101 plus coordinate offset0.0003. Two request families: all rows; cohort=q mod20 (5% eligible). L2,k10. Recall identities measured once for each of eight requests in each filter family/configuration. These eight recall values are copied to their five latency rows for aggregation (equal repetitions preserve their mean); they are not 40 independent recall samples. Five instrumented latency executions per request: 40 latency samples per filter family/configuration, 80 across both families. Exact baseline retained before ANN index exists. Only one ANN index exists at a time. HNSW m16/ef_construction64; ef_search10 vs100; iterative off vs strict_order. IVFFlat lists20; probes1 vs5; iterative off vs relaxed_order with max_probes20. These deliberately small search budgets illustrate mechanisms; not recommendations. Builds may be non-deterministic. No semantic meaning, throughput or production latency claim. Runtime: native PostgreSQL18.6 (Debian18.6-1.pgdg13+2), aarch64 Linux, pgvector0.8.7. Official pgvector/pgvector:0.8.7-pg18-trixie pinned to sha256:9d9c930220cb9bf2f956d10a8f909cf9973d9672ca0278aef2c1e6facccad2e0. Owned disposable network-none container; no host listener; Unix-socket psql. Verified26October2026. Whole verifier elapsed0.99s; rolled-back namespace check true; fixture removed successfully. Verifier SHA2560cd7c2752c4cc56a3763e3c7735a28e1465558cb91b15b9185d11c2d1b30e71e. No PGlite vector observation. Measurement detail: EXPLAIN (ANALYZE,BUFFERS,FORMAT JSON,TIMING OFF) Execution Time, excluding planning and application/network work, includes instrumentation overhead. Each request identity set measured once before five instrumented timing executions. Recall denominator10 for all eight requests, stable distance/id exact baseline tie convention. Empty approximate ID arrays are NULL; raw SQL min_count ignores NULL, so the download includes corrected min_count_from_identities plus max_count and short_requests from all raw identities. HNSW10/cohort returned0–1, not minimum1. ANN index name asserted for every instrumented plan. No ANN exists for exact baseline. Default planner paths retained for exact; ANN paths deliberately exposed with cohort Btree removed and enable_seqscan=off. Default work_mem applies; scan_mem_multiplier1, max_scan_tuples20000. HNSW m16/ef_construction64, IVF20lists. Build parallel workers0 (one leader); maintenance_work_mem64MB. Builds can vary across runs. Timings follow a recently loaded fixture and repeated request execution: no controlled cold-cache or concurrent throughput claim.