← all tasks

platoon-combo-20

Vehicle platoon · solved 8 of 10 agent attempts pass

The task. Open: never solved. The June 2026 harness spent 80 proposals over four runs without acceptance; the delay-only June controller scores 0.55 here and is shipped as a non-passing reference.

more

The tau-replay trick that every passing controller used on platoon-delay-noise-20 does not apply (tau is heterogeneous and unobserved).

Gate. no collision; spacing-error RMS <= 3.0 m; string peak gain <= 1.35; success rate >= 0.9 on 40 verifier-only seeds of hard_combo_v1

Axes: n_vehicles:20, observation:local-delayed-noisy, heterogeneity:tau-and-limits, weak-brake:vehicle-10, 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.

Best attemptFable 5.1 (claude-code, 23 min) · hard_combo_v1

Graded on the held-out seeds: passes every gate on the grader's held-out seeds.

criteriongradedneeded
base:default1.000≥ 0.900

How the agent got there: 23 min · 27 tool calls · 0 edit-tool edits · 24 runs of its own Python (tests, experiments, rewrites) · no tuner runs · official verifier 2× (success rates in order: 1.00, 1.00).

The agent's final message

The final controller is in place at `/app/work/controller.py` and passes the gate with a wide margin. **Result** | Check | Value | |---|---| | Local seeds passed (my evaluator) | 384 of 384 (seeds 0-383) | | Official verifier, seeds 0-4 | success_rate 1.0, solved=True | | Collisions | none in any seed | | Spacing-error RMS | about 0.3 m (gate 3.0 m) | | String peak gain | about 0.85 mean, worst seen 1.35 (gate 1.35) | **How the controller works** - **Own state reconstruction.** Own velocity and acceleration are exact but delayed, so they are rolled forward to the current step using the stored command history and an identified actuator lag. The lag is recovered from pairs of own-acceleration samples one step apart. - **Predecessor estimate.** A predecessor acceleration reading of exactly 0.0 is treated as dropout and the last valid value is held. Gap and predecessor velocity are then propagated over the delay. - **Bias removal.** The per-vehicle relative-velocity bias is estimated from the constraint that integrated relative velocity must equal the change in measured gap. This was the single largest source of residual peak error. - **Control law.** CACC on spacing error with damping on its exact time derivative (relative velocity minus headway times own acceleration), plus 0.75 feedforward of predecessor acceleration. Using the error derivative instead of bare relative velocity removes a steady-state error of several metres during constant predecessor deceleration. - **Lag…

Controller family: string-stable CACC / platoon

Each follower reconstructs its current own and predecessor state by rolling forward over observation delay, then applies a constant-time-headway CACC law (KP*e + KD*e_dot + KFF*a_pred) with capped accelerations, inverts the identified actuator lag to produce the command, and overrides with full braking on low TTC or gap.

Shown: public seed 0 (hard_combo_v1); this episode passes the default rung. This episode: collision no, min_gap 14.6, spacing_error_rms 0.39, spacing_error_abs_max 5.43, string_peak_gain 0.978, episode_steps 600, total_reward -189.

controller.py · agent transcript · trial platoon-combo-20__rg4VetL

FailureFable 5.1 (claude-code, 21 min) · hard_combo_v1

Graded on the held-out seeds: misses the main gate narrowly (success rate between 0.5 and the gate).

criteriongradedneeded
base:default0.800≥ 0.900

How the agent got there: 21 min · 25 tool calls · 0 edit-tool edits · 23 runs of its own Python (tests, experiments, rewrites) · no tuner runs · official verifier 1× (success rates in order: 1.00).

The agent's final message

The shipped file reproduces the scratch results exactly, so nothing remains to run. The final controller is at `/app/work/controller.py` and the official verifier passes all five visible seeds. **Held-out estimate is about 0.92, clearing the 0.9 gate with a thin margin.** The two blocks I never tuned on disagree by 0.12, so the grader's seeds could land anywhere in that range. | Seeds | Used for | Success | |---|---|---| | 0 to 4 | official verify, visible | 5/5 | | 30 to 79 | choosing the vehicle-1 gain | 43/50 | | 80 to 129 | never used for any choice | 49/50 | The first block's figure is slightly optimistic because I selected one gain on it. Spacing-error RMS never exceeded 0.41 m and no collisions occurred in any of the 130 seeds, so every remaining failure is the string-gain ratio. **What the controller does.** It stores observations by time index, identifies each vehicle's actuator lag exactly from two consecutive-time samples, and dead-reckons own state to the present. Spacing follows the kinematic constant-time-headway law, whose velocity transfer is exactly 1/(hs+1) and needs no acceleration feed-forward. The identified lag is inverted down to a common 0.25 s so heterogeneous actuators respond alike. Vehicle 1 uses a softer relative-velocity gain, which filters the raw leader pulse before it reaches slow or weak-braking followers. The docstring explains each gain. **Two things you should know.** - **The visible-seed numbers were misleading.** My best config sco…

Controller family: other: constant-time-headway predictive spacing controller (CTH with delay compensation)

Each follower dead-reckons its own and the predecessor's state forward over the observation delay, computes a desired acceleration from a constant-time-headway spacing law with partial predecessor-acceleration feedforward, then inverts the identified actuator lag to produce the command, with an emergency brake override.

Shown: public seed 8 (hard_combo_v1); this episode fails the default rung. This episode: collision no, min_gap 15.5, spacing_error_rms 0.462, spacing_error_abs_max 5.07, string_peak_gain 1.86, episode_steps 600, total_reward -415. It was the first failing one of 9 public seeds tried.

controller.py · agent transcript · trial platoon-combo-20__Y4GimVH

FailureGemini (cursor-cli (pre-clock), 55 min) · hard_combo_v1

Graded on the held-out seeds: fails the main gate badly (success rate below 0.5).

criteriongradedneeded
base:success0.425≥ 0.900

How the agent got there: 55 min · 224 tool calls · 29 edit-tool edits · 98 runs of its own Python (tests, experiments, rewrites) · no tuner runs · official verifier 3× (success rates in order: 0.00, 0.80, 0.80).

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

### Summary of Controller Implementation & Results The final decentralized longitudinal controller for the 20-vehicle platoon is implemented and verified in `/app/work/controller.py`. #### Key Highlights 1. **Actuator Lag Identification & Exact State Forward Propagation**: - Accurately identifies each follower's true time constant \(\tau_i = \frac{dt}{\alpha_i}\) online from noise-free historical acceleration and command records. - Forward-propagates the follower's exact state (\(a_i, v_i\)) to step \(k\) across the variable 3–7 step observation delay. 2. **State Observer & Delay Predictor (`PlatoonPredictor`)**: - Filters gap and relative velocity against Gaussian noise and sensor bias. - Reconstructs predecessor acceleration with jerk extrapolation during 40% dropout events. 3. **Decentralized Feedback Linearization**: - Imposes second-order error dynamics \(\ddot{e}_i + K_v \dot{e}_i + K_p e_i = 0\) with gains \(K_p = 1.00, K_v = 1.50, K_{a,\text{ff}} = 1.00\): \[ u_i(k) = \frac{\tau_i}{h} \left(\hat{a}_{i-1}(k) + K_v \dot{\hat{e}}_i(k) + K_p \hat{e}_i(k)\right) + \left(1 - \frac{\tau_i}{h}\right) a_i(k) \] #### Verification Results (`hard_combo_v1` on visible seeds 0–4) - **Collision Rate**: `0.0%` (safe min gap: `~15.8 m` average, well above `0 m`) - **Spacing Error RMS**: `0.35 m` (threshold \(\le 3.0\text{ m}\)) - **String Tail Peak Gain**: `0.32` (disturbances attenuate down the platoon)

Controller family: feedback linearization

Each follower reconstructs its current own state by propagating delayed measurements through identified actuator dynamics, estimates gap, relative velocity and predecessor acceleration with an observer, then applies a lag-cancelling feedback-linearizing CACC law (kp=1, kv=1.5) with a time-headway spacing policy and clips the command to limits.

Shown: public seed 3 (hard_combo_v1); this episode fails the default rung. This episode: collision no, min_gap 14.8, spacing_error_rms 0.411, spacing_error_abs_max 3.5, string_peak_gain 1.77, episode_steps 600, total_reward -278. It was the first failing one of 4 public seeds tried.

controller.py · trial platoon-combo-20__ViFTcRw