Visible Points and Dwell Compliance
Current assessment (2026-09-15)
The preregistration fixes a before/after comparison for participant-visible scores. No experiment data are attributed. The exact deployment/exposure timestamp was not verified in this review. Six revised quests were published September 15, changing instructions and identifiers; this is a separate protocol change that must be recorded in any participation comparison.
Do not infer that nobody has seen a score from a September 1 description of the application. The exposure record needs the deployed feature and the participant's app version. Quest revision is now a potential confound. CSI motion during a dwell can come from bystanders, and completion timestamps alone cannot identify which person moved.
Next evidence needed: Recover the actual exposure timestamp before dividing arms. Stratify by quest revision and app version, exclude operator and backfilled award records, and distinguish a dwell-motion proxy from independently verified participant compliance. Preserve the original preregistration boundary instead of backdating it.
Basis: Thesis Narrative, the September 10 synthesis, and the September 15 register review. See the review record for evidence sources and outstanding checks.
Earlier protocol and dated results
The methods and observations below retain their original scope. Read their readiness statements and proposed next steps as historical. The current assessment above records what has changed; frozen thresholds have not been retrospectively revised.
Why this card exists before the feature does
IP-145 Phase 6 makes a participant's score visible and accruable for the first time. This card is Phase 5, and it blocks Phase 6: the boundary is written down first, because a reward armed and then studied is not a comparison.
That is not a hypothetical caution. It already happened once. Points were armed on
2026-08-26, and templates.py records the cost in its own source: the CSEDU paper's §6
pre-declared a first session "with the points mechanic at zero throughout", and arming from
day one removed the unarmed arm that M1, M4 and M6 were to be contrasted against.
Why a baseline still exists
The 2026-08-26 arming was partial. Points became a number printed on a quest card, and nothing else:
Userhas no points column andQuestEnrollmenthad none before IP-145.QuestControllerreturnedpoints_earnedin the completion response and stored nothing.- There is no profile, no total, no history and no leaderboard anywhere in the app.
So no participant has ever held a score. The period up to Phase 6 is therefore still a usable announced-but-never-delivered arm, and Phase 6 is the instant it ends.
The arming boundary
Arm instant: the deploy that ships IP-145 Phase 6 (GET /api/me/stats plus the app's
profile screen). Record the exact UTC timestamp here on the day, from the deploy, not from
the merge.
armed_at: <not yet armed — fill from the Phase 6 deploy>
Everything before that instant is arm A (announced). Everything after is arm B (delivered).
Measures, declared now
Split at armed_at. All four come from data the backend already records, so none of them
needs new capture.
| # | measure | source | why it is the one to watch |
|---|---|---|---|
| M1 | dwell duration per probe step | quest_step_completions.completed_at − started_at |
The protocol asks for 30 s. A participant who hurries scores the same and destroys the measurement. |
| M2 | dwell motion | fleet CSI over the dwell window | The independent check on M1. A dwell that was not stood still shows as a motion signature whatever the timestamps say. |
| M3 | quest completion rate | quest_enrollments.status |
Volume, the effect a reward is supposed to have. |
| M4 | abandonment rate and step reached | status = abandoned, quest_step_completions count |
Distinguishes "more people start" from "more people finish". |
M1 and M2 together are the point of this card. M3 going up while M2 degrades is the failure mode, and it is the one that would otherwise be read as success.
Exclusions, declared now
- Backfilled ledger rows.
Version20260901150000stampedpoints_awardedon already completed enrollments from the quest's current value, because nothing recorded what those walkers were promised. Their signature isawarded_atequal tocompleted_atto the second. Exclude them from anything that treats an award as a stimulus. - Operator takes.
audience = operator. The operator knows the design, so they are not a participant observation. - Quarantined capture sessions, on the register's standing rule.
What the corpus could not tell us
Searched 2026-09-01 and re-run independently rather than taken on trust:
claim_search("gamification incentive participation reward data quality") returns zero
claims, and search_vault with graph_enhanced=True returns three passing mentions with no
effect size: draghici2019_b7bf ↗,
darsena2023_50b7,
gubbi2013_fab5.
coverage_report(axis="domain") has no HCI, behavioural-science or citizen-science bucket.
Two papers were acquired on 2026-09-01 to start closing that:
mekler2013_169c ↗, a controlled experiment isolating points as a
game element, and
brhlmann2020_a0e6 ↗.
Both are status: new and neither has been read. Neither may be cited until it has been.
Carry this caveat: even a well-stocked gamification corpus measures annotation or survey quality, not dwell compliance in a physical sensing protocol. The failure mode this card watches for may be genuinely unpublished, which is exactly why it is being measured here rather than looked up.
Owning work
- IP-145 Phase 5 (this card) blocks Phase 6.
- Feeds §5.3 and §6 of the CSEDU 2027 paper, whose contribution is the instrument and the participant protocol.