-
Notifications
You must be signed in to change notification settings - Fork 44
mthds-1-Rename parallels to branches #665
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: feature/Chicago
Are you sure you want to change the base?
Conversation
The docs already use "branch" terminology extensively; this aligns the field name with the conceptual model. A migration mapping entry (`parallels → branches`) is added so users get a helpful error on the old name. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Tests cover success cases (multi-field, single-field, auto-generated name) and error cases (missing required field, wrong content type). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cf0ce47857
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. 🤖 Generated with Claude Code |
…lization Introduces a new EdgeKind.PARALLEL_COMBINE to show how individual branch outputs are merged into the combined result in PipeParallel, analogous to BATCH_AGGREGATE for PipeBatch. The edges render as purple dashed lines in ReactFlow and Mermaid views. The graph tracer snapshots original branch producers before register_controller_output overrides the producer map, ensuring correct edge source resolution during teardown. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…branch variant Wrap the combined_output test in a PipeSequence with a follow-up PipeLLM that consumes the combined result, making the graph more realistic. Add a new 3-branch PipeParallel test with selective downstream consumption where 2 branches are consumed and 1 is unused. Parametrize the test to cover both variants. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Batch/parallel edges were referencing controller node IDs, but controllers are rendered as Mermaid subgraphs (not nodes), creating phantom auto-generated nodes. Fix by using source_stuff_digest/target_stuff_digest to connect stuff-to-stuff instead, rendering missing stuff nodes on the fly. Also place parallel_combine target stuffs inside their controller's subgraph and use plain dashed arrows (-.->) when edge labels are empty to avoid Mermaid syntax errors. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix PipeParallel graph
…INE unit test The controller_combine_digests set was populated but never read anywhere in the codebase. The controller_output_stuffs dict already tracks the same digests and is the structure actually used for rendering. Added a unit test covering the PARALLEL_COMBINE subgraph rendering path to guard against future regressions. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…e rendering The "resolve missing stuff nodes on the fly and render dashed edge" logic was copy-pasted three times for batch_item, batch_aggregate, and parallel_combine edges (~105 lines of duplication). Extract into a single _render_dashed_edges classmethod and add unit tests covering all three edge kinds, label/no-label variants, and structural consistency. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix Mermaid graph rendering for PipeBatch and PipeParallel edges
Summary
parallelsfield tobranchesonPipeParallelBlueprintandPipeParallelSpec— aligns field name with branch terminology already used in docs. Updates all models, factory, builder loop, CLI, builder prompt, docs, README, PLX test data, and test files. Adds aparallels → branchesmigration mapping entry so users get a helpful error on the old name.StuffFactory.combine_stuffs— covers success cases (multi-field, single-field, auto-generated name) and error cases (missing required field, wrong content type). Removes the corresponding TODO comment.Test plan
make agent-checkpasses (pyright, ruff, mypy — 0 errors)make agent-testpasses (full unit test suite)make tbpasses (boot sequence validates config with new migration entry)pipelex validate --allpassesTestStuffFactoryCombineStuffstests pass (5/5)🤖 Generated with Claude Code
Note
Medium Risk
Medium risk due to a user-facing schema rename in
.plx/blueprints and non-trivial changes to execution graph tracing/rendering that could affect downstream tooling and visualizations.Overview
Renames
PipeParallelconfiguration fromparallels→branchesacross docs, examples, builder prompts, CLI TOML emission/parsing, specs/blueprints/factories, and test pipelines, with a.plxmigration map to rewrite the old key.Improves graph tracing/visualization for
PipeParalleloutputs by letting controllers explicitly register branch outputs (soDATAedges originate from the controller), adding a newparallel_combineedge kind to show branch→combined-output merges, and updating Mermaid/ReactFlow renderers to draw these dashed stuff-to-stuff edges. Adds new e2e/unit coverage for parallel graph structure andStuffFactory.combine_stuffsbehavior (and removes the related TODO).Written by Cursor Bugbot for commit e66a6bd. This will update automatically on new commits. Configure here.