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
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.

1 participant