fix: user metadata named 'level' is a real field everywhere — the engine-internal node layer no longer shadows it in sort/filter/aggregation, and the indexing views stop stamping a phantom 0 into its column; index epoch 2 rebuilds existing brains at first open
Also completes the v8.10.2 write-granularity law for the transact() plan path: a metadata-only batch update never rewrites the vector-bearing noun record (planUpdate staged the unconditional save the update() fix removed). Seven pins in tests/integration/level-field-shadow.test.ts including the reporting consumer's exact repro rows; orderBy JSDoc documents the ordering contract and the announced field-addressing law.
This commit is contained in:
parent
cb717be275
commit
1a09be0628
8 changed files with 259 additions and 17 deletions
|
|
@ -69,7 +69,12 @@ export const BRAIN_FORMAT_PATH = '_system/brain-format.json'
|
|||
* (the 8.0 GA baseline). An on-disk `indexEpoch` that differs from this — or an
|
||||
* absent marker — triggers a full derived-index rebuild on open.
|
||||
*/
|
||||
export const EXPECTED_INDEX_EPOCH = 1
|
||||
// Epoch 2 (2026-08-03, paired with the native accelerator's same-day release):
|
||||
// user metadata fields named `level` become indexable on both engines — the
|
||||
// derived posting set changed, so every pre-fix brain must rebuild its
|
||||
// metadata index from canonical at first open (poisoned multi-valued `level`
|
||||
// columns heal through this rebuild; no bespoke heal path).
|
||||
export const EXPECTED_INDEX_EPOCH = 2
|
||||
|
||||
/**
|
||||
* @description The data-layer format string this build writes and runs as.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue