Skip to content

Commit 9f868c7

Browse files
committed
fp-stability: split the 1876-line module into metrics/runners/report (no behavior change)
The PR had grown fp_stability.py well past the 1000-line soft guideline. Pure relocation — no function body, string, constant, or logic changed — into a clean dependency chain: - fp_stability_metrics.py (474, leaf): regexes/constants + pure parsing, source-reading, sig-bits, cancellation, ranking, statement-bounds helpers. Imports no sibling. - fp_stability_runners.py (530): Verrou subprocess orchestration (run/dd/vprec/cancellation/confirmation/disambiguation). Imports metrics. - fp_stability_report.py (244): GitHub summary + annotation emitters. Imports metrics. - fp_stability.py (715): CLI entry, CASES, _run_case, _blank_result; imports explicitly from the three. No import cycles. Also dropped the unused 'case' parameter from _run_cancellation_check/_run_float_max_check. Verified: 69 toolchain tests, ruff (incl. F-rules: no undefined names), precheck all 7, and a live fp-stability run confirming the cross-module orchestration (sig-bits pass/fail + cancellation sweep) is unchanged. Test import repointed to fp_stability_metrics.
1 parent d45bc5b commit 9f868c7

5 files changed

Lines changed: 1280 additions & 1193 deletions

File tree

0 commit comments

Comments
 (0)