1. **R18's narrated final step contradicts the recording.** The [updated index](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3b191f6fdf9e234b/index.md) labels before **6.127s** and after **5.371s** as “None collapse.” These events are `thread.pin` on `thread:sidebar-A1` (Active planning), as the actual recording, timeline JSON and `record-controls-v2.js` agree. There is no shelf named None and no collapse at that event. Replace those captions with “ordinary pin: Active planning.” The recording also re-expands the three shelves before this control and unpins afterwards; including those setup/return steps would make the narration easier to follow. No new capture is needed for the caption defect. R18 therefore fails the explicit requirement that every narrated step match the video, even though its reduced-motion pixels now pass.

2. **The PR introduces a same-class text-overlap regression during asynchronous Settled expansion.** R11 after shows the fading Loading exit clone directly over incoming Settled T2 in both cold and warm conditions. Before has moving/fading rows but no equivalent text overlap anywhere in the same expansion. R08 and R13 corroborate this after behavior. Independently rebuilding both complete trees, with fresh scratch-owned databases and the submitted controlled driver, reproduced the exact R11 geometry on both cache preconditions. The submitted evidence now honestly exposes the defect, so the defect itself does not make R08/R11 proof insufficient. Calling it merely “remaining behavior” understates that this overlap is newly introduced relative to before. Describe it as an introduced Loading→rows overlap. The fix suppresses the synchronous shelf-toggle pass; it does not make the complete expansion free of overlapping text.

![Before, left, and after, right: independent R11 cold replacement at 60 ms; after superimposes Loading and Settled T2](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6905e27d97152ec9/R11-independent-before-after-60ms.png)

| Row | Proof result | Re-check |
|---|---|---|
| R08 | SUFFICIENT, unfavorable result disclosed | All ten new pairs and eight clips inspected. Cold/warm Loading and actual replacement are separated; multiselection is retained. After Loading clone overlaps incoming Settled alpha in both conditions. Final endpoints match. Previously accepted R08 subcases remain accepted. |
| R11 | SUFFICIENT, regression independently reproduced | All ten new pairs and eight clips inspected. Cold/warm request logs establish real older-page loads. Loading phase has no incoming rows; replacement+60ms has an after-only inert clone. Independent cold/warm replay matches submitted geometry. Earlier/later before frames have no equivalent overlap. |
| R13 | SUFFICIENT | Both new recordings independently probe as native 1440×900; all frames inspected. Same nine toggles: W collapse/expand, Z collapse/expand, T collapse/expand, W collapse/expand/collapse. Ordinary pin begins before that sequence. New initial/final pairs are equal; inherited valid deterministic checkpoints remain accepted. The after clip additionally exposes the Loading overlap. |
| R18 | INSUFFICIENT: narration only | Both native 1440×900 clips now show actual Settled beta and alpha before collapse, resolving the old gap. Actual reduced-motion media is true and row-animation ledgers are empty at all 14 recorded endpoints. All seven pairs have Δ0=Δ16=0. Final caption says “None collapse” while pinning Active planning. |

**(a) After occurrence and duration.** Yes, on every tested expansion of this older-page Settled fixture, including warm re-expansion: collapse releases the page subscription, and expansion fetches again. This is not limited to the first cold expansion. In the normal-speed after R11 [cold clip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6a10d54c15ab9bd6/R11-D-K-load-v2-cold-after.mp4), Loading is still present at 0.360s; text is clearly superimposed at 0.400s and still ghosted at 0.440s, with a fading tail towards 0.480s and clean text by 0.520s. The [warm clip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/38cae0e6cca27fee/R11-D-K-load-v2-warm-after.mp4) shows the analogous sequence at 0.160s, 0.200/0.240s, towards 0.280s, and clean by 0.320s. The visible crossfade is approximately 0.1–0.15 seconds; the encoded 40ms sampling does not establish exact subframe onset/removal. The controller/geometry establishes the 150ms animation lifetime: at +60ms the clone opacity is 0.42912 and incoming T2 opacity0.57088. The independent sweep confirms same-position coexistence from +15ms through a nearly invisible tail at +149ms. This conclusion concerns normal motion on the real Loading→older-rows path, not every possible already-held-shell or reduced-motion state.

![Normal-speed R11 after frames: cold above, warm below, with encoded timestamps](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2cb71067338fdc8e/r11-duration.png)

**(b) Before comparison.** No equivalent or worse text overlap was found anywhere in either before R11 expansion, including the Loading phase, replacement and final phase. The header and incoming rows slide together. The independent replacement sweep at0,15,30,60,90,120,149ms keeps a1px gap between the header's bottom and T2's top, and37px between36px rows. There is no Loading clone. The lower row is temporarily below the visible list while entering; that transient clipping is the tested motion, not row/header or row/row superimposition. The accepted before overlaps on other shelf-toggle scenarios do not justify claiming an equivalent overlap in this R11 expansion.

**(c) Mechanism.** [Sidebar.tsx:1765–1774](https://github.com/pingdotgg/t3code/blob/f4bbe57480e4498d279fce1dcf99b1aece1100b5/apps/web/src/components/Sidebar.tsx#L1765) adds the shelf expansion key, compares it with the previous key and calls `update(false)` on the toggle pass. The controller clears fades and cancels movement, but still stores the next positions ([Sidebar.motion.ts:166](https://github.com/pingdotgg/t3code/blob/f4bbe57480e4498d279fce1dcf99b1aece1100b5/apps/web/src/components/Sidebar.motion.ts#L166), [185](https://github.com/pingdotgg/t3code/blob/f4bbe57480e4498d279fce1dcf99b1aece1100b5/apps/web/src/components/Sidebar.motion.ts#L185), [229](https://github.com/pingdotgg/t3code/blob/f4bbe57480e4498d279fce1dcf99b1aece1100b5/apps/web/src/components/Sidebar.motion.ts#L229)). Those stored positions now include Loading.

When the actual rows arrive, the ordered list/layout key changes ([Sidebar.tsx:1728–1764](https://github.com/pingdotgg/t3code/blob/f4bbe57480e4498d279fce1dcf99b1aece1100b5/apps/web/src/components/Sidebar.tsx#L1728)), while the shelf expansion key stays unchanged; the next effect therefore calls `update(true)`. The removed Loading row is cloned ([Sidebar.motion.ts:173–176](https://github.com/pingdotgg/t3code/blob/f4bbe57480e4498d279fce1dcf99b1aece1100b5/apps/web/src/components/Sidebar.motion.ts#L173)); `fadeOut` marks it inert/aria-hidden, absolutely positions it and animates opacity1→0 ([40–88](https://github.com/pingdotgg/t3code/blob/f4bbe57480e4498d279fce1dcf99b1aece1100b5/apps/web/src/components/Sidebar.motion.ts#L40)). Incoming rows ride the preceding retained header's displacement and fade0→1 ([188–203](https://github.com/pingdotgg/t3code/blob/f4bbe57480e4498d279fce1dcf99b1aece1100b5/apps/web/src/components/Sidebar.motion.ts#L188)). Both occupy the same36px row rectangle throughout the crossfade. At+60ms, clone andT2 both have y794.87744140625. Timing is150ms ease-out ([line1](https://github.com/pingdotgg/t3code/blob/f4bbe57480e4498d279fce1dcf99b1aece1100b5/apps/web/src/components/Sidebar.motion.ts#L1)).

In the base build, a no-loaded-rows toggle leaves the ordered layout key unchanged: the settled-header and placeholder markers already exist, and no incoming row has been added. The React Compiler caches `listMotionPass`, so the old effect ([base Sidebar.tsx:1765](https://github.com/pingdotgg/t3code/blob/1316d48b0c68151afd8b47eb0c11a114cf0b4daa/apps/web/src/components/Sidebar.tsx#L1765)) does not reconcile that toggle or snapshot Loading. The eventual rows animate from the previous collapsed geometry without a removed Loading node to clone. This was confirmed in both compiled modules and independent geometry, rather than inferred from a single60ms screenshot. Collapse unmounts older-page rows ([olderSettledShelf.ts:32–54](https://github.com/pingdotgg/t3code/blob/f4bbe57480e4498d279fce1dcf99b1aece1100b5/apps/web/src/state/olderSettledShelf.ts#L32)); warm re-expansion thus repeats the loading path.

**Evidence-section-v2 accuracy and coverage.** Corrected rendering provenance is accepted: Chromium148.0.7778.96/Playwright-core1.60.0, DPR1, Linux x86_64, en-US,UTC, native1440×900/dark for the recaptures. Both source hashes, both lock hashes and both compiled-module hashes match independently. The index expressly supersedes immutable old Chromium156 labels. The proposed section accurately retains the earlier accepted results, R01's40-pair scope, R14's ordinary-move controls, the two inherited8-pixel outside-sidebar antialias exceptions and the unverified inventory. Those accepted rows' pixels were not re-audited. Its R08/R11 defect disclosure is supported, although the wording should plainly identify the introduced regression and its duration rather than only saying before has no clone “in those frames.” Its R13 resolution/action and R18 pixel/count claims are supported. Its linked R18 narration remains contradicted as finding1 describes. No claim of all-platform, clean-motion or merge readiness is justified or made by the proposed section. The broad reading “prevent shelf rows from overlapping headers” does not establish an overlap-free complete expansion; the newly demonstrated failure is specifically row-on-row, not proof of a new row-on-header crossing.

Opened all150 credited new PNGs (58 original captures,58 full-viewport diffs,29 comparison sheets,5 supplemental detail crops) and all20 new recordings through independently decoded frame sequences (564 frames, full-surface context plus every sidebar frame). All29 Δ0/Δ16 pairs recompute exactly, with0 pixels outside the sidebar at both thresholds. Unrelated stale overlays, unexpected spinners, wrong themes/viewports and unexplained diff regions were not found in the credited captures. Loading, real Working indicators and the ordinary hover controls have demonstrated causes. Rejected/discarded attempts are not credited and were not exhaustively audited. Written event narration matches the actual actions for R08/R11/R13; R18's last caption is the exception. Supplied request/geometry logs and cleanup records were checked; the earlier accepted rows are carried forward only within their previous audit limits.

[Independent R11 rebuild, full captures, geometry, request logs and adapted drivers](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ac33b77af484c763/independent-r11-rebuild.zip). No source edits, pushes or comments. No provider turn started. Audit browsers/servers stopped by captured PID; both worktrees remain clean and no worktree .t3 was created. Audit state and scratch files removed before handoff. Completed within45 minutes; all requested scope covered. CI and forge review state were not assessed.

FRICTION:
- infra | Evidence-host DNS failed transiently; the prescribed curl retry recovered | Stable DNS or the supplied local mirror.
- runbook | Fresh R11-only execution referenced an uninitialized optional pageRequests ledger; changed that scratch-driver read to globalThis.pageRequests | Initialize the ledger in the standalone driver or document the preceding setup phase.
- tool | Shared preview calls failed to establish the initial tab; the supplied exact Playwright driver was used, and the failed preview tab was closed | A ready matching DPR1 browser session.

VERDICT: INSUFFICIENT R18 narration
