store: SBA Scout Rust Phase 6: stat weights configurable via TOML settings

This commit is contained in:
Cal Corum 2026-02-26 19:18:27 -06:00
parent f80f25a880
commit 56fd73bc86

View File

@ -0,0 +1,31 @@
---
id: c7aab060-25b8-4128-a661-eefad9dc4674
type: decision
title: "SBA Scout Rust Phase 6: stat weights configurable via TOML settings"
tags: [sba-scout, rust, configuration, phase-6, calc, weights, toml, figment]
importance: 0.6
confidence: 0.8
created: "2026-02-27T01:18:26.984962+00:00"
updated: "2026-02-27T01:18:26.984962+00:00"
---
# SBA Scout Rust — Phase 6 Configuration Decision
## Decision
Cal requested that batter and pitcher stat weight constants be made configurable via the TOML settings file rather than hardcoded in source.
## Current State (Phase 1)
Weights are hardcoded as `BATTER_WEIGHTS` and `PITCHER_WEIGHTS` arrays in `calc/weights.rs`.
## Planned Phase 6 Change
- Expose standardized scoring weights in `settings.toml`
- Load via `figment` config pipeline (already used for other settings)
- Allows tuning matchup scoring weights without recompiling
## Context
- Python SBA Scout has a `RatingWeights` in `config.py` for legacy composite ratings — this is the Rust equivalent for the standardized scoring system
- Standardized scores use a -3 to +3 range based on league averages/stdev
- Handedness-aware: `vLHP`/`vRHP` for batters, `vLHB`/`vRHB` for pitchers
## Repository
- Repo: `sba-scouting`, branch `feat/rust-rewrite`, subdir `rust/`