Guard: heading_not_within_tolerance_guard
Description: True if the agent's heading error relative to the bearing toward
its current waypoint exceeds ctx.configuration['heading_tolerance_on'] (rad).
Source: src/colav_automaton/guards/guards.py
Tests:  tests/test_guards.py::test_heading_not_within_tolerance_guard

# | Agent (x, y)  | Heading (rad)     | Waypoint (wx, wy) | heading_tolerance_on | Result | Reasoning
--|---------------|-------------------|--------------------|-----------------------|--------|----------------------------------------------
1 | (0.0, 0.0)    | atan2(10,10)~0.785| (10.0, 10.0)       | 0.5                   | False  | heading already points at waypoint, error ~ 0
2 | (0.0, 0.0)    | pi/2 ~ 1.571      | (10.0, 0.0)        | 0.1                   | True   | heading 90deg off bearing (0 rad), error ~ 1.571
3 | (5.0, 5.0)    | 0.0               | (5.0, 5.0)         | 0.1                   | False  | agent already at waypoint (short-circuit)
