# Final bounded WEB gap repair — round 4

For [#24583](https://github.com/pingdotgg/t3code/pull/24583), original [#19570](https://git.cafe/pingdotgg/t3code/pulls/19570). Head [e810a33cf8](https://github.com/pingdotgg/t3code/commit/e810a33cf8114e5c4e76eeffe8ea299ef8466b71), base [3cc31ed27c](https://github.com/pingdotgg/t3code/commit/3cc31ed27c8956b36cee35a50509fb7c6869592b). Only /home/ubuntu/wt/pr-19570 used. No source edits. Captures are candidate repairs pending independent audit; this is not a merge-readiness certification.

## Delivery

- [reproduction.tar.gz](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/53736e9ef875396a/reproduction.tar.gz) — 892605 bytes; SHA256 `c6fd85dac4674a0ec96f59e98f077f1b2bfbf463e44bfbe7f4a588c6b37f9a78`
- [captures-and-diffs.tar.gz](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5e412965a0902aac/captures-and-diffs.tar.gz) — 55584275 bytes; SHA256 `617b45628f05c356d77565255be9797463a9a4301dcb30cca68e4c33cbea7d39`
- [recordings.tar.gz](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/49a51736bafa4e02/recordings.tar.gz) — 10809744 bytes; SHA256 `4be10d1dbb9a20ba03811f1e5996ef1f6fcdd1f8a1459793e1ebfad5dcdebf30`

Reproduction archive includes public scripts, external drivers/transforms, retained served sources, per-load provenance, protocol traces, validation.json, cleanup.json, clip-manifest.json, FRICTION.txt, README-reproduction.md and incoming final audit. Public script directory preserved: `/tmp/ev-19570/round4/public`. Captures archive preserves originals, settle repeats, full RGB zero/>16 masks and inspection sheets, including rejected attempts. Recordings archive contains 13 credential-free chapter clips and frame sheets. Raw setup/pairing movies, profiles, database and private logs excluded.

## Exact audit-row disposition

| Row | Captured repair / carried proof | Missing or limit |
|---|---|---|
| R1 | PASS carried from incoming final audit; no redo | No new claim |
| C1 | Desktop collapse/source justification accepted by incoming audit; no redo | No new C1 captures |
| R2 | TWO new matching-title 1440-light comparisons: apply failed and session recovered. Cached prompt retained; head has failure alert then actual replacement input resumes cursor87 and becomes ready. Base stays unrecovered. One complete protocol chapter maps to already accepted 390/1440 light/dark status presentation. | ALL SEVEN old title-mismatched comparisons withdrawn. These two do not rehabilitate those seven. No new Cartesian four-layout recovery sequence; independent audit pending. |
| R3 | FOUR fresh temporally linked empty syncing/recovered pairs at1440 light/dark, including stable dark recovered. Append-only per-load source hashes precede each capture; trace→movie offsets recorded. Six original movies decoded separately. | Original overwritten load manifest timing cannot be reconstructed; old three-pair timing claim replaced, not retrospectively certified. Old unstable dark duplicate excluded. New clips decode; targeted sheet inspection, not every-frame review. |
| R4 bounded | Cold bounded HTTP10 and warm fallback flags preserved; head resume failure→cursorless bounded snapshot. Actual Load earlier click fetches real history and expands10→30 UNIQUE IDs, cursor/hasMore preserved. Four-layout recovered+Load earlier pairs (8), plus held1440light(1). | No native claim; pending independent audit. |
| R4 full/legacy | Actual full HTTP31; corrected legacy-server shim disables optional bounded/compact upstream flags only, yielding real full socket31 unique items, cursor null/hasMorefalse. One accepted recovered1440light pair. | Emulated legacy server, not installed legacy integration. Held full pair rejected(sidebar164); initial full attempts actually returned bounded socket data and receive NO full-fallback credit. Shared sync renderer and four-layout bounded captures map full styling; no new full390/dark captures. |
| R5 buffered resume | Ordered hold→actual socket replacement makeInput→old failure release→fresh cursorless ready trace and movie; THREE matched1440light pairs. | Shared status rendering maps other layouts, no new duplicated Cartesian protocol captures. |
| R5 buffered terminal | Head first resume failure→fallback stream; buffered terminal failure held across replacement makeInput; release causes immediate next cursorless session and ready. Exact trace and six-gate movie include both races. | Base cannot reach terminal fallback path; NO base/head terminal-race pair claimed. Head protocol proof only, mapped renderer. |
| R5 disposal/interrupt/isolation | Actual fallback scope onExit Interrupt-only recorded before old gate release; B remains isolated; revisit A fresh subscription. Additional matched warm gated scope disposal on BOTH revisions, B unaffected after release, revisit fresh A: FOUR matched pairs. | Initial tapCause-only trace insufficient for interruption; corrected onExit trace is authoritative. Earlier hover/sidebar controls superseded and excluded. |
| M1 | No native work performed (separate task) | UNVERIFIED / MISSING here |

## Why the matrix is collapsed

Actual diff covers shared thread state machine plus web status resolution/ChatView/ComposerActivityStatus and separate mobile status consumers. Web threadSync adds failed phase and label; shared recovery flags/state do not branch by viewport/theme/provider. Hence each affected protocol branch gets an actual chapter, while shared loading/syncing/failed/ready presentation maps to existing four-layout evidence and new bounded-history four-layout captures. Desktop wraps this web renderer (incoming audit accepted C1 source collapse); mobile has separate changed consumers and is explicitly NOT collapsed away. R2, R3, bounded/full R4 and each R5 race/disposal branch remain listed above. Untouched Settings/command/keybinding/provider adapters have no diff path for this passive subscription/status transition. No new relay/native certification inferred.

## Reproducibility and inspection

23 candidate matched comparisons;46 side gates have byte-identical PNG repeats500ms apart and all five exact source loads preceding capture. Ten retained response bodies (five per revision) match declared git sources via source-map sourcesContent and SHA256, not merely declared labels. append-only manifest survives reload. Source substitution affects base five changed modules only; head bodies exact. External RPC boundary injects faults/holds/legacy semantics and read-only observations; actual app mounts, app routing, state processing and server snapshots run. Synthetic database turns added with owned server stopped, same data both sides.

Headed installed Chromium, unique displays/CDP, DPR1/scale1,1440x900 or390x844, light/dark, frozen Date1792883400000, reduced motion, fonts loaded, sidebar scroll0 and matched pointer. Full stills unaltered; no crop/mask exclusions. Difference masks show all RGB changes, including AA/sendspinner and timeline/composer shifts caused by removed banners. Both zero and max-channel>16 counts follow. All23 candidate comparison sheets inspected. All13 clips decode successfully; clip-manifest maps input recording epoch to exact trace gates. All seven head10-second contact sheets, old six round3 sheets, and head-buffer exact gate sheet inspected. No claim of exhaustive frame review. Ten-second contact labels are interval starts; filter selects interval centers. Exact gate frames supplied separately.

Cleanup completed01:05UTC: every captured owned PID absent, ports23373/15333/9241/9242/9243/9244 closed, clean checkout at exact head. No source changes, no PR writes, no tests rerun. Earlier reported40 focused passing tests carried as prior context only.

## Candidate pair metrics

Every row below has head/base repeat equality, source timing and sidebar RGB difference0. Columns count full-frame pixels.

| Pair | RGB>0 | max channel>16 |
|---|---:|---:|
| R2-repair-apply-failed-1440-light | 22079 | 1314 |
| R2-repair-apply-session-recovered-1440-light | 22083 | 1168 |
| R3-link-empty-recovered-1440-dark | 29101 | 2818 |
| R3-link-empty-recovered-1440-light | 24999 | 2952 |
| R3-link-empty-syncing-1440-dark | 0 | 0 |
| R3-link-empty-syncing-1440-light | 144 | 0 |
| R4-bounded-recovered-1440-dark | 26807 | 1358 |
| R4-bounded-recovered-1440-light | 22283 | 1342 |
| R4-bounded-recovered-390-dark | 124775 | 16033 |
| R4-bounded-recovered-390-light | 122339 | 15439 |
| R4-bounded-recovery-held-1440-light | 0 | 0 |
| R4-legacy-server-full-recovered-1440-light | 22211 | 1270 |
| R4-load-earlier-1440-dark | 30690 | 1908 |
| R4-load-earlier-1440-light | 28925 | 2195 |
| R4-load-earlier-390-dark | 23852 | 2129 |
| R4-load-earlier-390-light | 20378 | 2320 |
| R5-bufferresume-after-buffer-release-1440-light | 22089 | 1168 |
| R5-bufferresume-old-failure-buffered-1440-light | 22083 | 1168 |
| R5-bufferresume-replacement-input-before-release-1440-light | 0 | 0 |
| R5-matched-dispose-A-gated-1440-light | 0 | 0 |
| R5-matched-dispose-A-revisit-1440-light | 0 | 0 |
| R5-matched-dispose-B-before-release-1440-light | 0 | 0 |
| R5-matched-dispose-B-old-release-1440-light | 0 | 0 |

## Excluded / superseded new attempts

- R4-fresh-full-fallback-held-1440-light: excluded/superseded; sidebar pixels 0, stable {'head': True, 'base': True}. See FRICTION and traces; not counted.
- R4-fresh-full-fallback-recovered-1440-light: excluded/superseded; sidebar pixels 164, stable {'head': True, 'base': True}. See FRICTION and traces; not counted.
- R4-full-fallback-held-1440-light: excluded/superseded; sidebar pixels 0, stable {'head': True, 'base': True}. See FRICTION and traces; not counted.
- R4-full-fallback-recovered-1440-light: excluded/superseded; sidebar pixels 824, stable {'head': True, 'base': True}. See FRICTION and traces; not counted.
- R4-legacy-server-full-held-1440-light: excluded/superseded; sidebar pixels 164, stable {'head': True, 'base': True}. See FRICTION and traces; not counted.
- R5-A-fallback-gated-1440-light: excluded/superseded; sidebar pixels 0, stable {'head': True, 'base': True}. See FRICTION and traces; not counted.
- R5-control-dispose-A-gated-1440-light: excluded/superseded; sidebar pixels 0, stable {'head': True, 'base': True}. See FRICTION and traces; not counted.
- R5-control-dispose-A-revisit-1440-light: excluded/superseded; sidebar pixels 0, stable {'head': True, 'base': True}. See FRICTION and traces; not counted.
- R5-control-dispose-B-before-release-1440-light: excluded/superseded; sidebar pixels 824, stable {'head': True, 'base': True}. See FRICTION and traces; not counted.
- R5-control-dispose-B-old-release-1440-light: excluded/superseded; sidebar pixels 824, stable {'head': True, 'base': True}. See FRICTION and traces; not counted.

## FRICTION

FRICTION / LIMITS
Original seven R2 title-mismatched comparisons withdrawn. New matching-title repair covers one apply-error/session-recovery chapter, mapped to existing four-layout renderer evidence; it does not create seven replacement comparisons.
Original round3 overwritten source-load timestamp cannot be reconstructed. Six old recordings decode, but new timestamp-linked captures replace that provenance claim. The unstable old dark recovered duplicate gets no credit.
Full HTTP fallback alone did not prove full subscription fallback: client still advertises bounded support. Those attempts are excluded. Corrected external legacy-server boundary shim disables optional bounded/compact flags on upstream wire only; actual server returns full31. This is disclosed emulation, not certification against an installed old server. Full held pair excluded for sidebar mismatch; recovered pair retained.
Initial disposal tapCause did not observe interrupt; corrected Stream.onExit proves actual Interrupt-only scope exit. Earlier controls had hover/sidebar differences; matched repeated controls fix pointer position. Superseded captures remain immutable and excluded.
Base cannot reach head's terminal snapshot fallback path, so no matched base terminal-race comparison exists. Head protocol trace and video prove ordering; shared ready/sync/failed rendering maps to existing four-layout coverage.
CPU/network startup waits sometimes timed out. Those attempts receive no credit; later runs wait for actual subscription milestones and fonts. Unique CDP/display avoids earlier collision.
23 candidate pairs pending independent audit, not a merge-readiness verdict. Native M1 remains unverified/separate. No production credentials, private startup URLs, raw pairing recordings, database or browser profiles published.
Owned PIDs stopped, six ports closed, exact head and clean worktree verified in cleanup.json. No source edits, tests rerun, PR writes, commits or pushes.

## Example — BASE left / HEAD middle / zero-RGB difference right

![Matched-title recovery: BASE left remains syncing; HEAD middle recovered; RGB mask right](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e48f57fb4696a653/R2-repair-apply-session-recovered-1440-light.jpg)
