con / con/mechababs

A superstudy's members should be placeable under a subdirectory, not only at its root

Open
#148 0 comments 0 reactions 0 assignees View on GitHub
automation decision
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.