DOGMA ReviewBatch v1.0.14
Stop the auditor from rejecting the road for being road
- candidates
- review
- audit_report
Here's a failure mode that only shows up when you automate masking for real scenes: you ask a vision model to check a mask of "road," it sees a large selection of dark, wet, reflective asphalt, decides that's not a coherent object, and fails it. Same for "buildings" - architecture is background as far as most VLMs are concerned, and background selections are exactly what you're supposed to reject. The auditor was doing its job against the wrong rubric.
v1.0.14 is the release where the audit prompt became category-relative. It is, as far as I can tell, the version to run.
How it works
The counterpart audit node builds the instruction from your category string. If the category looks like a ground surface (road, pav, ground, asphalt, cobble, floor, soil, street) the prompt says so explicitly - visible paving, wet reflections, joints and shadows don't change the category, and the target "need not be one bounded object." If it looks like architecture (building, architect, arch, facade, colonnade, cathedral) you get: walls, roofs, columns and facade components belong to it, and real openings and partial structures are valid. Everyone else gets the neutral prompt.
The sheet layout is the same two-per-sheet arrangement as v1.0.11, and the parse is where the rest of the work went:
- Verdicts may now be
PASS,FAILorREVIEW.REVIEWmeans "the model said it can't judge this," and it's kept in both modes. - The reason after each verdict is captured and put in the report, trimmed and capped. That's the difference between "your mask was rejected" and "your mask was rejected because it selected the sky."
- Reasoning-model noise is handled: the text is truncated at 16,000 characters and anything after a
<think>tag is dropped before parsing. - Contradictory verdicts become
REVIEWwith the reason "contradictory verdicts; inspect mask." Missing reasons become "no readable visual reason returned; inspect mask." Neither is silently converted into a rejection.
audit_mode defaults to reject_explicit_fail; report_only keeps everything and just tells you what the model thought.
The inputs and outputs
candidates(DOGMA_CANDIDATES) - one bundle, from your search pass.audit_text(STRING, list) - one VLM answer per audit sheet; the count must match or the node raises.audit_mode-report_onlyorreject_explicit_fail(default).review(DOGMA_REVIEW) - the surviving bundle, with notes, feeding a finalise node or a local recovery search.audit_report(STRING) - now the useful one:source: audit FAIL; REJECTED; mode=…; reason=<what the model saw>.
Install
Manager → search DOGMA Nodes, or:
cd ComfyUI/custom_nodes
git clone https://github.com/axior/ComfyUI-DOGMA-Nodes
Restart after. Package version at the time of writing is 1.0.14 (scipy>=1.10 and that's it for Python deps), so a fresh Manager install gives you this node and its audit counterpart. The audit step still needs a VLM node to answer the prompts, and the search step still needs a SAM-3-capable ComfyUI.
Where it goes wrong
The reason field is your friend, and it will lie to you occasionally. A model that writes confident nonsense will still produce a confident-sounding reason. Treat REJECTED plus a vague reason as "go look at the mask," not as truth.
Don't run the ground/architecture heuristics against a category that's neither. Land your categories on the pack's canonical names where you can - road, buildings, vehicles, people - because those are what the guidance branches actually match on. A category called wet cobbled street surface still hits the ground branch (it contains cobble), but plaza floor texture is a coin flip.
And the standing warning from the author's own release notes: these version-1.0.1x semantic nodes were validated on CPU with model calls simulated. The masking machinery is tested; the semantic correctness of what your SAM and your VLM return is not something the pack can promise. That's what the report is for - read it before you complain that a category vanished.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| candidates | DOGMA_CANDIDATES | — | |
| audit_text | STRING | — | |
| audit_mode | COMBO | reject_explicit_fail | 2 options: report_only, reject_explicit_fail |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| review | DOGMA_REVIEW | — |
| audit_report | STRING | — |