INDEXES.mkd rules that every index read rides the SEEK cursor: range/
prefix answer NOTHING for a key a seek finds at a 2^64 bound (the KNOWN
TRAP index/index.js:440:Mw restates). Yet index/resolve.js:38 and :42 —
candidates() — do ix.prefix(q.fn << 24n, 24, ...); fn is a 40-bit text
hashlet, so any filename hashing into the top of that space forms the bound
query and answers zero rows. These are the only two prefix/range reads in the
package. Effect: the partial-path resolve (LITE-011 FSEG) silently misses —
links and permalinks to such files do not open. Found in the 2026-08-21 review.
Repro first: a fixture filename whose fnHl top bits are all ones (brute-force
a short name), indexed, then resolved — the test shows the miss. Rewrite
candidates() on the seek cursor, galloping as the sibling scans do.
No index format change; resolve output stays identical for all passing names.