BRAINY-PROD-LATENCY-TRIAD Track A1 (David-approved plan): the sort path's value resolution goes BATCHED — one chunked metadata-record batch pass serves any N, replacing the serial per-row getNoun loop (62-98ms x 3,224 rows = the measured 199-317 second silent scan on self prod). The metadata record carries every sortable value: system scalars EXACT (bucketed-index precision loss can never force a per-row disk read again) and the user bag via the shape-aware split, both record eras. - resolveOrderValuesBatch: the one sanctioned value source for ordered reads (batch door: getNounMetadataBatch -> getMetadataBatch -> chunked parallel; never serial). - Column top-K page re-sort and the no-column fallback both rewired. - B2 down-payment: the no-column fallback ANNOUNCES itself once per field past 500 rows - silent degradation is illegal. - THE CALL-SHAPE PIN (tests/unit/utils/metadataIndex-sort-callshape): zero vector-record reads, batch calls only, latency-blind so it holds on any machine - the serial loop cannot quietly return. Ordering contract re-pinned through the batch path (nulls last both directions, ties by id, never drop). (! = perf contract change only; no API change. Gates: unit 1904/1904, integration 758, conformance 27/27.) |
||
|---|---|---|
| .. | ||
| collation.test.ts | ||
| contentExtractor.test.ts | ||
| entity-id-mapper-stability.test.ts | ||
| entity-id-mapper-u32-ceiling.test.ts | ||
| memoryLimits.test.ts | ||
| metadataIndex-sort-callshape.test.ts | ||
| metadataIndex-text-indexing.test.ts | ||
| metadataIndex-type-aware.test.ts | ||
| mutex.test.ts | ||
| osLimits.test.ts | ||
| paramValidation.test.ts | ||
| resultRanking.test.ts | ||
| roaring-bitmap-integration.test.ts | ||
| unifiedCache-eviction.test.ts | ||