A first adopter's namespace migration went 341 red on one class: the never-carried-field refusal firing on CORRECT filters against fresh and sparse stores — a freshly provisioned tenant refused its own first filtered read, with the did-you-mean built for typos firing hardest on day-one stores where nothing is wrong. The ruled cut: a WHERE filter naming a field no row carries is SERVED OPERATOR-TRUTHFULLY — eq/in/range/contains answer [] (nothing carries it, nothing matches); ne and exists:false answer ALL rows (the equally true complement — a blanket empty here would be silently wrong, which is why the simpler cut was rejected); exists:true answers []. Served from the field registry, with the did-you-mean demoted to a once-per-field WARN. orderBy and genuinely ambiguous addresses KEEP their hard typed refusals: no truthful order exists over an uncarried field, and ambiguity is a contract error while absence is data. Mechanics: the negative operator absorbs the FIELD_NOT_INDEXED throw as its empty exclude set (the clause-level catch correctly zeroes positive operators only); the egress matcher already agreed. Plus the provider-seam belt: a field refusal thrown by a replacement metadata manager is normalized to THIS package's UnresolvableFieldError at every filter call site — one class identity for consumers, instanceof works (a first adopter's cross-package finding). Conformance: tests/conformance/sparse-store-cut.test.ts — the shared operator rows both engines run (positive-empty, negative-all, fresh-tenant day-one, orderBy refusal kept, compound composition). Gates: unit 2065/2065 · integration 832 · conformance 36/36. |
||
|---|---|---|
| .. | ||
| roaring | ||
| adaptiveBackpressure.ts | ||
| brainyTypes.ts | ||
| callerLocation.ts | ||
| collation.ts | ||
| contentExtractor.ts | ||
| crc32c.ts | ||
| distance.ts | ||
| embedding.ts | ||
| entityIdMapper.ts | ||
| environment.ts | ||
| errorClassification.ts | ||
| fieldNameTracking.ts | ||
| fieldTypeInference.ts | ||
| idNormalization.ts | ||
| import-progress-tracker.ts | ||
| index.ts | ||
| indexReadiness.ts | ||
| jsonProcessing.ts | ||
| logger.ts | ||
| memoryDetection.ts | ||
| metadataFilter.ts | ||
| metadataIndex.ts | ||
| metadataIndexCache.ts | ||
| metadataIndexChunking.ts | ||
| metadataWriteBuffer.ts | ||
| mutex.ts | ||
| operationUtils.ts | ||
| osLimits.ts | ||
| paramValidation.ts | ||
| performanceMonitor.ts | ||
| projectionWatermark.ts | ||
| rebuildCounts.ts | ||
| recallPreset.ts | ||
| resultRanking.ts | ||
| statisticsCollector.ts | ||
| typeUtils.ts | ||
| typeValidation.ts | ||
| unifiedCache.ts | ||
| version.ts | ||