{"checks":[{"name":"Lag window yields exactly 16 coefficients","pass":true,"detail":"n=16, span -5s..10s @ 1000ms"},{"name":"168 dyads = 28 observers x 6 targets","pass":true,"detail":"28 observers x 6 targets = 168 dyads"},{"name":"Dyad rows are observer-major","pass":true,"detail":"index = observer * 6 + target holds for all 168 rows"},{"name":"Every trace is the same length","pass":true,"detail":"240 samples at 1000ms = 240s per trial"},{"name":"At lag 0 the TLCC coefficient equals Pearson r","pass":true,"detail":"max |tlcc(0) - pearson| = 0.00e+0 over 168 dyads"},{"name":"Browser coefficients match the scipy reference","pass":true,"detail":"max |browser - python| = 5.00e-13 over 2688 coefficients"},{"name":"Peak lags match the reference on every dyad","pass":true,"detail":"168/168 identical"},{"name":"Peak recovers the planted per-observer lag","pass":true,"detail":"exact 94.6%, worst error 1 sample"},{"name":"No NaN coefficients","pass":true,"detail":"2688 finite coefficients"},{"name":"Browser LMM matches the Python LMM","pass":true,"detail":"max |Δβ| = 5.55e-16"},{"name":"Browser LMM matches statsmodels 0.14.6 MixedLM","pass":true,"detail":"Δβ₁=9.3e-15, ΔSE=5.3e-6, ΔlogLik=8.5e-9"},{"name":"Chebyshev erfc matches math.erfc out to z = 8","pass":true,"detail":"max rel Δ = 1.8e-15 over z ∈ {0.5, 1.96, 3, 4.5, 6.13, 8}"},{"name":"Browser p-value tracks the Python p-value to optimiser precision","pass":true,"detail":"rel Δp=9.0e-7; z²·relΔSE predicts 8.8e-7"},{"name":"p-value gap vs statsmodels is explained by the SE gap, not by error","pass":true,"detail":"rel Δp=6.1e-4; z²·relΔSE predicts 6.0e-4"},{"name":"Variance components match statsmodels","pass":true,"detail":"σ²re=0.7633 vs 0.7632; σ²resid=0.0536 vs 0.0536"},{"name":"Model recovers the planted 2.00 s group difference","pass":true,"detail":"β₁ = 2.036 s (planted 2.00), p = 8.83e-10"},{"name":"Balanced design: mean(Test) − mean(Control) equals β₁","pass":true,"detail":"raw difference 2.035714 s vs β₁ 2.035714 s"},{"name":"Two independent runs give identical output","pass":true,"detail":"no seed, no optimiser state, no floating-point drift between runs"}],"passed":18,"total":18,"ok":true,"ms":28}