Files
wildminder-ComfyUI-KEEP/tests
WildAi bae74a47e8 Round 19: the paste's last whole-clip transients are gone (measured attribution)
The owner's live profile on the 30 s clip (17 -> 32 -> ~52 GB) is now
attributed by measurement (a per-stage RAM sampler outside the tree:
psutil RSS/commit + StageBar marks, 128-frame CPU fixture, x6.07):

- the paste stage's gradual per-tick growth is the round-18 output
  buffer's lazy page commit (16 x 19.44 MB per 16-frame group) - the
  contract floor being paid, not a leak;
- the first stage's +15 GB is the caller-owned input IMAGE materializing
  into the working set as the detection loop reads it (dRSS +2.3 GB,
  dCommit +0 B on the raw-input run) - not pack-owned;
- the static audit found no whole-clip float32 copy of the input in the
  pack (the only advanced-indexing gather of the input is the
  max_clip_length-bounded :1132).

Two pack-owned O(N) items remained and are removed:

- FIX 1: the mixed-case faces np.stack gather (~611 MB owner-scale) is
  replaced by LazyFaceSource - the caller's face stack served per group
  (a view when contiguous, a group-sized copy when scattered) through a
  faces_provider seam mirroring frame_provider; the all-eligible
  pass-through gate keeps handing the raw stack.
- FIX 2: the fallback tail converts per gray group (_flush_fallback_group,
  the indexed write) - one group's stack + transient (<= 20 x 4.86 MB),
  independent of the fallback count, instead of a whole-fallback stack
  plus its ~10x conversion transient; the device-canvas and host tails
  keep their whole-stack form.

Gate: 6 failed, 580 passed, 16 skipped, 7 deselected - the 6 are the
owner's own asset/example edits, unchanged; 11 new pins (byte identity,
no-copy censuses, the cross-group boundary, the one-whole-clip-buffer
count).
2026-11-07 21:21:31 +03:00
..