You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
scientific(coverage): make execution consume validation-owner window cardinality #751
#750 moved the declared rolling-origin window cardinality into CoverageCalibrationDesign::tepp_nominal_95_v1() and bound it into the prospective design fingerprint. The execution owner still keeps an independent EXPECTED_ROLLING_ORIGIN_WINDOW_COUNT: usize = 5 in analysis_engine::coverage_calibration_execution and uses that copied literal for cutoff-shape validation, vector capacity, final window-count validation, and the regression assertion.
The current values agree, so today's numerical result is unchanged. The problem is ownership: a future validation-design revision can change the owner-issued cardinality/fingerprint while the execution path continues to construct and validate a caller-local count. That would either reject the owner design for the wrong reason or, if surrounding geometry also changed, execute a different within-DGP estimand than the fingerprinted design. This is exactly the copied-contract drift #750 was intended to remove.
Required repair
remove the analysis-local rolling-origin window-count literal;
make coverage_calibration_execution read the count from CoverageCalibrationDesign::tepp_nominal_95_v1().declared_rolling_origin_window_count() for cutoff geometry, allocation, final validation, and regression evidence;
keep actual partition construction in analysis_engine; do not move split/cutoff arithmetic into validation_core;
validation_core owns the prospective estimand cardinality; analysis_engine owns how the five current windows are constructed from the scenario and canonical rolling-origin admission. The fix is dependency direction, not a second splitter or a new acceptance criterion.
Implemented ordinary-forward on #639. Exact lineage: 11d46e9fe2314924d269724363a510edc18e3df1 removes the analysis-local EXPECTED_ROLLING_ORIGIN_WINDOW_COUNT authority and makes cutoff geometry/allocation/final validation/regression consume CoverageCalibrationDesign::tepp_nominal_95_v1().declared_rolling_origin_window_count(); 2d146d6a1a605181a2558976340d3fd0c6282ab0 currentizes the study-assembly rustdoc from schema-v6 to schema-v9; c7db4b224084397a39d4877c64739f00c03e4705 adds the CHANGELOG and is the current exact head.
No synthetic RED is claimed: before this repair both authorities were numerically 5, so the defect was duplicated ownership/future drift, not an observable old-head numerical mismatch. The regression contract now binds execution to the validation owner. This does not execute the 10,000-DGP study, define numerical-failure acceptability, or satisfy #680. Keep #751 open until protected-main inheritance or a fully verified successor.
#753 is the successor owner-path repair after #751. #751 removed the duplicated analysis-local window-count authority; #753 removes the remaining analysis-local first-training-event literal and makes that temporal start index part of the prospective validation design/fingerprint. Exact #639 head is 5eaa422e318903407c1ed8a2ee0a7e82c07d2b0f; fingerprint domain is v9 with canonical fingerprint f6fd3855ec7ef413309cbb0b48b3572853d4fa87d4c46e47f265e06074aeffa0. #751 should remain open until its valid delta is inherited by protected main; #753 does not supersede or discard the cardinality repair.
Activity
fix(scientific): consume owner coverage window count (#751)
docs(scientific): currentize coverage evidence schema (#751)
docs(changelog): record coverage window owner binding (#751)
seonghobae commentedon Sep 24, 2026
Implemented ordinary-forward on #639. Exact lineage:
11d46e9fe2314924d269724363a510edc18e3df1removes the analysis-localEXPECTED_ROLLING_ORIGIN_WINDOW_COUNTauthority and makes cutoff geometry/allocation/final validation/regression consumeCoverageCalibrationDesign::tepp_nominal_95_v1().declared_rolling_origin_window_count();2d146d6a1a605181a2558976340d3fd0c6282ab0currentizes the study-assembly rustdoc from schema-v6 to schema-v9;c7db4b224084397a39d4877c64739f00c03e4705adds the CHANGELOG and is the current exact head.No synthetic RED is claimed: before this repair both authorities were numerically
5, so the defect was duplicated ownership/future drift, not an observable old-head numerical mismatch. The regression contract now binds execution to the validation owner. This does not execute the 10,000-DGP study, define numerical-failure acceptability, or satisfy #680. Keep #751 open until protected-main inheritance or a fully verified successor.seonghobae commentedon Sep 24, 2026
#753 is the successor owner-path repair after #751. #751 removed the duplicated analysis-local window-count authority; #753 removes the remaining analysis-local first-training-event literal and makes that temporal start index part of the prospective validation design/fingerprint. Exact #639 head is
5eaa422e318903407c1ed8a2ee0a7e82c07d2b0f; fingerprint domain is v9 with canonical fingerprintf6fd3855ec7ef413309cbb0b48b3572853d4fa87d4c46e47f265e06074aeffa0. #751 should remain open until its valid delta is inherited by protected main; #753 does not supersede or discard the cardinality repair.