[ArtStudio] Safety gate false-positives on texture atlases — Character plan fails at texturing at threshold 0.3 #362

Closed
opened 2026-07-04 18:44:04 +00:00 by spikerj · 1 comment
Owner

Found by the #350 Character e2e run. Epic #346; gate introduced by PR #67 (#349).

Symptom: the NSFW classifier scores non-photographic UV texture atlases high (observed nsfw 0.84 on a benign dragon atlas) — at the global 0.3 threshold, the Character plan reliably fails at texturing with the asset quarantined. Concept images score ≤ 0.011; the false-positive class is specifically atlas-style images (organic color fields, skin-tone-ish palettes, no recognizable scene).

Direction: kind-aware gate policy in ArtPipe:SafetyGate — per-artifact-kind threshold overrides (e.g. KindThresholds: { "texture-set": 0.9 }) rather than exempting textures entirely (belt & suspenders: atlases still gated, just at the model's photographic operating range; the textured render gets checked again anyway via the enrichment thumbnail, which is photographic and scores normally). Keep fail-closed semantics; log which threshold applied.

Acceptance: benign Character plan completes at default config; a flagged concept image still fails the run; per-kind thresholds config-bound + unit-tested; enrichment thumbnail remains gated at the base threshold (documented as the effective photographic check for textured output).

Found by the #350 Character e2e run. Epic #346; gate introduced by PR #67 (#349). **Symptom:** the NSFW classifier scores non-photographic **UV texture atlases** high (observed nsfw 0.84 on a benign dragon atlas) — at the global 0.3 threshold, the Character plan reliably fails at texturing with the asset quarantined. Concept images score ≤ 0.011; the false-positive class is specifically atlas-style images (organic color fields, skin-tone-ish palettes, no recognizable scene). **Direction:** kind-aware gate policy in `ArtPipe:SafetyGate` — per-artifact-kind threshold overrides (e.g. `KindThresholds: { "texture-set": 0.9 }`) rather than exempting textures entirely (belt & suspenders: atlases still gated, just at the model's photographic operating range; the textured *render* gets checked again anyway via the enrichment thumbnail, which is photographic and scores normally). Keep fail-closed semantics; log which threshold applied. **Acceptance:** benign Character plan completes at default config; a flagged concept image still fails the run; per-kind thresholds config-bound + unit-tested; enrichment thumbnail remains gated at the base threshold (documented as the effective photographic check for textured output).
spikerj added the bug label 2026-07-04 18:44:04 +00:00
Author
Owner

Resolved in spikersoft-backend PR #69 (merged to master). ArtPipe:SafetyGate:KindThresholds per-kind overrides, shipped default texture-set: 0.9; atlases stay gated, textured renders re-checked at the base threshold via the enrichment thumbnail; fail-closed unchanged; 214/214 filtered tests. Closing.

Resolved in spikersoft-backend PR #69 (merged to `master`). `ArtPipe:SafetyGate:KindThresholds` per-kind overrides, shipped default `texture-set: 0.9`; atlases stay gated, textured renders re-checked at the base threshold via the enrichment thumbnail; fail-closed unchanged; 214/214 filtered tests. Closing.
Sign in to join this conversation.