Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
131 commits
Select commit Hold shift + click to select a range
2a8b570
plan: define Panel Stage C covariance contracts
TheHiddenObserver Aug 9, 2026
af34d1b
plan: close Stage C API and DK scaling gaps
TheHiddenObserver Aug 9, 2026
d3dfd46
plan: close Stage C coverage and rank-extension gaps
TheHiddenObserver Aug 9, 2026
ff6ccdd
plan: correct Stage C QS kernel semantics
TheHiddenObserver Aug 9, 2026
e018328
feat: add Stage C covariance primitives
TheHiddenObserver Aug 9, 2026
60526b1
feat: plumb Stage C covariance metadata
TheHiddenObserver Aug 9, 2026
a2b08ff
feat: add Stage C covariance to PanelOLS
TheHiddenObserver Aug 9, 2026
824c975
feat: add Stage C covariance to PooledOLS
TheHiddenObserver Aug 9, 2026
54b40bd
feat: add robust covariance to RandomEffects
TheHiddenObserver Aug 9, 2026
79ed3a9
feat: add Stage C HC covariance to BetweenOLS
TheHiddenObserver Aug 9, 2026
513b094
feat: add Stage C HC covariance to FirstDifferenceOLS
TheHiddenObserver Aug 9, 2026
ca9cef0
test: add Panel Stage C covariance regressions
TheHiddenObserver Aug 9, 2026
fd8cf43
test: add Stage C external covariance alignment
TheHiddenObserver Aug 9, 2026
a09891c
fix: preserve BetweenOLS contract docstring
TheHiddenObserver Aug 9, 2026
f119650
ci: apply reviewed Stage C backend fix
TheHiddenObserver Aug 9, 2026
6c06f66
ci: add Panel Stage C external covariance gate
TheHiddenObserver Aug 9, 2026
a31b545
ci: stage reviewed HC backend patch
TheHiddenObserver Aug 9, 2026
d4e863c
ci: run reviewed HC backend patch
TheHiddenObserver Aug 9, 2026
1f197ba
fix: keep HC leverage backend-native
github-actions[bot] Aug 9, 2026
993a36c
ci: remove obsolete PR126 review carrier
TheHiddenObserver Aug 9, 2026
5ab943c
ci: remove PR126 backend patch carrier
TheHiddenObserver Aug 9, 2026
3d08ba4
ci: remove PR126 backend patch helper
TheHiddenObserver Aug 9, 2026
655af06
test: cover Stage C API and formula metadata alignment
TheHiddenObserver Aug 9, 2026
2a249eb
ci: stage reviewed Hausman RE covariance patch
TheHiddenObserver Aug 9, 2026
05dc63d
ci: apply reviewed Hausman RE covariance patch
TheHiddenObserver Aug 9, 2026
e428eac
test: align Stage C kernel weight shape with references
TheHiddenObserver Aug 9, 2026
15db78d
ci: install focused PR126 patch test deps
TheHiddenObserver Aug 9, 2026
68c941a
fix: reject robust RE in classical Hausman explicitly
github-actions[bot] Aug 9, 2026
7ef0b72
benchmark: add Panel Stage C physical GPU validator
TheHiddenObserver Aug 9, 2026
cb109af
ci: remove PR126 Hausman patch carrier
TheHiddenObserver Aug 9, 2026
b78f72a
ci: remove PR126 Hausman patch helper
TheHiddenObserver Aug 9, 2026
1ac0515
test: lock Panel Stage C physical runner contract
TheHiddenObserver Aug 9, 2026
99b12c8
benchmark: add Panel Stage C covariance performance gate
TheHiddenObserver Aug 9, 2026
7c86293
ci: stage Stage C runner metadata tolerance patch
TheHiddenObserver Aug 9, 2026
e475feb
ci: apply Stage C runner metadata tolerance patch
TheHiddenObserver Aug 9, 2026
7ad4355
fix: compare Stage C physical metadata with numeric tolerance
github-actions[bot] Aug 9, 2026
ed9c8c6
ci: remove PR126 runner patch carrier
TheHiddenObserver Aug 9, 2026
3fbce2e
ci: remove PR126 runner patch helper
TheHiddenObserver Aug 9, 2026
64699fb
test: align Stage C hc1 alias with canonical robust name
TheHiddenObserver Aug 9, 2026
393b188
test: add maintained Torch CPU Stage C covariance parity
TheHiddenObserver Aug 9, 2026
bc4f728
ci: add maintained Panel Stage C Torch CPU gate
TheHiddenObserver Aug 9, 2026
88df1d3
feat: export Driscoll-Kraay covariance
TheHiddenObserver Aug 9, 2026
2b4113e
ci: stage Panel Stage C docs and export patch
TheHiddenObserver Aug 9, 2026
4614bc4
ci: apply Panel Stage C docs and export patch
TheHiddenObserver Aug 9, 2026
781000e
ci: normalize Stage C docs date whitespace
TheHiddenObserver Aug 9, 2026
075b361
docs: document Panel Stage C covariance
github-actions[bot] Aug 9, 2026
814353f
test: lock Panel Stage C public covariance export
TheHiddenObserver Aug 9, 2026
2f6975c
ci: remove PR126 docs patch carrier
TheHiddenObserver Aug 9, 2026
c3754e2
ci: remove PR126 docs patch helper
TheHiddenObserver Aug 9, 2026
3f71385
test: preserve raw hc1 constructor identity
TheHiddenObserver Aug 9, 2026
0d0a549
test: lock Stage C covariance alias set_params behavior
TheHiddenObserver Aug 9, 2026
bf5ec10
test: pin Stage C default DK bandwidth externally
TheHiddenObserver Aug 9, 2026
129e90c
ci: include Stage C external default DK contract
TheHiddenObserver Aug 9, 2026
8ddc1fa
ci: stage Panel Stage C set_params alias patch
TheHiddenObserver Aug 9, 2026
40f6206
ci: apply Panel Stage C set_params alias patch
TheHiddenObserver Aug 9, 2026
cf9f97c
fix: refresh Stage C covariance aliases in set_params
github-actions[bot] Aug 9, 2026
d599c25
ci: remove PR126 set_params patch carrier
TheHiddenObserver Aug 9, 2026
2a59124
ci: remove PR126 set_params patch helper
TheHiddenObserver Aug 9, 2026
dcedd62
ci: stage Stage C physical required-case patch
TheHiddenObserver Aug 9, 2026
3a1cd0c
ci: apply Stage C physical required-case patch
TheHiddenObserver Aug 9, 2026
8c091f9
fix: require full Stage C physical case matrix
github-actions[bot] Aug 9, 2026
07ba2f3
ci: remove PR126 physical matrix patch carrier
TheHiddenObserver Aug 9, 2026
9e8b7c4
test: add Stage C estimator-level linearmodels covariance alignment
TheHiddenObserver Aug 9, 2026
d88c978
ci: diagnose PR126 estimator external failures
TheHiddenObserver Aug 9, 2026
1c4ad20
ci: record PR126 external debug output
github-actions[bot] Aug 9, 2026
a0001bf
ci: remove PR126 external debug carrier
TheHiddenObserver Aug 9, 2026
38b226d
ci: remove PR126 external debug output
TheHiddenObserver Aug 9, 2026
c531db2
test: lock Stage C covariance edge contracts
TheHiddenObserver Aug 9, 2026
b685086
ci: stage Stage C covariance edge fixes
TheHiddenObserver Aug 9, 2026
89a3c7b
ci: apply Stage C covariance edge fixes
TheHiddenObserver Aug 9, 2026
c3b75c3
fix: harden Stage C bandwidth and label edges
github-actions[bot] Aug 9, 2026
9101ec9
ci: stage Stage C group_debias set_params fix
TheHiddenObserver Aug 9, 2026
10b6e76
ci: apply Stage C group_debias set_params fix
TheHiddenObserver Aug 9, 2026
72f0727
fix: validate Stage C group_debias set_params
github-actions[bot] Aug 9, 2026
b1cbfef
ci: stage Stage C performance provenance fix
TheHiddenObserver Aug 9, 2026
552bdce
ci: apply Stage C performance provenance fix
TheHiddenObserver Aug 9, 2026
d988989
fix: record Stage C performance GPU provenance
github-actions[bot] Aug 9, 2026
fc77d4c
chore: remove temporary Stage C review workflow
TheHiddenObserver Aug 10, 2026
762e61c
chore: remove temporary Stage C review workflow
TheHiddenObserver Aug 10, 2026
7e26111
chore: remove temporary Stage C review workflow
TheHiddenObserver Aug 10, 2026
81c43df
chore: remove temporary Stage C patch helper
TheHiddenObserver Aug 10, 2026
de2db00
chore: remove temporary Stage C patch helper
TheHiddenObserver Aug 10, 2026
913f893
chore: remove temporary Stage C patch helper
TheHiddenObserver Aug 10, 2026
4409474
chore: remove temporary Stage C patch helper
TheHiddenObserver Aug 10, 2026
e80764c
test: complete Stage C estimator external alignment
TheHiddenObserver Aug 10, 2026
713aa9c
ci: run Stage C estimator external alignment
TheHiddenObserver Aug 10, 2026
7f65705
ci: add Stage C final review patch helper
TheHiddenObserver Aug 10, 2026
63615a5
ci: apply Stage C final review fixes
TheHiddenObserver Aug 10, 2026
897200c
ci: add Stage C final review correction helper
TheHiddenObserver Aug 10, 2026
66a51b2
ci: rerun Stage C final review fixes with corrected external edge
TheHiddenObserver Aug 10, 2026
2b4fcef
ci: add Stage C public primitive backend fix helper
TheHiddenObserver Aug 10, 2026
91af6d0
ci: validate Stage C public primitive backend routing
TheHiddenObserver Aug 10, 2026
4c8af06
fix: close Stage C final review gaps
github-actions[bot] Aug 10, 2026
eb9677b
chore: remove temporary Stage C final review workflow
TheHiddenObserver Aug 10, 2026
2095b29
chore: remove temporary Stage C final review helper
TheHiddenObserver Aug 10, 2026
052ceb7
chore: remove temporary Stage C final review helper
TheHiddenObserver Aug 10, 2026
9c0b305
chore: remove temporary Stage C final review helper
TheHiddenObserver Aug 10, 2026
85d710b
benchmark: record PR126 P100 Stage C validation + performance 9c0b3050
TheHiddenObserver Aug 10, 2026
0ea8b87
ci: stage PR126 evidence promotion helper
TheHiddenObserver Aug 10, 2026
0dbb752
ci: run PR126 Stage C evidence promotion
TheHiddenObserver Aug 10, 2026
dd64256
ci: fix PR126 CN promotion anchor
TheHiddenObserver Aug 10, 2026
2929e9d
ci: update PR126 canonical run count
TheHiddenObserver Aug 10, 2026
8880ac5
ci: fix PR126 frontend deterministic count
TheHiddenObserver Aug 10, 2026
3ffd509
ci: fix PR126 generated run count
TheHiddenObserver Aug 10, 2026
e7af1e4
ci: separate PR126 permanent workflow promotion
TheHiddenObserver Aug 10, 2026
a1c8339
benchmark: promote PR126 Stage C P100 evidence
github-actions[bot] Aug 10, 2026
db820ea
ci: register PR126 Stage C frontend source tests
TheHiddenObserver Aug 10, 2026
42959f5
chore: remove PR126 evidence promotion helper
TheHiddenObserver Aug 10, 2026
aad73e6
chore: remove PR126 evidence promotion workflow
TheHiddenObserver Aug 10, 2026
7e6e847
ci: stage PR126 frontend contract review fix
TheHiddenObserver Aug 10, 2026
0adccc3
ci: validate PR126 frontend contract review fix
TheHiddenObserver Aug 10, 2026
bbc89ff
ci: include PR126 manifest-count review fix
TheHiddenObserver Aug 10, 2026
9de2e6f
fix: separate Stage C time-scale identities
github-actions[bot] Aug 10, 2026
a2d8dc5
chore: remove PR126 frontend contract helper
TheHiddenObserver Aug 10, 2026
e16df4c
chore: remove PR126 frontend contract workflow
TheHiddenObserver Aug 10, 2026
cc950a0
ci: stage PR126 Codex review fixes
TheHiddenObserver Aug 10, 2026
bac0813
ci: validate PR126 Codex review fixes
TheHiddenObserver Aug 10, 2026
9315101
fix: preserve ordered categorical DK chronology
github-actions[bot] Aug 10, 2026
d6bc65e
ci: align PR126 docs with post-review physical gate
TheHiddenObserver Aug 10, 2026
914b17a
fix: preserve ordered categorical DK chronology
github-actions[bot] Aug 10, 2026
bfe4ab3
chore: remove PR126 Codex review helper
TheHiddenObserver Aug 10, 2026
c151550
chore: remove PR126 Codex review workflow
TheHiddenObserver Aug 10, 2026
a8dc976
benchmark: record PR126 P100 Stage C validation + performance c151550a
TheHiddenObserver Aug 10, 2026
3f9e63a
chore: add temporary PR126 post-review evidence promoter
TheHiddenObserver Aug 10, 2026
dd7a9b2
ci: validate PR126 post-review P100 promotion
TheHiddenObserver Aug 10, 2026
7eed777
ci: fix PR126 promotion carrier dependencies
TheHiddenObserver Aug 10, 2026
9efca6a
ci: align PR126 promotion catalog contracts
TheHiddenObserver Aug 10, 2026
4961945
ci: harden PR126 promotion catalog patch
TheHiddenObserver Aug 10, 2026
2cb5fa2
bench: promote PR126 post-review P100 evidence
github-actions[bot] Aug 10, 2026
f963427
chore: remove temporary PR126 evidence promoter
TheHiddenObserver Aug 10, 2026
04f1ec9
chore: remove temporary PR126 promotion workflow
TheHiddenObserver Aug 10, 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
7 changes: 6 additions & 1 deletion .github/workflows/benchmark-frontend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,12 @@ on:
- 'dev/tests/test_frontend_domain_coverage.py'
- 'dev/tests/test_panel_stage_b_frontend_source.py'
- 'dev/tests/test_panel_stage_b_applicable_hausman_parser.py'
- 'dev/tests/test_panel_stage_c_frontend_source.py'
- 'dev/tests/fixtures/benchmark_frontend/**'
- 'frontend/**'
- 'docs/assets/benchmarks/**'
- 'results/benchmark_frontend_sources/**'
- 'results/pr126_p100/**'
- 'pyproject.toml'
pull_request:
paths:
Expand All @@ -35,10 +37,12 @@ on:
- 'dev/tests/test_frontend_domain_coverage.py'
- 'dev/tests/test_panel_stage_b_frontend_source.py'
- 'dev/tests/test_panel_stage_b_applicable_hausman_parser.py'
- 'dev/tests/test_panel_stage_c_frontend_source.py'
- 'dev/tests/fixtures/benchmark_frontend/**'
- 'frontend/**'
- 'docs/assets/benchmarks/**'
- 'results/benchmark_frontend_sources/**'
- 'results/pr126_p100/**'
- 'pyproject.toml'

concurrency:
Expand Down Expand Up @@ -70,7 +74,8 @@ jobs:
dev/tests/test_frontend_cv_determinism.py \
dev/tests/test_frontend_domain_coverage.py \
dev/tests/test_panel_stage_b_frontend_source.py \
dev/tests/test_panel_stage_b_applicable_hausman_parser.py -v
dev/tests/test_panel_stage_b_applicable_hausman_parser.py \
dev/tests/test_panel_stage_c_frontend_source.py -v
- name: Validate generator output
run: python dev/benchmarks/generate_benchmark_data.py --check --strict-sources

Expand Down
52 changes: 52 additions & 0 deletions .github/workflows/panel-stage-c-external.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Panel Stage C external covariance

on:
pull_request:
branches: [master]
paths:
- 'statgpu/panel/**'
- 'dev/tests/test_panel_stage_c_external.py'
- 'dev/tests/test_panel_stage_c_external_defaults.py'
- 'dev/tests/test_panel_stage_c_linearmodels_estimators.py'
- '.github/workflows/panel-stage-c-external.yml'
push:
branches: [master]
paths:
- 'statgpu/panel/**'
- 'dev/tests/test_panel_stage_c_external.py'
- 'dev/tests/test_panel_stage_c_external_defaults.py'
- 'dev/tests/test_panel_stage_c_linearmodels_estimators.py'
- '.github/workflows/panel-stage-c-external.yml'

permissions:
contents: read

jobs:
external-definitions:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install pinned references
run: |
python -m pip install --upgrade pip
python -m pip install -e . 'linearmodels==7.0' 'statsmodels==0.14.6' pytest
- name: Confirm reference versions
run: |
python - <<'PY'
import linearmodels, statsmodels
assert linearmodels.__version__ == '7.0'
assert statsmodels.__version__ == '0.14.6'
print('linearmodels', linearmodels.__version__)
print('statsmodels', statsmodels.__version__)
PY
- name: Run Stage C external covariance alignment
run: |
python -m pytest \
dev/tests/test_panel_stage_c_external.py \
dev/tests/test_panel_stage_c_external_defaults.py \
dev/tests/test_panel_stage_c_linearmodels_estimators.py \
-q --tb=short
44 changes: 44 additions & 0 deletions .github/workflows/panel-stage-c-torch-cpu.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Panel Stage C Torch CPU

on:
pull_request:
branches: [master]
paths:
- 'statgpu/panel/**'
- 'dev/tests/test_panel_stage_c_torch_cpu.py'
- '.github/workflows/panel-stage-c-torch-cpu.yml'
push:
branches: [master]
paths:
- 'statgpu/panel/**'
- 'dev/tests/test_panel_stage_c_torch_cpu.py'
- '.github/workflows/panel-stage-c-torch-cpu.yml'

permissions:
contents: read

jobs:
torch-2-0-cpu:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.9'
- name: Install maintained Torch CPU environment
run: |
python -m pip install --upgrade pip
python -m pip install "numpy<2" pytest
python -m pip install "torch==2.0.1+cpu" --extra-index-url https://download.pytorch.org/whl/cpu
python -m pip install -e .
- name: Confirm maintained Torch version
run: |
python - <<'PY'
import torch
assert torch.__version__.startswith('2.0.1')
assert not torch.cuda.is_available()
print('torch', torch.__version__, 'device=cpu')
PY
- name: Run Stage C Torch CPU covariance parity
run: python -m pytest dev/tests/test_panel_stage_c_torch_cpu.py -q --tb=short
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@

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

## 2026-08-09

### PR #126 — Complete Panel Tier-1 Stage C covariance
- Added HC0/HC2/HC3, robust RandomEffects inference, cluster group debiasing, and Driscoll-Kraay covariance with NumPy/CuPy/Torch-native accumulation.
- Preserved historical HC1 (`robust`), Pooled row-HAC, default clustered covariance, coefficient estimates, and Stage-B diagnostics.
- Added pinned statsmodels/linearmodels covariance checks plus exact-head physical GPU and performance validators. After the Ready-triggered ordered-categorical Driscoll-Kraay chronology fix, Tesla P100 acceptance was rerun and passed on exact clean implementation head `c151550ab17bd9533a51599f86b6a4ea12a292e9`: both CuPy and Torch passed all 26 estimator covariance cases plus two direct public primitives, and synchronized performance evidence includes the bounded `N=10,000`, `k=2`, `T=200` QS all-lag scenario without making a speedup claim. The earlier `9c0b3050dd143c43a06bb6393d69f4f83e861637` artifacts remain immutable historical evidence.

## 2026-08-08

### PR #122 — Panel Tier-1 diagnostics Stage B
Expand Down
11 changes: 8 additions & 3 deletions dev/benchmarks/benchmark_coverage_matrix.json
Original file line number Diff line number Diff line change
Expand Up @@ -86,18 +86,23 @@
"status": "partial_canonical",
"source_ids": [
"new-modules-20260624-bcbdb676223b",
"panel-stage-b-pr122-20260809-2056f836bfe2"
"panel-stage-b-pr122-20260809-2056f836bfe2",
"panel-stage-c-validation-pr126-20260810-91e9ec53b6ee",
"panel-stage-c-performance-pr126-20260810-1861fc4f1817"
],
"representative_dimensions": [
"estimator",
"backend",
"aligned_scale",
"physical_validation",
"diagnostics",
"inference_regression"
"inference_regression",
"covariance",
"n_times",
"timing_protocol"
],
"issue": "#108",
"disposition": "June timing rows cover aligned PanelOLS and RandomEffects. PR #122 adds canonical validation-only CuPy/Torch evidence for the 17-case Stage-B estimator matrix, five Hausman diagnostics per backend (including a physically applicable nonzero-effect statistic/p-value/df path), backend provenance, Stage-A inference regression, and the disconnected two-way FE df=1 physical boundary; broader performance/covariance timing remains open."
"disposition": "June timing rows cover aligned PanelOLS and RandomEffects; PR #122 provides canonical Stage-B diagnostic/physical validation. PR #126 current post-review P100 evidence at c151550a adds canonical Stage-C CuPy/Torch correctness for 26 estimator covariance integrations plus two direct public primitives per backend, and synchronized timing rows for three base scales plus a bounded N=10,000, k=2, T=200 QS all-lag scenario. The pre-review 9c0b3050 artifacts are retained only as historical evidence. No Stage-C speedup claim is made."
},
{
"capability_id": "gam-nonparametric",
Expand Down
Loading
Loading