arkennemasis Run Collect (wait for every cell)
The barrier that stops the summary from running before the run is over
- jobs_dir
- delivered
- report
The arkennemasis pipeline fans out: every variation cell runs concurrently and finishes in no particular order. That's fast, but it creates a subtle race. Anything that reports on the whole run - the review board, the store export, the run report - is free to execute the moment its inputs exist, which can be before most cells have finished. Result: the board and export run, write nothing, and the run still reports success. ArkRunCollect is the barrier that sits between generating and summarising and makes the summary actually wait.
The mechanism is a ComfyUI idiom: the node declares INPUT_IS_LIST, so it receives every cell's result in one call. A node that takes the whole list as one input can't run until the whole list exists - which is exactly the guarantee you want here.
The second wire is the important one
Waiting on Deliver alone isn't a real barrier for the thing that actually matters. The durable per-cell status is written by a separate output node (Job Record), and without the wait covering it, the report, board and store export could all read a job record before its status had been written - reporting a cell as unfinished purely because the scheduler hadn't reached it yet. So the node takes two list inputs:
delivered_paths- wire Deliver'smaster_pathhere. It arrives as the whole list, which is what forces the wait.job_reports- wire Job Record's report here too. Without it the wait covers only the file writes, not the durable status the summary reads.
The report output tells you whether you wired both: "statuses written: not wired" is the hint you're only halfway to a real barrier.
Inputs and outputs
jobs_dir- where the job records live, passed through.delivered_paths,job_reports- the two list inputs above.jobs_dirout - for whatever reads the records next.delivered- the count of files actually on disk.report- a "RUN COLLECTED" summary: cells delivered, files on disk, statuses written.
Install and gotchas
Part of the arkennemasis pack:
cd ComfyUI/custom_nodes
git clone https://github.com/Hishamahmer/comfyui-arkennemasis
pip install -r ComfyUI/custom_nodes/comfyui-arkennemasis/requirements.txt
Restart, or install via ComfyUI Manager by repo URL.
The gotcha is forgetting it entirely. If your board or export runs and writes nothing while the run still reports success, you've found the exact race this node exists to close - put it between the fan-out and anything that reports on the whole run. If delivered counts fewer files than you expect, some cells didn't actually deliver, and that's worth knowing before you email a client a mostly-empty matrix.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| delivered_paths | STRING | Wire Deliver's master_path here. It arrives as the whole list, which is what forces the wait. | |
| jobs_dir | STRING | variation/jobs | — |
| job_reportsopt | STRING | Wire Remember this variation's report here too. Without it the wait covers only the file writes, not the durable status the summary reads. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| jobs_dir | STRING | — |
| delivered | INT | — |
| report | STRING | — |