# Proof audit, pass 1

**Findings**

1. **The quiet working-turn resize fix is visually established; clean streaming continuation is not.** R01 shows the actual before chase and the corrected painted endpoint through toggle, keybinding, drag and reversal. The required remaining proof is R02 continuation, R07b continuation and R09b streaming recovery. They can be covered in fewer recordings with clearly labelled chapters. Do not recapture passed rows.
2. **R02 and R09b have documented residuals.** R02 contains a visible frame without the newest Thinking row, correlated with a 191 px item-remeasurement gap. It recovers in the next inspected paint. R09b briefly reports following=false during overlapping smooth return-to-end and resize, then recovers. These contradict an unconditional all-frames streaming pass; this audit does not establish a persistent tail loss or attribute a new implementation bug. The existing report already discloses both accurately.
3. **Current captures can be carried forward selectively.** The pin implementation and focused test at captured [c6b46f306c](https://git.cafe/pingdotgg/t3code/commit/c6b46f306c2a5c6e7d0b4eb9d83b275d658256cf) are identical to reviewed [b28a23458e](https://git.cafe/pingdotgg/t3code/commit/b28a23458e1f289323eb805e09ac7039bbbefca7); later main merges add unrelated minimap behavior inside this component. This avoids demanding identical-code recaptures just for a merge. R08/R10 historical material is older than the flushSync correction and cannot be promoted the same way.
4. **R07's continuation is not an active smooth-streaming control.** All sampled streamChars are zero, and its later drawer actions are idle. Reduced-motion R04 and guest G01 do show content growth, but neither has the normal owner timeline/composer/smooth-streaming combination needed for R02/R07b/R09b.

Reviewed [#32826](https://git.cafe/pingdotgg/t3code/pull/32826), head [b28a23458e](https://git.cafe/pingdotgg/t3code/commit/b28a23458e1f289323eb805e09ac7039bbbefca7), against [20c3dd3689](https://git.cafe/pingdotgg/t3code/commit/20c3dd3689782bfcb1a04332086d08017028c718). Read-only audit: no source changes, tests, servers, provider turns, pushes or comments. Existing captures use the fixed before merge-base [feb9c6b842](https://git.cafe/pingdotgg/t3code/commit/feb9c6b8425efc05dd0d3b198999ef90e16fc62c), not today's moving main. This is a proof audit, not a complete code/CI readiness review. The checkout acquired concurrent uncommitted probe edits during the audit; they were left untouched and are outside this verdict, which applies to the named committed head.

**Independent render inventory and reduction**

I inspected the diff, callers and runtime paths before reading the previous fixture matrix. The pre-evidence inventory and all derived review sheets are preserved in [audit review materials](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/74a0d24f8125dcd4/audit-review-materials.zip).

- Changed product component: [MessagesTimeline / memoized ConversationTimeline](https://git.cafe/pingdotgg/t3code/blob/b28a23458e1f289323eb805e09ac7039bbbefca7/apps/web/src/components/chat/MessagesTimeline.tsx). The wrapper merges ThreadFindTimelineContext and disables live follow while Find is open. The second changed file is a focused browser test, not a product render path.
- Complete callers: [ThreadTimeline](https://git.cafe/pingdotgg/t3code/blob/b28a23458e1f289323eb805e09ac7039bbbefca7/apps/web/src/components/chat/ThreadTimeline.tsx) from [ChatView](https://git.cafe/pingdotgg/t3code/blob/b28a23458e1f289323eb805e09ac7039bbbefca7/apps/web/src/components/ChatView.tsx), reached by normal server threads, draft/promotion, remembered loading entries, subagents and embedded side-chat panes; plus [GuestPage / GuestThread](https://git.cafe/pingdotgg/t3code/blob/b28a23458e1f289323eb805e09ac7039bbbefca7/apps/web/src/components/guest/GuestPage.tsx) directly. Web hosted/local/remote and Electron share the component. Guest uses its own follow hook, no prompt anchor, zero composer inset, optional history/footer and no terminal. Native mobile has a separate list and is outside this diff. No contract, provider adapter, server or connection-mode algorithm changes.
- New branch: first or unchanged measured height → no added pin. Changed height → pin only with the exact smooth maintain-at-end config and Legend isFollowingEnd=true; null list is skipped. Smooth requires working, normal motion, settled identity, no active citation positioning, off-end restore, anchored end space, released live follow/Find, or fullscreen app. Idle, reduced motion and settling retain the preexisting nonanimated config. Width-only and item/footer-only growth do not invoke the added pin. The callback runs after Legend measures viewport length, and flushSync commits the instant scroll before paint.
- No-list branch: zero rows, no visible unmatched approvals, idle, no parent, no history-controls object, no footer. Visible versus hidden empty placeholder and emptyPlaceholderInset only affect unchanged empty layout. A footer/header/history object can mount a list even with zero rows.
- Layout props/data: timelineEntries and run identity/status/times, active/runless work, setup/preparing/compaction, rollback/checkpoint flags, run source and diff summaries; zero/strict-fit/boundary/overflow counts, short/long message estimate buckets and wrapping; matching/unmatched, held/responding approvals and operation permission; footer, composer end inset and anchored end space; parent/subagent/side-chat header, history absent/exhausted/loading/error/retry, top fade; theme, timestamp format, cwd/workspace/skills, lane width/font preferences; minimap/gutter/hit strip and row persistence for audio/fullscreen. These reduce to measured-height change, content-only change, disabled follow, and no-list/mount geometry rather than a theme × provider × every-row grid.
- All row renderers share this viewport: user/assistant message (system has no corresponding body branch), assistant-meta, work/work-live/work-toggle, thinking/working, turn/attempt folds, compaction, worktree setup, event/subagent, proposed plan, HTML and MCP app. Pending/complete/error/deferred skeleton/retry, expanded/collapsed work/attempt/run groups, attachments and streaming markdown/thought affect geometry. Representative mixed Replay data covers unchanged styles; D01 inventories dynamic footer/disclosure/history differences without multiplying every style into a mandatory recording.
- Interactions: terminal toolbar, terminal.toggle keybinding and command-palette/new/split/setup entry points converge on the same drawer actions. Toggle, divider drag, reversal and window/banner/composer/header changes resize the list. Wheel/touch/PageUp/scrollbar/minimap release follow; explicit end re-arms it. Find open/query/navigation/close, citation activation/exit, thread restore/switch, prompt anchoring, disclosure/retry and fullscreen enter/exit are distinct mode boundaries. Copy/file/image/diff/parent/fork/rollback/template/app/approval/worktree callbacks keep their existing child behavior; only resulting row/header/viewport changes matter here.

**Fixture matrix**

MIN is the capture set scaled to this change: R01, R02, R03, R04, R06, R07a/b, R09a/b and R11 at 1280×800 dark, normal motion and 200 ms panels except the named controls. R02 also needs the measured large shrink. All interaction/time cases require **recording**; stable stills alone cannot pass them. R08 provides an optional light/narrow axis rather than a full theme grid. EXTRA rows inventory further paths without making unchanged guards or platform permutations automatic blockers. R07 and R09 are split into subrows to preserve the passed portions.

All real-app seeds below require isolated development state and synthetic Replay data; no live userdata or paid provider is necessary. Match data/disclosures, viewport, font, theme and drawer settings before/after; clear new-prompt anchor through the app end control to establish the smooth-follow branch. If a real Replay interval cannot sustain a required state, label a recording of the production component with deterministic inputs as a harness; do not force follow flags in a recording presented as the integrated app.

| Row | Fixture / data | Diff effect / interaction | Real-app seed or limitation | Minimum capture | Coverage status and file |
| --- | --- | --- | --- | --- | --- |
| R01 | Long overflowing, quiet working turn; settled, following, normal motion, 200 ms panels. | Direct height path: toolbar and Mod+J toggles, drag both ways, rapid reversal; tail stays above composer, no delayed chase. | Repeated Showcase Replay turns; hold write approval, clear anchor with end control; prepare terminal first. | **MIN**, 1280×800 dark, **recording pair** | **COVERED** — [before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d5609e3675f87acc/R01-before.mp4) / [after](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/29b9dd0a30038e48/R01-after.mp4); [phase comparison](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2e742d6462c4b24b/R01-phase-sheet.png). Before RO peak 276 px; after all 84 RO samples have gap 0. First-six changed paints show the before occlusion and after pin. Both recordings include the interaction tail. |
| R02 | Long streaming markdown; smooth pin in flight, followed end; tall drawer close/reopen loses more height than the new viewport. | Direct resize pre-emption plus later content-only smooth following. | Approve Showcase Replay; resize during final assistant text. For a longer continuation use a labelled production-component harness with deterministic chunks. | **MIN**, 1280×800 dark, **recording pair** plus measured tall shrink | **INSUFFICIENT** — [before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6955f6ca554a19b3/R02-before.mp4) / [after](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/abfd896f5dcede31/R02-after.mp4), [after trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b90f930fbfdbe777/R02-after-trace.json), [residual paint](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9c84d36d40f6c374/R02-after-residual-paint.png). Reopen shrinks 746→236 px after (730→236 before). After retains one 191 px RO gap and one painted frame hiding newest Thinking; next inspected paint recovers. All trace frames have streamChars 0 or 60: no later text growth after resize settles. [before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/51fb3a82c401e2e4/R02-size-attribution-before.mp4) / [after](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3f0d6c6d54969c12/R02-size-attribution-after.mp4) confirms item remeasurement but does not supply that continuation. A clean unconditional streaming pin is not proven; the residual alone is not proof of a persistent regression. |
| R03 | Same long content, idle/completed, at end. | Existing nonanimated configuration must remain stable. | Complete Replay with same drawer settings. | **MIN**, 1280×800 dark, **recording pair** | **COVERED** — [before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/45ad9cbf20cf87c2/R03-before.mp4) / [after](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/819b153ccfe7de79/R03-after.mp4) and settled comparison. Both sides have zero RO gap; visible tail remains stable through toggle/drag. |
| R04 | Long working/followed content with real reduced-motion media query. | Existing nonanimated guard, including content completion. | Emulate prefers-reduced-motion: reduce independently of panel preference; resume Replay. | **MIN**, 1280×800 dark, **recording pair** | **COVERED** — [before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/963230f497e5ce07/R04-before.mp4) / [after](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f15eeb7ab3dee8f4/R04-after.mp4) and [before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/eb4b35ce2114fa8e/R04-continuation-before.mp4) / [after](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6cc635b438b18879/R04-continuation-after.mp4). Media query is recorded; content grows 4526→4839 px in continuation, all RO gaps zero. This proves reduced-motion behavior, not normal smooth continuation. |
| R05 | Long working/followed content, normal motion, panel animation 0 ms. | Direct single-step height change; distinct from reduced motion. | Appearance advanced panel animation setting 0 ms; R01 data. | EXTRA, default viewport/theme, **recording pair** if pursued | **COVERED** — [before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/81f6fb7b341cfcba/R05-before.mp4) / [after](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/740f743d6893072f/R05-after.mp4). Before peak 280 px; after zero RO gaps. |
| R06 | Short working data strictly fits smallest usable area, including footer/inset. | Direct fit geometry; no phantom overflow or displaced top. | Single short Write approval Replay; tune drawer to retain strict fit. | **MIN**, 1280×800 dark, **recording pair** | **COVERED** — [before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e3ad8c951f3dec30/R06-before.mp4) / [after](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6766430524e107be/R06-after.mp4). Both sides show no overflow; zero RO gaps. Settled screenshots and their zero-threshold diff agree. |
| R07a | Working content fits closed viewport but overflows open viewport. | Direct overflow boundary and return to fitting. | Short Write approval Replay, content 398 px between open 236 and closed 748 px. | **MIN**, 1280×800 dark, **recording pair** | **COVERED** — [before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/656e22575273979c/R07-before.mp4) / [after](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9a20ddc1ff21fef2/R07-after.mp4). Before peak 162 px; after zero RO gaps. Open top 162 px is the expected overflow; closing returns to top 0. |
| R07b | R07 boundary followed by arriving assistant content. | Follow must survive later chunks across the threshold. | Resume short Replay; if it completes too quickly use deterministic production-component chunks. | **MIN**, 1280×800 dark, **recording pair**; can share R02 continuation chapter | **INSUFFICIENT** — [before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8cd657af6efeea60/R07-continuation-before.mp4) / [after](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4cd04ba2f4d0a5fc/R07-continuation-after.mp4) and [trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2f307277109c1168/R07-continuation-after-trace.json). The reply/completion is captured, but streamChars is 0 in every sampled frame; close/reopen happens while working=false. It supplies an idle control, not working smooth continuation. Reuse the existing R07a geometry proof; add only this chapter. |
| R08 | Long working wrapped text, width-only 1280→600→1280 at fixed height, light theme. | Same-height early return; width wrapping alone must not cause the added pin. Responsive header-induced height changes are height cases. | Resize viewport/lane at fixed window height; verify actual timeline height. | EXTRA, 1280/600×800 light, **recording pair** | **INSUFFICIENT for current head** — [before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cd6663b8b5620db8/R08-before-aspect-correct.mp4) / [after](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d12d0686e3e3380a/R08-after-aspect-correct.mp4). Visually inspected, but explicitly historical. Their implementation predates the added flushSync and their traces lack post-mount RO sampling. Do not silently promote them to current-head verification. Optional recapture only. |
| R09a | Working history reader released near end and far above end. | Legend-follow false / live-follow disabled guard: preserve reading position during both resize directions. | Wheel/PageUp/minimap to labelled old rows, including just beyond re-arm boundary. | **MIN**, 1280×800 dark, **recording pair** | **COVERED** — [before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ec99cf7da56a6292/R09-before.mp4) / [after](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f0a8023d208b2d50/R09-after.mp4). Near-end released gap 120 px and far-up gap 1520 px are recorded; top offsets 3000/1600 stay fixed through resize, same old content remains visible. End distance is not used as the reading-position oracle. |
| R09b | Streaming while released, then explicit end and resumed following, resize again. | Recovery into direct branch without loss of continued following. | Resume Replay while reading; use app end control. Establish physical end before a separate resize; retain an overlap segment as additional stress. | **MIN**, 1280×800 dark, **recording pair**; can share R02 continuation chapter | **INSUFFICIENT** — [before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c91110222cdbaaee/R09-recovery-before.mp4) / [after](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e1ffb735b4f48e57/R09-recovery-after.mp4), [trace](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/81253684de6af2d2/R09-recovery-after-trace.json). On camera end control is used, but resize begins at gap 1247 px while return-to-end is still running. During shrink the after RO samples include gap 93/18 with following=false, then recover to gap 0/following=true. This is temporary, not persistent loss; source attribution is not established here. No distinct settled re-follow → resize → later content-growth segment exists. |
| R10a | New/switched working list before first content layout settles, then settled. | Existing nonanimated settling guard; first/unchanged onLayout should not pin. | Switch distinct Replay threads; labelled harness can hold the first layout deterministically. | EXTRA, default viewport/theme, **recording pair** if pursued | **MISSING (supplementary)** — no recording holds and identifies the settling interval. Mounts in other captures do not independently establish it. |
| R10b | Return to remembered off-end history with different drawer height. | Existing disabled-restore branch; preserve old marker. | Scroll thread A, switch B, return A with changed height; harness can hold restore. | EXTRA, default viewport/theme, **recording pair** if pursued | **INSUFFICIENT** — [before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d7b1582239601a77/R10b-before.mp4) / [after](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7009003f840bf485/R10b-after.mp4). Historical captures show switching and resize, but do not isolate current-head off-end restoration with a stable labelled old-row oracle. Return appears near the latest content. Optional targeted recapture. |
| R10c | New prompt anchored near top with anchored end space, then normal follow. | Existing disabled-anchor branch and transition out. | Send prompt; do not click end until anchor control segment completes. Confirm nonnull anchor/end space; harness if normal Replay outgrows it too quickly. | EXTRA, default viewport/theme, **recording pair** if pursued | **INSUFFICIENT** — [before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b492540552fe7b22/R10c-before.mp4) / [after](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/96237d968cb4ff6c/R10c-after.mp4) and [before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/497109e21c8e96ed/R10c-recovery-before.mp4) / [after](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ec1c61865b991b1f/R10c-recovery-after.mp4). Historical records do not establish active anchored end space (null anchor at measured resize); they resemble ordinary followed-end behavior. Cannot pass anchor guard. |
| R10d | Citation positioning to older assistant excerpt, with loading/found/failed history. | Existing disabled-citation guard and release. | Cite older text through normal UI; labelled harness if citation-history timing cannot be held. | EXTRA, default viewport/theme, **recording pair** if pursued | **MISSING (supplementary)** — no citation-target recording. |
| R10e | Fullscreen HTML/MCP app while working, then exit. | Existing disabled-fullscreen branch and return. | Open app row fullscreen in synthetic thread; harness if Replay lacks payload. | EXTRA, default viewport/theme, **recording pair** if pursued | **MISSING (supplementary)** — no fullscreen recording. |
| R11 | Find older match while working, resize; close, explicit end, resize. | Disabled-follow representative plus recovery to direct branch. | Find synthetic history marker; select old match; close and use actual end control. | **MIN**, 1280×800 dark, **recording pair** | **COVERED** — [before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/808b598315d97a03/R11-before.mp4) / [after](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/18cd3d2387f8789b/R11-after.mp4) and [before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ceb2f44947382d5c/R11-recovery-before.mp4) / [after](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2620b6b220a9f81d/R11-recovery-after.mp4). Old marker stays selected/visible while Find is active; recovery controls are on camera and quiet working end follows again. This does not replace streaming R09b. |
| G01 | Alternate guest caller, long working streaming data, zero composer inset. | Same height callback without terminal; window shrink/grow. | Disposable synthetic guest share; existing capture uses explicitly labelled production GuestTimeline/transport harness. | EXTRA, default viewport/theme, **recording pair** if pursued | **COVERED within labelled harness** — [before](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bec22495130ac22d/G01-before.mp4) / [after](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/daeb0c8a06b3baed/G01-after.mp4). Window-height changes and continued synthetic text are visible, after RO gaps zero. Cached offscreen item size differs 23 px between builds and is disclosed. Not proof of invitation/auth or owner-composer behavior. |
| S01 | Embedded SideChatPane / parent-subagent header, long or short working data. | Same caller chain, different available height/header; no new algorithm. | Open side chat or subagent pane; hold Replay approval and resize. | EXTRA, default viewport/theme, **recording pair** if pursued | **MISSING (supplementary)** — no dedicated embedded recording; shared component/caller is source-verified. |
| D01 | Dynamic footer / queued status, unmatched approval, disclosure fold, deferred history loading/error/retry. | Content-only growth at constant viewport height must keep existing follow behavior; genuine header/viewport height changes use new branch. | Queue/status/approval and work disclosure flows in Replay; labelled harness for deterministic deferred history/error. | EXTRA, default viewport/theme, **recording pair** if pursued; collapse unchanged row renderers by geometry | **PARTIAL / INSUFFICIENT** — R01/R02 include inline approval and work rows, R04 includes growth; no identified separate footer-growth or disclosure-resize chapter. No per-row-style screenshot grid is needed. |
| E01 | Zero rows, idle, no approvals/header/footer/history; visible empty placeholder. | Early return before LegendList; no changed callback. | New empty thread. | Outside capture minimum; source inspection sufficient | **COVERED by source** — unchanged early return. Empty inset, theme and width do not invoke the new code. |
| E02 | Same no-list empty state with placeholder hidden (draft/loading hero). | Early return; caller owns hero/loading layout. Transition to first list is E04. | New draft/detail loading; harness can hold loading. | Outside capture minimum; source inspection sufficient | **COVERED by source** — unchanged hidden empty branch. |
| E03 | Zero data rows but parent/history/footer/unmatched approval mounts list. | Exceptional mounted-list geometry, including history loading/error controls. | Synthetic parent/footer/history props in labelled production-component harness if app cannot hold this state. | EXTRA, default viewport/theme, **recording pair** if pursued | **MISSING (supplementary)** — no zero-row mounted-list recording. |
| E04 | No-list empty/loading → first working list at a changed viewport height. | Initial height guard / lifecycle boundary. | New Replay turn while drawer changes; labelled harness for deterministic first layout. | EXTRA, default viewport/theme, **recording pair** if pursued; can combine R10a/E03 | **MISSING (supplementary)** — existing long-history captures do not isolate first mount. |
| P01 | Electron terminal trigger; Windows original-report runtime. | Shared web component plus shell/input runtime, no Electron diff. | Same R01 fixture in desktop; native mobile uses separate timeline. | EXTRA Windows/Electron **recording pair** | **MISSING (supplementary)** — existing integrated evidence is Linux web. Do not claim Windows Electron verification. Local/remote/tunnel data paths do not change this client algorithm; native mobile is outside diff. |

**Smallest remaining capture**

Add a normal-motion owner timeline or explicitly labelled production-component continuation with deterministic text growth: begin at followed end with an active smooth pin; perform the measured large shrink; hold viewport height fixed while further chunks visibly arrive and follow smoothly. Include a fit→overflow chapter to complete R07b. Read an old marker while content continues, use the actual end control, show arrival at physical end, resize again and keep recording through further growth to complete R09b. The existing overlapping recovery remains useful stress evidence; retain and disclose its temporary release. Show whether the item-remeasurement paint recurs rather than replacing it with a settled screenshot. One combined before/after recording pair can cover these chapters. Do not require every EXTRA row to close this narrow timing fix.

**Inspection and evidence limits**

Downloaded 295 PNG/MP4/JSON assets (about 116 MB) into an empty directory. Opened the 180 PNGs, including phase/settled differences, and extracted/visually inspected frames from all 38 MP4s with ffmpeg; opened the lossless first-six R01/R02 paint sheets at full detail. The review archive contains the independent inventory, extraction manifest and 52 contact sheets. Contact sheets at 2 fps establish whole flows; the original lossless paint sheets and correlated RO/frame records establish the short resize behavior, not the sparse video sheets alone. RO/DOM state is supplemental to pixels, not a substitute. I inspected scripts as untrusted text and did not execute them.

Static control screenshots emulate reduced motion for stability even where the primary recording uses normal motion; they prove settled geometry, not the animated fix. The original report explicitly discloses this. Zero-threshold settled comparisons are unchanged where claimed; R09 has eight one-level composer-edge pixels (threshold-16 diff zero), so it is not an exact pixel-identical claim. R01/R02 phase differences deliberately compare equal painted timeline height, not wall-clock timestamps; dynamic timing differences are not registration errors.

No source defect is asserted merely from a temporary remeasurement or recovery sample. Existing browser-test assertions support instant resize pin / later smooth scroll calls / released follower behavior, but cannot fill a missing real painted continuation. Checks and reviews were not re-audited in this proof-only pass. Scratch is removed after upload; no server, device lease or worktree was created.

FRICTION:
- tool | Python urllib public-asset requests returned HTTP 403; curl fetched the same assets successfully | use curl for this file host.
- tool | Pillow was unavailable | ffmpeg and ImageMagick provided the needed review sheets without installing dependencies.

VERDICT: INSUFFICIENT R02 post-resize smooth streaming continuation; R07b working continuation; R09b settled streaming re-follow and resize
