Run live MCP integration test against pixecog preprocessing pipeline¶
Goal¶
Verify that all pipeio MCP tools work correctly against a real project (pixecog) with its preprocessing pipeline. Test the new tools (mod_context, nb_update) and the fixed tools (config_patch). Document any issues found.
Context¶
pixecog is at /storage2/arash/projects/pixecog/. It has multiple pipelines under code/pipelines/ including preprocess/ecephys and preprocess/ieeg. The project uses snakebids bids() for path resolution and has YAML configs with anchors and flow-style mappings.
The MCP server for pixecog can be accessed via the sirocampus MCP tools (or by setting PROJIO_ROOT to pixecog).
Prompt¶
Run a comprehensive MCP tool integration test against pixecog's preprocessing pipeline. This is a test/verification task — document results but do NOT modify pixecog files.
Test each tool category against
preprocess/ecephysorpreprocess/ieeg(whichever has richer config). Use the sirocampus MCP tools if available, otherwise use pipeio directly.1. Discovery tools¶
Record: number of flows, mods, rules found.pipeio_flow_list(pipe="preprocess") pipeio_flow_status(pipe="preprocess", flow="ecephys") pipeio_mod_list(pipe="preprocess", flow="ecephys")2. Config tools¶
Record: has_anchors, number of pybids_inputs, registry groups, member_sets.pipeio_config_read(pipe="preprocess", flow="ecephys")3. Config patch (dry run — apply=False)¶
Verify: diff is clean (no anchor mangling, no comment stripping, no flow-style expansion). Check that the diff shows ONLY the new registry group addition.pipeio_config_patch( pipe="preprocess", flow="ecephys", registry_entry={"test_group": {"base_input": "<first_pybids_input>", "members": {"test": {"suffix": "test", "extension": ".npy"}}}}, apply=False )4. Rule tools¶
Record: number of rules, edge count, any parsing errors.pipeio_rule_list(pipe="preprocess", flow="ecephys") pipeio_dag(pipe="preprocess", flow="ecephys")5. New tools¶
Verify: returns rules, scripts (with content), doc (if exists), config_params, bids_signatures.pipeio_mod_context(pipe="preprocess", flow="ecephys", mod="<first_mod>")Verify: if pixecog has notebooks, check that kind/description/status fields appear (may be empty for pre-existing notebooks).pipeio_nb_status()6. Cross-flow tools¶
Record: any warnings or errors.pipeio_cross_flow(pipe="preprocess") pipeio_contracts_validate() pipeio_completion(pipe="preprocess", flow="ecephys")7. Document results¶
For each tool, record in the Result section: - ✅ Works correctly - ⚠️ Works but with warnings (describe) - ❌ Fails (describe error)
If any tool fails, file an issue note with
worklog_note(text, project_id="projio", kind="issue").
Acceptance Criteria¶
- [ ] All discovery tools return valid data
- [ ] config_read parses pixecog config correctly
- [ ] config_patch dry-run diff is clean (no formatting damage)
- [ ] rule_list parses all rules without errors
- [ ] mod_context returns bundled data for at least one mod
- [ ] All issues documented
Result¶
(Filled in after execution)