# Proof audit pass 2 — issue 25283

Findings first: the delivered evidence is insufficient against the agreed 11-row matrix. The visible terminal fix is supported. No new product defect is confirmed by this audit. S2 remains partial; C0, C1, R0 and R1 remain unproven. The requested independent fresh screenshot could not be obtained because the existing phone lease had already ended.

Issue [#25283](https://git.cafe/pingdotgg/t3code/issues/25283). Reviewed head [261a20e499](https://git.cafe/pingdotgg/t3code/commit/261a20e499129bf6daecdaf2f3fe93a9e9f1e016), base/parent [184d915d87](https://git.cafe/pingdotgg/t3code/commit/184d915d8774615a01ebae0350235a1039852e85). Existing checkout only, one agent, source read-only. No children, new checkout, browser, runtime launch, database seed, source swap, PR, comment, push, merge, or watch in this pass.

## Findings

1. **Proof blocker: missing branches and measurement transitions.** C0/C1 candidates visibly end at a stopped-run header, not an adjacent eligible work-log row. `isWorkLogFeedRow` excludes run-fold rows, so this does not prove `continuesWorkLog=true`. No in-place width resize exists for R0. The R1 scale recording leaves the thread and recreates the Activity; it does not demonstrate fitting ↔ overflowing ↔ fitting while inspecting the reasoning group, nor resizing from END. These are honest absences in the index, but remain required proof.
2. **Proof blocker: S2 is partial.** Long light/dark recordings show scrolling, last paragraph access, return to top, and no persistent bottom veil at END. The later overlay-origin gesture attempt supports gesture passage. Neither the fast near-end steps nor the text-selection attempt establishes opacity progression through the final 12 logical units. Endpoint evidence cannot substitute for this oracle.
3. **Independent reproduction blocked.** From `/home/ubuntu/t3code`, both `node scripts/node_modules/agent-device/bin/agent-device.mjs snapshot -i --session issue-25283` and `... screenshot /tmp/issue-25283-pass2-current.png --session issue-25283` returned `UNAUTHORIZED: lease ended by simlock; run disconnect, then open` at 10:01 UTC. No screenshot was produced. I did not disconnect, open a replacement lease, close the phone, or restart the runtimes. Fresh-current-versus-delivered pixel delta is therefore **unavailable**, not zero.
4. **Real difference between delivered HEAD captures, beyond the clock/AA.** As a separately labelled fallback comparison only, original `fixed-long-light-top` versus delivered `final-head-long-light-top`: full frame 103,885 differing pixels, 84,851 with max RGB-channel delta >8; excluding only y<60: **103,210 / 84,243**, maximum delta 213. Difference bbox below status is x=42..1037, y=915..2137. Most feed text and reply move down 1 physical pixel; the horizontal separator moves from y=979..981 to y=981..983 (2 px). This is real position/raster-boundary drift, not merely antialiasing. No changed wording, wrapping, disclosure, theme, top scroll endpoint, or new missing content was observed. Cause is unproven without the live reproduction. Do not describe these two captures as pixel-identical except for time. The separately delivered return-to-top versus original has **0 content pixels different**, with only 420 full-frame pixels different in the status strip.

## Source, SHAs, and what else changed

- HEAD and HEAD^ exactly match the supplied 40-character SHAs. The range contains one commit and one changed file: [thread-work-log.tsx](https://git.cafe/pingdotgg/t3code/blob/261a20e499129bf6daecdaf2f3fe93a9e9f1e016/apps/mobile/src/features/threads/thread-work-log.tsx), 45 additions / 5 deletions. Working tree clean before and after. On-disk blob equals HEAD blob `869737231e5901c193563257789df9688f622d09`. `git diff --check` passed.
- The all-reasoning grouped-detail branch gains WorkLogBlock and ThreadReasoningGroup. Existing indent, height cap and padding remain. The new overlay is bottom-only, height 12, non-interactive; opacity clamps remaining scroll distance / 12. Layout and content-size events update independent shared values. The outer block also adds terminal bottom margin; this is a real intended spacing change, not AA noise.
- Existing mixed/tool list branch is unchanged. Proposed plans, empty groups, subagents, and ungrouped rendering bypass this new wrapper. Web/desktop, contracts, provider adapters, backend behavior and connection paths have no source changes. Android native proof does not establish iOS parity.
- Capture drivers describe swapping only this one source file to the exact base blob and restoring HEAD; because it is the sole source diff, this is a reasonable scoped baseline. Captures themselves do not cryptographically attest the loaded Metro bundle. The fresh-current reproduction would have strengthened this attribution and remains blocked.
- PIDs 2949657 and 2935359 still existed at inspection. Backend cwd `/home/ubuntu/t3code/apps/server`, argv `serve --host 0.0.0.0 --port 13773 --base-dir /tmp/issue-25283-home`; Metro cwd `/home/ubuntu/t3code/apps/mobile`, `EXPO_NO_METRO_LAZY=1`, expected packager hostname. No live userdata or seed script was opened for writes.

## Artifact and visual audit

Fetched the public index via curl and compared bytes with `/tmp/issue-25283-current-index.md`: identical. Fetched **all 140 named public artifacts**: 103 PNG, 14 JPG, 11 MP4, 7 Python drivers/seeds, 5 JSON audits. All 140 match local delivered files byte-for-byte. SHA-256 inventory is in `inventory.json`. Public availability was independently checked; the web fetcher and Python urllib failed while curl succeeded.

Visually inspected every delivered PNG/JPG using 20 labelled sheets covering all 117 files, and full-resolution inspection of affected light top originals plus enlarged mixed/tool comparisons. This includes all repeats, six labelled before/after canvases, all 12 diff images, the final-head stills, rejected continuation candidates, threshold screenshots, selection-tainted attempts, and delivered review sheets. Independently decoded all 11 MP4s with ffprobe/ffmpeg and inspected 12 temporal samples from each (132 sampled frames); timings are in `video-samples.json`. This is sampled review, not a claim to have inspected every recording frame.

Observations: baseline long TOP sharply clips its bottom text; HEAD blends into the screen in both appearances. No added top gradient. At END the final paragraph is reachable without the bottom veil. Short content is fully visible without a veil. Terminal group and preceding header move upward on HEAD because the extra trailing gap is bottom-anchored; the reply remains visible. Single-item retained headers and content work. Mixed control has the original small reasoning/tool fixture (not the intended larger replacement); tool-only control reaches command 21 of 22. The mixed header/divider/icons and tool control icons have localized RGB differences; no changed row contents, list geometry or missing command was observed. Do not call controls pixel-identical.

All six before/after pixel-count records were independently recomputed and exactly match the delivered JSON. Every delivered diff0 and diff8 image mask exactly equals its unregistered RGB comparison after excluding only y<60. No alignment, warping, or selective masking was used to approve a comparison.

| Pair | Exact differing pixels | Delta >8 pixels |
| --- | ---: | ---: |
| Long light TOP | 191270 | 174672 |
| Long dark TOP | 185894 | 180189 |
| Long light END | 186774 | 175441 |
| Long dark END | 186689 | 180955 |
| Short light | 64328 | 60181 |
| Short dark | 64219 | 61554 |

These counts include intended layout displacement and fade; they are not an error rate or an AA filter. A threshold of 8 alone cannot classify AA. The final-head 1–2 px drift is explicitly retained above.

## Row statuses

| Row | Pass-2 status | Accepted observation / absent proof |
| --- | --- | --- |
| S0 | Established, L/D | Matched short terminal stills show all text, no fade, indent and terminal gap. |
| S1 | Established, L/D | Matched long terminal TOP stills show bounded body and bottom fade, no top overlay, header/reply retained. Later delivered final-head has minor positional drift, not missing content. |
| S2 | Partial, L/D | Scroll/end/return and overlay gesture supported; calibrated final-12-unit continuous taper absent. |
| C0 | Unproven | Short candidates have intervening stopped-run header; actual continues=true before/after pair absent in both themes. |
| C1 | Unproven | Long candidate scrolls, but actual continues=true compact top/end interaction proof absent in both themes. |
| D0 | Established, L/D | Short/long close and reopen coherently; no orphan veil. No offset-restoration guarantee inferred. |
| R0 | Absent | No actual narrow↔wide in-place resize at TOP and END, either theme. |
| R1 | Unproven | Default fits; scale attempt recreates Activity and leaves route. Required boundary/reverse transition and END resize absent. |
| T0 | Established | Short fit, long TOP, long END theme changes sampled across recordings; no persistent contrasting fade stripe. |
| G0 | Established, light | Single short/long retained headers, disclosure and final paragraph supported. |
| G1 | Established, dark | Mixed and 22-command existing-list controls retain content/layout and scrolling. Small localized raster differences acknowledged. |

**Six established, one partial, three unproven, one absent.** Successful artifacts do not waive any missing row. An additional fresh S1 light-TOP reproduction is blocked independently of the historical row status.

## FRICTION

- Existing shared phone lease was already ended; no new lease/session or runtime was created. No phone close/stop was sent.
- No fresh screenshot means no honest fresh-current pixel delta. Delivered final-head comparison is explicitly historical and revealed real 1–2 px drift.
- Recording samples contain transient navigation/Fast Refresh/loading/reconnection/theme-transition frames; these are not stable endpoint proof. Slow taper gestures select text. Continued-short dark original/repeat differs in the app header; reject its stability claim.
- Baseline extra recording spans navigation and source-refresh recovery, as already disclosed; use named endpoints and drivers for attribution rather than treating the whole recording as a homogeneous baseline.
- Pixel 9 fixed width, failed scale route, and missing genuine continuation fixture remain proof limitations, not exceptions to the matrix. No iOS claim.
- No source edits, code test suite, forge writes, seeds, or process cleanup in this evidence-only pass. Backend and Metro left running. Work by GPT-6.1-sol in Codex, one agent.

VERDICT: INSUFFICIENT S2 C0 C1 R0 R1
