Skip to content

Flatten pipe/flow: update pipeio CLI commands

Goal

Update all pipeio CLI commands to use flow-only addressing. Remove pipe positional arguments entirely.

Context

Prior tasks removed FlowEntry.pipe from the registry and dropped pipe params from all MCP functions. This task updates the CLI layer. There is no derivative concept exposed — flow name = derivative name.

Prompt

Update all CLI commands in packages/pipeio/src/pipeio/cli.py to use flow-only addressing.

Commands to update

Flow commands (argparser + handler): - pipeio flow list → no change needed (already lists all) - pipeio flow new <pipe> <flow>pipeio flow new <flow> (single positional arg). Scaffold goes to code/pipelines/<flow>/ - pipeio flow fork <pipe> <flow> <new_flow>pipeio flow fork <flow> <new_flow> - Other flow commands already take just <flow> via auto-detection

Registry commands: - pipeio registry deregister <pipe> <flow>pipeio registry deregister <flow> - pipeio registry scan — update summary output (no pipe grouping)

Notebook commands: - pipeio nb lab --pipe P --flow Fpipeio nb lab [--flow F] (drop --pipe flag) - _detect_flow_from_cwd() — update to use registry.get() with new signature

Handler functions to update

  • _cmd_flow_new() — scaffold into code/pipelines/<flow>/ (no pipe subdirectory). Update Snakefile/Makefile comments to remove pipe references.
  • _cmd_flow_fork() — call mcp_flow_fork(root, flow, new_flow) (no pipe)
  • _cmd_registry_deregister() — call registry.remove(flow) (no pipe)
  • _cmd_registry_scan() — update summary output format
  • _cmd_nb_lab() — remove --pipe from auto-detection
  • All _cmd_flow_* handlers that call registry.get(pipe, flow)registry.get(flow)

Constraints

  • Only modify packages/pipeio/src/pipeio/cli.py
  • Run PYTHONPATH=src python -m pytest tests/ -q to verify
  • Save with datalad_save

Acceptance Criteria

  • [ ] No pipe positional arg or --pipe flag in any CLI command
  • [ ] pipeio flow new <flow> works (single arg)
  • [ ] pipeio registry deregister <flow> works (single arg)
  • [ ] pipeio nb lab auto-detection still works
  • [ ] All tests pass

Result

(Filled in after execution)

Batch Result

  • status: failed
  • batch queue_id: 48c064cff89c
  • batch duration: 1800.1s