You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Tracking parent — do not apply Backlog. The TDD workflow selects leaf issues only. This workstream closes after all five ordered children merge.
Why this workstream is split
A single issue previously combined generation open, segment count, deletion masks, stored chunks, dictionaries/postings, doc values, search-after, fixtures, and six production callers. That requires roughly the complete ICE read path and cannot freeze one behavioral seam plus RED/e2e tests in one TDD contract turn.
The children are sliced by fixture complexity against live callers, not by dormant format layers. Every child:
adds at most one new ICE read capability;
switches a named production caller in the same merge;
owns independently generated compatibility-writer fixture bytes and literal expected values;
exposes one BanyanDB-owned behavioral seam;
writes no index bytes; and
is independently reversible without converting a directory.
End-state boundary
After all children merge, these direct Bluge reads are native:
inverted.ReadOnlyDocCount;
Measure and Stream migration verification counts;
Measure index-mode copy and series-union source walks;
metadata/schema/reader.WalkShard and WalkDocs; and
Only the oldest unblocked open leaf may carry Backlog. Do not label this parent or multiple leaves. An open pull request does not unblock its successor; the preceding leaf must merge first.
Completion criteria
All five children are merged and closed.
Every named production caller uses the native reader.
Historical fixture, corruption, concurrency, bounds, and immutability tests pass.
Source checks prove every named caller reaches only the native read boundary.
No child merged a test-only parser, unused native API, or format-only foundation.
Lexical non-regression
Repository changes for every implementation leaf before the final removal may delete existing references but must add zero new case-insensitive bluge tokens and zero matching tracked paths. The gate includes imports and aliases, function/type/variable names, filenames and runtime names, strings, comments and messages, tests, fixture/provenance data, scripts, configuration, and generated assets. Compatibility evidence uses neutral legacy oracle or compatibility writer labels plus an immutable revision or content hash rather than adding a retired module name.
This lexical gate applies to repository changes, not to issue or archived-design prose that names the dependency in order to specify its removal.
[NIDX-01 workstream] Replace bounded read-only index access
Parent: #13990
Why this workstream is split
A single issue previously combined generation open, segment count, deletion masks, stored chunks, dictionaries/postings, doc values, search-after, fixtures, and six production callers. That requires roughly the complete ICE read path and cannot freeze one behavioral seam plus RED/e2e tests in one TDD contract turn.
The children are sliced by fixture complexity against live callers, not by dormant format layers. Every child:
End-state boundary
After all children merge, these direct Bluge reads are native:
inverted.ReadOnlyDocCount;metadata/schema/reader.WalkShardandWalkDocs; andThe complete bounded surface is committed-generation open, visible count, match-all stored walk, exact term/OR, deletion masks, required scalar decoding, and ascending Property repair search-after. Writers, arbitrary queries, and lifecycle behavior remain outside NIDX-01.
Ordered TDD leaves
Only the oldest unblocked open leaf may carry
Backlog. Do not label this parent or multiple leaves. An open pull request does not unblock its successor; the preceding leaf must merge first.Completion criteria
Lexical non-regression
Repository changes for every implementation leaf before the final removal may delete existing references but must add zero new case-insensitive
blugetokens and zero matching tracked paths. The gate includes imports and aliases, function/type/variable names, filenames and runtime names, strings, comments and messages, tests, fixture/provenance data, scripts, configuration, and generated assets. Compatibility evidence uses neutrallegacy oracleorcompatibility writerlabels plus an immutable revision or content hash rather than adding a retired module name.This lexical gate applies to repository changes, not to issue or archived-design prose that names the dependency in order to specify its removal.
Design
BDB-NIDX-SPEC-001 revision 0.2 — NIDX-01 behavior