Nodes/DOGMA Nodes/DOGMA v56.5 Non-Semantic Tile Prompt
ComfyUI Node

DOGMA v56.5 Non-Semantic Tile Prompt

A prompt that deliberately says nothing about the picture

By axior·Created 4 months ago·Updated 3 days ago· 1
DOGMA v56.5 Non-Semantic Tile Prompt
    • prompt
    • defect_report
    vlm_report

    Most prompt nodes add information. This one subtracts it, and then wraps what's left in the strictest "don't touch anything" instruction you'll read this week. It's the Phase-2 prompt composer from the v56.5 pass, and the design is the mirror image of what everyone else does with a VLM in the graph.

    The idea

    You're restoring a tile of a photograph with a generative model. Somebody has to tell the model what to fix. The obvious move is to ask a VLM "what's wrong with this tile" and pass the answer through - which is what most prompt-enhancer nodes do, and which is also how you end up with the model being told what's in the picture. The moment a tile prompt says "a tram on a snowy street", you've given a 9B editing model a licence to render its idea of a tram, and the reference pixels stop being authority.

    The v56.5 pass went the other way: the vision model is allowed to report restoration defects only. Any object, scene or semantic content in its answer is discarded. The tile prompt then names defects - grain, speckles, mush, blur, banding - and nothing else.

    How it works

    It's a closed vocabulary of ten defect keys, each with a list of trigger phrases, matched case-insensitively against the VLM's flattened text:

    • grain (grain, film grain, noise), speckles, mush (mush, mushy, smear), blur, compression (compression, jpeg, block artifact), aliasing (aliasing, jaggies), texture_loss, edge_softness, color_noise (chroma noise), banding (banding, posterization).

    Whatever matches becomes the defect list. And the fallback is the opinionated bit: if the VLM's report contains none of those phrases, the node assumes the six most common defects (grain, speckles, mush, blur, texture_loss, edge_softness) rather than sending an empty prompt. A VLM that says "this tile looks fine, it's a tram" gets ignored and a generic cleanup instruction is sent anyway. That's what "non-semantic" means in the node's name: semantic content is a failure mode here, not an input.

    The prompt itself is a wall of preservation clauses: enhance and clean existing reference pixels only, reduce only the named defects where visibly present, the reference image is the sole authority for all semantic content, recover detail only inside already-existing pixel-supported boundaries, preserve camera, composition, perspective, geometry, object count, positions, silhouettes, occlusions, visible text glyphs, materials, colours, exposure, lighting, shadows, reflections and empty regions. Then two clauses that matter more than the rest for tiled work: never infer content from context, and a partially visible element touching a tile boundary must stay partial and in the same place - never completed or relocated.

    Inputs and outputs

    • vlm_report - multiline STRING, forceInput. The raw text from your vision model's defect inspection. Paste in whatever it said; the node does the filtering.
    • prompt - the STRING to send to the sampler.
    • defect_report - a compact DEFECTS: grain, blur, ... line, so you can see what the vocabulary actually matched. Read this when results look generic - it tells you whether your VLM's wording hit the trigger list or fell through to the default six.

    Install

    comfy node install comfyui-dogma-nodes
    # or
    cd ComfyUI/custom_nodes
    git clone https://github.com/axior/ComfyUI-DOGMA-Nodes
    pip install -r ComfyUI-DOGMA-Nodes/requirements.txt
    

    Restart, then load a v56.5-era or later graph. This node is pure text processing - no models, no GPU. The VLM that produces vlm_report is your own install.

    Gotchas

    You're trusting a word list. The matching is substring-based and only as good as those ten keys. A model that reports "chromatic aberration" or "oversharpening halo" matches nothing and you land on the default defect set. Read defect_report and, if your VLM's vocabulary never hits, teach it the words - that's cheaper than changing this node.

    The instruction is deliberately blind, so it can't fix a semantic problem. A tile where the model hallucinated a doorway will not be repaired by "reduce grain and blur"; that's a different job with a different tool - specifically DOGMANovelStructureGuardV565, which exists to revert invented structure after the fact. Phase 2 tells the model what to clean. Phase 3 checks what it did.

    It will still hallucinate a bit. Preservation prompts reduce drift, they don't eliminate it. Treat this as "keep the model on a leash that's much shorter than usual", not as a guarantee - and place it in a pipeline where the reference tile is genuinely low-damage, because a prompt this conservative has nothing to say about a tile that's 30% missing.

    CategoryDOGMA/v56.5

    Inputs (1)

    NameTypeDefaultDescription
    vlm_reportSTRING

    Outputs (2)

    NameTypeDescription
    promptSTRING
    defect_reportSTRING