Invalid event order and invalid decisions raise before rendering.
highlighted = computed this step
Fail closed invalid traces
The compiler rejects traces that skip required order or decide without the needed votes. This lesson renders a valid pending prefix instead of rendering an invalid decision.
invalid traces do not render
Pending is not commit
The prefix contains 1 vote for 2 participants, so commitAllowed is no. Adding a commit decision here raises before render.
votes=1,participants=2
two-phase commit is rendered here as a tiny exact FSM trace; timeouts, recovery, network partitions, availability, and database-product behavior are out of scope.
Summary
Fail-closed validation is part of the lesson source, not a reader exercise. Note: rejected bad traces are never used as displayed diagrams.