Flatten pipe/flow: update all pipeio MCP functions¶
Goal¶
Update every mcp_* function in packages/pipeio/src/pipeio/mcp.py to use flow-only addressing. Remove all pipe: str parameters. There is no derivative field — it was removed entirely.
Context¶
The prior task changed the registry schema: FlowEntry.pipe removed, keys from "pipe/flow" to "flow", registry.get(flow) instead of registry.get(pipe, flow). There is no derivative field — the derivative directory is always derivatives/{flow_name}/ (implicit).
Prompt¶
Update all MCP functions in
packages/pipeio/src/pipeio/mcp.pyto drop thepipeparameter.What changed in the registry (prior task)¶
FlowEntry.piperemoved entirely (no derivative field either)registry.get(flow)instead ofregistry.get(pipe, flow)registry.remove(flow)instead ofregistry.remove(pipe, flow)registry.list_flows()— no pipe/derivative filter- Registry keys are flow names, not "pipe/flow"
- Derivative dir is always
derivatives/{flow_name}/(implicit from name)Functions to update (all in mcp.py)¶
Every function that takes
pipe: strandflow: str→ droppipe, keepflow.Pattern — where it currently does:
Change to:entry = registry.get(pipe, flow)Where it referencesentry = registry.get(flow)entry.pipe, replace withentry.name(for flow name) or compute derivative as justflow(the name).Flow/registry tools: -
mcp_flow_list(root, pipe=None)→mcp_flow_list(root)(no filter, or add optional name prefix filter) -mcp_flow_status(root, pipe, flow)→mcp_flow_status(root, flow)-mcp_flow_deregister(root, pipe, flow)→mcp_flow_deregister(root, flow)— also update ignore list key -mcp_flow_fork(root, pipe, flow, new_flow, new_pipe)→mcp_flow_fork(root, flow, new_flow)All notebook tools: drop
pipeparam, keepflowandnameAll mod/rule/config tools: drop
pipeparam, keepflowSpecial cases: -
mcp_cross_flow(root, pipe)→mcp_cross_flow(root)(compare all flows, no pipe grouping) -_resolve_mod_doc_path(root, pipe, flow, mod)→_resolve_mod_doc_path(root, flow, mod)— path becomesdocs/pipelines/{flow}/mods/{mod}.md- Modkey format:pipe-{pipe}_flow-{flow}_mod-{mod}→{flow}_mod-{mod}(simpler citekey) -mcp_nb_publishpaths:docs/pipelines/{pipe}/{flow}/notebooks/→docs/pipelines/{flow}/notebooks/-mcp_nb_status/mcp_nb_lab: where they usedpipefor filtering/grouping, just use flowConstraints¶
- Only modify
packages/pipeio/src/pipeio/mcp.py- Run
PYTHONPATH=src python -m pytest tests/ -q— fix any test failures- Save with
datalad_save
Acceptance Criteria¶
- [ ] No
pipe: strparameter on any mcp_* function - [ ] All
registry.get(pipe, flow)calls updated toregistry.get(flow) - [ ] No references to
entry.pipeanywhere - [ ] Modkey format simplified
- [ ] Doc paths use
{flow}/not{pipe}/{flow}/ - [ ] All tests pass
Result¶
(Filled in after execution)
Batch Result¶
- status: failed
- batch queue_id:
48c064cff89c - batch duration: 1800.1s