Skip to content

Prolific plumbing: completion codes and submission redirect #7

Description

@htsukamoto5

Phase 1 — unblocked, and a blocking dependency of #5 and #6.

Scope narrowed: this issue was originally the whole Prolific wrapper. The participant-facing content (consent, instructions, comprehension check, debrief, mobile block) moved to #13. What remains here is the submission plumbing, which is small, and which #5 and #6 both need before their payment paths can be built at all.

The problem

There is no completion-code redirect anywhere in either experiment, so no participant can submit the study at all — including one who plays all the way through and reaches doneTrial. Every recruited person would need manual approval, and the dead-end paths (#5, #6, and screen-outs) have nothing to redirect to.

Work

  • Capture PROLIFIC_PID / STUDY_ID / SESSION_ID from URL params. Attaching them to data rows is Data: attach dyad_id and Prolific identifiers to every row #4; this issue just needs them available for the redirect.
  • Implement the redirect to app.prolific.com/submissions/complete?cc=….
  • Four distinct codes, because four distinct exits need to be reconcilable and separately analysable:
Code Exit Issue
complete finished the game
partner-dropped survivor abort path #5
no-match lobby timeout or spectator overflow #6
screened-out failed the exposure item or declined the commitment gate #13

Screening plumbing

Prolific permits in-study screening only via its built-in custom screening feature or a two-study design; the suggested choice is the built-in feature (see READINESS.md §4). That has consequences here:

  • Both screening exits share one completion code. Prolific configures a single screen-out code and a single screen-out reward per study, so screened-out covers both the prior-exposure item and the commitment gate whether we want it to or not.
  • Do not share the data field. Record screened_out_reason (prior_exposure / declined_commitment) so the two are separable in analysis. The rates answer different questions: exposure rate measures how contaminated the Prolific pool is for tangram tasks (directly relevant to whether Hawkins is viable later), while commitment-decline rate is a leading indicator of the abandonment rate we will see downstream.
  • Data: no save target exists — wire up DataPipe with incremental saves #3's save must fire on the screen-out path. A group defined by never reaching the experiment is the easiest one to accidentally leave uninstrumented — and if it is, we lose exactly the two rates above.
  • Consent must precede the screening items, so there is permission to store the responses at all. Ordering is tracked in Prolific wrapper: consent, instructions, comprehension check, debrief, mobile block #13.

Payment notes

Platform-mandated, not our choice — full detail and sources in READINESS.md §4:

  • Unmatched participants must be paid, and must not be rejected. Minimum $0.14/min of waiting; the suggested figure is the full task rate instead (~$1.25 for a 5-minute lobby timeout), because a floor-rate payment loses to returning the study and teaches people to abandon the lobby.
  • The screen-out reward is duration-scaled: $0.14 is the minimum for a screener of one minute or less, so a two-minute screener implies ~$0.28. Set it from a measured pilot duration and round up, because it cannot be changed after the study is published.
  • The screen-out reward may not exceed the full study reward.
  • The screen-out slot limit auto-pauses the study when hit. Set it with headroom against the expected screen-out rate, or a higher-than-expected exposure rate silently halts recruitment mid-run — worst case during a burst launch, when simultaneous arrival is the whole ballgame.

See READINESS.md sections 4 and 5.

Metadata

Metadata

Assignees

No one assigned

    Labels

    phase-1Unblocked: can be done nowprolific-readinessRequired for a live paid Prolific run

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions