Nodes/DOGMA Nodes/DOGMA ReviewBatch v1.0.10
ComfyUI Node

DOGMA ReviewBatch v1.0.10

The node that decides which SAM masks get to live

By axior·Created 6 months ago·Updated 16 days ago· 2
DOGMA ReviewBatch v1.0.10
  • candidates
  • review
  • audit_report
◄audit_text—►
◄audit_modereport_only►

Every automated masking pipeline has the same hole in it. A text-prompted segmenter like SAM 3 will happily return a beautiful, confident mask of the wrong thing - the sky where your subject should be, a whole building for a category called "people" - and no amount of geometry checking catches that, because the mask is geometrically perfect. Somebody has to look. In DOGMA that somebody is a vision-language model, and ReviewBatch is where its verdicts become law.

It's the third step of the pack's phase 3: search → audit → review. DOGMASAMSearchBounded v2 (or SAMCoverage) produces candidate masks; an audit-batch node cuts them into numbered sheets with an instruction; you run those sheets through a VLM; ReviewBatch reads the answers and returns only the survivors.

How it works

Candidates come in as a DOGMA_CANDIDATES bundle - the masks that survived geometry cleanup, plus whatever was already approved on an earlier pass and the running notes. The audit_text input arrives as a list, one VLM answer per audit sheet, because the node is declared list-fed. This release audits four candidates per sheet, so the arithmetic is fixed: ceil(candidates / 4) answers expected, and if you hand it a different count it raises DOGMA: audit batch count mismatch. rather than mis-aligning verdicts to masks.

Parsing is deliberately narrow. Each line must start with a number followed by PASS or FAIL - bullet and 1./1:/1- prefixes tolerated - and the verdicts are matched to their sheet positions in order. Anything unreadable is marked REVIEW, not silently PASSed. If a sheet contains contradictory votes for the same number, that number becomes REVIEW (ambiguous) and is kept.

Then audit_mode decides the outcome, and its default here is the conservative one:

  • report_only - every candidate is kept, verdicts are recorded in the report. Nothing is deleted.
  • reject_explicit_fail - a candidate the model explicitly called FAIL is dropped; anything else still survives.

The result is a DOGMA_REVIEW bundle, which DOGMAFinalCoverageV110, DOGMA FinalCleanMasks v1.0.11 or a local-recovery search pass consumes next.

The inputs and outputs

  • candidates (DOGMA_CANDIDATES) - from your search node. Exactly one bundle is allowed; passing a mapped list of bundles raises.
  • audit_text (STRING, list) - the VLM's numbered verdicts, one entry per sheet.
  • audit_mode - report_only or reject_explicit_fail. Default report_only in this version.
  • review (DOGMA_REVIEW) - accepted masks plus notes, onward to a finalise node or a recovery pass.
  • audit_report (STRING) - one line per candidate (audit PASS; KEPT; mode=report_only), with the internal budget state stripped out. This is your audit trail; display it.

Install

Manager → search DOGMA Nodes, or:

cd ComfyUI/custom_nodes
git clone https://github.com/axior/ComfyUI-DOGMA-Nodes

Restart. Only scipy>=1.10 gets installed, but the full loop needs a current ComfyUI with SAM 3 support, plus a VLM node pack to answer the audit prompts. On Windows, SAM 3 has its own friction (it wants Triton), and its temp directories have been reported growing into the tens of gigabytes - worth knowing before you blame the pack for a full disk.

Honest caveats

This is the "coverage regression" release: 1.0.10 was the corrective to 1.0.9, whose box-only decoder and shape filters were rejecting perfectly good masks for being sparse. If your masks are missing real objects, that's the release that fixed it, and this review node came with it.

Two things it does not do. It doesn't create masks - it only judges the ones it's given, so an object SAM never detected can't be rescued here. And report_only retains incorrect selections by design: the pack says it plainly, "it is not a guarantee of semantic accuracy." If you want the model's explicit FAILs to actually delete masks, either switch the mode or move to a later ReviewBatch version. The pack's own changelogs also note this generation was validated with simulated model calls, so treat the first run on your own scene as the real test.

CategoryDOGMA/v1.0.10

Inputs (3)

NameTypeDefaultDescription
candidatesDOGMA_CANDIDATES—
audit_textSTRING—
audit_modeCOMBOreport_only2 options: report_only, reject_explicit_fail

Outputs (2)

NameTypeDescription
reviewDOGMA_REVIEW—
audit_reportSTRING—