{"n": 1, "what": "dog fur matte, variant A: wide band (erode 4/dilate 5), guided filter r2 eps 2e-3", "looked_at": "proof/dog_matte_diagnostics.jpg (first version)", "saw": "matte over-blurred: a smoky veil around the dog, mushy legs; cookie-cut looked sharper", "decision": "fork"}
{"n": 2, "what": "fork A/B/C on frames 9, 22, 45 (proof/fork_fur_ABC.jpg): A wide; B narrow band + small eps + alpha curve; C prior + guided filter only", "looked_at": "proof/fork_fur_ABC.jpg", "saw": "B keeps fur fringes without the veil; C clean but outline-shaped (no strands); bright gravel specks near paws in A and B", "decision": "promote B; fix specks by changing foreground recovery (clamp F to +-0.15 of the extended interior), not by blurring"}
{"n": 3, "what": "woman matte, loose drawn outline (erode 3)", "looked_at": "zoom of head", "saw": "white door carried into the hair and shoulders: the loose outline put door pixels into sure-foreground", "decision": "redraw a tight trimap outline from a gridded zoom; band erode 4/dilate 3"}
{"n": 4, "what": "hand + forearm", "looked_at": "proof/world_matte_diagnostics.jpg", "saw": "drawn forearm outline too high: a black slab rode above the arm", "decision": "lower the outline, widen the unknown band to 7 so the solver decides"}
{"n": 5, "what": "first scene frames (lying dog from frame 45 pieces)", "looked_at": "six test frames", "saw": "dog small and ghost-pale; refusal frame 22 an unreadable hunch; lying dog a crouching blob with legs; curtain window read as wood", "decision": "scale 1.55, darker grade; refusal = archive turn then lying with its back turned (score lie=1); rebuild the lying dog from frame 9 (profile, head up)"}
{"n": 6, "what": "lying dog from frame 9 pieces", "looked_at": "lie.jpg sprite sheet (8 parameter sets)", "saw": "sphinx pose reads as lying; seams at the belly cut (over-compositing of split pieces) and a hard vertical leg cut; head piece dragged a foreleg", "decision": "legs overlap under the body and are drawn beneath it; round head mask with the head core removed from the body; belly fringe synthesized and labelled reconstruction"}
{"n": 7, "what": "full film v1 (lying dog from frame 9, backlit grade pending)", "looked_at": "film frames at 0.5-31 s (contact sheets), zoom of the lying dog at 25, 27, 28.75 s", "saw": "lying dog floated above the sill and was washed out by the door light; one foreleg pointed up (both forelegs pivoted as one piece); look-in head (frame 15) indistinct; dog lost against the dark tree line; 12.4 MB at crf 23", "decision": "split and ground forelegs; backlit grade with light wrap; head from frame 5 (seen from behind); tree line lowered; crf raised"}
{"n": 8, "what": "full film v2", "looked_at": "contact sheets 0.5-31 s; zoom of heads 26.0 / 27.2 / 28.4 s; walk strip 16.0-17.0 s every 2nd frame", "saw": "lying reads as lying (sphinx, then back of head, then chin down); dog against the dusk glow; but the walk slid ~13 px under each held walk frame; a stray matte speck above the lying head", "decision": "substitution placement: a held drawing stays where it appeared, the next drawing carries the travel; speck removal by alpha-support test"}
{"n": 9, "what": "full film v3: substitution placement, speck removal; crf 21 encode", "looked_at": "contact sheet 1.0-28 s", "saw": "watchable; but film 32.5 MB (renewed per-frame grain defeats constant-quality encoding); looks-in first frame measured 26.67 s (0.27 s after 26.4)", "decision": "two-pass size-targeted encode (2.1 Mb/s); look-in ramp moved to start at 26.4; short look-back dissolve"}
{"n": 10, "what": "full rebuild through build/make.sh (v4)", "looked_at": "frames 7.46, 7.55, 26.3, 26.5, 26.7, 29.0 s", "saw": "look-in on time (26.5 s); one-frame double head at 7.46 s during the look-back dissolve; checker ALL OK; 10.67 MB, 912 frames, 38.0 s", "decision": "stop: watchable and invariants hold; hand to the independent critic"}
{"n": 11, "what": "repair round 1 after independent critic: DOES NOT PASS (5 conditions)", "looked_at": "frame-by-frame sheets 3.42-4.21 s and 7.42-8.54 s at full size; 2x crops of the sill 23.8-30 s; seam frames 4.42/4.50/4.58/7.83/7.92 s; walk frames 18.33/18.50/19.50/19.58 s; look-in 26.67/27.0/27.75 s", "saw": "before: hind piece faded so sky showed through the thigh; source turn frames 16-22 tangles; pale wrap outline from blurred door light on siding/porch; dissolve ghost and steep muzzle at 7.50; oval head sticker with a seam ring at the look-in; walk frames 42/46/47 headless", "decision": "no fade + union alpha (min interior alpha 1.000 measured over 63 sprite configurations); turn through the front (14,26,28,31 -> mirrored 9; back 26,14); wrap unblurred and from depth only, edge colour clamped to adjacent fur, contact shadow; hard look-back substitution, level muzzle; head-back cut only across the neck; walk 43,44,45,48; frame 15 avoided (a stray matte blob on its back); claws +6 dB"}
{"n": 12, "what": "rebuild v5 (make.sh) + re-render of frames 80-91, 192-205, 350-361", "looked_at": "the same windows from the rendered frames", "saw": "one dog with one head in every frame of both turn windows; no sky through the thigh; edges match the fur on siding and porch; look-back level and solid from 7.458 s; checker ALL OK; 10.69 MB, 912 frames, 38.0 s", "decision": "hand back for re-review"}
{"n": 13, "what": "repair round 2 begun by the original builder after critic round 2 (DOES NOT PASS, narrowly; 5 conditions), not recorded by it: render.py gained a backing gait (frame 45 mirrored, split into body + fore and hind leg pairs, legs sheared so each paw stays planted 70% of a 0.22 m step, then steps back lifted), calls moved to 0.62 / 1.62 / 2.95 s, film encoded 18:22", "looked_at": "(reconstructed by the successor) its film.mp4 and trace.json: frames 0.96-2.46 s at full size", "saw": "planted paws held (render trace 0.89 px), but the head still popped into and out of the gait: head point jumps 57.2 px at 1.04 s and 56.5 px at 2.33 s (the earlier nose metric read 32.7 / 32.3); sill swap at 23.83 s still a crouch -> upright shape change; frame-14 strand and look-in rim untouched; ledger and method not updated", "decision": "successor continues from this code"}
{"n": 14, "what": "round 3 (successor): cache rebuilt (make.sh prep: 50/50 dog mattes premult_ok); measured the five conditions on renders, then fixed: (3) frame 14's hooked strand above the shoulder cut by hand (DEBRIS, source px 149-165 x 100-110); (4) derim_edge: inside a 5 px edge band a fur pixel may not be lighter than the brighter of the fur core beside it and the backdrop behind it; (5) bridge drawings: frame 13 with head+neck pivoted down about the withers (0/18/36/54 deg in, 54/36/18 out), held in place; gait fed an eased offset (-30 / -26 px) as body travel so its paws stay planted while its head meets the bridge; lie-down starts 45% lowered with the head carried forward-low and the inward slide on its own ramp from 24 px back; new head-point measure (centroid of the 45 px nearest the facing side) because the outermost-column 'nose' jumped to a paw (104 px false reading at 24.21 s)", "looked_at": "render crops 0.96-2.46 s, 9.0-10.2 s (1.5x), 26.5-28.3 s (2x, 5x), 23.71-24.04 s with three lie-start settings side by side", "saw": "head point steps: retreat 57 -> 21.6 px, sill 26-47 -> 7.6 px; the 0.45 / 0.9 lie start continues the crouched walk frame best; strand gone", "decision": "full rebuild with make.sh"}
{"n": 15, "what": "make.sh v6 full rebuild; verify.py (new) measures on the ENCODED film: |film - no-dog plate| (NODOG=1, same seeds and shadows) as the dog mask; first runs fixed in the tool, not the film (component report, hind-paw rows, ROI so codec noise and the woman's hand are not the dog, onset window)", "looked_at": "film frames 0.96-2.50 s full and cropped; 9.0-10.2 s; 23.67-24.04 s; 26.50-28.29 s at 3x; full frames at 9 moments; 4x zooms of every extra mask piece at 9.2-10.1 s", "saw": "all five hold; but the look-in still dissolved over 0.16 s at its start and end: a faint double head at 26.50 and 28.29 s", "decision": "look-in made a hard substitution (head point moves 7 px); re-render 630-690, assemble, verify again"}
{"n": 16, "what": "build v6 final (frames 630-689 re-rendered, assemble.py, checker, verify.py)", "looked_at": "proof/r3_*.jpg (cut from film.mp4), proof/round3_verify.json, ffprobe", "saw": "checker ALL OK; on the film: planted paws hold within 2.60 px (fore) / 2.42 px (hind) while the body travels 203 px; calls at 0.63 / 1.60 / 2.95 s, soft words 9.96 dB below the quietest call; at 9.0-10.2 s only 4-7 px edge pieces within 3 px of the body (tail tip and leg edge cut by the tree line, a fur wisp), no floating fragment; lower-doorway rim 18 of 5298 edge px (max 2.8% per frame), no ear-tip specks; head point max step 22.1 px (0.83-2.54 s) and 17.5 px (23.58-25.0 s); 10.67 MB, 912 frames, 38.0 s, faststart; rendered frames deleted, folder 54 MB", "decision": "hand back for independent re-review; not self-approved"}
{"n": 17, "what": "repair round 3 after critic round 3 (PASS, narrowly; 5 conditions, last round)", "looked_at": "renders 22.2-23.8 s at 1.6x; walk drawing alphas 43/44/45/48 with grids; their feet against anchor ticks; look-back 7.38-7.83 s; frontal frames and archive frames 23-34", "saw": "walk legs solid in the matte but see-through when composited: light wrap counted thin legs as all edge (up to 60% replaced by the siding), and frame 45's hind legs faded to a ghost; the four walk drawings could not be foot-registered within 15 px (48 hides the front leg 43 plants); the look-back a one-frame mirror swap; frontal 26/28/31 heads masses even with local contrast; frames 30/32/33 show a muzzle", "decision": "wrap only on fractional alpha; approach on the planted-paw gait run forward, head lowered through the retreat's bridge drawings; look-back head substituted through the front (away lifted, 31, 28, 14 heads seated on the lying neck); turns use 30/33 (and mirrored for the turn back); soft voice to 7.10 s"}
{"n": 18, "what": "rejected: look-back by swinging the head 180 deg about the neck (rotate to muzzle-up, swap to the mirror head, rotate down)", "looked_at": "render frames 7.38-7.83 s", "saw": "the swung head floated on a thin stalk above an empty neck at 7.50-7.62 s (one dog, one head broken)", "decision": "substitution through the front instead; ear-tip rim of the old head cleared under bridge heads (a strand floated at 7.46 s)"}
{"n": 19, "what": "builds v7 and v8 (make.sh, verify.py); verification tool corrected twice: the siding test first used the film mask (biased: it drops out where dark fur meets dark lines), then a fixed-phase row contrast and a plain high-pass regression (both biased: the plate and film share grain). Final: regression on (plate - plate with unlined siding), validated: 1.01-1.04 outside the dog, control (half-period shift) ~0.1 on legs", "looked_at": "proof/r4_*.jpg cut from film.mp4; renders with the siding lines removed (solid dog px change 0.19 grey levels on average vs 4.78 outside)", "saw": "approach stance 70% swung paws 20 px/frame -> 60% stance (12-13 px/frame)", "decision": "final rebuild v8"}
{"n": 20, "what": "build v8 final, measured on the encoded film (proof/round4_verify.json)", "looked_at": "r4_siding, r4_look_back (crop + full), r4_frontal_heads (2.5x + full), r4_approach_full, r4_retreat, r4_watch, r4_lookin, r4_sill", "saw": "checker ALL OK. (1) siding through the dog at 22.2-23.8 s: body 0.003 mean / 0.025 max, legs -0.034 mean / 0.121 max (control 0.093): opaque within noise; no second legs at 23.62-23.79; (2) head comes round over 5 frames 7.458-7.625 s, largest step 34.7 px on film; (3) 'it's all right' at 7.11 s, 0.35 s before 7.458, soft words 9.96 dB under the quietest call; (4) muzzle visible at 3.71-3.83 (frames 30, 33) and 8.04-8.17 (30, 33 mirrored); (5) no held drawing changes in the approach; planted paws within 2.51 px, largest one-frame paw move 12.8 px. Protected: retreat paws 2.10 px; calls 0.63/1.60/2.95 s; fragments within 4 px of the body; rim 43/5644 edge px, no specks; head steps 21.7 / 8.0 px at the old pops. 10.65 MB, 912 frames, 38.0 s, faststart; folder 55 MB", "decision": "hand back for independent review; not self-approved"}
{"n": 21, "what": "build v9: v8 plus a corrected end card and assets.json (10 archive frames on screen, not 11; 'backing away and coming on planted paws (one head-low frame, legs in pairs)' in place of 'its own head-low walk, mirrored', which the picture no longer shows)", "looked_at": "end card frame from film.mp4; proof/round4_verify.json re-measured", "saw": "checker ALL OK; on the film: siding through the dog body 0.002 mean / 0.020 max, legs -0.016 / 0.103 (control 0.085); look-back largest head step 34.4 px over frames 7.458-7.625 s; soft voice 7.11 s (0.35 s lead), 9.96 dB under the calls; approach 0 held-drawing changes, planted paws within 2.38 px, largest swing step 15.9 px; retreat paws 1.74 px; head steps 22.3 / 8.4 px at the old pops; fragments within 3 px; rim 48 px, 0 specks; 10.65 MB, 912 frames, 38.0 s, faststart; folder 54 MB", "decision": "hand back for independent review; not self-approved"}
{"n": 22, "what": "critic round 4: DOES NOT PASS (narrowly); the coordinator's own frame at scene 23.0 showed a pale far hind leg with siding through it and hind feet above the porch", "looked_at": "film frames at scene 22.25 / 23.0 / 23.75 at 2x (no metric); the gait sprite's pieces coloured on a grid", "saw": "my round 3 claim was wrong. The siding test only looked inside render alpha >= 0.95, so it never sampled the pale limb (a partly transparent tail/far-hind fringe hanging below the rump in frame 45, part of the body piece). Frame 45's hind pair is lifted mid-stride: its lowest pixel sits 13 source px (20 screen px) above the front paw, so the gait carried floating hind feet through the whole approach (and the retreat, hidden there by the tree line)", "decision": "cut the hanging fringe and the bent far hind leg (hidden behind the near one); lengthen the near hind leg from the hip to the floor line; harden alpha in the gait (0.2 -> 0, 0.75 -> 1); measure every dog pixel with alpha >= 0.3, and look at 2x crops"}
{"n": 23, "what": "the other four conditions: the hand-off at 23.79 -> 23.83 (hip measured at 74.5 px drop); the shoulder fin; no tail; the reach on the turn frame", "looked_at": "render crops; lying sprite alpha on a grid; tail placements side by side at 4x; reach frames 3.08-3.50 s", "saw": "starting the lie-down from standing still dropped the hip 40-52 px (the walker's rump is higher than any lying pose); the fin is the corner where the crest cut meets the hole left for the head (a straight cut kept the corner); frame 13's tail floats when set further out and vanishes when set close (low alpha)", "decision": "the walker's hindquarters sink 34 source px over its last 5 frames (per-column shift from shoulder to rump, hind leg folded at the floor), lie-down starts 15% lowered; a parabolic shoulder line; frame 13's tail hardened and seated at the rump (10 px out, 10 deg); the reach is drawn 6 frames ahead of the score"}
{"n": 24, "what": "build v10 (make.sh) measured on the encoded film (proof/round5_verify.json; sheets proof/r5_*.jpg)", "looked_at": "r5_crop_22.25s / 23.00s / 23.75s at 2x, r5_lie_handoff_crop, r5_lying_*_shoulder_tail_2x, r5_reach_crop, r5_siding", "saw": "checker ALL OK. (1) every dog pixel with alpha >= 0.3 over the siding: transfer 0.012 mean / 0.043 max (rear half 0.044 max, legs 0.116 max against control 0.017); render alpha below 0.95 on 2.6% of the dog's pixels at most (its fringe); no pale limb at 2x. (2) planted hind feet within 2 px of the floor line (render 1 px), level with the front paw within 5 px. (3) 23.79 -> 23.83: hip drop 3.6 px, head 28.2 px; largest hip drop per frame 15.6 px (film) in 23.33-24.42 s. (4) no fin at 2x in the refusal or at the sill; a tail tuft outside the jamb. (5) reach from 3.167 s, 0.25 s before the turn. Kept: look-back largest step 34.9 px; soft voice leads by 0.35 s, 9.96 dB under the calls; retreat paws 1.55 px; approach paws 2.18 px, 0 held-drawing changes; fragments at 9-10 s within 6 px; look-in rim 37 px, 0 specks. 10.66 MB, 912 frames, 38.0 s; folder 56 MB", "decision": "hand back for independent review; not self-approved"}
{"n": 25, "what": "end card and method.md reworded (honesty fix): the lying dog is a reconstruction from frame 9 (body, legs, head) with heads from frames 5, 14, 28, 31 and a tail tuft from frame 13 (was: pieces of one matted frame). Rebuilt with make.sh v11", "looked_at": "the end card frame; scene frames 72-839 of the new film against the previous film", "saw": "checker ALL OK; scene frames unchanged apart from encoding: PSNR 41.1 dB average, 40.8 minimum (some identical); 912 frames, 38.0 s, 10.67 MB", "decision": "hand back"}
