mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
scoring.py adds the telescoping marginal cascade that serves two of the three ADR-0016 scoring roles: - marginal_impacts(scorer, baseline, overlays): applies overlays cumulatively in order and reports each measure's marginal MeasureImpact (sap_points + carbon/energy savings). Role 3 (final-package attribution) — the marginals telescope EXACTLY to the whole-package total. - independent_option_impacts(scorer, baseline, options): role 1 — scores each Option's overlay independently vs baseline, scoring each DISTINCT overlay once (Options sharing an overlay reuse the result). Approximate signal for the optimiser; never surfaced as a measure's true impact. Role 2 (whole-package re-score) is PackageScorer.score directly. Three behaviour tests on the real Sap10Calculator / a counting stand-in (hand-built EPD): single-overlay marginal == improvement-over-baseline; two-overlay marginals telescope to the package total; per-Option dedup scores each distinct overlay once. Closes #1156. pyright strict clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| applications | ||
| domain | ||
| infrastructure | ||
| orchestration | ||
| repositories | ||
| utilities | ||
| __init__.py | ||
| conftest.py | ||
| test_lambda_packaging.py | ||