Repository navigation
longitudinal: distinguish lag-pair-average and equal-unit irregular-rate estimands #495
Description
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 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-bearingIrregularRateSummary;- 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, 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;- claim-specific literature authority in
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.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:
- canonical docs(ddd): restore queue authority and bounded-context ownership #435 product-gap/TRACEABILITY authority names the same estimands, maturity, denominators, current exact head, and numerical-owner boundary;
- 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;
UnitAverageV1remains 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;
- if feat(longitudinal): consolidate lagged correlation and discreteDRIFTstd #310 cannot land, a verified successor inherits every valid delta, test, fixture, contract, documentation change, and exact evidence before feat(longitudinal): consolidate lagged correlation and discreteDRIFTstd #310 or this issue is closed.
Ownership boundary
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
Activity
seonghobae commentedon Sep 11, 2026
#495 implementation progress on the Longitudinal Modeling landing vehicle #310:
c7f55acb347ceac38675d9566eff767372739dbaadds typed/versionedIrregularRateEstimand::{LagPairAverageV1, UnitAverageV1}plus denominator-bearingIrregularRateSummaryandrecover_within_unit_irregular_rate_summary.2f3f0a97a67d01e0a0c0da78d54ee395b49c0317exports that contract fromlongitudinal_core;0d0d4f80f12cd8ce24d949006e9bec9278c3c3fakeeps the stable irregular-rate facade free of a second numerical implementation.f45e83ba5223ad9d89022482e759ad9e705b229cadds a public unequal-pair-count fixture. The pair-weighted target is bit-identical to the legacy scalar result, differs from the independently computed equal-unit comparison, is input-row-permutation invariant, and retains denominators when zero rates are admitted.493b45d62e2413bea0f56509b8a379c1b152c83d/a3065f6d7589d5a310e54f85d6447b27414955basplit refusals into zero/opposite-sign versus same-sign non-representable-rate denominators, so failure population is not silently lost.28e5d766e849784ca7d97fe29c3f3cfcee725a6acurrentizes the research authority and records the first-release candidate boundary.The scientific choice is deliberately asymmetric:
tepp.irregular_rate.lag_pair_average.v1is the implemented first-release candidate;tepp.irregular_rate.unit_average.v1has a stable typed identity but fails closed. Activating equal-unit aggregation needs a second finite-mean step, and TEPP will not add another generic mean while the canonical fast-mlsirm correctly-rounded finite-mean contract is unreleased.Do not close #495 yet. Remaining acceptance is current-head hosted Rust/rustdoc/coverage evidence, canonical PRD/TRD/TRACEABILITY currentization, a collision-free superseding estimand ADR owned by the documentation lane, known-truth/unbalanced-follow-up Monte Carlo evidence for the declared target, and protected integration/release. The existing #310 mixed-sign binary64 RED remains independent and unresolved.
seonghobae commentedon Sep 11, 2026
#495 current-head progress —
7373eef9ed129db09556ca104c4fa988b34a490aAdded the missing follow-up-multiplicity acceptance fixture in
crates/longitudinal_core/tests/irregular_rate_estimand_contract.rswithout activatingUnitAverageV1or adding numerical arithmetic.The fixture keeps unit 1 unchanged and extends unit 2 from
[3, 1, -4]with-4/3, +4/3. Unit 2 therefore remains centered at zero; its admissible log-rate target staysln(1/3), while its admitted-pair count rises from 1 to 2. Acceptance now requires:ln(1/3).This pins the issue requirement that follow-up/occasion multiplicity may change the declared pair estimand but must not silently redefine an equal-unit target. The equal-unit computation remains an oracle only; production
UnitAverageV1still fails closed pending the immutable fast-mlsirm finite-mean owner release.Predecessor
b3751f8a...hosted Rust Foundation ran 1,574 tests with 1,573 PASS / 1 FAIL / 0 skipped; the only failure was the independent mixed-sign finite-mean half-ULP RED. Current-head CI has been triggered and is not promoted before terminal evidence.Keep #495 open. Remaining acceptance still includes canonical PRD/TRD/TRACEABILITY + collision-free estimand ADR handoff, balanced/highly-unbalanced and informative-missingness known-truth evidence, worker determinism where applicable, protected integration, and release evidence.
seonghobae commentedon Sep 11, 2026
#495 current-head evidence update —
ec718201ac8e21e2ae4f33170f18be3bccd0df25The follow-up-multiplicity RED has now been extended with deterministic known-truth fixtures for both balanced and highly unbalanced observation schedules, and the exact hosted Rust lane reached them.
extra_admitted_pair_changes_pair_weight_without_changing_unit_target: GREEN. The added unit-2 occasions preserve that unit'sln(1/3)target while increasing admitted pair multiplicity, so the declared pair-weighted target moves and the equal-unit oracle does not.balanced_follow_up_recovers_declared_pair_weighted_truth: GREEN. Two units contribute two admitted rates each (ln(1/2)andln(1/3)), recovering the expected midpoint.rate_associated_highly_unbalanced_follow_up_recovers_pair_weighted_truth: GREEN. Unit 1 contributes 15 admittedln(1/2)rates and unit 2 contributes 2 admittedln(1/3)rates; the implementation recovers the declared 15:2 pair target and remains >0.1 away from the equal-unit comparator.Hosted Rust Foundation
34645410937on this exact head: formatting GREEN, Clippy GREEN, 1,577 tests / 1,576 PASS / 1 FAIL / 0 skipped. The sole failure is the independent mixed-sign finite-mean half-ULP RED (5080060379673919488actual vs5080060379673919487correctly rounded), not any #495 estimand test.These deterministic fixtures are contract/known-truth unit-integration evidence only. They do not close the remaining realistic scientific acceptance work: informative-missingness generation, repeated Monte Carlo recovery with declared failure denominator, RMSE/bias/coverage/convergence/reproducibility and Monte Carlo uncertainty, plus canonical PRD/TRD/TRACEABILITY and collision-free estimand ADR handoff. Keep #495 open.
UnitAverageV1remains typed but fail-closed; no equal-unit production arithmetic has been added while the immutable fast-mlsirm finite-mean contract remains unreleased.seonghobae commentedon Sep 11, 2026
Current-head RCA and repair on the Longitudinal Modeling vehicle #310:
e6d1d637d3d271a1e3703a7d793bb7fdc9c6b40cmade the older deterministic retention helper Clippy-clean, but hosted Rust Foundation34650015208exposed a scientific-test defect that predecessor evidence had not reached: 1,579 tests ran, 1,577 passed, 2 failed, 0 skipped. Besides the independent mixed-sign finite-mean RED,informative_missingness_recovery_is_reproducible_and_pair_weightedfailed because only 243/256 represented-data replicates fell inside its fixed1e-12pseudo-coverage band.|error| <= 1e-12“coverage”, while the already-presentirregular_rate_monte_carlo_contract.rsis the stronger successor: 4,096 noisy informative-missingness replicates, truth conditioned on admitted pair counts, attempted/recovered/failed denominator, bias + Monte Carlo SE, RMSE + first-quarter stabilization, empirical conditional 95% coverage + Wilson interval, and exact replay. That canonical test was not one of the two failing tests one6d1d637....b72f1f1e9c6cd24e273104a8c31d0e68f081faa6therefore removes only the superseded duplicate Monte Carlo helper/test fromirregular_rate_estimand_contract.rsand makes that file explicitly deterministic-contract-only. It does not change production arithmetic, estimand identity, refusal rules, tolerance in the canonical Monte Carlo fixture, or the mixed-sign RED. No skip/xfail or coverage-denominator suppression was introduced.This is a successor-evidence consolidation, not a scientific weakening: the required informative-missingness bias/RMSE/coverage/reproducibility/Monte Carlo-uncertainty evidence remains in
irregular_rate_monte_carlo_contract.rs; deterministic unequal-pair, multiplicity, balanced/unbalanced, permutation, refusal-denominator and fail-closed UnitAverage fixtures remain inirregular_rate_estimand_contract.rs.Keep #495 open. Exact-head CI for
b72f1f1e...is running; do not promote this repair until the canonical 4,096-replicate Monte Carlo test is observed GREEN on that exact head. Canonical PRD/TRD/TRACEABILITY + collision-free estimand ADR, numerical-owner release, protected integration and release evidence also remain outstanding.seonghobae commentedon Sep 11, 2026
Exact-head verification for
b72f1f1e9c6cd24e273104a8c31d0e68f081faa6has now reached the no-retry Rust result.cargo nextest run --workspace --all-featuresran 1,578 tests across 282 binaries: 1,577 PASS / 1 FAIL / 0 skipped. The only remaining failure is the independently ownedmixed_sign_mean_rounding_contract::half_ulp_tail_changes_the_final_mixed_sign_roundingRED (left bits5080060379673919488, expected5080060379673919487). The superseded 256-replicate pseudo-coverage failure is gone without changing a tolerance, skipping a test, or changing production arithmetic.This also means the unchanged canonical
irregular_rate_monte_carlo_contract.rsacceptance executed within the exact workspace suite without becoming a failure: the 4,096-replicate informative-missingness contract remains the active realistic evidence for attempted/recovered/failed denominators, conditional truth under admitted pair counts, bias + Monte Carlo SE, RMSE stabilization, conditional 95% coverage + Wilson interval, and exact replay.Exact-head formatting and Clippy are GREEN; repository/Python contracts, Rust documentation contract, SBOM/provenance, and Live PostgreSQL are GREEN. Production coverage generation is still downstream RED because the unresolved mixed-sign product test aborts the instrumented suite before denominator enforcement. Keep #495 open: PRD/TRD/TRACEABILITY + collision-free estimand ADR, released numerical-owner dependency, protected integration, and release evidence remain outstanding.
seonghobae commentedon Sep 11, 2026
Current landing authority is now
TEPP#310@bf393bc4391a671466438efa53ae092e7c8aabab(open/Draft/mergeable/unmerged). This run closed the #495 PRD/TRD/ADR docs-to-code gap by ordinary forward commits without changing production arithmetic or Monte Carlo thresholds.RED→repair lineage:
6a5acddf5a88ec89cbd422259c7aa1f05010786f: quality contract first required PRD/ADR to nametepp.irregular_rate.lag_pair_average.v1andtepp.irregular_rate.unit_average.v1, denominator/refusal populations, fail-closed unit-average activation, and the rule that occasion count is not a membership weight.a33c0e8e7272add3bd5b6ba5f58e82da88febe5d: PRD amendment now names both estimands, their weighting populations and future design-weighted separation; status corrected from premature Approved to Proposed while the landing vehicle is Draft.8f3bd98eec8aa4dc668f47dc4d67e97f5f22d537: ADR 0005 addendum records pair-vs-unit weighting as scientific identity, keeps time-varying multilevel/cross-classified/multiple-membership weights distinct from pair count, and is now Proposed rather than prematurely Accepted.a9420c1e80933f879b9d551dd5ae5a70c9b56150: quality contract extended to require matching TRD traceability.bf393bc4391a671466438efa53ae092e7c8aabab: TRD now requires explicit versioned weighting, unequal-follow-up/permutation/refusal-denominator evidence and informative-missingness known-truth Monte Carlo with attempted/recovered/failed denominators, bias/RMSE/coverage and Monte Carlo uncertainty.Compare
b72f1f1e...→bf393bc...is five ordinary-forward commits touching only PRD, TRD, ADR and the documentation quality test. The existingLagPairAverageV1production path, typed fail-closedUnitAverageV1, denominator-bearingIrregularRateSummary, and 4,096-replicate Monte Carlo contract are unchanged.Issue stays open. Canonical
docs/product-technical-gap-baseline.md/docs/TRACEABILITY.mdintegration remains owned by #435, andUnitAverageV1must remain unavailable until a protected immutable fast-mlsirm finite-mean release is actually consumable. The independent TEPP mixed-sign half-ULP numerical RED is not part of this estimand-policy repair.seonghobae commentedon Sep 11, 2026
Follow-up currentization: landing authority advanced by ordinary-forward research doctoring to
TEPP#310@3b1c801d5fb3f1d0ea92577c696d956b9d4e7f73.The new RED→GREEN pair is narrow and claim-specific:
29e44e15ed074209fc383e114aa2006210334de2adds a quality contract requiring Wang, Kong & Datta (2011), Huang (2011), Kahan et al. (2023), and the record-multiplicity/irregular-rate estimand boundary in the canonical APA register.3b1c801d5fb3f1d0ea92577c696d956b9d4e7f73registers those sources indocs/research/standards-and-literature.md, explicitly as methodological analogies for weighting-population identity rather than imported treatment-effect estimands.Verified compare
bf393bc...→3b1c801...is exactly 2 commits / 2 files: the quality test (+12) and canonical literature register (+8), with no deletion and no production source mutation. #495 remains open for canonical #435 baseline/TRACEABILITY integration and immutable numerical-owner release.seonghobae commentedon Sep 11, 2026
Current landing authority advanced to
TEPP#310@4f7f6ba7545e57d36c4660badf572780e96e0fed.Research doctoring is now complete for this lane: both the claim-specific note and canonical APA register carry Huang & Leroux (2011) and Kahan et al. (2023) with complete journal metadata, and the quality contract checks those full records. During the full-file register edit I detected two unrelated citation drifts (Liu author initial, then Brown NeurIPS URL); both were repaired immediately by ordinary-forward commits rather than hidden/rebased. Net
3b1c801...→4f7f6ba...is 5 commits / 3 files and changes only the irregular-rate research note, canonical literature records, and their quality contract. Production source, estimand behavior, refusal policy, and Monte Carlo thresholds remain untouched.The issue body has also been currentized to the corrected references and present acceptance boundary. Keep #495 open: canonical
docs/product-technical-gap-baseline.md/docs/TRACEABILITY.mdintegration still belongs to #435,UnitAverageV1remains fail-closed until an immutable fast-mlsirm finite-mean release exists, and #310's independent mixed-sign half-ULP RED is unresolved.seonghobae commentedon Sep 11, 2026
Exact-head verification update —
TEPP#310@4f7f6ba7545e57d36c4660badf572780e96e0fed.The #495 documentation/authority delta is now being exercised on the current head rather than relying on predecessor evidence. Documentation Quality
34657771609is GREEN. Rust Foundation34657771583is terminal RED: formatting and Clippy are GREEN; the no-retry workspace test step is RED; exact line and branch coverage generation are also RED before their enforcement/diagnostic artifact steps. In the same run, repository/Python tooling coverage, workspace contract, Rust documentation contract, SBOM/provenance, and Live PostgreSQL are GREEN.I am not promoting the predecessor
b72f1f1e...test count onto this head. The verifiedb72f1f1e...→4f7f6ba...delta is 12 ordinary-forward commits limited to PRD/TRD/Longitudinal ADR/research/literature/quality-contract files, with no production arithmetic, estimand, refusal-policy, or Monte Carlo-threshold mutation; nevertheless the current no-retry failure remains a current-head RED until its exact failure evidence is available. The independent mixed-sign half-ULP numerical RED therefore remains unresolved rather than being relabeled as #495 acceptance.Security Scan, Semgrep, and delegated CodeQL were still queued at the latest current-head read, so none is promoted. Canonical baseline/TRACEABILITY integration remains #435-owned; the
4f7f6ba...handoff is already recorded there. Keep #495 open for actual #435 integration, immutable fast-mlsirm finite-mean release, a qualifying current-head approval, protected integration, and release evidence.seonghobae commentedon Sep 12, 2026
Fresh exact-head authority for
TEPP#310@4f7f6ba7545e57d36c4660badf572780e96e0fed:34657771583, job103453819031:cargo nextest run --workspace --all-featuresran 1,578 tests across 282 binaries: 1,577 PASS / 1 FAIL / 0 skipped. The sole failure is the independent numerical-owner REDlongitudinal_core::mixed_sign_mean_rounding_contract::half_ulp_tail_changes_the_final_mixed_sign_rounding, atmixed_sign_mean_rounding_contract.rs:133: actual bits5080060379673919488, correctly-rounded expected bits5080060379673919487. Therefore the longitudinal: distinguish lag-pair-average and equal-unit irregular-rate estimands #495 estimand/denominator/4,096-replicate Monte Carlo contracts are current-head GREEN; do not fold the remaining mixed-sign binary64 mean failure into longitudinal: distinguish lag-pair-average and equal-unit irregular-rate estimands #495 or widen its scientific acceptance.34657771596: OSV, Trivy and Scorecard are GREEN, but authoritative dependency-review job103454465919fails atCheck dependency review support; the pinned Dependency Review step is skipped. This remains.github#810owner evidence, not a TEPP-local bypass opportunity.34657771589reproduces the central settlement defect: Python consumer103455852569terminally failed at 23:37:38Z after reading the current-head verdict; Actions consumer103455852575did the same at 23:40:44Z; producer dispatch103457274496only started at 23:40:58Z and then succeeded. This remains.github#2051owner evidence; no fixed sleep/no-op retrigger/synthetic receipt is acceptable.APPROVEDreview.Keep #495 open. Its scientific implementation/acceptance is no longer the Rust failure frontier; remaining closure prerequisites are canonical #435 baseline/TRACEABILITY currentization, immutable finite-mean owner release before
UnitAverageV1activation, protected integration/release evidence, and the repository approval/control gates.seonghobae commentedon Sep 12, 2026
Fresh exact-head closure check for the scientific lane:
TEPP#310@8eb95d14f43ac40b06d0d039ef4d94ad1a053924Rust Foundation34669350804is terminal and reproduces the predecessor result exactly. Nextest ran 1,578 tests / 282 binaries: 1,577 PASS, 1 FAIL, 0 skipped. The only failure ismixed_sign_mean_rounding_contract::half_ulp_tail_changes_the_final_mixed_sign_rounding(actual5080060379673919488, expected5080060379673919487). No #495 estimand, denominator, unequal-follow-up, permutation, refusal-population or 4,096-replicate informative-missingness Monte Carlo contract failed. Therefore #495's TEPP-owned scientific contract is current-head GREEN; the remaining Rust RED is independently owned finite-binary64 arithmetic. Issue stays open because #435 canonical baseline/TRACEABILITY currentization and the immutable fast-mlsirm release/consumer-bump sequence are still required.seonghobae commentedon Sep 12, 2026
Current landing authority advanced ordinary-forward to
TEPP#310@ba10820e0d28cc33d1b91ef37f6f6d163b3d91e9; #495's estimand identity, denominator/refusal policy, unequal-follow-up fixtures, and 4,096-replicate informative-missingness acceptance are unchanged by this review-repair sequence. The new source change removes a redundant private irregular-rate facade and exports the canonical Longitudinal implementation directly; it does not changeLagPairAverageV1, the fail-closedUnitAverageV1, production numerical formulas, or Monte Carlo thresholds. Fresh exact-head hosted evidence is still being acquired: Documentation Quality and repository/Python/workspace/rustdoc/SBOM contracts are GREEN and Rust formatting is GREEN; Clippy/tests/coverage/live PostgreSQL and central/security gates remain in progress. The generic finite-binary64 mean finding is now independently reaffirmed by CodeRabbit and remains an owner-boundary RED handed tofast-mlsirm#1816, not a reason to create another TEPP summation kernel. #495 stays open until #435 currentization and immutable numerical-owner release/consumer replacement complete.seonghobae commentedon Sep 12, 2026
Authority refresh for the central-control dependency only; scientific estimand acceptance is unchanged.
.github#2106is exact24bb6591ab7df23558cb793b4af60c567ff9da97on protected.github/main@fb17ef556f94f673234aa557254ae52779e9a7b0, after ordinary non-force integration of the valid #2105 lineage. Exact-tree verification recorded 3,080 passed / 1 skipped / 36 subtests. Two fresh reads show #2106 open/mergeable but Draft; its body’s Ready wording is stale relative to live state.Current-head CodeQL
34688687870still reproduces consumer-before-producer settlement: Python103540737550and Actions103540737582fail enforcement before producer103541465594begins; the producer later completes GREEN. Protected handler34689581833remains queued on both ending reads, so there is no terminal SARIF/handler evidence yet. Required OpenCode34688688128has coverage-source-tree/evidence GREEN but its review job fails closed because no current-head verdict was available after dispatch request.@coderabbitai approvewas attempted on #2106, but CodeRabbit replied that approval is disabled by repository configuration; that configuration was not changed. None of this changesLagPairAverageV1, denominator/refusal populations, the 4,096-replicate informative-missingness acceptance, or the owner boundary for the mixed-sign half-ULP RED.UnitAverageV1remains fail-closed until a protected immutable fast-mlsirm numerical release exists.coderabbitai commentedon Sep 12, 2026
@seonghobae, acknowledged.The central-control dependency remains unresolved.
.github#2106is still Draft, and its body must not override the live Draft state.The current CodeQL evidence still shows consumer-before-producer settlement. The queued protected handler does not provide terminal SARIF or handler evidence. The OpenCode review job correctly remains fail-closed without a current-head verdict.
This update does not change the scientific acceptance for
LagPairAverageV1. It also does not change the denominator/refusal contract or the 4,096-replicate informative-missingness acceptance.UnitAverageV1must remain fail-closed until a protected, immutablefast-mlsirmfinite-mean release is consumable.✏️ Learnings added
You are interacting with an AI system.
seonghobae commentedon Sep 12, 2026
Fresh scientific-owner dependency authority after the second prerequisite restack:
#310@ba10820e0d28cc33d1b91ef37f6f6d163b3d91e9; no estimand, denominator, refusal-population, known-truth, or informative-missingness contract changed.mainadvanced normally to44cf8970456bfb1af84274823ef4776508cf1dfethrough #1818, changing onlycrates/mlsirm-core/src/scaling.rs. GPU owner #1717 was ordinary two-parent merge-forwarded toa5638d2699676f8b1754d8f629d0cff8213f8b60; numerical owner #1816 likewise to1a04e3723c244ddc23468558558475aa89f1e049. Both now use basemain@44cf897..., remain open/Draft/mergeable, and preserve the protected scaling repair without force/rebase.v0.9.1(immutable=true). No release containingfast_mlsirm.binary64_mean@1.0.0exists yet.UnitAverageV1therefore remains fail closed. Do not close #495 or replace TEPP's local generic mean until #1717 has real GPU topology/parity evidence, #1816 reacquires complete unchanged-head evidence, the numerical contract lands normally, and a new immutable fast-mlsirm release is published.seonghobae commentedon Sep 12, 2026
Numerical-owner handoff (2026-09-13 KST):
fast-mlsirm#1717is now34f14e45cac30139d9aa5d0fae643f9cfdd14c57on protectedmain@44cf8970456bfb1af84274823ef4776508cf1dfe; the delta since the prior restack is limited to two acquisition/CI review repairs and does not alter marginal arithmetic or GPU scientific acceptance. The genuine GPU prerequisite remains stage limit 10 vs marginal E-step/score storage topology 17/18, with actual GPU parity/recovery still absent on the new head.fast-mlsirm#1816remains mutable at1a04e3723c244ddc23468558558475aa89f1e049; latest immutable release is stillv0.9.1.Accordingly, #495's
LagPairAverageV1estimand, denominator/refusal populations, unequal-follow-up/permutation contract and 4,096-replicate informative-missingness acceptance remain unchanged.UnitAverageV1remains fail-closed and the mixed-sign half-ULP RED stays numerical-owner evidence until #1816 is normally merged and published as a new immutable release. No local TEPP arithmetic copy or threshold/estimand change is authorized.seonghobae commentedon Sep 12, 2026
Numerical-owner refresh only; the scientific finding and acceptance criteria in this issue do not change.
Protected fast-mlsirm
mainadvanced to97a7aaf3a70ec21e0845f0d5f6fa86f5222cac7a. I repaired both mutable prerequisites by ordinary, non-force merge-forward:34f14e45cac30139d9aa5d0fae643f9cfdd14c57→9e243b3fe2d36c406224c9045e23e6d00f6a3071, now based onmain@97a7aaf..., Draft/open/mergeable. Its real GPU RED is unchanged: controlled SwiftShader stage storage limit 10 versus marginal E-step/score 17/18 storage buffers. Bind-group splitting, lowered probe constants, CPU fallback, or skipped parity remain non-acceptance.1a04e3723c244ddc23468558558475aa89f1e049→d97decc32b62541fd34a84de50337dabaead036f, same current protected base, Draft/open/mergeable. Exact compare from protected main contains only the sixbinary64_meanowner files. The candidate remains mutable and is not TEPP authority.No predecessor hosted evidence is transferred to either new head.
UnitAverageV1therefore remains intentionally unavailable until normal protected integration plus a new immutable fast-mlsirm release; #310's mixed-sign half-ULP RED remains the consumer-side numerical acceptance. This comment supersedes the older #1717/#1816 head references in the issue body only.seonghobae commentedon Sep 12, 2026
Scientific-owner handoff refresh: #310 remains the landing vehicle and the
LagPairAverageV1/ refusal-population / 4,096-replicate informative-missingness acceptance is not changed by the current infrastructure repairs. Reusable finite-binary64 arithmetic is still blocked on immutable fast-mlsirm authority. Current owner heads arefast-mlsirm#1816@d97decc32b62541fd34a84de50337dabaead036fand GPU/release prerequisite#1717@826ca6d00c26a9ce966d7f5c73fb0b4584c718a0, both open/Draft/mergeable on protectedmain@97a7aaf3a70ec21e0845f0d5f6fa86f5222cac7a. #1717 has repaired ignored-source sealing and missing-acceptance fail-closed manifest behavior, but its current head intentionally carries a new candidate-artifact TOCTOU RED pending immutable staging/mutation detection; the SwiftShader 10-storage vs real marginal 17/18-storage GPU RED also remains. ThereforeUnitAverageV1stays fail-closed and this issue must not be closed or redefined to bypass the numerical-owner/release chain.seonghobae commentedon Sep 12, 2026
Numerical-owner boundary update only; no scientific contract change.
fast-mlsirm#1717advanced non-force toba5e16677d216d3b92940461e86eeeca5de0bfbdon protectedmain@97a7aaf3a70ec21e0845f0d5f6fa86f5222cac7a. The candidate-artifact TOCTOU RED introduced at826ca6d...now has owner-side staging/mutation-detection production code and its CWE-367 review thread is resolved. The real GPU prerequisite remains RED (marginal E-step/score 17/18 storage buffers vs controlled stage limit 10), so this is not release authority. KeepLagPairAverageV1and its denominator/recovery evidence unchanged; keepUnitAverageV1fail-closed until #1816 lands normally and a new immutable fast-mlsirm release publishes the finite-binary64 mean contract.seonghobae commentedon Sep 12, 2026
Owner-state currentization only; the scientific finding and acceptance contract in this issue are unchanged.
The reusable GPU prerequisite is now
ContextualWisdomLab/fast-mlsirm#1717@1e6c9f93a7e291d1d1b4edb57db904bfe976a64don protectedmain@97a7aaf3a70ec21e0845f0d5f6fa86f5222cac7a. Exact source still exposes 17 storage buffers + 1 uniform for marginal E-step and 18 storage buffers + 1 uniform for score. The controlled probe now additionally records/asserts wgpu's combined per-stage buffer budget and records storage-binding-size/max-buffer/alignment limits. Thus “reduce storage bindings to 10” alone is not sufficient acceptance: the resulting topology must satisfy storage count, combined stage budget, binding/buffer sizes and offsets on the same adapter, then instantiate the real pipeline and pass production-shaped CPU-f64↔GPU parity/recovery.The finite-binary64 implementation vehicle remains mutable
fast-mlsirm#1816@d97decc32b62541fd34a84de50337dabaead036f. No immutable released mean contract exists from that PR yet, soUnitAverageV1remains fail-closed and the mixed-sign half-ULP RED remains valid. Do not close this issue or activate the equal-unit target from mutable owner source.seonghobae commentedon Sep 12, 2026
Scientific-owner handoff only; no estimand change.
fast-mlsirm#1717@fe484913c6840ac024921b9014f4d5d5ffaa9f06now contains the first real resource-topology repair candidate for the controlled SwiftShader RED (E-step 8 storage + 1 uniform; score 3 storage + 1 uniform, with packed binding-size/max-buffer admission). It remains Draft and unaccepted until exact-head real GPU no-fallback/no-skip parity/recovery is GREEN.fast-mlsirm#1816@d97decc32b62541fd34a84de50337dabaead036fis still mutable, soUnitAverageV1remains fail-closed. PreserveLagPairAverageV1, denominator/refusal populations, unequal-follow-up/permutation, and Monte Carlo acceptance unchanged.seonghobae commentedon Sep 12, 2026
Scientific-owner refresh only; estimand stays unchanged.
fast-mlsirm#1717@939c2be3168285750ecdc563891ba1d077b827bbhas now proved the packed marginal topology on the real controlled SwiftShader lane: adapter-capacity check GREEN, explicit marginal CPU↔GPU parity 1 passed / 0 skipped, package/release-acceptance GREEN, Rust GREEN. It is still mutable/unmerged and remaining exact-head Python/fuzz plus central Required CodeQL/review settlement are not complete, soUnitAverageV1remains fail-closed. PreserveLagPairAverageV1, denominator/refusal populations, unequal-follow-up/permutation and 4,096-replicate informative-missingness acceptance exactly as-is.seonghobae commentedon Sep 12, 2026
Scientific-owner handoff only; no estimand/acceptance change.
LagPairAverageV1, explicit denominator/refusal populations, unequal-follow-up/permutation contracts, and the 4,096-replicate informative-missingness acceptance remain authoritative onTEPP#310@ba10820e0d28cc33d1b91ef37f6f6d163b3d91e9.The reusable finite-mean prerequisite has materially advanced:
fast-mlsirm#1717@5e3265f145087a2242c592e7be1a7789d352a304now has exact-head real SwiftShader GPU Smoke GREEN (103615745011) and acquisition/release evidence GREEN (103615745194), with repository Security/CodeQL/Semgrep GREEN. Its remaining Required CodeQL RED is central shared-run wake settlement only and is owned by.github#2106; current-head independent review/remaining hosted lanes are not yet complete.fast-mlsirm#1816@d97decc32b62541fd34a84de50337dabaead036fremains mutable. KeepUnitAverageV1fail-closed until protected #1717/#1816 landing and a new immutable fast-mlsirm release exposebinary64_mean; only then may #310 replace the local generic mean and rerun the mixed-sign half-ULP RED. Do not close #495 on mutable PR evidence.seonghobae commentedon Sep 12, 2026
Owner-state refresh for this estimand issue: fast-mlsirm #1717 is now
60bd3e879395307a9600a8e60cf5cf619ee5243con protectedmain@97a7aaf3a70ec21e0845f0d5f6fa86f5222cac7a, Ready/open/mergeable. REDa63c107...reproduced the external-directory staging-symlink cleanup escape; GREEN60bd3e8...rejects the lexical staging path/ancestors before cleanup and rechecks identity after creation. Current inline security/docs findings are resolved, but fresh exact-head CI/CodeQL/fuzz/security/review evidence is still reacquiring, so this is not landing authority. Numerical implementation #1816 remains mutable atd97decc32b62541fd34a84de50337dabaead036f. The issue's scientific contract is unchanged:LagPairAverageV1remains the admitted pair-weighted target andUnitAverageV1must remain unavailable until the reusable finite-binary64 mean is protected, normally merged, and shipped in an immutable fast-mlsirm release.seonghobae commentedon Sep 18, 2026
Owner-state currentization (2026-09-19 KST): the numerical-owner section in this issue body is stale and must not be used as mutable-head authority.
fast-mlsirm#1717is currently exact81d3ed2275a785cd3b136f267b208c0d2c166dd3, open/Ready/mergeable on protectedmain@a712995b1c22230bc7fcc7f693ae4ad88cb363f4. This includes the protected-main ordinary restack plusscripts/sales_readiness.pybuyer-packet integrity repair. Its fresh CI/Security/CodeQL/Semgrep/fuzz lanes are still settling; no predecessor GREEN transfers.fast-mlsirm#1816remains exact3a1176998103332d26c9fb211fe2bf954dabd428, open/Draft/mergeable.fast_mlsirm.binary64_mean@1.0.0therefore remains a mutable candidate, not a TEPP dependency.v0.11.4, published 2026-09-18 08:14:12 UTC and immutable, but it predates the current #1717/#1816 finite-mean path. It does not satisfyUnitAverageV1activation.Accordingly #495's scientific conclusion is unchanged:
LagPairAverageV1remains the implemented estimand andUnitAverageV1must remain fail-closed until the finite-binary64 owner lands normally and a new immutable release is published. No mutable PR head or old release is promoted by this currentization.