fix: close a gap in the H3 disable pass — output_guidance snapshot and DynaShift capture

Both were captured "regardless of the toggle" by original design (so
turning guidance on later works immediately), which meant they kept
running on H3 even after output_guidance/dynashift were forced off —
exactly the kind of function the "disable everything unrelated to
REINS" pass was supposed to catch, missed because the capture point
predates any toggle check.

Confirmed live: the user's own log showed "DynaShift negative bank
updated — 1 entry" after the rest of the disable pass had already
landed.
This commit is contained in:
digital-garbage
2026-09-03 18:59:47 +03:00
parent 85add9ed84
commit 3e5c07249a
2 changed files with 9 additions and 2 deletions
+3 -1
View File
@@ -10208,7 +10208,9 @@ class FunPackVideoRefinerV2(FunPackVideoRefiner):
# discard otherwise. Separate from the value-function block above because
# wrong_appearance is deliberately NOT reward-admissible there (repair
# semantics), yet it is the canonical intrusion signal here.
if has_previous_run and refinement_key and not learning_profile.get("skip_learning"):
# NOT on H3 -- dynashift (the only reader of this bank) is forced off there, and
# the sampler no longer captures a pending latent for it either.
if has_previous_run and refinement_key and not learning_profile.get("skip_learning") and not _is_h3:
try:
try:
from .negative_memory import consume_pending, is_negative_profile
+6 -1
View File
@@ -8266,7 +8266,12 @@ class FunPackLTXAVSceneChainSampler:
if self._is_nested(_snap):
_parts = [t for t in _snap.unbind() if isinstance(t, torch.Tensor) and t.numel() > 0]
_snap = max(_parts, key=lambda t: t.numel()) if _parts else None
if isinstance(_snap, torch.Tensor):
if isinstance(_snap, torch.Tensor) and not self._is_h3:
# NOT on H3: this snapshot only ever feeds output_guidance's value function
# and DynaShift's negative bank, both forced off for H3 (see self._is_h3
# override above) — capturing it here anyway would just be banking video
# latents nothing ever reads, the same waste the "disable everything unrelated
# to REINS" pass was for.
self._save_output_value_snapshot(refinement_key_input, _snap, None)
# DynaShift pending candidate: same run/rating pairing as the snapshot, but
# the RAW video latent (fp16) — the rating decides whether it becomes a