A superstudy's members should be placeable under a subdirectory, not only at its root
- Dominant language
- Python
- Stars
- 1
- Forks
- 4
- Avg merge
- 15h 39m
- Merged PRs (30d)
- 24
Description
## What
`add-dataset --study ` and the superstudy fan-out assume a member study sits directly at the superstudy root (`/study-ds000001/`), which is the shape `docs/output_structure.md` documents and what OpenNeuroStudies does.
`--study studies/study-ds000001` is refused as "not a member study", so a superstudy that keeps its members under `studies/` (or any other directory) cannot be operated.
Seen 2026-08-30 on Unity: the member landed flat beside `duct-logs/` and other non-study directories at the superstudy root, with no way to put it anywhere else.
## Wanted
Either shape should work: members at the root, or under a subdirectory the user chooses.
The member selector is already a superstudy-relative path (`resolve_member`), and the catalog records it as such, so the constraint is wherever the code assumes one path component (member naming from `Path(target).name`, the `.gitmodules` lookup, the catalog key).
## Open
- Whether `campaign init --superstudy` should take a members directory as configuration, or whether the path form of `--study` is enough and no configuration is needed.
- `docs/output_structure.md` documents the root-level shape as the target; if a subdirectory becomes supported it should say so, and say that OpenNeuroStudies' root-level shape is one instance, not the rule.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing how add-dataset --study and the superstudy fan-out handle paths, then inspect resolve_member and the assumptions around Path(target).name, the .gitmodules lookup, and the catalog key. Done means both root-level and user-selected subdirectory members work, with docs/output_structure.md explaining the supported shapes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 50/100