Share resolved collector types within each validation operation and skip incomplete upstream collectors.
Remove the ineffective iterator fast path and cover If branches and queue compatibility behavior.
Add failing coverage for an edited collector that is never checked against the collectors it feeds,
incomplete upstream collectors blocking unrelated edits, and update_node renames failing on valid collector chains.
Revalidate affected collectors after edits and restore nodes atomically on failed reconnection.
Check typed If collector branches and document validation impacts for workflows and queued graphs.
- Recheck downstream type contracts when collector inputs change.
- Preserve inferred collector types through If branches and chained collectors.
- Add graph regressions and document validation behavior.
Promote mixed int and float collector roots to float.
Skip projection work for ordinary output types and simplify DAG-only traversal.
Cover numeric, allocation, deduplication, and If iteration paths.
Follow collector paths when revalidating If branches and roll back invalid additions.
Reuse resolved nodes to avoid projection work for ordinary edges.
Check collector item roots for each resolved If branch feeding an iterator.\nSkip traversal container setup for ordinary output sources.\nCover mismatch rejection and allocation-free fast path with counters.
* Implemented ordering for expanded iterators
* Update test_graph_execution_state.py
Added a test for nested iterator execution ordering. (Failing at commit time!)
* Filter invalid nested-iterator parent mappings in _prepare()
When a graph has nested iterators, some "ready to run" node combinations do not actually belong together. Previously, the scheduler would still try to build nodes for those mismatched combinations, which could cause the same work to run more than once. This change skips any combination that is missing a valid iterator parent, so nested iterator expansions run once per intended item.
* Fixed Collect node ordering
* ruff
* Removed ordering guarantees from test_node_graph.py
* Fix iterator prep and type compatibility in graph execution
Include iterator nodes in nx_graph_flat so iterators are prepared/expanded correctly. Fix connection type checks to allow subclass-to-base via issubclass. Harden iterator/collector validation to fail cleanly instead of crashing on missing edges. Remove unused nx_graph_with_data(). Added tests to verify proper functionality.