Phase 1 — unblocked. Highest value per line of code in the audit; without it every other fix produces nothing analyzable.
initJsPsych() is currently called with no options at all — no on_finish, no on_data_update. The only data egress in either experiment is a localSave button on the final screen that the participant must voluntarily click. There is no DataPipe, no OSF, no endpoint, no fetch anywhere in the repo.
Consequences:
- Every participant who does not reach the final screen contributes zero data — all dropouts, all stranded survivors, all lobby timeouts, all spectators. Those are precisely the sessions needed to characterize attrition.
- Even completers only contribute if they click a button labelled "Download data (JSON)" on a screen that already says "You may close this tab."
- We would be paying for data we do not receive.
Work
See READINESS.md section 3.
Phase 1 — unblocked. Highest value per line of code in the audit; without it every other fix produces nothing analyzable.
initJsPsych()is currently called with no options at all — noon_finish, noon_data_update. The only data egress in either experiment is alocalSavebutton on the final screen that the participant must voluntarily click. There is no DataPipe, no OSF, no endpoint, nofetchanywhere in the repo.Consequences:
Work
pipe.jspsych.orgto OSF), roughly five lines.on_finish. With pair-based attrition,on_finish-only saving loses exactly the sessions that matter. Save per-round, or at minimum on the abort path.See
READINESS.mdsection 3.