|
Everett
|
This pipeline writes the supported single-route IX02 layout. COLA construction instead builds IX03 with two borrowed streams; its current builder retains those encoded streams in memory until sealing. Both paths preserve their input native files.
We can build several .index files together while keeping their native .kv files unchanged. file_index_pipeline<P> samples the exact mapped target pair once. Each stage merges those samples with its own native keys and passes a front-coded sample stream to the next stage. A downstream result need not be sealed before it supplies samples to an upstream builder.
The stages are ordered nearest the existing target first, new head last. Each stage carries a pinned native owner, the new pair's reserved identity and a private output attempt. step budgets cursor events through bounded queues. seal_next finalizes one .index, proceeding from the target toward the head. The completed receipts remain available if a later stage fails.
This complete example takes an existing empty object directory. It writes some native files to stand in for already received or merged data, then indexes them without recoding those files. Deterministic IDs are suitable for this fresh example directory; a store reserves fresh IDs and durable dependency pins through its catalog before opening the pipeline.
The final empty-native stage makes this example's head fit in one sampling group. The low-level query returns every matching native value; here the chosen chain order gives c, b, then a. Resolving those matches according to semantic chronology or an arrow policy belongs to the world owner.
Each file stage buffers at most 64 KiB of encoded payload, plus bounded control scratch, current key contexts and navigation under construction. Navigation includes rank classes, false-borrow flags, cut LCPs and sampled residual offsets; it grows with the index. Sampling reduces occurrence counts, not necessarily string bytes. Finishing builds Elias–Fano and rank metadata and performs file barriers, outside the step event budget.
Only sealed receipts may be recorded as completed objects. The SQLite catalog records those receipts, registers the exact prepared chain and conditionally publishes its root. Until then, planned_head is an intended identity. It is not an admission or durability receipt. On any failure, keep catalog ownership of inputs and surviving outputs while resolving the outcome. These builders pause in a live process; they do not restore an unfinished pipeline after restart.