Match each compact index to its immutable or mutable contract. Distinguish conceptual encoding size from Python storage and verify exact results after every coarse filter.
Lessons
- Elias–Fano: split sorted IDs into low parts and high bits
- Chunked integer sets: switch sparse arrays to dense bitmaps
- Gap-encoded postings: add checkpoints to bytewise seeks
- Level-order unary degree tries: encode child runs as bits
