Repository navigation
feat(psychometric): recover 2017-era active asymptotes=TRUE TIPREDEFFECT rewrite on main - #355
seonghobae wants to merge 2 commits into
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Queue-consolidation classification for the current recovery cycle: This PR overlaps #352 in the Driver/ctsem Cargo crate/ADR granularity is implementation provenance, not automatic bounded-context ownership. |
…t-20260831 Resolve the CHANGELOG.md append conflict by keeping both entries. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Restack on protected main (a243f18)Non-force merge of Local evidence on the pushed head (toolchain 1.98.0): 🤖 Generated with Claude Code |
Summary
psychometric_corerecovers the 2017-era activeasymptotes=TRUETIPREDEFFECTrewrite as the scalar−a · Bon current main.This is an independent companion of still-unmerged PR #349 (
CINT <- -DRIFT %*% CINTas−a · κ). It branches fromorigin/main1bc02f5, does not wait for #349, and is not stacked on draft PR #352. #352 used a different public name (recover_asymptotes_true_time_independent_predictor_effect), reserved register items 106–107 that collide with CINT #349, refused CINT instead ofTIPREDEFFECTstd, and edited ARCHITECTURE.md mega-rows. This PR usesrecover_asymptotes_true_time_independent_effect, items 108–109, and a standardised-TIPREDEFFECTrefuse. Do not close #352 from this PR.cran/ctsem 2.5.0
summary.ctsemFit.Rformsif(asymptotes==TRUE) TIPREDEFFECT <- -DRIFT %*% TIPREDEFFECTimmediately aftermxobj$TIPREDEFFECT$valuesand puts that rewrite in the activeoutlist. Driver, Oud, and Voelkle (2017, Table 2, p. 12; Eq. 1, p. 4; Eq. 3, p. 5; p. 16; JSS PDF re-opened 2026-08-31T15:26Z from https://www.jstatsoft.org/index.php/jss/article/download/v077i05/1104) nameBTIPREDEFFECT. Formafirst, then negate, then multiply byB. Whenasymptotes=TRUEthe storedTIPREDEFFECTis the asymptotic parameterization Table 2 / §7.2 namesasymTIPREDEFFECT-B / a; multiplying by-DRIFTconverts that stored value back to originalB.−a · (-B / a) = B. The companion active rewriteCINT <- -DRIFT %*% CINTuses the same operator on a different matrix and is not this coefficient map.A zero coefficient is exactly zero even if
a ≥ 0.a ≥ 0with a nonzero coefficient fails closed. Numeric:a = −0.5,B = 0.4recovers 0.2, distinct from unstandardisedTIPREDEFFECT(0.4), fromasymTIPREDEFFECT-B / a(0.8), from the finite-interval increment atΔt = 1(≈ 0.3148), and fromTIPREDEFFECTstdB · √v / √p(≈ 0.6325 whenv = 1,p = 0.4). Stored-B / a = 0.8recovers originalB0.4. LeisureTime printedasymTIPREDEFFECT = −1.673withB = −0.225reconstructsaand recovers originalB; Happiness printed0.219withB = 0.549does the same. UnstandardisedBis not this rewrite.asymTIPREDEFFECTis not this rewrite. The finite-interval increment is not this rewrite.TIPREDEFFECTstdis not this rewrite. A non-event clock fails closed.Meredith (1993) remains unread (Unpaywall historically
is_oa: false; Springercontent/pdfis an HTML stub). Mislevy (1991, Psychometrika, 56, 177–196, DOI 10.1007/bf02294457) remains unread on the same terms. Still not a Kalman filter, not a matrixexpm, not ESEM estimation, not DSEM, and not ctsem estimation.Plan
Fail-closed scalar
recover_asymptotes_true_time_independent_effect(time_independent_effect, log_rate, clock)as−a · Bonorigin/main, with four refuse helpers (unstandardisedB,asymTIPREDEFFECT, discrete increment,TIPREDEFFECTstd), five error variants, register items 108–109, CHANGELOG, ADR 0005, and crate/contract tests. Independent of #349 and #352.Verification
cargo fmt --allcargo clippy -p psychometric_core --all-targets -- -D warningscargo test -p psychometric_core --lib(194)cargo test -p psychometric_core --test multilevel_event_time_recovery_contract(110)cargo test -p psychometric_core --test scientific_claim_boundary_contract(53)RUSTDOCFLAGS='-D warnings' cargo doc -p psychometric_core --no-depsCloses #354
Register items 108–109.
Opened by: Grok Build (xAI) on behalf of Seongho Bae.
Do not merge without independent non-author APPROVE + exact-head required-check success. Do not convert from draft. Do not self-approve.