v1.4.0 - the bar fills out and the stuck icon is gone
Fixes both problems you hit on v1.3.1, plus the rotation decisions that were missing.
STUCK DISPATCH: when the ability costs were corrected, the RULES still had the old numbers hardcoded - Dispatch checked energy >= 25 while it actually costs 35. Between 25 and 34 energy we recommended a spell you could not cast, so you never cast it, your combo points stayed high, and it re-recommended forever. Rules no longer do resource arithmetic at all: affordability is derived centrally from the ability table, so data and rules cannot drift apart again.
ONLY TWO ICONS: with real costs (Sinister Strike 45, regen ~10/s) the simulation ran dry after two casts and simply stopped. It now pools - advancing time a GCD at a time, regenerating energy and ticking cooldowns - and continues, so the sequence fills out. It still terminates properly when everything is genuinely on cooldown.
NEW ROTATION DECISIONS: combo-point pooling at 5 CP when a 6-CP finisher is about to come up, a finisher fallback chain (Dispatch only when the better finishers are unavailable), Preparation used to reset downed cooldowns, and Opportunity consumed correctly across predicted steps.
ALSO: cooldown numbers restored on the icons (Blizzard countdown text is a user setting that is often off), confidence now visible as opacity, and Blizzard fallback entries look distinct from real predictions.
145 tests, three consecutive clean runs.