BatterySwapAI2026-Example / batteryswap_example

Commit History

  1. compliance: remove train-split feature table (derived dataset content) from head - dataset non-redistribution⁠

    Thibaut Forest +1: Claude Fable 5
    6ffa3bc
  2. Revert "HEAD: order re-weight .50/.20/.30 for the alpha-1.4 band (user call, public A/B) - bgkf 1476.0; revert FT2_W .30 / FT2_GAPW .20"⁠

    Thibaut Forest
    435304e
  3. HEAD: order re-weight .50/.20/.30 for the alpha-1.4 band (user call, public A/B) - bgkf 1476.0; revert FT2_W .30 / FT2_GAPW .20⁠

    Thibaut Forest +1: Claude Fable 5
    354fd2d
  4. cv: 'ft2a10'/'head' track the shipped head (alpha 1.4, 1498.3); old form kept as ft2a10_a10⁠

    Thibaut Forest +1: Claude Fable 5
    b5528c9
  5. HEAD: flat alpha 1.4 for public A/B (user call) - bgkf 1498.3, podium operating point; revert = both alpha defaults 1.0⁠

    Thibaut Forest +1: Claude Fable 5
    62e9d91
  6. HEAD: warmup gate OFF by default (publicly refuted 1594.89) - head restored to 60d65da config, bgkf cell-exact 1541.3⁠

    Thibaut Forest +1: Claude Fable 5
    71bfff2
  7. HEAD: T3 warmup gate - gated hazard order + alpha 1.4 boost - CV 1418.3⁠

    Thibaut Forest +1: Claude Fable 5
    e4745d2
  8. HEAD: T2 planner objective - timing_weight 2.0 + split_days 3 - CV 1541.3⁠

    Thibaut Forest +1: Claude Fable 5
    60d65da
  9. HEAD: wiener weight .30 in the 3-way order (.50/.30/.20) - CV 1545.4⁠

    Thibaut Forest +1: Claude Fable 5
    4c93883
  10. HEAD: gap-approach HGB third order source at w .20 (user call) - CV 1568.6⁠

    Thibaut Forest +1: Claude Fable 5
    274f134
  11. cv: 'ft2a10' now tracks the shipped head (w .25, 1601.2); old form kept as ft2a10_w20⁠

    Thibaut Forest +1: Claude Fable 5
    adc06b1
  12. HEAD: wiener weight .25 (1601.2 on bgkf, deployment parity exact; count-flat weight tweak inside the validated blend; sub-bar 1.6sigma, shipped per user)⁠

    Thibaut Forest +1: Claude Fable 5
    f8a734c
  13. cv: SCORE line shows SE + 95% CI (scenario-scatter caveat; paired deltas remain the decision statistic)⁠

    Thibaut Forest +1: Claude Fable 5
    e95e770
  14. cv: p_star hook in run_bgkf + 'ft2a10' candidate (the head/alpha-1.0 model) - one-liner CLI⁠

    Thibaut Forest +1: Claude Fable 5
    826bd69
  15. HEAD = the alpha-1.0 A/B (same model as 296f8f2, now on current version for public scoring): ft2 frontier + alpha 1.0⁠

    Thibaut Forest +1: Claude Fable 5
    401f171
  16. Phase 62: synthetic scaling study (1x/2x/4x, official-mechanism EOLs); count rule scales cleanly; fixed-ref vmin7 dial (default off); alpha-1.0 edge holds at every scale⁠

    Thibaut Forest +1: Claude Fable 5
    34c30a6
  17. Restore safe alpha 0.8 default at head (A/B candidate remains selectable at 296f8f2)⁠

    Thibaut Forest +1: Claude Fable 5
    7d7632c
  18. PUBLIC A/B CANDIDATE (score this commit to test): alpha 1.0 on the ft2 frontier⁠

    Thibaut Forest +1: Claude Fable 5
    296f8f2
  19. cv: register the adopted model as 'ft2' candidate (vm7 variant + wiener .20) - one-liner CLI, verified 1688.4⁠

    Thibaut Forest +1: Claude Fable 5
    87cd73d
  20. ADOPT campaign-2 frontier ft_vmin7r_wnr20: BATTERYSWAP_FT2 default ON⁠

    Thibaut Forest +1: Claude Fable 5
    3f9bf12

  1. CV: SCORE = summed folds per scenario (all-building out-of-fold total, familiar full-fleet magnitude); champion baseline 1760.2⁠

    Thibaut Forest +1: Claude Opus 5 (1M context)
    1cefc38
  2. CV v5 fidelity pass (user): GroupKFold with deployment-exact held-out semantics⁠

    Thibaut Forest +1: Claude Opus 5 (1M context)
    2a6a86a
  3. CV v4 (user directive): building-GroupKFold x temporal purge - per fold, per scenario, fit on train buildings' pairs with label windows entirely outside the scenario window; test scenario on the test buildings as a standalone fleet⁠

    Thibaut Forest +1: Claude Opus 5 (1M context)
    9d114fd
  4. Phase 57: CV replaced with building-GroupKFold (user directive) - test group planned as standalone fleet, stratified on failures + travel centrality⁠

    Thibaut Forest +1: Claude Opus 5 (1M context)
    4be2283
  5. Phase 56 addendum 2: frontier purge gain = hidden per-scenario appetite (corr 0.76); head default reverted to legacy champion⁠

    Thibaut Forest +1: Claude Opus 5 (1M context)
    f5f3fda
  6. Phase 56 addendum: public refutes UNANCHORED frontier (1877.08, swaps 517 vs 580); fix = value-anchor to plain logbag⁠

    Thibaut Forest +1: Claude Opus 5 (1M context)
    86f3f93
  7. Phase 56: NEW CHAMPION logbag_rank + gbm rank-blend w=0.30 (purge 1630.3, was 1972.0)⁠

    Thibaut Forest +1: Claude Opus 5 (1M context)
    698401a
  8. cv: de-tune harness from champion output shape (user) - rank_stats/rec12/rec20 removed, plan-derived swaps kept; SCORE reproduces 1972.0⁠

    Thibaut Forest +1: Claude Opus 5 (1M context)
    645d27e
  9. cv: temporal purge is the ONLY protocol (user spec) - all48oof fits per scenario on ALL buildings' pairs whose 42d label windows lie fully before/after the scenario window (no building holdout, full-fleet plans); all48/static/screen/lobo/ablate and the lobo/wf/self variants REMOVED (git history keeps them; exp_x29/x30 need the old cv.py); SCORE 1877.3 -> 1972.0 (harsher: warmup 3560.3 vs 2875.3 loses the calendar-local window; panel 1839.6 vs 1857.7)⁠

    Thibaut Forest +1: Claude Fable 5
    4f5f060
  10. all48oof static: EXACT leave-one-building-out predictions per user spec (24 models on 23 buildings each, was 5 fold models on ~19); SCORE 1913.3 -> 1877.3⁠

    Thibaut Forest +1: Claude Opus 5 (1M context)
    227c214
  11. all48oof prints THE SCORE as a single value (mean cost/scenario, building-clean predictions, full-fleet plans); lobo demoted to diagnostic⁠

    Thibaut Forest +1: Claude Opus 5 (1M context)
    596925f
  12. cv lobo: leave-one-building-out cost CV (user-specified primary) - per scenario x building, static fit on the other 23 buildings' full closed history, per-building plan+score; reports mean/bldg, sum, recall, and zero-swap-with-death count (the model-adaptation to-do list)⁠

    Thibaut Forest +1: Claude Opus 5 (1M context)
    2512a0a
  13. all48oof: static fit protocol is the default (user-shaped) - one fit per fold on the other buildings' FULL closed history, deployment's exact shape; 40s runtime; new reference panel 1893.4 / ALL-48 1913.3; 'cv all48oof wf' keeps the walk-forward variant⁠

    Thibaut Forest +1: Claude Opus 5 (1M context)
    79a4af2
  14. all48oof defaults to the oof arm only (THE SCORE); 'cv all48oof self' re-enables the validity-check arm and the flattery readout⁠

    Thibaut Forest +1: Claude Opus 5 (1M context)
    11cbd93
  15. Silence the benign all-NaN-imputer warning at source (tau_projected before the curve exists); message-targeted so real warnings stay visible⁠

    Thibaut Forest +1: Claude Opus 5 (1M context)
    534abdd
  16. Phase 52 addendum: building split extended to the cost harness - new cv all48oof protocol (building-OOF p42, full-fleet planning, paired self arm); panel 1679.2 -> 1813.6 (+134.4/origin, 8W/26L), self-building fit flatters all48 by ~+134/origin; prices harness optimism, no selection change⁠

    Thibaut Forest +1: Claude Fable 5
    43761b5
  17. Phase 52: building-grouped CV adopted - screen gains leave-building-out column; contamination gradient rf +.194 (scenario) -> ~0 (building); logbag choice confirmed, no reversal⁠

    Thibaut Forest +1: Claude Fable 5
    edd5d5e
  18. Phase 48: public refutes cert-first (+43.19, ghost force-swaps at ~111 early-days each); default off⁠

    Thibaut Forest +1: Claude Opus 5 (1M context)
    e382bfa
  19. Phase 48 submission: isolate cert-first (HELDOUT_POOL default off)⁠

    Thibaut Forest +1: Claude Opus 5 (1M context)
    9438aac
  20. Phase 47 renumber: blind-champion adjudication (was duplicate Phase 46); register blind4/blind3 cv variants⁠

    Thibaut Forest +1: Claude Fable 5
    a94f6b9
  21. Phase 46: overfitting audit - luck bounds, certain pool; ADOPT cert-first (k=3) ordering, all-48 1661.7 -> 1623.7, 3W/0L/45T⁠

    Thibaut Forest +1: Claude Opus 5 (1M context)
    4e17cd1
  22. Phase 44: leaderboard inversion - appetite closed on numbers, tail transfer is the defect, no local instrument sees it⁠

    Thibaut Forest +1: Claude Opus 5 (1M context)
    ab4b0fd

  1. Phase 41-42: fixed-N ablation rejects the vrel port; public says pooling is a wash⁠

    Thibaut Forest +1: Claude Opus 5 (1M context)
    41a82cd
  2. Phase 40: port the research loop's CV discipline + ship in-fleet pooling⁠

    Thibaut Forest +1: Claude Opus 5 (1M context)
    c7d5d98

  1. Phase 34-35: retire cross-fleet CV, re-screen 72 configs, champion unchanged⁠

    Thibaut Forest +1: Claude Fable 5
    7d93fb8
  2. Phase 28 public refutation: revert static appetite to 0.8, cliff boost off⁠

    Thibaut Forest +1: Claude Fable 5
    bb5a0c1
  3. Phase 28: cliff-gated static appetite (cliff_count22) for held-out splits⁠

    Thibaut Forest +1: Claude Fable 5
    6ea03da

  1. Phase 27: held-out-parity audit - penalty wiring + 3-layer failure isolation⁠

    Thibaut Forest +1: Claude Opus 5 (1M context)
    fc780fa
  2. Phase 24b+26: static per-split fit + ALPHA_STATIC=1.5 for held-out splits⁠

    Thibaut Forest +1: Claude Opus 5 (1M context)
    faf80ea
  3. Phase 21-23: unmasked foreign pooling for held-out splits + Docker PATH fix⁠

    Thibaut Forest +1: Claude Opus 5 (1M context)
    3c7b883