# Claude Wiring Diagnosis — 2026-07-21 Claude Opus 4.8 SSH'd into 10.0.0.202 and diagnosed the subject duplication bug. ## Root Cause Node 132 (LTXDirectorGuide, the refiner pass) had its `latent` input wired to `["34", 0]` (uncropped LTXVSeparateAVLatent output) instead of `["55", 2]` (LTXDirectorCropGuides cropped output). ## Mechanism (from source code review) `LTXDirectorGuide` doesn't blend the I2V image in — it **appends** it as extra latent frames on the end of the sequence, then records how many to remove later in a conditioning key (`ltx_director_guide.py:596`). `LTXDirectorCropGuides` trims exactly that many afterward. The critical line is `ltx_director_guide.py:339`: ```python initial_latent_length = int(latent_length) # captured from whatever arrives ``` The graph runs 133 first (8 steps, denoise 1.0), then 132 (4 steps, 0.42). Node 55 correctly crops 133's guide frames off... but `55:2` (the cropped latent) is never consumed. Node 132 takes `34:0` instead — the raw, uncropped sampler output. Only 55's *conditioning* outputs are wired, which is why the break is invisible in the UI. So 132 counts stage-1's leftover guide frames as **real video content**, appends a second guide on top, and the final crop removes only one set. The orphaned guide frames decode as actual footage: a second copy of the man, frozen in the start-frame pose, while the real generation gets out of bed. ## Empirical Confirmation - **ffprobe: 249 frames / 10.375s. Requested: 240 / 10.0s.** The overshoot is leftover guide latent, decoded as video. - **Batches 1, 2, and 3 are all 249 frames** (`00007`, `00013`, `00019`, `00025`–`00030`). Byte-identical symptom across every "fix" — the wiring never changed. - **Log shows two `[LTXDirectorGuide] execute started` per render, both "Using Appended Keyframe Guidance"** — double append, confirmed. ## Reference Workflow Comparison `example_workflows/LTX_Director_2_Workflow_Hotfix.json` wires it as: ``` stage1 → 34 Separate → 55 CropGuides → 14 LTXVLatentUpsampler → 132 Guide (55:2, cropped) ``` Our v3 deleted node 14 (`LTXVLatentUpsampler`) and reconnected 132 straight to `34:0`. Removing the upsampler is what orphaned the crop. ## Fix Point `132.inputs.latent` at `["55", 2]` instead of `["34", 0]`. Restoring the upsampler between them is the fully-correct form. ## Verification Output should be exactly **240 frames** for 10s@24fps. 249 frames = bug present. ## Other Findings - **ID LoRA / distilled LoRA at 1.0** — not the cause. Log confirms `is_lora_active: False, ic_lora_name: None`. - **Scene 2 "soup" problem** — separate issue. The start frame `ltx_start_frame_02_00001_.png` shows a man over a tall steaming stockpot, which reads as soup. Bad start frame, not a prompt bug. - **Seed is 0 and shared** — bump to random. ComfyUI caches identical graphs. - **Session ID:** 5381500e-a071-42f5-8d6b-d780520a981b - **Cost:** $1.34 USD, 31 turns