H3 HyperFlow · Fresh Stage Execution Audit (T8 EXP)
The pass-through node that tells you what your H3 stage actually executed
- stage_result
- stage_result
- output
- denoised_output
- report_json
This one looks pointless and isn't. It takes a Stage Result and both of the original Core sampling outputs, reads the execution record attached to the completed stage, and passes everything through untouched.
The value is the report_json. It tells you the actual absolute step coverage, and the actual EAV and Relay call coverage, for that stage - read from the immutable record of the completed run rather than from the mutable counters that the Apply nodes display in their UI.
Why the counters aren't good enough
Because they tell you what was requested, not what the model did. In this pack a stage can have an EAV effect, a NATIVE Prompt Relay wrapper, both, or neither, and the underlying patches compete for the same hooks. The author's policy for unknown third-party wrappers is to keep them running and preserve their behaviour - friendly, but it means "the Apply node says 4 calls" is not evidence that those four calls happened on the forward pass you care about.
The audit instead reports the coverage it can actually see. Missing or bypassed effects come back as unverified, not as a green tick. It's the same philosophy as the H16 EAV audit: connection alone proves no effect, and a report that certifies nothing is more useful than a report that certifies wrongly.
What it won't do is certify quality - the doc phrasing is that it doesn't sample or certify anything, it just reads. A stage with perfect coverage can still look worse than one without effects.
Inputs and outputs
stage_result in. Out comes stage_result (the same typed object, so you can chain it), plus output and denoised_output - the original Core latents passed straight through, both sockets preserved so you can put this node in the middle of an existing wire without changing how the next node receives its latent.
That "both outputs preserved" detail is the whole reason this node is usable in practice. You drop it after the sampler, before the upscaler or the load node, and nothing downstream needs rewiring. Remember the semantics from the rest of the pack: on a completed full8 stage, output is the picture; on a partial4 LOW, denoised_output is the predicted clean x0 that feeds the upscaler.
Where it goes
After the stage's sampler, before whatever consumes it. On a LOW stage, that means between sampler and lift input. On a HIGH stage, between sampler and decode or the candidate save. If a stage has Relay or EAV bound, this is the node that tells you whether those are worth keeping - and it's cheap, because it doesn't touch the GPU.
Install
Part of the pack: Manager → MiniMax H3 Audio T8, or clone and restart:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8.git minimax-h3-audio-T8
Restart fully rather than refreshing. Recent ComfyUI core is required, along with the H3 base model, Qwen3-VL encoder, and video/audio VAEs - plus the HyperFlow adapter in models/hyperflow/loras/ and the learned upscaler in models/latent_upscale_models/ for the fresh routes. No pip installs come from this pack; the empty requirements.txt is a deliberate choice so the pack can't replace ComfyUI's Torch.
Where people get burned
Mismatched stage identity. The audit reads a specific stage's record - hand it a Stage Result from an earlier run, or one from a different stage than the effects you're asking about, and you'll get a report about the wrong thing. The pack validates what it can and refuses what it can't verify, but it can't read your mind about which run you meant.
And the classic: wiring this node in and assuming the audit changes the picture. It's a tap. If your stage is mediocre, the fix is upstream - stage choice, sigmas, the wrong LOW socket into the upscaler, or CFG above 1 with an active effect, which this route doesn't support.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| stage_result | T8_STAGE_RESULT | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| stage_result | T8_STAGE_RESULT | — |
| output | LATENT | — |
| denoised_output | LATENT | — |
| report_json | STRING | — |