Bump workspace version 0.4.0 → 0.4.1.
Patch release: dispatch hot-path performance only. No public API
changes; every chart that compiled against 0.4.0 compiles unchanged
and behaves identically. CHANGELOG.md captures the per-pass writeup
under the 0.4.1 heading.
Headlines (deepest dispatch in the bench suite):
h8_cross_tree -82% instructions / -72% cycles vs pre_lca_fix
bubble_top -22% instructions / -6% cycles vs handler walk
terminate_event -22% instructions / -23% cycles vs PARENT walk
The runtime LCA helper, is_up_transition, the per-call heapless::Vec
ancestry build, the runtime PARENT bubble walk, and (on timer-free
charts) the entire TimerTable machinery are all gone. Callgrind
reports the entire HSM machinery as a single inlined `step` symbol.
Bench suite expanded from 7 to 13 benches: bubble_leaf/mid/top
quantify handler resolution at varying ancestor depths,
timer_fire_dispatch covers the only path that exercises pop_expired's
non-empty branch, terminate_event covers do_terminate, and
bubble_cross_tree covers the realistic HSM worst case (deep bubble +
deep cross-tree transition).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>