lookit / lookit/lookit-api

Make consistent across codebase when a child has "done" a study

Open
#1,322 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Bug Researcher Staff
Dominant language
Python
Stars
12
Forks
21
Avg merge
5d 19h
Merged PRs (30d)
5

Description

Description
The rule we have shared with researchers is that a child is marked as having "done" a study when they click into it (with either the "Participate now!" button or the "Schedule a time to participate" button). However, it turns out that this is not consistent across the codebase! According to some quick investigating by Melissa, a child being "done" with a study is "slightly differently, in different parts of the codebase written by different people in different years". We should make the definition of "done" consistent across the codebase, and likely the rule we shared with researchers (described above).

How to reproduce
A good example is a child who has done "Introduction to Project GARDEN!" and "Journey to the GARDEN Library 1" on https://lookit.mit.edu/studies/garden/. These two "studies" are actually just watching a video (and do not contain any other common study features; for example, they do not contain consent). No matter how many times a family does these studies, they remain. This leads to two problems. Smaller problem: They remain visible even when the parent selects "Hide Studies We've Done". Larger problem: Families will still receive recruitment emails for these studies, which leads to confusion for the parents AND means we are wasting recruitment emails for these compared to other studies that are new.

Expected behavior
Consistent definition of "done" across the codebase. (For the specific example described above: very important families no longer receive recruitment emails for "Introduction to Project GARDEN!" and "Journey to the GARDEN Library 1" once they have "done" those studies)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Trace how the codebase determines that a child has done a study, including the study-list filtering and recruitment-email behavior described in the issue. Use the two Project GARDEN video studies as the regression examples, and confirm that completion is consistent across all affected paths.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.