problems
Failures raised inside this catalog's own callbacks, in order.
A sidecar that could not be written, one that would not decode, a segment whose term budget was exceeded, a segment holding a container wider than IndexOptions.maxChildren. None of them propagates into the write path — derived data must not cost a document — and each leaves its segment simply not covered, which IndexReader.coverage reports and rebuild fixes.
The last of those is the one rebuild cannot fix, and it is worth knowing which: a rebuild re-runs the same bounded walk over the same document and stands down again, every time. What fixes it is a larger IndexOptions.maxChildren, and until then the segment is scanned and the answers are complete — which is the whole point of standing down rather than writing a sidecar covering part of a path.