You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
mkconcore loses ZMQ specialization data when multiple nodes reuse the same source file #418
While exploring the specialization flow of ZMQ in mkconcore , i found that when multiple nodes reference the same script (example: A:common.py, B:common.py, C:common.py) and have different ZMQ edges, the generated specialized file keeps only part of the required PORT_* / PORT_NAME_* definitions.
Why this happens:
copy_with_port_portname.py generates output by basename only and returns early if that file already exists.
mkconcore.py runs specialization per node, passing node-level params each time.
So the first node writes common.py, and later nodes reuse it without merging their edge params.
Impact:
Valid workflows that intentionally reuse shared script files can run with incomplete ZMQ constants.
This can cause incorrect runtime wiring even though workflow parsing succeeds.
Hi @pradeeban, I’ve opened a PR #419 for this fix, it updates specialization to merge ZMQ params per shared source script (instead of per node), preventing dropped PORT_* definitions when multiple nodes reuse the same file. Please review when you get a chance. Thanks!
Activity
Titas-Ghosh commentedon Feb 18, 2026
Hi @pradeeban, I’ve opened a PR #419 for this fix, it updates specialization to merge ZMQ params per shared source script (instead of per node), preventing dropped PORT_* definitions when multiple nodes reuse the same file. Please review when you get a chance. Thanks!