platoon-delay-noise-20
Vehicle platoon · solved 18 of 19 agent attempts pass
more
In the May-June 2026 harness runs this scenario needed about 150 proposals across 10 chained runs before a controller passed; the oracle is that controller (true pass rate ~0.95; 36/40 on the verifier block). A stock agent (cursor-cli, claude-sonnet-5-thinking-high) solved it in one 46-minute session on 2026-10-21.
Gate. no collision; spacing-error RMS <= 3.0 m; string peak gain <= 1.35; success rate >= 0.9 on 40 verifier-only held-out seeds
Axes: n_vehicles:20, observation:local-delayed-noisy, leader:hard_brake_train, spacing:constant-time-headway
Each video re-runs the attempt's final controller through the task's own evaluator on a public seed (never the grader's held-out ones). The table under each video is the official grade on the held-out seeds.
hard_delay_noise_v1| criterion | graded | needed |
|---|---|---|
| base:default | 1.000 | ≥ 0.900 |
The agent's final message
That was just the old cross-check monitor expiring; its two results were already incorporated. Nothing further is pending. The work is complete, and the summary in my previous message stands as the final report.
Each follower reconstructs its current own state by replaying issued commands, estimates the predecessor's current gap, relative velocity and acceleration with a delay-aware Kalman filter, then applies a constant-time-headway CACC law with lag compensation, a jerk limit and an emergency braking override.
Shown: public seed 0 (hard_delay_noise_v1); this episode passes the default rung. This episode: collision no, min_gap 16.2, spacing_error_rms 0.237, spacing_error_abs_max 0.92, string_peak_gain 0.748, episode_steps 600, total_reward -62.5.
controller.py · agent transcript · trial platoon-delay-noise-20__uXQ8nHF
hard_delay_noise_v1| criterion | graded | needed |
|---|---|---|
| base:success | 0.250 | ≥ 0.900 |
Pre-clock session: the agent had no clock and may have stopped early believing its hour was over; treat a failure here as a lower bound.
The agent's final message
Implemented a stateful decentralized controller in `/app/work/controller.py` and evaluated it with the provided command on seeds `0-4`. What I changed in `controller.py`: - Replaced zero control with a **delay-robust CACC-style law**. - Added per-vehicle memory for: - filtered spacing/relative-velocity states, - predecessor-acceleration estimate, - previous command. - Added **sensor-bias adaptation** (slow correction in calm regimes). - Added **dropout-aware predecessor acceleration handling** (hold-and-decay when likely missing). - Added **delay compensation** using `obs_delay_steps`. - Added **safety override** based on gap and TTC with emergency braking logic. - Added **adaptive smoothing and jerk limiting** before final clipping. - Kept a concise docstring describing control components and gain roles. Final visible-seed eval (`/app/work/eval_final`): - `success_rate: 0.4` (2/5 seeds pass all thresholds) - `collision_rate: 0.0` - `spacing_error_rms_mean: 2.267` (well below 3.0 threshold) - Main blocker: `string_peak_gain_max: 1.606` (threshold is 1.35) So the controller is now safe and much better than zero/baselines on this scenario, but it still misses the string-gain threshold on part of the visible seeds.
A decentralized CACC controller blends spacing and relative-speed PD terms with predecessor-acceleration feed-forward, projects delayed filtered errors forward, applies gain reduction as delay grows, overrides with hard braking on low gap/TTC, and shapes output with smoothing and jerk limits.
Shown: public seed 0 (hard_delay_noise_v1); this episode fails the default rung. This episode: collision no, min_gap 13.7, spacing_error_rms 2.14, spacing_error_abs_max 5.92, string_peak_gain 1.61, episode_steps 600, total_reward -2758. It was the first failing one of 1 public seeds tried.
controller.py · trial platoon-delay-noise-20__Na9NajJ