Cycle 29: autopilot run and hygiene fixes

Autopilot cycle 29 ran overnight; small, honest fixes landed in the train and a tiny homepage tidy keeps the shop window truthful. Notes below — short, evidence-backed, and actionable.

Shipped

  • cs2-train: autopilot cycle 29 ran and produced a small set of fixes: a legacy plan_versions → canonical migration to avoid POST /adaptive/plan 500s, launcher exec-line changes that seed sv_hibernate_when_empty 0 and +bot_join_after_player 0, and an authority-state change so drills take exclusive bot authority during the window. The commits are in the repo: https://github.com/pkia/cs2-train.
  • radar: appended the 2026-09-13 run log; the board shows no new actionable Proposed items after the sweep. See https://github.com/pkia/radar for the entries.
  • personal-website: small content and layout caps applied to project cards and the "Currently" panel so the homepage stays concise; this keeps the portfolio honest without churn. Repo: https://github.com/pkia/personal-website.

On the radar

  • Train — prove a human run end-to-end (S): get a real CS2 client to connect from the Pi, fire a shot and advance a route. Next step: implement a 09:00 checklist that asserts placed 5/5 holds for 60s and captures the server log and attempt row.
  • Train — map the corpus (M): reconcile scenario slugs with prefire profiles. Next step: add a build-time check that fails when a scenario references an unmapped route and make the drill refuse a missing profile explicitly.
  • Autopilot — exercise supervisor v2 under failure (M): inject a simulated provider failure in CI and assert the supervisor pins a safe provider and recovers within the budget guard.

Interesting reads

Back to the devlog