Build four review indexes over separate inputs: fixed-width case IDs, versioned case sequences, frozen incident text, and a changing set of maintenance times. The X-fast prefix catalog answers inclusive floor and ceiling within one integer universe. A persistent radix vector preserves old case order after a correction. A suffix tree lists exact pattern offsets in a text snapshot. A disjoint interval union measures coverage after add and removal operations. Record an input version beside every static answer; the interval union alone accepts edits in place in this group.
Project: audit predecessor, revision, substring, and coverage snapshots
Acceptance trace
For case IDs 19, 47, 83, 149, the floor and ceiling of 61 are 47 and 83. A five-case vector keeps 83 in its morning revision after a corrected revision replaces it with 103 and appends 211. In cabacaba, aba occurs at offsets one and five. Maintenance requests [19,47), [61,83), and [47,61) cover 64 units; removing [29,71) leaves [19,29) and [71,83). Keep half-open time boundaries distinct from inclusive integer floor queries.
Failure and cost review
Compare every integer target in a small universe with bisect on the sorted catalog. Retain many vector revisions, branch from an older revision, and compare their values with copied lists. For random short text, scan each candidate offset and compare suffix-tree results, including patterns ending inside an edge. Fuzz interval additions and removals against a set of covered integer coordinates. Exercise empty structures, a forbidden sentinel, a vector index out of range, a target outside its bit width, touching intervals, and the gap left by removal. Do not infer a linear-time suffix-tree builder from its compressed shape.
Common Mistakes
- Do not mix an old prefix table with newly inserted IDs.
- Do not mutate payload objects shared by vector revisions.
- Do not require an exact match to stop at a suffix-tree node.
- Do not count an overlapping maintenance minute twice.
