Syntrex Claude Sonnet 4.6 commited on
Commit
def0d64
·
1 Parent(s): e85eb56

Batch 9/10 visibility polish: surface arsenal and family-zone matchup fields in output

Browse files

- Add arsenal_hit_boost, arsenal_hr_boost, arsenal_tb2p_boost, arsenal_whiff_risk, arsenal_sample_size
- Add family_zone_hit/hr/tb2p_boost, family_zone_whiff_risk, family_zone_sample_size, pitcher_family_zone_sample_size
- Fix traj_boost key names (hit_adj / hr_adj / tb2p_adj) so trajectory fields are non-None in output
- No math, weights, ordering, or clamps changed — visibility-only patch

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

Files changed (1) hide show
  1. models/live_fair_simulator_v3.py +16 -3
models/live_fair_simulator_v3.py CHANGED
@@ -516,6 +516,19 @@ def build_upcoming_simulated_rows(
516
  "zone_tb2p_boost": zone_matchup_adj.get("tb2p_zone_boost"),
517
  "zone_sample_size": batter_zone_row.get("zone_sample_size"),
518
 
 
 
 
 
 
 
 
 
 
 
 
 
 
519
  "rolling_pitch_sample_size": pitcher_adj.get("rolling_pitch_sample_size"),
520
  "rolling_pitch_velocity_sample_size": pitcher_adj.get("rolling_pitch_velocity_sample_size"),
521
  "rolling_pitch_spin_sample_size": pitcher_adj.get("rolling_pitch_spin_sample_size"),
@@ -527,9 +540,9 @@ def build_upcoming_simulated_rows(
527
  "tunnel_score": trajectory_row.get("tunnel_score"),
528
  "release_consistency_score": trajectory_row.get("release_consistency_score"),
529
  "trajectory_sample_size": trajectory_row.get("trajectory_sample_size"),
530
- "traj_hit_boost": traj_adj.get("traj_hit_boost"),
531
- "traj_hr_boost": traj_adj.get("traj_hr_boost"),
532
- "traj_tb2p_boost": traj_adj.get("traj_tb2p_boost"),
533
  }
534
  )
535
 
 
516
  "zone_tb2p_boost": zone_matchup_adj.get("tb2p_zone_boost"),
517
  "zone_sample_size": batter_zone_row.get("zone_sample_size"),
518
 
519
+ "arsenal_hit_boost": arsenal_matchup_adj.get("arsenal_hit_boost"),
520
+ "arsenal_hr_boost": arsenal_matchup_adj.get("arsenal_hr_boost"),
521
+ "arsenal_tb2p_boost": arsenal_matchup_adj.get("arsenal_tb2p_boost"),
522
+ "arsenal_whiff_risk": arsenal_matchup_adj.get("arsenal_whiff_risk"),
523
+ "arsenal_sample_size": batter_arsenal_row.get("arsenal_sample_size"),
524
+
525
+ "family_zone_hit_boost": family_zone_matchup_adj.get("family_zone_hit_boost"),
526
+ "family_zone_hr_boost": family_zone_matchup_adj.get("family_zone_hr_boost"),
527
+ "family_zone_tb2p_boost": family_zone_matchup_adj.get("family_zone_tb2p_boost"),
528
+ "family_zone_whiff_risk": family_zone_matchup_adj.get("family_zone_whiff_risk"),
529
+ "family_zone_sample_size": batter_family_zone_row.get("family_zone_sample_size"),
530
+ "pitcher_family_zone_sample_size": pitcher_family_zone_row.get("family_zone_sample_size"),
531
+
532
  "rolling_pitch_sample_size": pitcher_adj.get("rolling_pitch_sample_size"),
533
  "rolling_pitch_velocity_sample_size": pitcher_adj.get("rolling_pitch_velocity_sample_size"),
534
  "rolling_pitch_spin_sample_size": pitcher_adj.get("rolling_pitch_spin_sample_size"),
 
540
  "tunnel_score": trajectory_row.get("tunnel_score"),
541
  "release_consistency_score": trajectory_row.get("release_consistency_score"),
542
  "trajectory_sample_size": trajectory_row.get("trajectory_sample_size"),
543
+ "traj_hit_boost": traj_adj.get("hit_adj"),
544
+ "traj_hr_boost": traj_adj.get("hr_adj"),
545
+ "traj_tb2p_boost": traj_adj.get("tb2p_adj"),
546
  }
547
  )
548