Build batch dataset manifest workbench - #200
Conversation
Workflow direction updateThe batch feature is converging well, but we are tightening the responsibility boundary before the remaining slices land. The Batch workbench is a manifest authoring tool. Its only handoffs should be:
Configuration remains responsible for dataset-wide conversion settings. Recording to BIDS consumes the active manifest plus Configuration and remains responsible for destination preview, output preflight, conversion, per-recording results, and retry. The workbench should not grow a parallel configuration or conversion workflow. The manifest is the canonical contract for both file loading and direct in-memory handoff. Configuration changes must not silently rewrite it, and global configuration values should not be duplicated into each recording row. Issues #192, #197, #198, and #199 have been revised to reflect this direction. #199 now precedes #197 conceptually because save/load and direct handoff establish the contract consumed by the conversion workflow. |
|
Follow-up to the workflow pivot: the final workbench tab should remain, but as Review & handoff rather than Preview & Convert. Issue #199 now explicitly covers its manifest summary plus Save batch file and Load into Configuration actions. Output directory, modality, proposed BIDS destinations, and collision preflight remain outside the workbench under #197. |
|
Conflict-resolution note for later:
After resolution, rerun backend, renderer, Electron, audit, and packaging checks. |
Bring the batch dataset manifest workbench branch (PR #200) up to date with main after the 3.0.0 release-candidate and Linux-packaging work. Conflicts resolved: - package.json: keep main's freeze:backend / dist:* packaging scripts alongside the branch's test:unit; deps auto-merged (main's react 19.2.8, electron-builder; unused react-router-dom dropped). - package-lock.json: regenerated from the merged manifest (npm install). - .github/workflows/ci.yml: both sides added the Vitest "Unit tests" step; kept the branch's descriptive comment. - vitest.config.js: both sides added the file; merged the comments. - src/jsx/Configuration.jsx: kept the branch's useCallback import (used by the #199 batch handoff), superset of main's import. Validated: eslint clean, 144 Vitest unit tests pass, production build OK, Python suite 76 pass. The 3 test_bids_validator failures are a pre-existing, main-wide upstream breakage (ajv 8.20.0 dropped the `Ajv` named export that jsr:@bids/validator@3.0.0 imports) and are unrelated to this merge.
Brief summary of changes
Testing instructions (if applicable)
npm run test:unit.npm run lint.npm run build.Link(s) to related issue(s)