All notable changes to this project are documented here.
The format follows Keep a Changelog, and this project adheres to Semantic Versioning.
From v1.2.0 onwards this file is maintained automatically by release-please. Anything above v1.1.0 was seeded retroactively from the GitHub Releases history.
2.0.1 (2026-07-22)
- deps: bump gitpython to 3.1.54 to clear a high advisory (3ae5af2)
- site: expand the roadmap (v2.5 modern arcade, v2.8 rival, v3.0 live) (7564e73)
- site: mark the v2 migration shipped, refresh author bio and getting-started hero (c9681b9)
- retire the voice surface on the parent side; bump telemetry submodule (d916368)
2.0.0 (2026-07-21)
- agents: bound the retired-car lap fallback by presence and make searchable defaults loud (662102c), closes #477
- agents: guard the pit prompt-build NaN crash and correct the calibration docstring (df988e7)
- agents: resolve the pit-agent circuit lookups by slug on the FastF1 path too (ba0be59)
- agents: split Safety Car from Virtual Safety Car in the strategy engine (4f124cf), closes #471
- agents: validate LLM tool inputs and fix model-fidelity defects across the strategy engine (5f84218)
- agents: yellow laps read as green, empty-roster vs unknown, and two raw parquet readers (52aa560), closes #486
- arcade: stop reading the featured parquet raw (79ce0ba), closes #447
- cli: derive the data defaults from --year so a 2024 run loads 2024 data (8951cb3), closes #443
- deps: bump pyasn1 to 0.6.4 to clear two high advisories (5123d42)
- engine: guard DNF laps in arcade and bump telemetry for rival threading (3b4606c), closes #431 #441
- engine: thread live_drivers, guard both undercut drivers, and stop promising a test that never existed (fbcb690), closes #462
- N26: stop overwriting trained TCN features and NaN-fill before scaling (775bd13), closes #485
- orchestrator: charge OVERCUT for its pit stop so the Monte Carlo decides (bc1c34a), closes #470
- agents: lazy package init so one agent doesn't load the whole family (b7f4cda)
- agents: regenerate the N31 Monte Carlo figure with the OVERCUT fix (305778b), closes #470
- demo: re-record the web-app demo with the brand favicon; bump telemetry submodule (efb7a83)
- fact-check and refresh the project + site documentation against the current code (9490fe4)
- orchestrator: correct the post-fix sweep split and a stale [0,1] score claim (6777998), closes #470
- readme: v2 web-app demo GIF + Streamlit->web-app rewrite; bump telemetry submodule (586aed9)
- release 2.0.0 (5f3804c)
1.10.6 (2026-07-16)
- agents: force what the SC regulation makes certain, not a strategy opinion (281fb32), closes #464
- cli: feed the PMV the real overtake gap, and give the augmentation one home (dc9914d)
- N26: scope the TCN window to this stint, up to now, and zero-pad as trained (20a7a06), closes #449
- N28: refuse to score an undercut against a car that is not racing (018f910), closes #462
- orchestrator: stop the LLM overriding the validated undercut target (fc2c42f), closes #462
1.10.5 (2026-07-16)
- agents: compute FuelEffect from the stint baseline, not a hardcoded fuel_load factor (7ac17e5), closes #446
- agents: encode N15's compound_id as the ordinal rank it was trained on (6bb025f), closes #445
- agents: honour the Safety-Car guard-rail on the final answer, and stop simulating free pit stops (b423acd), closes #436
- agents: let the overtake model see the elapsed-time gap it was trained on (46c320f)
- agents: re-key the circuit lookup tables to the slug keyspace the agents query with (02e7a79), closes #448
- agents: un-invert the undercut model's top feature and stop feeding it the race lap (ec0f444), closes #444
- engine: scope the laps frame to the analysed Grand Prix in run_lap (454db40), closes #429
- simulation: guard the stint-baseline precompute against frames without Stint (4262859), closes #446
- agents: fix the entry-point table and make the examples actually run (59b02e0), closes #438
- strategy: correct the pages the engine fixes made wrong (62fa3c5), closes #438
1.10.4 (2026-07-15)
- deps: bump click/kafka-python/transformers past CVEs; waive blocked pillow and setuptools (97d273d)
- deps: resolve OSV Python CVE backlog (bump click/kafka-python/transformers; waive blocked pillow and setuptools) (fbd6df2)
1.10.3 (2026-07-12)
- nlp: DOUBLE YELLOW severity + time-penalty routing (#398 follow-up) (7f3f7a7)
- nlp: RCM parser superset + penalty/red-flag routing + arcade SC persistence (#398) (47cf9a7)
- nlp: render DOUBLE YELLOW at yellow severity + route time penalties to N30 (#398 follow-up) (b45d7f1)
- nlp: widen the RCM parser + route penalty/red-flag alerts + persist SC in arcade (#398) (6a223e1)
- cli: skip double model load in --no-llm prewarm (#389) (56c24f7)
- cli: skip the tire/situation/pit singleton prewarm in --no-llm mode (#389) (f0ba4b4)
1.10.2 (2026-07-12)
- data: resolve every GP's radio + compound labels via a canonical name (F-01) (2ab70d1)
- data: resolve every GP's radio + compound labels via a canonical name (F-01) (29d1cac), closes #243
- data: validate the parquet read boundary + surface FastF1 quality flags (F-02) (80b12b6)
- data: validate the parquet read boundary and surface FastF1 quality flags (F-02) (dd44451), closes #244
- deps: drop fitz dummy, declare pypdf, override frozendict (DX-05) (3a7612c)
- deps: drop the unused fitz dummy, declare pypdf, override frozendict (DX-05) (794a39b), closes #253
- devex: unbreak the Docker/Streamlit quickstart + redirected-output crash (#388) (75d1b3e)
- devex: unbreak the Docker/Streamlit quickstart and the redirected-output crash (f7f988a), closes #252 #388
- nlp: persist Safety-Car state across laps so the override survives the stint (NR-02) (c713705)
- nlp: persist Safety-Car state across laps so the override survives the stint (NR-02) (215007b), closes #305
- packaging: bundle the telemetry submodule in the release wheel (PK-01) (a047b48)
- packaging: bundle the telemetry submodule in the release wheel (PK-01) (40ae581), closes #289
- security: add the Phase A security-boundary design for review (#224) (c71eac9)
- security: Phase A security-boundary design for review (#224) (ed4e829)
1.10.1 (2026-07-12)
- cli: wire the simulation CLI to the shared inference engine (#236) (32dcc4b)
- cli: wire the simulation CLI to the shared inference engine (#236) (0694299)
1.10.0 (2026-07-11)
- agents: give every sub-agent ChatOpenAI a finite provider timeout (L-1) (3eb0eb8)
- agents: give every sub-agent ChatOpenAI a finite provider timeout (L-1) (401765f), closes #263
- ci: skip the tiktoken vocab roundtrip on an upstream network outage (6c26ec2)
- ci: skip the tiktoken vocab roundtrip on an upstream network outage (cdd9f4a)
1.9.0 (2026-07-11)
- eval: reproduce the pace MAE 0.4104 from the featured-laps holdout (2a2c982)
- eval: reproduce the pace MAE 0.4104 from the featured-laps holdout (998a800)
- eval: reproduce the tire MAE 0.7078 and validate the MC-Dropout sigma (8ce8653)
- eval: reproduce the tire MAE 0.7078 and validate the MC-Dropout sigma (762b030)
- eval: correct the circuit_cluster hygiene verdict to a real coarse leak (4328f95)
- eval: correct the circuit_cluster hygiene verdict to a real coarse leak (679208e)
- eval: resolve the circuit_cluster hygiene item as an accepted non-target limitation (33ff301)
- eval: resolve the circuit_cluster hygiene item as an accepted non-target limitation (c72c9fe)
1.8.0 (2026-07-11)
- eval: add LLM-judge alert-precision module over unlabeled radios (b727baa)
- eval: add metrics-registry + calibration harness (f1-eval) (c08780d), closes #206
- eval: add NLP per-stage eval harness (f1-eval nlp) (dbf76b1), closes #304
- eval: add threshold-provenance + leakage hygiene report (f1-eval hygiene) (3788167), closes #207
- eval: compute radio alert precision from gold intent labels (16bd305), closes #304
- eval: LLM-judge alert precision over unlabeled radios (#304 follow-up) (1651c3b)
- eval: ML metrics-registry + calibration harness (f1-eval, #206) (380f1d7)
- eval: NLP per-stage eval harness (f1-eval nlp, #304) (1c8ff7c)
- eval: radio alert precision from gold labels (closes #304) (da1db0c)
- eval: recompute SC + undercut calibration + AUC-PR (part of #364) (5c97461)
- eval: recompute SC + undercut calibration and AUC-PR from in-memory holdouts (7365b50), closes #364
- eval: regenerate pit holdout from raw laps (closes #364) (d66ddae)
- eval: regenerate pit holdout from raw laps + recompute coverage and MAE (ccc213d), closes #364
- eval: reproduce intent setfit-free + #303 NLP hygiene verdicts (6bc5413)
- eval: reproduce intent setfit-free and record #303 NLP hygiene verdicts (275c487)
- eval: reproduce NER entity-F1 + RCM coverage (#304) (bc0350d)
- eval: reproduce NER entity-F1 and RCM coverage in the NLP harness (1efb133), closes #304
- eval: threshold-provenance + leakage hygiene report (#207) (5f1f29d)
- eval: wire f1-eval alert-llm + report the unlabeled-corpus finding (1e9fed1), closes #304
- eval: align undercut provenance wording with in-train relabeling (Fable re-verify) (54e5d42)
- eval: correct SC operating threshold + window on honest splits (#363) (1275101)
- eval: correct SC threshold + window on honest splits (closes #363) (e1ee603)
- eval: relabel SC/overtake threshold corrections as in-train (Fable gate) (c38c94e)
- eval: regenerate hygiene report with in-train relabeling + correct provenance stamp (c1af9c1)
- roadmap: reconcile published metrics to thesis/IEEE finals (2758ec5)
- roadmap: reconcile published metrics to thesis/IEEE finals (#213) (50b7ecf)
1.7.0 (2026-07-11)
- strategy: add no-llm engine profile (fixes the --no-llm crash) (f32e38b)
- strategy: add shared inference engine (rich profile) + arcade delegate (43c2717)
- strategy: no-llm engine profile (fixes the --no-llm crash, #166) (91b98d3)
- strategy: shared inference engine (rich profile) + arcade delegate (0e1b793)
1.6.8 (2026-07-09)
- audits: add program completeness review + reconcile roadmap and Rival design (d4bdb4e)
- audits: add RAG layer audit plan (b747de6)
- audits: add RAG layer audit plan (3603e73)
- audits: add voice stack audit plan (e6594af)
- audits: add voice stack audit plan (e61356e)
- audits: program completeness review + roadmap/Rival reconciliation (d41e957)
- audits: promote program completeness review + reconciliation to main (c7409c1)
- audits: promote RAG layer audit to main (1366f8c)
- audits: promote voice stack audit to main (51527f3)
- fix broken copy-paste commands (promote to main) (2b07e22)
- fix broken copy-paste commands in README/INSTALL/CONTRIBUTING (5a7783b)
- fix broken copy-paste commands in README/INSTALL/CONTRIBUTING (be4f058), closes #212
- research: add agent-orchestration-flow design (e18c4d6)
- research: add agent-orchestration-flow design (2a9d691)
- research: add ecosystem data-contracts spec (4bc37ba)
- research: add ecosystem data-contracts spec (7b2c38e)
- research: promote agent-orchestration-flow design to main (f5b61f4)
- research: promote ecosystem data-contracts spec to main (f8e7303)
1.6.7 (2026-07-07)
- audits: add cross-audit implementation roadmap (3e42914)
- audits: add cross-audit implementation roadmap (2852af5)
- audits: promote cross-audit implementation roadmap to main (cec6297)
- research: add box-bot multi-platform design (7739201)
- research: add box-bot multi-platform design (6677167)
- research: promote box-bot design to main (793afd7)
1.6.6 (2026-07-07)
- audits: add DevEx contributor-setup audit plan (3c5c0b3)
- audits: add DevEx contributor-setup audit plan (b832509)
- audits: add LLM cost & latency audit plan (7417c75)
- audits: add LLM cost & latency audit plan (2266a41)
- audits: add NLP / team-radio pipeline audit plan (2990a50)
- audits: add NLP / team-radio pipeline audit plan (f26661d)
- audits: add packaging, release & CI/CD audit plan (a04f65e)
- audits: add packaging, release & CI/CD audit plan (59d9e0b)
- audits: promote DevEx audit plan to main (e85f4db)
- audits: promote LLM cost & latency audit plan to main (7bc8481)
- audits: promote NLP / team-radio pipeline audit to main (7e256fe)
- audits: promote packaging & CI/CD audit plan to main (a6ff04f)
- research: add ecosystem repo-integration architecture note (d40b6ea)
- research: add ecosystem repo-integration architecture note (b51bf97)
- research: add gridmind LoRA design (7c2cb54)
- research: add gridmind LoRA design (5068343)
- research: add pit-wall realism + telemetry-surface design (db7fb44)
- research: add pit-wall realism + telemetry-surface design (ad8dfc2)
- research: add pitlab Studio design (3302648)
- research: add pitlab Studio design (2ae226b)
- research: add radiogate deception + auto-labeling design (6a53ffe)
- research: add radiogate deception + auto-labeling design (1e11430)
- research: add real-time OpenF1 consumer design (5b659ff)
- research: add real-time OpenF1 consumer design (faf2937)
- research: add Rival Agent TFM design (b458d08)
- research: add Rival Agent TFM design (4bcd4ea)
- research: promote ecosystem repo-integration note to main (3af311b)
- research: promote gridmind LoRA design to main (373fab9)
- research: promote pit-wall realism + telemetry-surface design to main (8e12e15)
- research: promote pitlab Studio design to main (72b3e5e)
- research: promote radiogate design to main (4113ff0)
- research: promote real-time OpenF1 consumer design to main (b220ed1)
- research: promote Rival Agent TFM design to main (7a314f5)
1.6.5 (2026-07-05)
- audits: add P4 CLI surface audit plan (fef83ab)
- audits: add P4 CLI surface audit plan (7a4da77)
- audits: add P5 data-engineering audit plan (5679490)
- audits: add P5 data-engineering audit plan (dcda30c)
- audits: add security & prompt-injection audit plan (0be2ce9)
- audits: add security & prompt-injection audit plan (4fe8094)
- audits: promote P4 CLI audit plan to main (9882b45)
- audits: promote P5 data-engineering audit plan to main (b774014)
- audits: promote security audit plan to main (af3b2ef)
- readme: lead with product value and fix agent count (05212ef)
1.6.4 (2026-07-05)
- audits: add arcade, ML-eval and docs-accuracy audit plans (dd390bd)
- audits: add arcade, ML-eval and docs-accuracy audit plans (caf4347)
- audits: promote arcade, ML-eval and docs-accuracy audit plans (574acca)
1.6.3 (2026-07-05)
- add 2026-regulation concept-drift readiness audit (36148d6)
- add 2026-regulation concept-drift readiness audit (c708b8e)
1.6.2 (2026-07-04)
- audits: add backend, loading and core-compute audit plans (0b628f2)
- audits: add testing and QA strategy audit plan (ff4d30e)
- audits: P1, P2 and P2b audit plans (dc90de9)
- audits: testing and QA strategy audit + tests/fixtures carve-out (bfb9d0f)
1.6.1 (2026-06-29)
- docs: accessibility (WCAG AA) pass on the docs site (1577d9a)
- docs: correct the docs-maintenance framework label (3645987)
- docs: hide prerendered placeholder until React mounts (9dec895)
- docs: hide prerendered placeholder until React mounts (no FOUC) (cda4da0)
- docs: Sprint 2 - accessibility (WCAG AA) (b5c53da)
- docs: Sprint 3 - correct docs-maintenance framework label (15c55ff)
- docs: drop @babel/standalone, load app as plain scripts (75b4a10)
- docs: drop @babel/standalone, load app as plain scripts (e448bae), closes #136
- docs: optimize demo media and page load (6590db2)
- docs: Sprint 1 - performance & load (5687206)
- describe the real React stack, drop MkDocs references (c944640)
- describe the real React stack, drop MkDocs references (9b781d4), closes #156
1.6.0 (2026-06-28)
- docs: add GEO quick wins (llms.txt, JSON-LD, AI robots, prod React) (133c66f), closes #117
- docs: GEO quick wins — llms.txt, JSON-LD, AI robots, prod React (ae5a9fd)
- docs: prerender pages to crawlable HTML + real-URL sitemap (e6d2bfc)
- docs: prerender pages to crawlable HTML with real URLs (b06ea02), closes #118
- ci: use GITHUB_TOKEN for release-please instead of expired PAT (e6e6cea)
- ci: use GITHUB_TOKEN for release-please instead of expired PAT (605eb97)
- add arcade demo, TFG distinction note, and next-core-releases roadmap (78e8386)
- add full project timeline roadmap page (cc39dd3)
- content: add definitional leads, FAQ and routing-rule prose for AI citability (d01b7c9), closes #120
- content: definitional leads + FAQ + routing-rule prose (citability) (cf92cd7)
- embed CLI, Arcade and Streamlit demo gifs and add the demo videos to docs/assets/demo (7678b57)
- link the landing demo carousel from the README hero (f2d14a9)
- remove em-dashes from README and ROADMAP prose (5086e58)
- update README, CONTRIBUTING, INDEX and ROADMAP; add TFG thesis and IEEE report PDFs (5a9371c)
1.5.5 (2026-05-23)
- telemetry: bump submodule to refreshed README (601fd23) (195d4aa)
1.5.4 (2026-05-22)
- añade memoria del TFG y paper bajo documents/thesis/ (16497cc)
1.5.3 (2026-05-21)
- ci: replace autoupdate action with direct gh api call (810b9b0)
- ci: replace autoupdate action with direct gh api call (5a89b6e)
- ci: replace autoupdate action with direct gh api call (a175266)
1.5.2 (2026-05-20)
- tests: suppress catboost_info dir creation (5a5b87d)
- tests: suppress catboost_info dir creation on dep-imports test (d49fa94)
1.5.1 (2026-05-17)
- ci: key uv cache off pyproject.toml since uv.lock is gitignored (7fafc9b)
- ci: set cache-dependency-glob on lint job too (df90899)
1.5.0 (2026-05-15)
- agents: N27 detects deployed Safety Car via RCM events and forces sc_prob=1.0 (ea8ac95)
- agents: N28 honors active Safety Car (banner prompt + STAY_OUT->PIT_NOW guard-rail) (c19d887)
- agents: orchestrator threads RCM events to N27 and forces N28+N30 routing under SC (497afb2)
- arcade: add RaceEventsPanel HUD card (Yellow/SC/VSC/Red flag pill with fade) (e18c6af)
- arcade: cache per-lap FastF1 TrackStatus on SessionData (cache v6) (6f86554)
- arcade: pass sc_currently_active through MoE routing for parity with main orchestrator (be5b127)
- arcade: wire RaceEventsPanel into F1ArcadeView (anchored under leaderboard) (cd1b6b5)
- arcade: SimConnector waits for arcade playback before processing each lap (e30778e)
- arcade: skip stale laps when arcade seeks ahead of the strategy loop (0e5ec0e)
- arcade: wire arcade lap provider into SimConnector so pause stops the agent flow (bb6ef56)
- multi-agent: document RCM Safety Car override (N27 + N28 + routing) (9a740dd)
1.4.3 (2026-05-14)
- chat: wire Download Report button to live /tool-message endpoint (submodule a921032) (1dd018d)
1.4.2 (2026-05-13)
- dev: update chat smoke commands to /tool-message + MCP examples (b7526d0)
1.4.1 (2026-05-13)
- api: document MCP-driven chat endpoints and module layout (30a5120)
- diagrams: rename lmstudio_service.py to llm_service.py in chat MCP flow (68efe8f)
- frontend: point chat tool-result renderer at /chat/tool-message-stream (fdaeb6e)
1.4.0 (2026-05-12)
- docs: add agents API reference with entry points and schemas (5ec358a)
- docs: add app entry with hash router and global click delegate (359a831)
- docs: add apple-touch-icon for iOS home-screen install (293957f)
- docs: add arcade dashboard architecture page (2959832)
- docs: add arcade quick start page with three-window boot (6f34e66)
- docs: add arcade strategy pipeline page on local N31 duplicate (84facc6)
- docs: add architecture page with end-to-end layer tour (f98e1f6)
- docs: add brand design tokens mirroring f1stratlab.com palette (2aeccad)
- docs: add changelog mirror page sourced from repo root CHANGELOG (2d9c6df)
- docs: add CI/CD pipeline page covering release-please and deploy (caef8e2)
- docs: add custom home page with hero agent grid stats and graph teaser (2081e25)
- docs: add design upload pasted-1778611374655 to uploads (e077698)
- docs: add design upload pasted-1778611401163 to uploads (3e37fef)
- docs: add design upload pasted-1778611468905 to uploads (b307929)
- docs: add design upload pasted-1778612008927 to uploads (2bada27)
- docs: add design upload pasted-1778612233726 to uploads (76e2ccb)
- docs: add design upload pasted-1778612297400 to uploads (661263f)
- docs: add development hub page with contributor map (b2e835d)
- docs: add docs maintenance page covering build and theming (81c943a)
- docs: add docs.css with three-pane layout and component styles (575f70b)
- docs: add driver colors page describing year-aware palette (48d6937)
- docs: add FastAPI backend page with router map and SSE flow (4c98f84)
- docs: add favicon copied from f1stratlab-web landing assets (bab2720)
- docs: add force-directed Obsidian-style knowledge graph with tags (d042c9d)
- docs: add getting started page with dynamic wheel URL placeholder (47c8964)
- docs: add home page content with current release row (932eac5)
- docs: add markdown renderer with mermaid and prism highlighting (b1d2fdd)
- docs: add meet the author page with bio and contact links (a33053d)
- docs: add Meet the author visual section to home with avatar and link cards (628c774)
- docs: add multi-agent page covering N25 through N31 (4a28b91)
- docs: add nav.js with PAGES config and meet-the-author entry (ff69cf4)
- docs: add Open Graph card image from landing banner (d4035ba)
- docs: add race replay engine page with lap_state schema (79acd96)
- docs: add React docs entry HTML with CDN imports and favicon (6c4011d)
- docs: add responsive overrides for 1280 1024 768 and 480 breakpoints (c768e6a)
- docs: add robots.txt allowing all and disallowing uploads (6a25602)
- docs: add setup and deployment page with platform matrix (58ff652)
- docs: add sidebar backdrop body scroll lock and Escape to close (8150e2c)
- docs: add sitemap.xml listing all 18 docs site pages (d8e4f64)
- docs: add Streamlit frontend page with tab tour (11feebd)
- docs: add tags index page grouped by Concepts Surfaces Operations Data (de7d876)
- docs: add thesis results page with verified benchmark metrics (3a0da70)
- docs: add top nav sidebar TOC search footer with version placeholder (281016e)
- docs: brand favicon meet-the-author SEO analytics tags changelog and mobile graph (58ba7b9)
- docs: bump components cache buster to v7 for responsive sidebar (debc2c7)
- docs: full responsive overhaul for mobile tablet and print (7a6fc7f)
- docs: register tags index and changelog mirror pages in nav (b6328f1)
- docs: replace cube brand-mark with favicon image and add author card styles (eb14471)
- docs: replace mkdocs with React docs site and dynamic version (8eebbd6)
- docs: tighter graph physics on mobile so full layout fits viewport (3934c0c)
- docs: wire favicon OG meta Twitter card analytics and cache busters (a4207f8)
- components: point Connect column at HF dataset URL not profile (7f937b9)
- diagrams: rescue arcade three-window architecture drawio source (5626a1c)
- diagrams: rescue backend API drawio source (9abf8ce)
- diagrams: rescue chat MCP flow drawio source (06fa01d)
- diagrams: rescue data pipeline drawio source (7e95139)
- diagrams: rescue docker deployment drawio source (cfc842e)
- diagrams: rescue frontend pages drawio source (ae27a63)
- diagrams: rescue multi-agent flow drawio source (6ab6de4)
- diagrams: rescue strategy pipeline flow drawio source (33b368c)
- diagrams: rescue subprocess launch sequence drawio source (0a44781)
- diagrams: rescue system architecture drawio source (c3779cb)
- diagrams: rescue TCP broadcast dataflow drawio source (f6ac9e5)
- pages: point meet-the-author HF link at dataset URL (5f56064)
- readme: add status badges and link to docs.f1stratlab.com (922f462)
1.3.1 (2026-05-12)
- docs: repair slate scheme contrast and add brand-aligned theme variables (6516709)
- add architecture hub landing with sequence diagram and key contracts (3fb717e)
- add branded 404 page with hero styling and recovery links (188491b)
- add CI/CD pipeline narrative covering branching releases and deployment (db48476)
- add development hub landing with conventional commits cheat sheet (5e28bb1)
- redesign landing with hero, agent grid, mermaid system diagram and stats (e6525cc)
- ship docs site revamp with CI/CD narrative and contrast fix (b64ce12)
1.3.0 (2026-05-12)
- docs: point GitHub Pages at docs.f1stratlab.com via CNAME (52b3238)
- docs: update mkdocs site_url to docs.f1stratlab.com (cf6cda6)
- docs: wire docs.f1stratlab.com custom domain (1fcf6ea)
1.2.0 (2026-05-12)
- docs: add F1 StratLab brand theme and external-image hook (0dc3db1)
- docs: launch mkdocs-material docs site with F1 StratLab branding (7f7006d)
- add landing, getting started, thesis results and maintenance pages (defed4e)
1.1.1 (2026-05-12)
- ci: use PAT for release-please so required checks run on release PRs (b293342)
- ci: use PAT for release-please so required checks run on release PRs (e276d45)
- add data/eval/README inventory for benchmark outputs (1f533fb)
- add data/rag_eval/README for the RAG ground-truth set (f0c54a1)
- add documents/images/README manifest for thesis figures (f7c25d3)
- document Conventional Commits convention in CONTRIBUTING (78049cb)
- seed CHANGELOG retroactively with release-please marker (c870bcc)
1.1.0 - 2026-05-11
Benchmark suite for the TFG thesis chapter 5 plus full English localization of strategy notebooks, scripts and evaluation artefacts. No model retraining and no breaking changes to runtime APIs.
- Four standalone benchmark scripts under
scripts/bench_*.pywith a sharedBenchResultdataclass and Rich panel layout: pace baselines vs production XGBoost (MAE matches the 0.4104 s anchor within +/-0.001 s), Whisper turbo latency (P50 / P95 / mean), six sub-agent latency on a Suzuka 2025 fixture, and the sentiment + intent + NER pipeline on CPU and GPU. - New
notebooks/agents/N33_thresholds_and_calibration.ipynbwith precision-recall sweeps for overtake (N12), safety car (N14) and undercut (N16), plus MC Dropout empirical coverage on the 20,284 tire-degradation sequences. - New
notebooks/agents/N30B_rag_benchmark.ipynbevaluating BGE-M3 1024d (production), MiniLM-L6-v2 384d and BGE-M3 chunk 256 over 15 ground-truth queries with Precision@1 / 3 / 5, MRR and latency. - Figures relocated to
documents/images/05_results/(300 DPI), CSV + Markdown bench outputs underdata/eval/anddata/rag_eval/. jiwer>=3.0.0added topyproject.tomlas a forward-looking dependency. All bench scripts passruff checkandruff format --checkon CI.- Console entry points (
f1-strat,f1-sim,f1-arcade,f1-streamlit) unchanged from v1.0.0.
1.0.0 - 2026-04-20
First stable release. Ships the three-window arcade experience, the full seven-model ML stack and the N25 to N31 multi-agent LangGraph orchestrator with FIA RAG over Qdrant.
- Three surfaces from one install:
f1-simCLI,f1-arcadethree-window replay (2D circuit + PySide6 strategy dashboard + live telemetry window) andf1-streamlitpost-race dashboard. - Arcade runs the strategy pipeline locally without the FastAPI backend.
- Per-agent model outputs rendered live: lap time predicted vs actual with CI band, tire cliff percentiles, overtake and SC probabilities, stop duration percentiles, radio intents and regulation snippets.
- Six-tab reasoning panel with syntax-highlighted LLM narratives for each sub-agent plus the N31 orchestrator.
- Live telemetry window with 2x2 delta / speed / brake / throttle grid and rival overlay in two-driver mode.
- README slimmed to 85 lines with landing page link and F1 trademark
disclaimer. Docs reorganised under
docs/arcadeplus five drawio architecture diagrams. - Install via
uv tool install git+https://github.com/VforVitorio/F1_Strat_Manager.git.
0.12.0 - 2026-04-15
Interfaces and distribution milestone. Closes R3 (Streamlit + Backend) and lands infrastructure for R2 (Arcade). The CLI (R1) stays untouched.
- Voice chat full rewrite: STT migrated from Nemotron to
openai/whisper-smallvia transformers pipeline; TTS migrated from Qwen3 to edge-tts with a curated four-voice catalogue (Aria, Guy, Ryan, Sonia); LLM is now provider-agnostic viaF1_LLM_PROVIDER. - Voice chat UI redesigned end-to-end: Material icons, triadic palette,
audio-reactive orb, native
st.audio_inputreplacing the third-party recorder, voice selector dropdown wired end-to-end, health-check polling with spinner during cold starts. - Chat charts:
lap_timesandrace_datanow show tyre compound on hover with per-driver pit-stop vlines annotatedDRIVER - COMPOUND. SharedCOMPOUND_COLORSpalette mirrors the Rich palette used by the CLI. - New
POST /api/v1/strategy/simulateSSE endpoint streaming start / lap / summary events; ready for Arcade consumption. - Breaking:
streamlitbumped to>=1.37,audio-recorder-streamlitremoved from deps. Backend Dockerfile now installsffmpegandlibsndfile1for browser WebM decoding.
0.11.0 - 2026-03-30
Multi-agent system complete plus the RAG regulation layer. Seven specialized agents coordinate under a Strategy Orchestrator to produce real-time pit strategy recommendations from live race data.
- N25 Pace Agent (XGBoost lap time + bootstrap CI), N26 Tire Agent (TCN with MC Dropout), N27 Race Situation Agent (LightGBM overtake plus safety car prior), N28 Pit Strategy Agent (pit duration quantiles plus undercut scorer), N29 Radio Agent (RoBERTa sentiment + SetFit intent + BERT-large NER + RCM parser), N30 RAG Agent (Qdrant + BGE-M3) and N31 Strategy Orchestrator (three-layer MoE-style routing into Monte Carlo simulation into GPT-4o structured synthesis).
scripts/build_rag_index.pyindexes the FIA Sporting Regulations into 2,279 BGE-M3 chunks. Retrieval scores 0.62 to 0.76 on demo queries.src/rag/retriever.pyexportsRagRetrieverandquery_rag_toolas reusable LangChain components imported by N31.- GitHub Actions CI added: lint (ruff), typecheck (mypy), tests (pytest).
- SRP refactors across every agent notebook plus LangGraph computation graph visualization cells.
0.10.0 - 2026-03-22
Multi-agent infrastructure milestone. Two of seven sub-agents complete plus
the full RAG indexing pipeline and the importable src/rag/ module.
- N25 Pace Agent wraps the N06 XGBoost model as a LangGraph ReAct agent and
returns
PaceOutput(lap time + delta vs session median + bootstrap CI P10 / P90 with N=200). - N30 RAG Agent runs retrieval-augmented generation over FIA Sporting
Regulations 2023 to 2025. Embedding via
BAAI/bge-m3(1024-dim), Qdrant local vector store, 2,279 indexed chunks. - First active
src/module outside telemetry:src/rag/exposesRagRetriever(singleton viaget_retriever()) and thequery_rag_toolLangChain tool. scripts/download_fia_pdfs.pyscrapes FIA PDF URLs viaDownloadConfig.scripts/build_rag_index.pyperforms PDF chunking, embedding and Qdrant upsert with hash-based deduplication.- README files added for
src/rag/,src/agents/,src/nlp/,src/strategy/andsrc/data_extraction/covering API surface and legacy status.
0.9.0 - 2026-03-17
NLP pipeline complete. All notebooks N17 to N24 shipped; the radio analysis pipeline is operational and integrated into the unified inference entry point used by the Strategy Agent.
- N17 labels 659 messages (610 clean after manual inspection of 49 post-race removals). N18 runs Whisper turbo ASR. N19 establishes a VADER rule-based baseline.
- N20 fine-tunes RoBERTa-base for three-class sentiment. N21 uses SetFit with ModernBERT-base for five-class intent (370 examples). N22 fine-tunes BERT-large CoNLL-03 with BIO tagging for nine F1 entity types (weighted F1 = 0.42 on 399 examples). N23 ships a deterministic rule-based RCM parser covering 25 event types with 100% Flag / DRS / SC coverage.
- N24 unified pipeline exposes
run_pipeline(text)for team radio andrun_rcm_pipeline(rcm_row)for race control messages on a single JSON schema. GPU end-to-end latency: mean 47.8 ms, P95 59.4 ms. - Model weights and configs uploaded to
VforVitorio/f1-strategy-modelson Hugging Face, plus the N16 undercut artefacts that were missing from v0.8.1.
0.8.1 - 2026-03-13
Strategy ML suite: pit-stop prediction and undercut intelligence.
- N15 Pit Stop Duration: HistGradientBoostingRegressor at P05 / P50 / P95 on the normal physical window of 2.0 to 4.5 s. P50 MAE 0.487 s vs baseline 0.555 s. Coverage P05 to P95 is 70.5% on the test set.
- N16 Undercut Success: LightGBM binary classifier on 1,032 labeled
pair-laps (2023 to 2025) with DRY_COMPOUNDS filter. AUC-PR 0.6739,
AUC-ROC 0.7708, Platt-calibrated threshold 0.522. SHAP top features:
pos_gap_at_pit,pace_delta,circuit_undercut_rate,tyre_life_diff. - N12B Causal TCN Overtake archived as a valid negative result (AUC-PR ~0.10 vs N12's 0.5491). Confirms feature-engineered LightGBM wins on this dataset.
- Roadmap lists N17 to N24 for the upcoming NLP radio pipeline.
0.7.0 - 2026-03-05
ML foundation phase closes out. Two predictive models trained, validated on
held-out 2025 data and exported under data/models/.
- N06 Lap Time Predictor: XGBoost delta-lap-time model with circuit clustering features, trained on 2023 to 2024 and tested on 2025. MAE 0.392 s. Features include fuel-corrected lap time, tyre life, compound, circuit cluster and race phase.
- N07 to N10 Tire Degradation Predictor: Temporal Convolutional Network in PyTorch with per-compound fine-tuning (SOFT / MEDIUM / HARD) and MC Dropout for uncertainty (N=50 forward passes at inference). Calibration JSON exported alongside the model weights.
src/module integration deferred to v0.9.0 (post-notebook phase). Tire compound mapping to C1 through C5 flagged as a future enhancement.
0.6.0 - 2026-02-12
Data engineering phase closes out. End-to-end pipeline from raw FastF1 telemetry to a clean feature-rich dataset ready to feed the ML models.
- Repo restructure: previous notebooks and code moved to
legacy/to preserve the original work. New structure built around the TFG architecture:notebooks/data_engineering/,notebooks/strategy/,src/strategy/,src/agents/,src/telemetry/. - N01 download pipeline extended to support the 2025 season alongside 2023 to 2024. FastF1 naming inconsistencies aliased (Miami_Gardens, Spain vs Barcelona) for canonical cross-season names.
- N03 circuit clustering: K-Means with k=4 fitted on 2023 to 2024 and
serialized with joblib. 2025 inference runs
kmeans.predict()on the saved model without refitting. Las Vegas missing speed-trap data imputed with training means from the scaler. - N04 feature engineering: 48-column dataset across ~45,000 clean racing laps. Fuel-corrected degradation (0.055 s/lap from Pirelli literature), sequential lap features, rolling 3-lap degradation rate via polyfit clipped to +/-2 s/lap, race-context fields, circuit cluster merge from N03. 2025 saved as a held-out test set.
- Dataset published to
VforVitorio/f1-strategy-dataseton Hugging Face;scripts/download_data.pypulls everything locally.
0.1.1 - 2026-04-09
First CLI release (R1 milestone). Distributed as the
f1_strat_manager-0.1.1-py3-none-any.whl wheel.
- Seven-agent multi-agent system (N25 to N31) on LangGraph.
f1-simCLI simulation with Rich Live rendering.- No-LLM mode (ML + Monte Carlo simulation only).
- OpenF1 radio corpus with Whisper transcription.
- F1 strategic guard-rails baked into every sub-agent.
- Lazy Hugging Face data download on first run.
- Eight ML models (pace, tire degradation, overtake, safety car, pit duration, undercut) plus the NLP pipeline (sentiment, intent, NER) and RAG over FIA regulations.