Skip to content

Toy WfMS flow controllers actually produce a subgraph - #326

Merged
liamhuber merged 8 commits into
mainfrom
wfms-edges
Sep 8, 2026
Merged

liamhuber merged 8 commits into
mainfrom
wfms-edges

Conversation

@liamhuber

Copy link
Copy Markdown
Member

Closes #325

Pulls down a simplified flowrep-version of pyiron_workflow.transformers and the flow controller execution logic. The transformers are lightweight and I'm happy to have them here; the wfms module changes are heavier weight, but IMO the cost is worth it for the toy WfMS to actually produce subgraphs correctly. This resolves the trouble with the drawn for-loop retrospective data in the user guide.

flowrep.schemas.Transform1toN and .TransformNto1 got added to the API, but otherwise this is patch-level under-the-hood stuff where the WfMS actually follows through on stuff it should have been doing, but has no impact on the terminal results of any of the workflows.

liamhuber and others added 8 commits September 7, 2026 19:33
Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Liam Huber <liamhuber@greyhavensolutions.com>
And run the workflows by actually leveraging those edges in order to keep the claims and the results in lock-step

Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Liam Huber <liamhuber@greyhavensolutions.com>
To reflect new for-loop behaviour in the toy WfMS

Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Liam Huber <liamhuber@greyhavensolutions.com>
Down into the prospective submodule. It's not important enough or independent enough to be in the top-level module. It generates prospective recipes, so let's move it here.

Signed-off-by: Liam Huber <liamhuber@greyhavensolutions.com>
Signed-off-by: Liam Huber <liamhuber@greyhavensolutions.com>
To reflect location of tested module

Signed-off-by: Liam Huber <liamhuber@greyhavensolutions.com>
The suite was a stop-gap from when the flow controllers completely failed to produce edges. I don't mind the test, but it can be a lot simpler.

Signed-off-by: Liam Huber <liamhuber@greyhavensolutions.com>
Signed-off-by: Liam Huber <liamhuber@greyhavensolutions.com>
@review-notebook-app

Copy link
Copy Markdown

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown

Binder 👈 Launch a binder notebook on branch pyiron/flowrep/wfms-edges

@codecov

codecov Bot commented Sep 8, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.95%. Comparing base (b3fdac9) to head (9e17862).

Additional details and impacted files
@@           Coverage Diff            @@
##             main     #326    +/-   ##
========================================
  Coverage   99.95%   99.95%            
========================================
  Files          52       53     +1     
  Lines        4016     4125   +109     
========================================
+ Hits         4014     4123   +109     
  Misses          2        2            

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@liamhuber

Copy link
Copy Markdown
Member Author

The new drawing functionality makes it really easy to quickly validate that the internal structure is indeed getting correctly generated

import flowrep as fr

@fr.workflow
def do_while(x0=1, limit=10, step=2):
    x = x0
    while fr.std.lt(x, limit):
        x = fr.std.add(x, step)
    return x

fr.tools.run_recipe(do_while.flowrep_recipe).draw(depth=2)
retrospective_while

@liamhuber
liamhuber merged commit 5a367b0 into main Sep 8, 2026
23 checks passed
@liamhuber
liamhuber deleted the wfms-edges branch September 8, 2026 03:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Toy WfMS misses populating topology for flow controllers

1 participant