From 56fd73bc86951e357858a22a69239f512296d0b4 Mon Sep 17 00:00:00 2001 From: Cal Corum Date: Thu, 26 Feb 2026 19:18:27 -0600 Subject: [PATCH] store: SBA Scout Rust Phase 6: stat weights configurable via TOML settings --- ...weights-configurable-via-toml-se-c7aab0.md | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 graph/decisions/sba-scout-rust-phase-6-stat-weights-configurable-via-toml-se-c7aab0.md diff --git a/graph/decisions/sba-scout-rust-phase-6-stat-weights-configurable-via-toml-se-c7aab0.md b/graph/decisions/sba-scout-rust-phase-6-stat-weights-configurable-via-toml-se-c7aab0.md new file mode 100644 index 00000000000..8343e25a2b3 --- /dev/null +++ b/graph/decisions/sba-scout-rust-phase-6-stat-weights-configurable-via-toml-se-c7aab0.md @@ -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/`