Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
394 commits
Select commit Hold shift + click to select a range
3d949b9
ci: finalize local review gates
TheHiddenObserver Aug 5, 2026
c9d6700
ci: repair formula activation boundary
TheHiddenObserver Aug 5, 2026
39e365f
fix: require formula for formula-owned validation
github-actions[bot] Aug 5, 2026
c6b5b28
ci: repair knockoff selector parameter transactions
TheHiddenObserver Aug 5, 2026
9d72383
fix: make knockoff parameter updates transactional
github-actions[bot] Aug 5, 2026
fba478a
ci: remove final review-fix workflows
TheHiddenObserver Aug 5, 2026
f9b775d
perf: enforce compile precision matrix
TheHiddenObserver Aug 5, 2026
8ac796b
ci: isolate group compile matrix caches
TheHiddenObserver Aug 5, 2026
bcaba71
test: isolate group compile matrix caches
github-actions[bot] Aug 5, 2026
fce4b8a
ci: remove final GPU-test patch workflow
TheHiddenObserver Aug 5, 2026
73fb5dd
ci: run second independent PR87 review fixes
TheHiddenObserver Aug 5, 2026
dcf861a
chore: stage second-review patch program
TheHiddenObserver Aug 5, 2026
4776afc
ci: execute second-review source fixes
TheHiddenObserver Aug 5, 2026
b7c7e42
fix: avoid GLM formula weight conversion shadowing
TheHiddenObserver Aug 5, 2026
fff687a
ci: rerun second-review fixes after shadowing repair
TheHiddenObserver Aug 5, 2026
1f8cfb9
ci: publish validated second-review fixes
TheHiddenObserver Aug 5, 2026
1419719
fix: require formula and compile execution evidence
github-actions[bot] Aug 5, 2026
399789c
ci: placeholder
TheHiddenObserver Aug 5, 2026
6a8a402
noop
TheHiddenObserver Aug 5, 2026
844f1ae
noop2
TheHiddenObserver Aug 5, 2026
0804be2
noop3
TheHiddenObserver Aug 5, 2026
32664ed
noop4
TheHiddenObserver Aug 5, 2026
f29204b
noop5
TheHiddenObserver Aug 5, 2026
d2e21e4
ci: remove second-review temporary files
TheHiddenObserver Aug 5, 2026
fff9794
ci: stage formula weight review fix
TheHiddenObserver Aug 5, 2026
345ade7
ci: rerun formula weight review fix tests
TheHiddenObserver Aug 5, 2026
a334fa6
fix: validate formula sample weights after alignment
github-actions[bot] Aug 5, 2026
105ab06
ci: remove formula-weight review workflows
TheHiddenObserver Aug 5, 2026
5e37526
ci: stage formula weight GPU matrix tests
TheHiddenObserver Aug 5, 2026
2023671
test: cover formula weight GPU device purity
github-actions[bot] Aug 5, 2026
b474c51
ci: remove formula weight GPU test workflow
TheHiddenObserver Aug 5, 2026
e519996
ci: stage GLM inference device-purity fix
TheHiddenObserver Aug 5, 2026
b836963
fix: keep GLM inference weights on device
github-actions[bot] Aug 5, 2026
779da52
ci: stage GPU predicate review fix
TheHiddenObserver Aug 5, 2026
1b6e2e7
test: repair GPU inference roundtrip predicates
github-actions[bot] Aug 5, 2026
eefbd47
ci: remove final inference review workflows
TheHiddenObserver Aug 5, 2026
4294f9d
ci: stage GLM device-purity test binding fix
TheHiddenObserver Aug 5, 2026
6c0e934
test: patch GLM device-purity binding
github-actions[bot] Aug 5, 2026
db61d9d
ci: remove final device-purity review workflow
TheHiddenObserver Aug 5, 2026
82a62c0
ci: stage weighted FISTA review fix
TheHiddenObserver Aug 5, 2026
d05d5e9
fix: use weighted centering for GLM FISTA
github-actions[bot] Aug 5, 2026
499f1a7
ci: remove weighted FISTA review workflow
TheHiddenObserver Aug 5, 2026
17e1d08
ci: stage weighted objective documentation fix
TheHiddenObserver Aug 5, 2026
f6ecf2b
docs: record weighted formula and FISTA fixes
github-actions[bot] Aug 5, 2026
bba474c
ci: remove weighted objective documentation workflow
TheHiddenObserver Aug 5, 2026
14c54c5
ci: stage weighted IRLS and compile-policy review fix
TheHiddenObserver Aug 5, 2026
a5d9149
ci: rerun weighted IRLS review fix on full CPU suite
TheHiddenObserver Aug 5, 2026
fc9f510
fix: align weighted IRLS and compile policy
github-actions[bot] Aug 5, 2026
e5ba35f
ci: remove weighted IRLS review workflows
TheHiddenObserver Aug 5, 2026
a645ce2
ci: stage IRLS objective and weighted diagnostics review fix
TheHiddenObserver Aug 5, 2026
9dede2f
fix: unify IRLS objective and weighted diagnostics
github-actions[bot] Aug 5, 2026
b44914e
ci: remove IRLS objective review workflow
TheHiddenObserver Aug 5, 2026
a5517a9
ci: stage analytic-weight inference review fix
TheHiddenObserver Aug 5, 2026
bf6ef03
ci: rerun analytic-weight review fix with migrated tests
TheHiddenObserver Aug 5, 2026
0e28ae3
ci: rerun analytic-weight fixes with corrected test import
TheHiddenObserver Aug 5, 2026
c06e394
fix: preserve analytic-weight inference contracts
github-actions[bot] Aug 5, 2026
b664d6f
ci: remove analytic-weight review workflows
TheHiddenObserver Aug 5, 2026
8080cb0
ci: stage GLM response-domain review fix
TheHiddenObserver Aug 5, 2026
0e544a3
fix: enforce GLM response domains
github-actions[bot] Aug 5, 2026
5850b96
ci: stage penalized GLM response-domain review fix
TheHiddenObserver Aug 5, 2026
73a4936
fix: validate penalized GLM response domains
github-actions[bot] Aug 5, 2026
48218e3
ci: remove GLM response-domain review workflows
TheHiddenObserver Aug 5, 2026
751cc00
ci: stage scalar GLM response-shape review fix
TheHiddenObserver Aug 5, 2026
c8d70d8
ci: rerun scalar GLM shape fix with list compatibility
TheHiddenObserver Aug 5, 2026
b7114a3
fix: enforce scalar GLM response shape
github-actions[bot] Aug 5, 2026
eac9213
ci: remove scalar GLM response-shape review workflows
TheHiddenObserver Aug 5, 2026
771f42e
ci: stage real nonempty GLM response review fix
TheHiddenObserver Aug 5, 2026
2385d4e
ci: rerun real nonempty GLM response fix before casts
TheHiddenObserver Aug 5, 2026
808457c
fix: require real nonempty GLM responses
github-actions[bot] Aug 5, 2026
9d30aa7
ci: remove real-response review workflows
TheHiddenObserver Aug 5, 2026
e3fc937
ci: stage GLM design and weight contract review fix
TheHiddenObserver Aug 5, 2026
725a9dc
fix: unify GLM design and weight contracts
github-actions[bot] Aug 5, 2026
70a8dce
ci: remove GLM design and weight review workflow
TheHiddenObserver Aug 5, 2026
fb29948
chore: stage PR87 review fix v37
TheHiddenObserver Aug 5, 2026
bca4fb5
chore: run PR87 review fix v37
TheHiddenObserver Aug 5, 2026
5d02f07
fix: harden weighted solver and HC1 contracts
github-actions[bot] Aug 5, 2026
e0bc806
chore: stage PR87 review fix v38
TheHiddenObserver Aug 5, 2026
e2a10e7
chore: run PR87 review fix v38
TheHiddenObserver Aug 5, 2026
2ba9460
fix: harden adjacent solver contracts
github-actions[bot] Aug 5, 2026
3bbbd75
chore: stage PR87 review fix v39
TheHiddenObserver Aug 5, 2026
5cade0d
chore: run PR87 review fix v39
TheHiddenObserver Aug 5, 2026
776605e
fix: preserve solver objectives and fallbacks
github-actions[bot] Aug 5, 2026
bf3c606
chore: stage PR87 review fix v40
TheHiddenObserver Aug 5, 2026
1d150de
chore: run PR87 review fix v40
TheHiddenObserver Aug 5, 2026
de85251
chore: stage PR87 review fix v41
TheHiddenObserver Aug 5, 2026
274ee28
chore: run PR87 review fix v41
TheHiddenObserver Aug 5, 2026
2bcff7f
chore: stage PR87 review fix v42
TheHiddenObserver Aug 5, 2026
758781a
chore: run PR87 review fix v42
TheHiddenObserver Aug 5, 2026
e032329
fix: align solver compatibility and backend contracts
github-actions[bot] Aug 5, 2026
2de6d7b
chore: trigger exact-head validation
TheHiddenObserver Aug 5, 2026
10861c6
chore: stage PR87 review fix v43
TheHiddenObserver Aug 5, 2026
e3804d0
chore: run PR87 review fix v43
TheHiddenObserver Aug 5, 2026
411b24b
chore: stage PR87 review fix v44
TheHiddenObserver Aug 5, 2026
e1dd662
chore: run PR87 review fix v44
TheHiddenObserver Aug 5, 2026
fae8632
fix: preserve backend failures in Newton validation
github-actions[bot] Aug 5, 2026
2837b2e
chore: stage PR87 review fix v45
TheHiddenObserver Aug 5, 2026
1e430c6
chore: run PR87 review fix v45
TheHiddenObserver Aug 5, 2026
cf68950
chore: stage PR87 review fix v46
TheHiddenObserver Aug 5, 2026
5fbb3df
chore: run PR87 review fix v46
TheHiddenObserver Aug 5, 2026
2092d0e
fix: normalize iterative solver dtype contracts
github-actions[bot] Aug 5, 2026
5e06de6
chore: stage PR87 review fix v47
TheHiddenObserver Aug 5, 2026
1493bb6
chore: run PR87 review fix v47
TheHiddenObserver Aug 5, 2026
8cb253f
fix: preserve backend linear-solve failures
github-actions[bot] Aug 5, 2026
ce7ec12
chore: stage PR87 review fix v48
TheHiddenObserver Aug 5, 2026
487894e
chore: run PR87 review fix v48
TheHiddenObserver Aug 5, 2026
ef0165e
fix: align proximal Newton trial backtracking
github-actions[bot] Aug 5, 2026
4fca0fb
chore: stage PR87 review fix v49
TheHiddenObserver Aug 5, 2026
d2a7ba0
chore: run PR87 review fix v49
TheHiddenObserver Aug 5, 2026
0ee4af7
fix: preserve Armijo index errors
github-actions[bot] Aug 5, 2026
43c53c6
chore: trigger exact-head validation
TheHiddenObserver Aug 5, 2026
44351d8
chore: add PR87 broad-exception scan
TheHiddenObserver Aug 5, 2026
dbd9d0a
chore: run PR87 broad-exception scan
TheHiddenObserver Aug 5, 2026
59349b3
chore: stage PR87 linalg fallback fixes
TheHiddenObserver Aug 5, 2026
17689da
chore: run PR87 linalg fallback fix batch
TheHiddenObserver Aug 5, 2026
927db5b
chore: correct PR87 v50 patch harness
TheHiddenObserver Aug 5, 2026
bba60e8
chore: make PR87 v50 harness section-based
TheHiddenObserver Aug 5, 2026
33cd963
fix: preserve GPU linalg infrastructure failures
github-actions[bot] Aug 5, 2026
69e0216
chore: stage PR87 CV objective fixes
TheHiddenObserver Aug 5, 2026
911191b
chore: run PR87 CV objective fix batch
TheHiddenObserver Aug 5, 2026
758fced
fix: preserve penalized CV objectives
github-actions[bot] Aug 5, 2026
a79bfa8
chore: run PR87 independent fallback audit
TheHiddenObserver Aug 5, 2026
4eae9f7
chore: stage PR87 CV numeric fallback fixes
TheHiddenObserver Aug 5, 2026
cda0475
chore: run PR87 CV numeric fallback fix batch
TheHiddenObserver Aug 5, 2026
a33584d
fix: complete penalized CV fallback contracts
github-actions[bot] Aug 5, 2026
50e0e31
chore: run verified PR87 statistical review fix
TheHiddenObserver Aug 5, 2026
85dc901
chore: adapt weighted Torch parity gate
TheHiddenObserver Aug 5, 2026
c3dcbed
chore: fix weighted Torch parity assertions
TheHiddenObserver Aug 5, 2026
35ef5f4
fix: correct weighted logistic and fallback semantics
github-actions[bot] Aug 5, 2026
4a52cea
chore: run PR87 dedicated CV review fix
TheHiddenObserver Aug 5, 2026
47d865f
fix: preserve dedicated CV backend contracts
github-actions[bot] Aug 5, 2026
110ee48
chore: run PR87 weighted CV grid review fix
TheHiddenObserver Aug 5, 2026
9f2e2fb
chore: normalize generated LogisticCV grid indentation
TheHiddenObserver Aug 5, 2026
a4c3b70
chore: repair generated LogisticCV dedent
TheHiddenObserver Aug 5, 2026
1a780a2
chore: diagnose generated LogisticCV indentation
TheHiddenObserver Aug 5, 2026
1006893
chore: normalize LogisticCV regions independently
TheHiddenObserver Aug 5, 2026
3f2f052
chore: locate LogisticCV input block structurally
TheHiddenObserver Aug 5, 2026
6014202
chore: inspect raw LogisticCV patch output
TheHiddenObserver Aug 5, 2026
b24fc52
chore: indent only generated LogisticCV grid
TheHiddenObserver Aug 5, 2026
d9248fc
fix: weight dedicated CV default grids
github-actions[bot] Aug 5, 2026
4fe3318
chore: stage auto CV routing fix
TheHiddenObserver Aug 5, 2026
3678dfd
chore: run auto CV routing review fix
TheHiddenObserver Aug 5, 2026
31bf5a3
fix: preserve auto CV backend routing
github-actions[bot] Aug 5, 2026
dc13f82
chore: trigger exact-head validation
TheHiddenObserver Aug 5, 2026
32f918b
chore: stage CV refit backend consistency fix
TheHiddenObserver Aug 5, 2026
90d7f4b
chore: run CV refit backend review fix
TheHiddenObserver Aug 5, 2026
db952da
fix: keep CV refit on selected backend
github-actions[bot] Aug 5, 2026
bba8083
chore: stage dedicated CV lifecycle fix
TheHiddenObserver Aug 5, 2026
ebdaca5
chore: run dedicated CV lifecycle review fix
TheHiddenObserver Aug 5, 2026
be619be
fix: make dedicated CV refits transactional
github-actions[bot] Aug 5, 2026
78367ce
chore: stage finite-guard CV lifecycle fix
TheHiddenObserver Aug 5, 2026
5b43e85
chore: run finite-guard CV lifecycle review fix
TheHiddenObserver Aug 5, 2026
541b083
fix: reset CV state before finite validation
github-actions[bot] Aug 5, 2026
dcdb7d8
chore: stage ElasticNet inference contract fix
TheHiddenObserver Aug 5, 2026
69e43bc
chore: run ElasticNet inference review fix
TheHiddenObserver Aug 5, 2026
64cf0d4
chore: correct ElasticNet summary test contract
TheHiddenObserver Aug 5, 2026
b44263f
fix: honor ElasticNet inference contracts
github-actions[bot] Aug 5, 2026
bcd4774
docs: correct ElasticNet wrapper contracts
TheHiddenObserver Aug 5, 2026
9c68a21
chore: stage ElasticNet documentation consistency fix
TheHiddenObserver Aug 5, 2026
a7e05ce
chore: run ElasticNet documentation review fix
TheHiddenObserver Aug 5, 2026
b09b577
chore: fix ElasticNet documentation patch anchors
TheHiddenObserver Aug 5, 2026
e3a3505
chore: trigger corrected ElasticNet documentation batch
TheHiddenObserver Aug 5, 2026
c5c91eb
docs: align ElasticNet API and inference semantics
github-actions[bot] Aug 5, 2026
69b41e2
chore: stage ElasticNet Ridge scaling fix
TheHiddenObserver Aug 5, 2026
a8a530b
chore: run ElasticNet Ridge scaling review fix
TheHiddenObserver Aug 5, 2026
3570c12
docs: correct ElasticNet Ridge alpha scaling
github-actions[bot] Aug 5, 2026
c6f42e4
chore: trigger exact-head validation
TheHiddenObserver Aug 5, 2026
d2f5756
docs: remove unverified ElasticNet performance claims
TheHiddenObserver Aug 5, 2026
094de7f
docs: remove unverified ElasticNet performance claims
TheHiddenObserver Aug 5, 2026
86ec2e1
chore: stage ElasticNet evidence documentation closeout
TheHiddenObserver Aug 5, 2026
95f0c05
chore: run ElasticNet evidence documentation closeout
TheHiddenObserver Aug 5, 2026
9d1ed43
docs: qualify ElasticNet performance evidence
github-actions[bot] Aug 5, 2026
98d8f52
chore: trigger final exact-head validation
TheHiddenObserver Aug 5, 2026
d3fba1b
fix: accept cached torch compile evidence in benchmark
TheHiddenObserver Aug 5, 2026
5349844
test: cover cached torch compile benchmark evidence
TheHiddenObserver Aug 5, 2026
cad4235
fix: require prior compiled evidence for cache reuse
TheHiddenObserver Aug 5, 2026
3950b5b
test: require prior diagnostic for compile cache reuse
TheHiddenObserver Aug 5, 2026
d72d4a2
chore: apply opt-in torch compile policy
TheHiddenObserver Aug 6, 2026
eb4117c
chore: install pytest for policy update validation
TheHiddenObserver Aug 6, 2026
d2fdc11
fix: make torch compile explicitly opt-in
github-actions[bot] Aug 6, 2026
64ea8ce
chore: close out opt-in compile policy references
TheHiddenObserver Aug 6, 2026
c313eab
docs: clarify torch compile opt-in policy
github-actions[bot] Aug 6, 2026
585e084
chore: trigger exact-head validation
TheHiddenObserver Aug 6, 2026
c2e0db6
chore: remove exact-head validation trigger
TheHiddenObserver Aug 6, 2026
71a9773
bench: add torch compile scale crossover benchmark
TheHiddenObserver Aug 6, 2026
ec10dd7
test: cover torch compile scale benchmark contract
TheHiddenObserver Aug 6, 2026
2679d15
chore: validate scale benchmark on Python 3.9
TheHiddenObserver Aug 6, 2026
801f2fe
fix: keep scale benchmark compatible with Python 3.9
github-actions[bot] Aug 6, 2026
5dc8ce1
chore: trigger exact-head scale benchmark CI
TheHiddenObserver Aug 6, 2026
728aaa3
chore: remove exact-head scale benchmark CI trigger
TheHiddenObserver Aug 6, 2026
c9e2b6e
ci: run PR87 review fix cycle
TheHiddenObserver Aug 6, 2026
9570ea9
fix: close code review correctness gaps
github-actions[bot] Aug 6, 2026
fc33b04
ci: validate PR87 review fixes without test filtering
TheHiddenObserver Aug 6, 2026
f5fec82
test: validate PR87 code review fixes
github-actions[bot] Aug 6, 2026
af2e550
ci: run PR87 review round 3 fixes
TheHiddenObserver Aug 6, 2026
0cf5049
ci: fix PR87 round 3 warning capture
TheHiddenObserver Aug 6, 2026
d51bfbb
fix: normalize validated weights and torch warm starts
github-actions[bot] Aug 6, 2026
a35fb08
ci: run PR87 review round 4 fixes
TheHiddenObserver Aug 6, 2026
2e89617
fix: make logistic refits transactional
github-actions[bot] Aug 6, 2026
b62b754
ci: run PR87 review round 5 fixes
TheHiddenObserver Aug 6, 2026
9feeb28
ci: retry PR87 review round 5
TheHiddenObserver Aug 6, 2026
944d0c3
fix: validate logistic controls and convergence
github-actions[bot] Aug 6, 2026
61f1790
ci: run PR87 review round 6 fixes
TheHiddenObserver Aug 6, 2026
67be2d4
fix: make CV scoring fallbacks explicit
github-actions[bot] Aug 6, 2026
d1c9e20
ci: run PR87 review round 7 fixes
TheHiddenObserver Aug 6, 2026
af29060
fix: validate IRLS penalty and CV step hints
github-actions[bot] Aug 6, 2026
dd3ccf4
ci: run PR87 local-full review gate
TheHiddenObserver Aug 6, 2026
86d0e9a
ci: retry PR87 local-full review gate
TheHiddenObserver Aug 6, 2026
ceeaf80
ci: retry PR87 local-full gate with exact scoring anchor
TheHiddenObserver Aug 6, 2026
9208537
ci: run exact PR87 local-full closure
TheHiddenObserver Aug 6, 2026
8208af2
ci: rerun PR87 local-full closure without trailing whitespace
TheHiddenObserver Aug 6, 2026
70dc7e3
fix: close PR87 local review gates
github-actions[bot] Aug 6, 2026
3e86473
ci: run PR87 review round 9 likelihood fix
TheHiddenObserver Aug 6, 2026
3fe5df7
ci: retry PR87 review round 9 likelihood fix
TheHiddenObserver Aug 6, 2026
be09b7d
ci: retry PR87 likelihood fix with isolated patch script
TheHiddenObserver Aug 6, 2026
6577334
fix: unify logistic likelihood diagnostics
github-actions[bot] Aug 6, 2026
148210d
ci: run PR87 review round 10 inference fix
TheHiddenObserver Aug 6, 2026
3ae9dab
fix: preserve fitted likelihood during inference
github-actions[bot] Aug 6, 2026
f85c187
ci: trigger exact-head PR87 hosted validation
TheHiddenObserver Aug 6, 2026
76f9f5e
ci: remove PR87 hosted validation trigger
TheHiddenObserver Aug 6, 2026
35b9151
chore: stage PR87 classifier review patch
TheHiddenObserver Aug 6, 2026
1a80c3b
ci: run PR87 classifier review fix
TheHiddenObserver Aug 6, 2026
e9b819e
fix: align logistic prediction contracts
github-actions[bot] Aug 6, 2026
4769fdc
chore: stage PR87 threshold API review patch
TheHiddenObserver Aug 6, 2026
82427e9
ci: run PR87 threshold API review fix
TheHiddenObserver Aug 6, 2026
c53bb23
fix: unify logistic threshold validation
github-actions[bot] Aug 6, 2026
6365199
chore: stage PR87 CV scoring review patch
TheHiddenObserver Aug 6, 2026
52abe10
ci: run PR87 CV scoring review fix
TheHiddenObserver Aug 6, 2026
e960606
ci: retry PR87 CV scoring review fix
TheHiddenObserver Aug 6, 2026
aa91939
fix: preserve CV scoring programming errors
github-actions[bot] Aug 6, 2026
d4cfa27
chore: stage PR87 follow-up review patch
TheHiddenObserver Aug 6, 2026
9900458
ci: run PR87 follow-up review fix
TheHiddenObserver Aug 6, 2026
9f9463a
fix: close logistic and CV follow-up contracts
github-actions[bot] Aug 6, 2026
32e406d
chore: stage PR87 weight residency review patch
TheHiddenObserver Aug 6, 2026
f792c6e
chore: strengthen PR87 weight residency review patch
TheHiddenObserver Aug 6, 2026
74ce82b
ci: run PR87 weight residency review fix
TheHiddenObserver Aug 6, 2026
990c504
fix: keep logistic weights device-native
github-actions[bot] Aug 6, 2026
ecbdb49
chore: stage PR87 training metric review patch
TheHiddenObserver Aug 6, 2026
811c9bf
ci: run PR87 training metric review fix
TheHiddenObserver Aug 6, 2026
9dced60
ci: retry PR87 training metric review fix
TheHiddenObserver Aug 6, 2026
43aa2cc
fix: decouple logistic training metrics
github-actions[bot] Aug 6, 2026
e84f523
chore: stage PR87 summary error review patch
TheHiddenObserver Aug 6, 2026
3e8645b
ci: run PR87 summary error review fix
TheHiddenObserver Aug 6, 2026
1107cd4
fix: narrow logistic summary metric fallback
github-actions[bot] Aug 6, 2026
ab63322
ci: trigger final PR87 hosted validation
TheHiddenObserver Aug 6, 2026
1c44fe7
ci: remove final PR87 hosted validation trigger
TheHiddenObserver Aug 6, 2026
ef3bc74
fix: remove GLM survival import cycle
TheHiddenObserver Aug 6, 2026
3cefcb7
test: cover GLM import-order independence
TheHiddenObserver Aug 6, 2026
7e0cd9c
docs: record import-cycle fix
TheHiddenObserver Aug 6, 2026
9700d2b
docs: document import-order repair
TheHiddenObserver Aug 6, 2026
9397171
docs: 补充导入顺序修复说明
TheHiddenObserver Aug 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions .github/workflows/maintenance-compatibility.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Maintenance compatibility

on:
push:
branches: [master]
pull_request:
branches: [master]

permissions:
contents: read

jobs:
sklearn-compatibility:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sklearn_spec:
- scikit-learn==1.2.2
- scikit-learn==1.3.2
- scikit-learn
steps:
- uses: actions/checkout@v4

- uses: actions/setup-python@v5
with:
python-version: "3.11"

- name: Install compatibility environment
run: |
python -m pip install --upgrade pip
python -m pip install "numpy<2" scipy pytest packaging pandas patsy "${{ matrix.sklearn_spec }}"
python -m pip install -e . --no-deps

- name: Validate maintenance benchmark syntax
run: |
python -m py_compile dev/benchmarks/benchmark_torch_compile_maintenance.py

- name: Run maintenance regressions
run: |
python -m pytest \
dev/tests/test_maintenance_024_025.py \
dev/tests/test_legacy_sklearn_integration.py \
dev/tests/test_second_full_review.py::TestEstimatorCloneAndFeatureSelectionBackend::test_all_default_public_estimators_clone \
-q --tb=short
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,11 @@ dev/tests/verify_*.py
dev/tests/REMOTE_GPU_TEST_GUIDE.md
dev/tests/TORCH_BACKEND_CV_TESTING.md


# Maintained pytest modules must always be visible to git. Move manual,
# remote, benchmark, or exploratory scripts to dev/manual instead.
!dev/tests/test_*.py

# Build artifacts
build/
dist/
Expand Down
72 changes: 72 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,79 @@
# Changelog

- Removed universal ElasticNet backend thresholds, coefficient tolerances, and fixed speedup claims that were not established for the current exact-head environment; the model guide now requires workload-specific benchmarking and dtype/solver-specific validation.

- Corrected ElasticNet/Ridge scaling documentation and added a regression test confirming that `ElasticNet(alpha, l1_ratio=0)` matches `Ridge(alpha)` under the shared average-loss convention.

- Reconciled the ElasticNet API documentation with the implementation by correcting constructor defaults, removing nonexistent parameters, and replacing stale strict/approx guidance with the actual FISTA and post-fit inference semantics.

- Completed the public ElasticNet inference contract: the standalone wrapper now exposes and forwards inference options, and ElasticNetCV honors `compute_inference=True` on its final full-data refit with NumPy/CuPy/Torch matrix tests.

- Integrated transactional CV reset with the shared public finite-input guard, so NaN/Inf refit attempts invalidate stale RidgeCV, ElasticNetCV, LogisticRegressionCV, and unified penalized-CV state before validation raises.

- Made dedicated RidgeCV, ElasticNetCV, and LogisticRegressionCV refits failure-safe: every fit attempt clears stale fitted state, and CV selections are published only after the final model refit succeeds.

- Pinned AUTO-mode RidgeCV, ElasticNetCV, and LogisticRegressionCV final refits to the backend selected during CV, preventing silent Torch/CuPy backend drift after parameter selection.

- Preserved `device='auto'` through public RidgeCV, ElasticNetCV, and LogisticRegressionCV dispatch so GPU-resident inputs retain their owning backend; LogisticRegressionCV now validates 0/1 responses without a full GPU-to-CPU copy.

- Logistic and ElasticNet CV default regularization grids now use analytic weights and satisfy integer-weight row-replication equivalence; CV GPU-array device inspection no longer masks runtime failures.

- Dedicated Ridge, ElasticNet, and Logistic CV routines now preserve explicit Torch versus CuPy backend requests, normalize Device enum values consistently, and validate analytic weights before grid generation or degenerate returns.

- Corrected analytic-weight LogisticRegression IRLS across NumPy, CuPy, and Torch: weights now enter WLS curvature rather than the working-response denominator, and weighted likelihood/inference use the same objective. Narrowed penalized-CV alpha-grid and exact CuPy Ridge fallbacks so programming, CUDA OOM, and device errors propagate.

- Completed penalized-CV fallback hardening: optional Lipschitz recovery now recognizes NumPy/CuPy/Torch rank failures consistently, while alpha-grid estimation no longer hides memory or GPU infrastructure failures.

- Preserved the declared validation objective in penalized CV: non-Gaussian losses no longer silently fall back to MSE, weighted squared-error fallback retains validation weights, and GPU infrastructure failures propagate through layered CV fallbacks.

- Narrowed GPU linear-algebra fallbacks so only genuine rank/definiteness failures use least-squares, pseudo-inverse, ridge, or zero-block recovery; CUDA OOM, device, index, and programming errors now propagate.

All notable changes to statgpu are documented here, organized by release and date.

## Unreleased — maintenance hardening

- Removed the package-initialization cycle between `statgpu.glm_core` and the Cox loss export by lazily exposing `CoxPartialLikelihoodLoss`; GLM internals can now be imported first in a fresh interpreter.
- Removed the over-broad Armijo `out of range` numerical marker so index and device programming errors propagate instead of being mistaken for recoverable trial-point domain failures.
- Made proximal-Newton Armijo backtracking treat recognized numeric-domain ValueError trials consistently with Newton while still propagating input-contract and infrastructure failures.
- Narrowed the shared backend linear-system fallback to genuine rank failures; CUDA OOM, device, and unrelated RuntimeError failures now propagate instead of being silently retried with least squares.
- Made shared NumPy zero/conversion helpers honor a floating reference array dtype, matching the existing CuPy/Torch backend contract while retaining float64 defaults for integer references.
- Normalized FISTA/FISTA-BB warm starts to the preprocessed design and converted smooth proximal-Newton sample weights to the active backend, device, and dtype before loss evaluation.
- Narrowed Newton-family Armijo trial exception handling to expected numeric-domain failures so CUDA OOM, device, and infrastructure errors remain visible to callers.
- Preserved backend RuntimeError failures (including CUDA OOM/device errors) during solver sample-weight validation instead of rewriting them as ordinary invalid-input ValueError exceptions.
- Aligned the executable loss/penalty/solver matrix with the maintained compatibility contract: Elastic Net precision is tested through FISTA, while smooth solvers are tested to reject it explicitly.
- Smooth Newton/L-BFGS solvers now reject Elastic Net and other non-smooth penalties before preprocessing instead of silently omitting their non-smooth objective component.
- Normalized Newton, proximal-Newton, L-BFGS, L-BFGS-B, and ADMM warm starts onto the preprocessed design backend, device, and dtype; added physical Torch/CuPy regression entry points.
- Removed the incorrect Euclidean-prox Newton shortcut that duplicated smooth penalty terms and solved the wrong non-smooth objective. Smooth L2/no-penalty requests retain Newton updates; non-smooth requests now explicitly use FISTA, and FISTA-LLA requires a future metric-prox capability.
- Completed ADMM's legitimate Cholesky-to-iterative fallback and kept L-BFGS-B directions/bounds feasible and backend-native.
- Hardened adjacent Newton, proximal-Newton, ADMM, FISTA-BB, L-BFGS, and L-BFGS-B contracts: validate weights before curvature work, only downgrade true singular systems, preserve dtype/device for proximal Newton and CuPy bounds, and use the correct squared-gradient Armijo slope.
- Kept direct solver and penalized-CV sample-weight checks backend-native, validated weights before weighted Lipschitz operations, rejected overflowing weight totals, and made HC1 analytic-weight inference invariant to global weight rescaling.
- Fixed Issue #45 by routing statgpu-owned Torch compilation through a
centralized policy that avoids CUDA Graph lifecycle hazards for iterative
solvers; compile decisions are observable, and only the known lifecycle
failure falls back to eager execution. Performance comparison with
`reduce-overhead` remains explicitly deferred.
- Addressed Issue #81 with backend-native finite-value validation at public
estimator boundaries without full GPU-array transfers.
- Aligned formula sample weights after missing-row filtering across linear,
GLM, and penalized estimators; retained Torch/CuPy weights on device; and
corrected Gaussian GLM FISTA to use weighted centering and the intended
weighted squared-loss intercept.
- Unified analytic-weight GLM semantics across IRLS ridge scaling, line search,
pseudo-loglikelihood, AIC/BIC, dispersion, and sandwich inference; centralized
active GLM Torch compilation; narrowed singular-system fallbacks; and added
backend-native response-domain validation for every supported GLM family,
including penalized estimators and cross-validation entrypoints; scalar
GLMs now normalize single-column responses and reject empty, non-real,
multicolumn, or length-mismatched responses before solver/fold dispatch;
GLM design matrices and analytic weights now share backend-native real,
finite, shape, length, and non-empty validation across model, CV, formula,
and direct IRLS entrypoints.
- Addressed Issue #82 by preserving exact raw constructor arguments for
legacy scikit-learn clone identity while retaining normalized runtime
attributes and `set_params` bookkeeping.
- Addressed Issue #83 by making maintained `test_*.py` files visible to git,
documenting the manual GPU diagnostic boundary, and adding maintained
regression coverage.
## 0.2.3 — 2026-08-04

### Added
Expand Down
9 changes: 9 additions & 0 deletions dev/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,15 @@ The canonical developer architecture entry point is
defines the current Cox module ownership, canonical statistical source,
CV/refit reuse contract, and inference boundaries.


## Maintained tests versus manual diagnostics

Every `dev/tests/test_*.py` file is maintained pytest coverage and must be
tracked, discoverable, side-effect free at import time, and runnable from a
clean checkout. Hardware-specific experiments and one-off reproducers
belong under `dev/manual/gpu_diagnostics/`; `.gitignore` is not a test
ownership mechanism.

## Remote GPU Testing

### Server Access
Expand Down
Loading
Loading