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
Longitudinal Modeling Draft #310 contains two distinct irregular residual log-rate weighting targets that must not be collapsed into one another.
The current landing authority is TEPP#310@ba10820e0d28cc33d1b91ef37f6f6d163b3d91e9, open/Draft/mergeable/unmerged on protected main@a243f18da4a4ca8a8d068c39922537f1f8ed6ad0.
center_within_unit_event_lags forms one lagged residual per admitted consecutive event-time pair. The pair-weighted recovery therefore lets a unit with m_i admitted occasions contribute up to m_i - 1 rates. That target is a lag-pair average, not automatically an equal-unit average.
The checked-in contract names the targets separately:
tepp.irregular_rate.lag_pair_average.v1: every admitted consecutive lag pair has equal weight; evidence reports candidate/contributing units and candidate/admitted/refused pairs.
tepp.irregular_rate.unit_average.v1: summarize admitted pair rates within unit first, then combine contributing units with equal unit weight unless a separately versioned design-weight contract says otherwise. This target is typed but deliberately fails closed until TEPP can consume an immutable released reusable finite-mean contract from fast-mlsirm.
This issue does not claim the pair-average estimator is numerically wrong. It owns estimand identity, denominator policy, and scientific acceptance. Occasion count, follow-up duration, missingness, pair refusal, or cross-classified/multiple-membership composition must not silently become an undeclared weighting rule.
Peer-reviewed informative-cluster-size work is used only as methodological evidence for that weighting-population distinction, not as treatment-effect authority for TEPP: Wang, Kong, and Datta (2011), Huang and Leroux (2011), and Kahan et al. (2023).
Current exact-head evidence
Rust Foundation 34672270380 is terminal on ba10820e...: 1,575 tests across 281 binaries; 1,574 PASS / 1 FAIL / 0 skipped. Formatting, Clippy, repository/Python contracts, workspace contract, Rust documentation contract, SBOM/provenance, and Live PostgreSQL are GREEN. No #495 estimand, denominator, unequal-follow-up, permutation, refusal-population, or 4,096-replicate informative-missingness Monte Carlo contract failed.
The sole Rust failure is the independent numerical-owner RED mixed_sign_mean_rounding_contract::half_ulp_tail_changes_the_final_mixed_sign_rounding: actual bits 5080060379673919488, correctly-rounded expected 5080060379673919487. Exact line/branch coverage generation stops when the instrumented suite reaches that same product RED, before authored-denominator enforcement; this is not a separately invented coverage deficit.
The current head also removes the redundant private stable_irregular_rate facade and the brittle source-string shadow-authority test. Crate-public composition now points directly to canonical irregular_residual; the stale occasion_mean.rs import was repaired. The reduced test/binary counts are structural cleanup, not removal of #495 scientific acceptance.
Documentation Quality 34672270392 and SAST Semgrep 34672270367 are GREEN. Security 34672270381 is RED because authoritative dependency-review support fails before the pinned Dependency Review step executes; OSV/Scorecard/Trivy evidence is not promoted as a semantic substitute. Required CodeQL 34672270345 is RED in the central producer-after-consumer settlement lane.
The live CodeQL owner sequence is .github#2106 followed by .github#2040. The second fresh sweep in this run observed .github#2106@48c6304ffb7294c4748ddc00388e72aa2e9d49bf, open/mergeable and Ready-for-review/Proposed after an ordinary non-force restack onto protected .github/main@fb17ef556f94f673234aa557254ae52779e9a7b0; its owner body records 3,073 passed / 1 skipped / 36 subtests and the credential-fallback response-isolation repair. Ready is review admission, not merge authorization, and #2106 remains an active mutable owner whose live head/state must be re-read before acceptance rather than pinned by TEPP. After the backward-compatible codeql-scan-v2 bootstrap lands while preserving v1, canonical producer/consumer successor .github#2040@85522306949bada2b5939608dc911f6374125f1b must non-force restack and switch to v2. .github#2051/#2056 remain evidence-preserving predecessors. These central-control REDs do not change the #495 estimand result.
Current review authority remains fail-closed. All current review threads except the finite-mean owner-boundary finding are resolved. The remaining unresolved thread on scaled_compensated_mean is valid: TEPP's local generic finite-binary64 mean must not become reusable numerical authority while the public mixed-sign half-ULP contract is RED. There is no qualifying independent current-head APPROVED review.
The branch carries the following scientific authority for this issue:
IrregularRateEstimand::{LagPairAverageV1, UnitAverageV1} and denominator-bearing IrregularRateSummary;
deterministic unequal-follow-up, follow-up-multiplicity, permutation, refusal-denominator, balanced and highly-unbalanced known-truth fixtures;
a 4,096-replicate informative-missingness Monte Carlo contract with attempted/recovered/failed denominators, admitted-pair-conditioned truth, bias with Monte Carlo uncertainty, RMSE/stability, conditional 95% interval coverage with Wilson uncertainty, and exact replay;
docs/product/prd-v0.4-amendment-longitudinal-time-ownership.md, docs/TRD.md, and docs/adr/longitudinal-modeling-ownership-addendum.md naming the same weighting identities, denominator populations, fail-closed unit-average activation, and the rule that occasion/follow-up multiplicity is not an implicit design or multiple-membership weight;
claim-specific literature authority in docs/research/irregular-rate-estimand-weighting.md and docs/research/standards-and-literature.md, enforced by tests/quality/test_longitudinal_scientific_authority_sync.py.
Canonical docs/product-technical-gap-baseline.md and docs/TRACEABILITY.md remain owned by Draft #435. They must currentize against this exact #310 head before #495 can close; this source lane does not concurrently edit that owner branch.
Remaining acceptance
Before this issue can close, the landing/successor must preserve all valid existing evidence and satisfy the following on one protected exact head:
event-time/leakage-safe admission and time-varying multilevel, cross-classified, and multiple-membership structure remain intact; occasion multiplicity is never substituted for a declared membership/design weight;
UnitAverageV1 remains unavailable rather than approximated with another TEPP-local generic mean until a protected immutable fast-mlsirm numerical release exists;
the independent mixed-sign half-ULP numerical RED is repaired through the canonical numerical owner, followed by a released-contract consumer bump, not by a third TEPP summation implementation;
one unchanged TEPP exact head satisfies current Rust/rustdoc/owned line+branch+edge, security, central controls, independent review, scientific recovery, and release gates before normal protected integration;
Reusable finite binary64 sum/mean arithmetic belongs to ContextualWisdomLab/fast-mlsirm and may be consumed only through its immutable released contract. Current numerical implementation vehicle #1816 (432765ccf633c9802e0f796ceeb4d6d572059acf) and GPU prerequisite #1717 (0b31640928e07f4362ce27dad3d310e630ab1b5d) remain mutable Drafts, not TEPP production authority.
Fresh source inspection of #1717 narrows the GPU prerequisite beyond a generic adapter-capacity check. gpu_marginal.rs constructs the E-step layout as one uniform plus 17 storage buffers and the score layout as one uniform plus 18 storage buffers. The controlled SwiftShader adapter exposes max_storage_buffers_per_shader_stage = 10; splitting the same COMPUTE-visible resources across additional bind groups cannot repair the defect because the limit applies per shader stage. An owner-correct topology repair must make the real E-step and score pipelines instantiate within that stage limit—e.g. by packing immutable sparse/index and numeric input families behind explicit offsets while keeping mutable outputs isolated, or an equivalent causal redesign—and then prove CPU-f64 parity/recovery on the real GPU path. A lowered probe constant, CPU fallback counted as GPU evidence, or skipped parity is not acceptance.
This issue does not authorize source copying, a mutable PR-head dependency, another TEPP generic summation implementation, CPU-as-GPU substitution, skip/xfail, coverage denominator tricks, or bypass of protected gates.
References
Huang, Y., & Leroux, B. (2011). Informative cluster sizes for subcluster-level covariates and weighted generalized estimating equations. Biometrics, 67(3), 843–851. https://doi.org/10.1111/j.1541-0420.2010.01542.x
Kahan, B. C., Li, F., Blette, B., Jairath, V., Copas, A., & Harhay, M. O. (2023). Informative cluster size in cluster-randomised trials: A case study from the TRIGGER trial. Clinical Trials, 20(6), 661–669. https://doi.org/10.1177/17407745231186094
Wang, M., Kong, M., & Datta, S. (2011). Inference for marginal linear models for clustered longitudinal data with potentially informative cluster sizes. Statistical Methods in Medical Research, 20(4), 347–367. https://doi.org/10.1177/0962280209347043
Scientific finding
Longitudinal Modeling Draft #310 contains two distinct irregular residual log-rate weighting targets that must not be collapsed into one another.
The current landing authority is
TEPP#310@ba10820e0d28cc33d1b91ef37f6f6d163b3d91e9, open/Draft/mergeable/unmerged on protectedmain@a243f18da4a4ca8a8d068c39922537f1f8ed6ad0.center_within_unit_event_lagsforms one lagged residual per admitted consecutive event-time pair. The pair-weighted recovery therefore lets a unit withm_iadmitted occasions contribute up tom_i - 1rates. That target is a lag-pair average, not automatically an equal-unit average.The checked-in contract names the targets separately:
tepp.irregular_rate.lag_pair_average.v1: every admitted consecutive lag pair has equal weight; evidence reports candidate/contributing units and candidate/admitted/refused pairs.tepp.irregular_rate.unit_average.v1: summarize admitted pair rates within unit first, then combine contributing units with equal unit weight unless a separately versioned design-weight contract says otherwise. This target is typed but deliberately fails closed until TEPP can consume an immutable released reusable finite-mean contract from fast-mlsirm.This issue does not claim the pair-average estimator is numerically wrong. It owns estimand identity, denominator policy, and scientific acceptance. Occasion count, follow-up duration, missingness, pair refusal, or cross-classified/multiple-membership composition must not silently become an undeclared weighting rule.
Peer-reviewed informative-cluster-size work is used only as methodological evidence for that weighting-population distinction, not as treatment-effect authority for TEPP: Wang, Kong, and Datta (2011), Huang and Leroux (2011), and Kahan et al. (2023).
Current exact-head evidence
Rust Foundation
34672270380is terminal onba10820e...: 1,575 tests across 281 binaries; 1,574 PASS / 1 FAIL / 0 skipped. Formatting, Clippy, repository/Python contracts, workspace contract, Rust documentation contract, SBOM/provenance, and Live PostgreSQL are GREEN. No #495 estimand, denominator, unequal-follow-up, permutation, refusal-population, or 4,096-replicate informative-missingness Monte Carlo contract failed.The sole Rust failure is the independent numerical-owner RED
mixed_sign_mean_rounding_contract::half_ulp_tail_changes_the_final_mixed_sign_rounding: actual bits5080060379673919488, correctly-rounded expected5080060379673919487. Exact line/branch coverage generation stops when the instrumented suite reaches that same product RED, before authored-denominator enforcement; this is not a separately invented coverage deficit.The current head also removes the redundant private
stable_irregular_ratefacade and the brittle source-string shadow-authority test. Crate-public composition now points directly to canonicalirregular_residual; the staleoccasion_mean.rsimport was repaired. The reduced test/binary counts are structural cleanup, not removal of #495 scientific acceptance.Documentation Quality
34672270392and SAST Semgrep34672270367are GREEN. Security34672270381is RED because authoritative dependency-review support fails before the pinned Dependency Review step executes; OSV/Scorecard/Trivy evidence is not promoted as a semantic substitute. Required CodeQL34672270345is RED in the central producer-after-consumer settlement lane.The live CodeQL owner sequence is
.github#2106followed by.github#2040. The second fresh sweep in this run observed.github#2106@48c6304ffb7294c4748ddc00388e72aa2e9d49bf, open/mergeable and Ready-for-review/Proposed after an ordinary non-force restack onto protected.github/main@fb17ef556f94f673234aa557254ae52779e9a7b0; its owner body records 3,073 passed / 1 skipped / 36 subtests and the credential-fallback response-isolation repair. Ready is review admission, not merge authorization, and #2106 remains an active mutable owner whose live head/state must be re-read before acceptance rather than pinned by TEPP. After the backward-compatiblecodeql-scan-v2bootstrap lands while preserving v1, canonical producer/consumer successor.github#2040@85522306949bada2b5939608dc911f6374125f1bmust non-force restack and switch to v2..github#2051/#2056remain evidence-preserving predecessors. These central-control REDs do not change the #495 estimand result.Current review authority remains fail-closed. All current review threads except the finite-mean owner-boundary finding are resolved. The remaining unresolved thread on
scaled_compensated_meanis valid: TEPP's local generic finite-binary64 mean must not become reusable numerical authority while the public mixed-sign half-ULP contract is RED. There is no qualifying independent current-headAPPROVEDreview.The branch carries the following scientific authority for this issue:
IrregularRateEstimand::{LagPairAverageV1, UnitAverageV1}and denominator-bearingIrregularRateSummary;docs/product/prd-v0.4-amendment-longitudinal-time-ownership.md,docs/TRD.md, anddocs/adr/longitudinal-modeling-ownership-addendum.mdnaming the same weighting identities, denominator populations, fail-closed unit-average activation, and the rule that occasion/follow-up multiplicity is not an implicit design or multiple-membership weight;docs/research/irregular-rate-estimand-weighting.mdanddocs/research/standards-and-literature.md, enforced bytests/quality/test_longitudinal_scientific_authority_sync.py.Canonical
docs/product-technical-gap-baseline.mdanddocs/TRACEABILITY.mdremain owned by Draft #435. They must currentize against this exact #310 head before #495 can close; this source lane does not concurrently edit that owner branch.Remaining acceptance
Before this issue can close, the landing/successor must preserve all valid existing evidence and satisfy the following on one protected exact head:
UnitAverageV1remains unavailable rather than approximated with another TEPP-local generic mean until a protected immutable fast-mlsirm numerical release exists;Ownership boundary
Reusable finite binary64 sum/mean arithmetic belongs to
ContextualWisdomLab/fast-mlsirmand may be consumed only through its immutable released contract. Current numerical implementation vehicle #1816 (432765ccf633c9802e0f796ceeb4d6d572059acf) and GPU prerequisite #1717 (0b31640928e07f4362ce27dad3d310e630ab1b5d) remain mutable Drafts, not TEPP production authority.Fresh source inspection of #1717 narrows the GPU prerequisite beyond a generic adapter-capacity check.
gpu_marginal.rsconstructs the E-step layout as one uniform plus 17 storage buffers and the score layout as one uniform plus 18 storage buffers. The controlled SwiftShader adapter exposesmax_storage_buffers_per_shader_stage = 10; splitting the same COMPUTE-visible resources across additional bind groups cannot repair the defect because the limit applies per shader stage. An owner-correct topology repair must make the real E-step and score pipelines instantiate within that stage limit—e.g. by packing immutable sparse/index and numeric input families behind explicit offsets while keeping mutable outputs isolated, or an equivalent causal redesign—and then prove CPU-f64parity/recovery on the real GPU path. A lowered probe constant, CPU fallback counted as GPU evidence, or skipped parity is not acceptance.This issue does not authorize source copying, a mutable PR-head dependency, another TEPP generic summation implementation, CPU-as-GPU substitution, skip/xfail, coverage denominator tricks, or bypass of protected gates.
References
Huang, Y., & Leroux, B. (2011). Informative cluster sizes for subcluster-level covariates and weighted generalized estimating equations. Biometrics, 67(3), 843–851. https://doi.org/10.1111/j.1541-0420.2010.01542.x
Kahan, B. C., Li, F., Blette, B., Jairath, V., Copas, A., & Harhay, M. O. (2023). Informative cluster size in cluster-randomised trials: A case study from the TRIGGER trial. Clinical Trials, 20(6), 661–669. https://doi.org/10.1177/17407745231186094
Wang, M., Kong, M., & Datta, S. (2011). Inference for marginal linear models for clustered longitudinal data with potentially informative cluster sizes. Statistical Methods in Medical Research, 20(4), 347–367. https://doi.org/10.1177/0962280209347043