Skip to content

feat(psychometric): recover Driver p.16 discreteCINTstd after positive p - #213

Draft
seonghobae wants to merge 2 commits into
agent/psychometric-standardised-asymptotic-diffusionfrom
agent/psychometric-standardised-discrete-intercept
Draft

feat(psychometric): recover Driver p.16 discreteCINTstd after positive p#213
seonghobae wants to merge 2 commits into
agent/psychometric-standardised-asymptotic-diffusionfrom
agent/psychometric-standardised-discrete-intercept

Conversation

@seonghobae

Copy link
Copy Markdown
Contributor

Stacked on #212 (asymDIFFUSIONstd). Next unique licensed map on this ancestry is footnote-4 standardisation of 2017-era discreteCINT. Do not duplicate #203 addedTIPREDVARstd. TDPREDVARstd is commented out in the 2017-era source and is not recovered. CINTstd (#195) is not on this ancestry; κ/√p is computed inline and is not this map.

Driver, Oud, and Voelkle (2017, p. 16; Eq. 3, p. 4; footnote 4; Table 2, p. 12; JSS PDF re-opened 2026-08-24T05:20Z) print discrete-time transformations for a chosen event interval and, when appropriate, standardised matrices with the suffix std. Footnote 4 standardises using only the relevant variance. CINT is the process intercept of individual, or average individual, dynamics, so that relevant variance is within-subject asymDIFFUSION p = −q / (2 a). The 2017-era summary.ctsemFit.R forms discreteCINT whenever verbose = TRUE:

discreteCINT <- solve(DRIFT) %*% (discreteDRIFT - I) %*% CINT

That source does not form a discreteCINTstd matrix. The scalar map here is the footnote 4 standardisation of that named discrete intercept: A^{-1}[e^{A Δt} − I] κ / √p.

Recovery

  • recover_standardised_discrete_continuous_intercept(κ, q, a, Δt, clock) forms strictly positive p first, then the discrete intercept, then divides by √p.
  • A zero intercept is exactly zero.
  • A later event interval changes the result.
  • Zero q fails closed. Unstandardised discreteCINT is defined for growing a ≥ 0 and for zero diffusion; standardised discreteCINT is not.
  • Non-event clock fails closed.
  • Non-positive event interval fails closed.
  • a ≥ 0 fails closed (lasting asymDIFFUSION requires stable drift).

Claim boundary

  • Unstandardised discreteCINT is not discreteCINTstd.
  • κ / √p does not depend on Δt and is not this finite-interval map.
  • (−κ / a) / √p is the standardised asymptotic intercept and is not this map.

Meredith (1993) and Mislevy (1991) remain closed (Unpaywall 2026-08-24T08:02Z: is_oa: false, 0 locations).

Do not merge without an independent APPROVE plus exact-head required-check success. Do not self-approve. Do not request Copilot.

Form strictly positive asymDIFFUSION, then A^{-1}[e^{A Δt}-I]κ / √p.
Distinct from κ/√p and from (-κ/a)/√p. The 2017-era source forms
discreteCINT and does not form a discreteCINTstd matrix.
@coderabbitai

coderabbitai Bot commented Aug 24, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Maintainer Verification — exact head d32c069b0bcf35acda15c7bd59e18327ef5e8171\n\n- Scope: recover Driver p. 16 discreteCINTstd from strictly positive stationary within-subject variance, with documentation corrected to preserve valid signed intercepts and a direct expm1 scientific oracle plus negative-effect regression.\n- Verification: focused contract (2/2), workspace check, workspace tests, doc tests, clippy -D warnings, cargo-deny, format — PASS on Rust 1.97.1.\n- Hosted state: this push dispatched new exact-head checks; pending is not treated as success.\n- Review state: PR remains Draft and has no qualifying independent approval.\n- Decision: WAIT_AND_REMEDIATE; re-evaluate after exact-head Checks and substantive review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant