Release v0.0.90
Overview
This release reorders the transition pipeline's epilogue so timers are never armed for a state the instance is already leaving. LifecycleOrder.Auto becomes 80 and LifecycleOrder.Schedule becomes 90 — auto-transition conditions are evaluated before scheduled transitions arm their timers — and a new guard skips arming entirely when the auto step has already selected a winner, logging ScheduledTransitionsSkippedForChainedNext (EventId 10156, Debug) instead of enqueuing a Dapr job and an InstanceJob row that the next hop would immediately tear down (#943). Beyond the wasted enqueue, the armed-then-cancelled window briefly exposed scheduled entries in the state function for states the instance was already leaving — clients could see a timer that would never fire. Alongside it, activation-episode tracing ties triggers, asynchronous jobs, subflows and event delivery into a single named episode, with synthetic activation spans and end-to-end activation duration metrics (#931). This release runs on component schema 0.0.53.
