A dispatch review needs four distinct indexes. A Fibonacci heap handles repeated task priority decreases. A tournament tree merges four ordered event streams. A priority search tree reports events under a y threshold inside an x corridor. A reduced decision diagram evaluates a Boolean release policy. Keep their input versions separate: a changed stream head should replay one tournament path, while a moved event needs a spatial rebuild; a new rule needs a diagram built from its own variable order.
Project: audit heap repairs, run winners, spatial pruning, and rules
Acceptance trace
Insert tasks at priorities 47, 83, 19, and 61. Remove T-19, then decrease T-83 to 17 and remove it next. Merge sorted runs so the first outputs are 17 from run three and 19 from run zero. A three-sided event query over x from 20 through 70 and y at most 30 returns E-29 and E-61. A policy override permits dispatch, as does paid together with approved, but paid alone does not. Verify all four results independently.
Failure and cost review
Fuzz heap insert, decrease, and removal against a map of live task priorities; inspect handle deletion and parent marks after cuts. Compare tournament output with a flattened sort that preserves run-ID ties. Compare spatial reports with a direct point filter, including query boundaries and equal y values. Enumerate every rule assignment and compare diagram results with the predicate. Exercise duplicate task IDs, unsorted runs, duplicate event IDs, and incomplete flag maps. Do not infer that a small measured dataset proves worst-case query bounds.
Common Mistakes
- Do not confuse amortized Fibonacci costs with a per-call promise.
- Do not retain an exhausted run as winner.
- Do not prune a spatial child from its root x alone.
- Do not intern rule nodes without their tested variable.
