From 06621bb2e38cb31b8d83f573af874fe395b01ea0 Mon Sep 17 00:00:00 2001 From: digital-garbage <133010426+digital-garbage@users.noreply.github.com> Date: Tue, 15 Sep 2026 15:24:29 +0300 Subject: [PATCH] docs: note has_block's contains-not-is limit on SLA's H3 gate Round 2 of extensive_testing on 548d99a found no exploitable defect -- has_block's "contains, not is" semantics are shared with minimax_h3's own equally consequential is_h3() gate, and nothing in this codebase nests diffusion_model in a wrapper that could trigger a false positive today. Recorded as a one-line limit rather than left implicit, per the round's only (non-blocking) suggestion. Co-Authored-By: Claude Sonnet 5 --- modules/loaders/sla_attention.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/modules/loaders/sla_attention.py b/modules/loaders/sla_attention.py index 2f2eaf49..2bf3aef5 100644 --- a/modules/loaders/sla_attention.py +++ b/modules/loaders/sla_attention.py @@ -83,6 +83,14 @@ def is_h3_model(model): -- which is also why the class name is matched qualified (module + name), not bare: a bare name is exactly as blind to an unrelated same-named class as it is to LTX's different head shape. + + has_block's contract is "does this model CONTAIN one", not "IS this model + one" -- true today because nothing in v5 wraps diffusion_model in anything + that could nest an unrelated MiniMaxH3Model submodule (checked: comfy's own + model_base.py assigns the raw architecture instance directly, and no + composite/multi-model pipeline exists in this codebase yet). Revisit this + gate if that ever changes -- the same assumption underpins minimax_h3's own + equally consequential is_h3() gate, so it would need fixing in both places. """ return _traits.has_block(model, _H3_MODEL_CLASS)