Skip to content

Audit pipeio docs against implementation

Goal

Verify that docs/specs/pipeio/ accurately reflects the current pipeio implementation and fix any drift.

Context

Pipeio has gone through significant architectural evolution (pipeline→pipe label, flow as first-class entity, mod discovery, BidsResolver, contracts, snakebids detection). The specs may contain v2 roadmap items presented as implemented, or miss features that were added since the docs were last updated.

Prompt

Compare docs/specs/pipeio/ (overview.md, index.md, mcp-tools.md, and any other files) against the actual source code in packages/pipeio/src/pipeio/ and src/projio/mcp/pipeio.py. Specifically check:

  1. MCP tool names/signatures in docs vs what's actually registered
  2. Registry schema in docs vs actual dataclass/model definitions
  3. Filesystem path conventions in docs vs what the code uses
  4. Flow config schema in docs vs actual config parsing
  5. Resolver/adapter docs vs implementation
  6. Features documented but not implemented (or vice versa)
  7. v2/roadmap items presented as if already shipped

Recently added features that MUST be documented: - pipeio_dag_export — thin adapter over snakemake --rulegraph/--dag/--d3dag, returns dot/mermaid/svg/json - pipeio_report — thin adapter over snakemake --report, supports target param for partial-output flows - pipeio_nb_update — update notebook metadata (kind, description, status) in notebook.yml - pipeio_mod_context — bundled read: rules, scripts content, doc content, config params, bids signatures - pipeio_target_paths — resolve output paths for registry entries (list/resolve/expand modes) - pf shell helper (packages/pipeio/bin/pf.sh) — flow navigator (like wg for projects). Commands: pf (list), pf <flow> (cd), pf <flow> smk [args] (snakemake in flow context), pf <flow> deriv (cd derivative dir) - CLI: pipeio flow ids|path|config|deriv|smk subcommands - pipeio_run now auto-resolves snakemake via conda env wrapping (cogpy), passes --directory, supports use_conda flag for --use-conda - NotebookEntry now has kind, description, status fields for lifecycle tracking - FlowEntry has app_type field (snakebids/snakemake detection via registry_scan)

Also update the pipeio CLAUDE.md CLI surface section to include the pf helper and new flow subcommands.

Produce a discrepancy list with file paths and specific mismatches, then fix the docs to match reality.

Acceptance Criteria

  • [ ] Each spec file in docs/specs/pipeio/ reviewed against source
  • [ ] Discrepancy list produced
  • [ ] Docs updated to match current implementation
  • [ ] No roadmap items presented as implemented unless they are
  • [ ] New features (dag_export, report, nb_update, mod_context, target_paths, pf helper, flow CLI) documented
  • [ ] pipeio CLAUDE.md CLI surface includes pf and flow subcommands

Result

(Filled in after execution)