donkeycar-rl-autoresearch/tests
Paul Huliganga 813f888502 fix: reward v6.1 — active_node progress terminator kills circle/stuck exploits
User's insight: a circling car stays near the same track waypoints, so
active_node (sim's track progress indicator) never advances. Track the
maximum active_node reached this episode. If it hasn't increased in
progress_patience=60 steps (~3.3s), terminate.

This catches:
  - Circular driving (active_node oscillates, max never increases)
  - Stuck on cone/barrier (active_node frozen)
  - NOT triggered by: legitimate cornering, slow forward progress, lap resets

On lap completion, active_node wraps to 0 — reset max_node_seen and counter.

Also: Exp 12 — single track mountain training with lap-based stopping criterion.
Train until 3 consecutive laps in eval, not fixed step count.
2026-04-19 17:01:41 -04:00
..
__init__.py feat: Wave 1 complete — real PPO training, model save, GP+UCB autoresearch, 37 tests passing 2026-04-13 10:03:15 -04:00
test_autoresearch_controller.py fix: reward v4 — full sim bypass kills circular driving at root 2026-04-13 20:56:32 -04:00
test_behavioral_wrappers.py feat: Phase 3 — behavioral control, enhanced evaluator, 53 tests 2026-04-14 09:28:43 -04:00
test_discretize_action.py feat: Wave 1 complete — real PPO training, model save, GP+UCB autoresearch, 37 tests passing 2026-04-13 10:03:15 -04:00
test_end_to_end.py Wave 4: scratch training on generated_track + mountain_track, zero-shot mini_monaco 2026-04-14 22:40:38 -04:00
test_reward_wrapper.py fix: reward v6.1 — active_node progress terminator kills circle/stuck exploits 2026-04-19 17:01:41 -04:00
test_runner_integration.py feat: Wave 1 complete — real PPO training, model save, GP+UCB autoresearch, 37 tests passing 2026-04-13 10:03:15 -04:00
test_wave3.py fix: StuckTerminationWrapper — wall-clock timeout (12s) prevents 1min+ stuck episodes 2026-04-19 16:30:50 -04:00