fix(rectification): bump scoring identity to scoring-10 for functional profile v2; dated contract by generation (BUG-1181)
Functional roles feed the *_functional_*_auxiliary rules, so57782aeachanges candidate scores for identical input (memoization fixture 12:00: 8.6274 -> 8.4977). Per the "scoring semantics change => bump ALGORITHM_VERSION" precedent (scoring-7 -> 8 -> 9), the identity moves to scoring-10; policy v3, input contract v5 and Skill versions are unchanged, history is not relabeled. Five frontend sites and one SQL guard tested `=== "...scoring-9"` for the dated candidate-window contract; they now use isDatedScoringAlgorithmVersion / a generation regex (>= 9). Migration 20261002010000 only recreates validate_dated_rectification_candidate (one-line guard change). Memoization golden v2 written by the test's own write_golden; v1 (scoring-8) frozen by sha256. Real-engine scoring-10 cross-midnight golden added. Research records re-frozen per ERR-110 (label functional_v2_2026_10_02) and scripts/functional_benefics.py added to the frozen production identity (ERR-114:57782aeachanged scores without tripping it). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
57782aea8a
commit
3733b9787b
@@ -30,8 +30,8 @@ from scripts.research.sealed_holdout_rerun import (
|
||||
OFFSETS = (-30, -20, -15, -10, -8, -5, -3, 0, 3, 5, 8, 10, 15, 20, 30)
|
||||
RADII = (15, 30, 60)
|
||||
MINUTE_STEP = 1
|
||||
FREEZE = ROOT / "docs/research/reported_offset_quality_wording_2026_09_29.freeze.json"
|
||||
REPORT = ROOT / "docs/research/reported_offset_quality_wording_2026_09_29.json"
|
||||
FREEZE = ROOT / "docs/research/reported_offset_functional_v2_2026_10_02.freeze.json"
|
||||
REPORT = ROOT / "docs/research/reported_offset_functional_v2_2026_10_02.json"
|
||||
LEGACY_REPORT = ROOT / "docs/research/reported_offset_2026_09_20.json"
|
||||
|
||||
|
||||
|
||||
@@ -27,8 +27,8 @@ from scripts.minute_rectification_feature_facts_v4 import build_feature_fact_row
|
||||
from scripts.minute_rectification_holdout_validator import validate
|
||||
|
||||
DATASET = ROOT / "references/real_case_calibration/minute_rectification_holdout_v3.json"
|
||||
FREEZE = ROOT / "docs/research/sealed_holdout_rerun_quality_wording_2026_09_29.freeze.json"
|
||||
REPORT = ROOT / "docs/research/sealed_holdout_rerun_quality_wording_2026_09_29.json"
|
||||
FREEZE = ROOT / "docs/research/sealed_holdout_rerun_functional_v2_2026_10_02.freeze.json"
|
||||
REPORT = ROOT / "docs/research/sealed_holdout_rerun_functional_v2_2026_10_02.json"
|
||||
LEGACY_REPORT = ROOT / "docs/research/sealed_holdout_rerun_2026_09_20.json"
|
||||
ARCHIVE = ROOT / "docs/research/history/rectification_pre_cross_midnight_2026_09_20"
|
||||
PRODUCTION_FILES = [
|
||||
@@ -42,6 +42,9 @@ PRODUCTION_FILES = [
|
||||
"scripts/rectification/decision_policy.py",
|
||||
"scripts/rectification/refinement_packet.py",
|
||||
"scripts/rectification/api_service.py",
|
||||
# BUG-1181: functional roles feed *_functional_*_auxiliary scoring rules;
|
||||
# 57782aea changed scores without tripping this identity.
|
||||
"scripts/functional_benefics.py",
|
||||
]
|
||||
RESEARCH_FILES = [
|
||||
"scripts/research/reported_offset_sweep.py",
|
||||
|
||||
Reference in New Issue
Block a user