Skip to content

Conversation

@JPPhoto
Copy link
Contributor

@JPPhoto JPPhoto commented Oct 27, 2025

Summary

This new graph.py keeps the same DAG model and validation but restructures runtime scheduling and readability: ready queues moved from public deque fields to internal, non-serialized structures grouped by node class, with a configurable class priority and optional batch cap; indegree is now seeded as unmet inputs (fixing iterator stalls) and children are enqueued via a single _enqueue_if_ready() helper; next() drains the active class queue, reseeds when empty, and _prepare() still expands iterators but with clearer predicates; minor fixes include catching ValueError in delete_edge, replacing magic port strings with ITEM_FIELD/COLLECTION_FIELD, and renaming helper methods for clarity. Functionality and performance are preserved aside from the scheduling policy change and the indegree correctness fix.

Additionally, there is a new README.md file that explains a bit about the classes in graph.py so future developers can get a head start.

Related Issues / Discussions

All of this was an effort to understand the execution engine better to support different types in the future - if, loops, and the like.

QA Instructions

I've run a number of workflows with these changes and all seems good.

Merge Plan

Checklist

  • The PR has a short but descriptive title, suitable for a changelog
  • Tests added / updated (if applicable)
  • ❗Changes to a redux slice have a corresponding migration
  • Documentation added / updated (if applicable)
  • Updated What's New copy (if doing a release after this PR)

@github-actions github-actions bot added python PRs that change python files services PRs that change app services labels Oct 27, 2025
@JPPhoto JPPhoto requested a review from maryhipp as a code owner October 27, 2025 21:42
@github-actions github-actions bot added the frontend PRs that change frontend files label Oct 27, 2025
@github-actions github-actions bot added the python-tests PRs that change python tests label Oct 27, 2025
@lstein lstein self-requested a review November 2, 2025 19:56
Copy link
Collaborator

@lstein lstein left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code is clean; tested with workflows involving multiple iterators and collections and produced expected output. I have a few minor code comments regarding handling of edge conditions.

@JPPhoto JPPhoto requested a review from lstein November 9, 2025 00:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

frontend PRs that change frontend files python PRs that change python files python-tests PRs that change python tests services PRs that change app services

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants