Skip to content

auto/queue → main: autopilot window 2 (slices 7-10, Phase 3 code) - #24

Merged
Meerav29 merged 9 commits into
mainfrom
auto/queue
Nov 10, 2026
Merged

Meerav29 merged 9 commits into
mainfrom
auto/queue

Conversation

@Meerav29

Copy link
Copy Markdown
Owner

Brings the four slices from autopilot window 2 (Oct 20-26, log in #19) onto main. The review routine merged each one into auto/queue after re-running the suite and its own mutations. It merges cleanly. The only commit on main that isn't here, 11de384, makes the same AUTOPILOT.md change as d197145.

What's in it

Slice PR Change
7 #20 Tests on both overtaking-fit call sites (cli.forecast_weekend, backtest.forecast_race_challenger). Each forecast fits only its own circuit. collect_v2 falls back to each driver's fastest session lap when a quali row has positions but no Q times (2025 Miami); those rows are flagged q_segment="laps"
8 #21 src/sim/season.py and gp season: chains rounds r+1..R with the team random walk carried forward, includes sprints, and builds drivers' and constructors' totals from the same trials
9 #22 gp backtest --season-level [--cutoffs 2,6,12]: constructor-share Spearman against a rolling-Ridge legacy number, title-winner Brier, 80% coverage, and a season_level block in backtest_summary.json with the gate_valid / null-verdict rule
10 #23 calibration_podium_postquali.csv, binned calibration and ECE for pre, pre_paired and postquali, plus postquali_worse_rounds (more than 1.0 nat worse, with the pole-sitter and the winner)

It also brings the window-2 docs/autopilot/queue.md statuses and decisions.md entries (2026-10-20 → 10-25). 14 files, +1829 / −36. The suite on auto/queue was 335 passed (#23's review).

What merging does not mean

  • Phase 3 has not passed. No one has run the season-level backtest:
    PYTHONPATH=src python -m cli backtest --seasons 2022-2025 --season-level --method nuts --n-trials 5000 --out-dir outputs/season_bt
    The legacy column is a rolling Ridge trained on earlier seasons, not the 0.88 LOSO method, so expect it to come in below 0.88 (decisions.md, 2026-10-23).
  • The real post-quali ECE also needs a backtest re-run (slice-10: post-quali calibration #23, step 4).
  • These checks are still yours: repair_round.py 2025 6 Q against the hand-repaired Miami rows (slice-7: Phase 2 carry-forwards (overtaking call-site tests, per-circuit fit, Miami quali fallback) #20), and gp season current_points against the real 2026 standings (slice-8: season chaining and gp season #21).
  • confidence.py and the pkl are untouched and stay until Phase 3 passes.
  • The three fixes that exist only on forecast-data (jolpica race pace, accent-free event names, --grid-file) are not included. They still need porting by hand.

Once this merges, the CLAUDE.md / AUTOPILOT.md lines saying "auto/queue isn't merged" go stale. The doc refresh on feat/eager-turing-3zk4wb should be updated to match.


Generated by Claude Code

Meerav29 and others added 9 commits October 20, 2026 14:16
…uit fit, Miami quali fallback) (#20)

* slice-7: Phase 2 carry-forwards (overtaking call-site tests, per-circuit fit, Miami quali fallback)

- build_overtaking_data(event_name=...) fits only the forecast circuit;
  cli.forecast_weekend and backtest.forecast_race_challenger pass it.
- tests/test_overtaking_wiring.py fails if either call site stops building
  the fit, or fits more than one circuit per forecast.
- collect_v2 falls back to the fastest non-deleted session lap when a
  classified quali row has no Q1/Q2/Q3 time; flagged q_segment='laps' and logged.

Refs #19

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EiJgo5GgDN14Q7LndX14Qv

* queue: slice-7 in-review (PR #20)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EiJgo5GgDN14Q7LndX14Qv

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LnhCkGvJgZEMRYLWEWTFA1
* slice-8: season chaining and gp season

Chains rounds r+1..R within each trial, carrying the car random walk
forward; sprints via simulate_weekend; drivers' and constructors' tables
from the same trials. gp season writes drivers_championship.csv and
constructors_championship.csv; the remaining calendar comes from FastF1
through a stubbable loader and the command fails if it cannot be read.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QRJHJJN7CD3ym1wMdmWnsM

* queue: slice-8 in-review (PR #21)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QRJHJJN7CD3ym1wMdmWnsM

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QuFzDH4gT5WLYUkweqAXpV
)

* slice-9: season-level backtest harness (gp backtest --season-level)

Fits at cutoffs 2/6/12 of each held-out season, chains the rest with
slice-8's simulator, and scores constructor-share Spearman (next to a
rolling legacy number at the same cutoff), title Brier for both
championships and 80% interval coverage on final points. Writes a
season_level block to backtest_summary.json with gate_valid / null
verdict discipline. Tested end to end on the fixture with ADVI; the real
backtest has not been run.

Refs #19

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JyCVWAmeHjqML4h9ugdbGQ

* queue: slice-9 in-review (PR #22)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JyCVWAmeHjqML4h9ugdbGQ

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F4qkQYA3HBDbujUy5MWTH6
* slice-10: post-quali podium calibration, ECE for both arms, confident-miss listing

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015bZTZNWERoJTnjfEPcTL8U

* queue: slice-10 in-review (PR #23)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015bZTZNWERoJTnjfEPcTL8U

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Eih57hVHzqtaRFaQqnXdmG
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Meerav29
Meerav29 merged commit 7a689ae into main Nov 10, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants