You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
5.**Persist** – `SAVE_EVERYTHING` stores per-participant CSVs and plots under `data/<study>/<site>/<subject>/<task>/`. `Handler._persist_all_masters()` writes aggregate CSVs into`meta/`on every successful task run to keep analytics in sync.
43
+
5.**Persist** – `SAVE_EVERYTHING` stores per-participant CSVs and plots under `data/<study>/<site>/<subject>/<task>/`. Once the task artifacts are saved, `META_RECREATE` is invoked for every domain so the aggregate CSVs in`meta/`stay synchronized with the subject-level cache.
44
44
45
45
## Supported Tasks
46
46
| Construct | Tasks | Notes |
@@ -73,11 +73,10 @@ python code/main_handler.py all
73
73
python code/main_handler.py AF
74
74
```
75
75
76
-
Outputs land under `data/` using the subject -> task folder pattern enforced by `SAVE_EVERYTHING`. Every run also refreshes the aggregated CSVs in `meta/`:
77
-
-`master_acc.csv`: high-level accuracy summaries for PS/MEM tasks.
76
+
Outputs land under `data/` using the subject -> task folder pattern enforced by `SAVE_EVERYTHING`. Every run also refreshes the aggregated CSVs in `meta/` via `META_RECREATE`:
78
77
-`cc_master.csv`: condition-level accuracy + mean RT for CC tasks.
79
-
-`ps_master.csv`: per-block correct counts for PS tasks.
80
78
-`mem_master.csv`: joined counts/RT/accuracy for FN/SM.
79
+
-`ps_master.csv`: per-block correct counts for PS tasks.
@@ -95,13 +94,13 @@ Outputs land under `data/` using the subject -> task folder pattern enforced by
95
94
## Extending the Pipeline
96
95
1. Add the new task code and study IDs to `Handler.IDs`.
97
96
2. Implement construct logic under `code/data_processing/` (reuse helpers in `utils.py` when possible).
98
-
3. Register the new branch in `Handler.choose_construct()` and add persistence hooks for master CSVs.
97
+
3. Register the new branch in `Handler.choose_construct()` and extend `META_RECREATE` if new aggregate metrics are required.
99
98
4. Document the task behavior and update tests/fixtures to reflect the new data expectations.
100
99
101
100
## Troubleshooting
102
101
-**No data returned from JATOS**: confirm the study IDs in `Handler.IDs` and that your token has access; adjust the `days_ago` window if you are backfilling.
103
102
-**Missing session folders**: ensure input CSVs include `session` or `session_number`. `SAVE_EVERYTHING` uses those columns to label artifacts.
104
-
-**WL metrics look stale**: WL and DWL write to the same `wl_master` rows via `_upsert_wl_master`; make sure both tasks are run for each session to populate delay scores.
103
+
-**WL metrics look stale**: Rerun both WL and DWL so their subject CSVs exist before `META_RECREATE` rebuilds the wide/flat summaries.
105
104
106
105
## License & Data Privacy
107
106
This repository processes sensitive participant responses. Keep tokens, raw exports, and downstream artifacts off public machines. Add new temp/output folders to `.gitignore` as needed to avoid leaking data.
0 commit comments