# Evidence sheet — takeover runtime request delivery failure

Captured for original [#14496](https://git.cafe/pingdotgg/t3code/pulls/14496), replacement [#24616](https://github.com/pingdotgg/t3code/pull/24616). Complete final content diff: five files,266 insertions,3 deletions; server+contracts only. Worktree remains clean; no source edits, switches, resets, PR writes, push, comments, watch or delegation. PR metadata links registered only.

Before [5a969c17e7](https://github.com/pingdotgg/t3code/commit/5a969c17e76301e45e53e1fd9aad2f5b4599d865). After [a7c675caa1](https://github.com/pingdotgg/t3code/commit/a7c675caa1f2ea52842c77ebc6fe6cc874d6ec01). Exact full SHAs are in every real transcript and manifest. Old SHA pair was never captured. Matrix fixture rows unchanged: [read-only matrix](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5be223957988d634/ev-14496-matrix.md); final SHA pair agrees with this sheet.

## Mandatory recordings / observations

Actual isolated `vp run dev --no-seed --home-dir /tmp/ev-14496/{before,after}/home`; typed Effect RpcClient / WsRpcGroup / Socket / JSON protocol; normal project.create, launchThread, dispatchCommand, subscribeThread and getThreadProjection. Actual unchanged ClaudeAdapterV2 and SDK spawn a disclosed deterministic protocol-faithful stdio process. This is not live paid Claude. Provider process creates native AskUserQuestion or Bash permission and waits for its answer. External Node loader fails only the allowlisted delivery boundary before call, preserving RPC,worker,orchestrator,persistence and adapter. No source mutation, DB mutation, seed import or compaction disable. Scripts and hashes retained for independent reconstruction.

| Row | Revision | Live screen recording | Transcript UTC span | Observed result |
|---|---|---|---|---|
| R1/F1 | before `5a969c17e7` | [MP4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ecdbe192af7e0252/R1-before-5a969c17e7.mp4) | 2026-10-25T00:17:43.974Z–2026-10-25T00:17:50.494Z | Five attempts; warning count 0; resolved saved Blue answer; request,node,run,session unchanged |
| R1/F1 | after `a7c675caa1` | [MP4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1895e91a886fb281/R1-after-a7c675caa1.mp4) | 2026-10-25T00:17:56.743Z–2026-10-25T00:18:03.466Z | Five attempts; warning count 1; resolved saved Blue answer; request,node,run,session unchanged |
| R2/F4 | before `5a969c17e7` | [MP4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0c4d231f49e0ce74/R2-before-5a969c17e7.mp4) | 2026-10-25T00:18:09.687Z–2026-10-25T00:18:15.974Z | Five attempts; warning count 0; resolved saved accept decision; request,node,run,session unchanged |
| R2/F4 | after `a7c675caa1` | [MP4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/984ac4ef768ac42d/R2-after-a7c675caa1.mp4) | 2026-10-25T00:18:22.145Z–2026-10-25T00:18:28.798Z | Five attempts; warning count 1; resolved saved accept decision; request,node,run,session unchanged |
| H1/F3,F5,F6,F8 | paired executor; direct commands AFTER-ONLY | [MP4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8408f9b7048e363b/live.mp4) | 00:21:26–00:21:39 UTC; ~22s video | Retry/pure-interrupt silence; typed/defect/mixed terminal reporting; reporting failure containment; detached/null run; deleted/missing request/node; replay; schema |

Each R1/R2 MP4 starts with SHA/row and environment, runs the driver live inside xterm, records five delivery attempts at real backoff, reports online receipt/reconnect and final state, and holds its summary for 3 seconds. ~12–13 seconds each. The companion `.cast` captures full raw output; the screen displays concise summaries. Client A subscribes before answering. Independent client B connects before answer, receives committed response, disconnects after commit, and reconnects after terminal settlement. Checkpoint exports: before-response, committed, preterminal(attempt4), settled. R1 Blue and R2 accept remain exact in all final/reconnect projections. No reopened question or approval. Runtime/provider session stays running intentionally because delivery was not forwarded.

Before: no warning item/event. After: exactly one committed `turn-item.updated`, item ID `turn-item:runtime-request-delivery-failure:<requestId>`, class transport_error,failed status,expected title/body,nullable failure metadata,complete timestamps,node/run/provider correlation. Reporting command ID is `<responseCommandId>:delivery-failed`; audit.json includes the exact IDs. This command emits only the turn-item event; no request/node/run mutation. Outbox rows are failed with attempt_count5. All attempts1–4 observations have zero warnings. Online A decodes ordinary typed event; reconnected B includes persisted error. Event persistence uses `orchestration_events` (legacy `orchestration_v2_events` is empty).

H1 paired executor segments: retry typed failure,terminal typed failure,terminal defect,terminal mixed interruption+failure,pure terminal interruption,reporting-command failure. Before none dispatch reporting; after retry+pure interrupt none, other terminal causes one deterministic reporting command. Original failure or interruption propagates in every segment. Reporting wrapper fails only new command; actual worker catches/logs warning and still propagates original delivery failure. Original mixed cause has both reasons; original failure remains after worker error mapping.

H1 direct commands AFTER-ONLY: actual isolated in-memory runtime services with synthetic detached live-capability resolved request and null-run node. Event has no event.runId and payload.runId=null; provider refs retained; saved request/nodes/runs identical. Replay same command ID returns same sequence/event and one logical item,one receipt. Deleted thread,nonexistent request and existing request with missing node emit no event/item; direct dispatch returns existing `Command produced no domain events` error, not successful no-op. Missing thread returns projection lookup error. Schema accepts complete shape and rejects omission of each required field. H1-only loader exposes the existing private internal schema without changing it; never applied to R1/R2. Public exclusion and unchanged validation remain source-reviewed, not separately captured.

## Supporting R1 web still row

Same1440x900 viewport,DPR1,dark,reduced-motion reduce,en-US,UTC,headed Chromium148.0.7778.96,on owned Xvfb. Fonts ready;animations disabled and caret hidden for capture. Both sides have two frames500ms apart pixel-identical with no masking,time mocking or pixel editing. Full-frame Diff0 amplified8x; DiffT red if maximum absolute RGB-channel difference >16,black otherwise. 5544 pixels differ at threshold0;5035 at threshold16,of1296000. All delivered images opened and visually inspected.

| Row | Before | After | Diff0 | DiffT |
|---|---|---|---|---|
| S1/R1 supporting web | [5a969c17e7 PNG](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6a82fdd4bb150e45/before.png) | [a7c675caa1 PNG](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9f209b19a701f4ef/after.png) | [absolute x8](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e10c42d2183f6e6d/Diff0-amplified-x8.png) | [max-channel >16](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1db5f8a6cb08ebf2/DiffT-max-channel-gt16.png) |

Before:

![Before: saved Blue answer and no delivery warning](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6a82fdd4bb150e45/before.png)

After:

![After: saved Blue answer plus Answer delivery not confirmed](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9f209b19a701f4ef/after.png)

What else changed (all visible differences): intended red error icon/title and conservative two-line message inserted below saved answer; event timestamp12:18AM appears; Thinking row moves down by the inserted warning. Incidental elapsed Working label changes from5m32s before to5m37s after. Everything else is pixel-identical in this still pair (including sidebar,composer,branch master,Publish repository label,project titles and saved Blue). No claim of full-frame equality. Different semantic fixture IDs,source paths,ports,generated session IDs and timestamps remain in transcripts; comparison never normalizes saved answer/decision or run status. These are isolated environments,not live user data.

## Downloads / reproducibility

[ev-14496-transcripts-state.tar.gz](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b33b801204ae9090/ev-14496-transcripts-state.tar.gz)
[ev-14496-scripts.tar.gz](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f025da02dcdedf79/ev-14496-scripts.tar.gz)
[README.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5fa6cd46af567ca4/README.md)

[audit.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/56476e1d9a79f6d1/audit.json)

- H1 [full transcript](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ff0f7620a05293ae/transcript.jsonl)
- R1 before [full transcript](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0fa07caaa249aa18/transcript.jsonl)
- R1 after [full transcript](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c876b4f9f9733f12/transcript.jsonl)
- R2 before [full transcript](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aecad88ac6e74784/transcript.jsonl)
- R2 after [full transcript](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cee2444f11e8ffae/transcript.jsonl)

Local files: `/tmp/ev-14496/README.md`, `/tmp/ev-14496/scripts/`, `/tmp/ev-14496/{before,after}/source`, `/tmp/ev-14496/{before,after}/{question,approval}/`, `/tmp/ev-14496/harness/`, `/tmp/ev-14496/stills/`, `/tmp/ev-14496/audit.json`. Bundle includes sanitized server logs,provider protocol provenance,all four checkpoint exports,full RPC/subscription transcript,projections,outbox,receipts,manifests,casts,still stability frames,and SHA256SUMS. Source copies/deps remain for parent; scripts archive has exact run commands in README. `package.py` scans dev credentials before upload. No secrets/live DB included.

Reviewed all delivered full transcripts/casts programmatically; invariants/event IDs/outbox checked by audit.py. All five MP4s fully decoded with ffmpeg; opening,middle,final frames inspected,plus after executor H1 segment. Initial blank interval is only short startup and explicitly labeled; no stale or blank evidence delivered. Before broken-load/after-loading initial browser images were rejected and excluded. MP4s are actual live Xvfb screen capture via ffmpeg x11grab; no preview recorder or rendered post-hoc logs.

## Coverage limits / cleanup

No mandatory matrix rows missing. Optional success/transient/ambiguous controls omitted. Unchanged validation/public-wire exclusion is source-reviewed only. Other provider adapters,desktop/mobile,tunnel/relay,multi-environment and live paid LLM/OAuth not independently captured. One deterministic Claude question and representative Bash approval prove the changed shared path; not a comprehensive provider audit. No verdict on remote merge readiness; supplied reviews MERGE were not re-polled.

All owned process groups stopped by retained PID. Provider PIDs captured by fixture protocol logs also checked absent. Chromium/Xvfb/xterm/ffmpeg closed; ports19001,19002,5933,5934 no listeners. Worktree git status clean at expected after SHA. Sources and evidence retained until parent cleans. Task started00:07:46UTC; required real recordings finished00:18:32,final H1 around00:21:42; complete upload/handoff before00:47:46deadline.

## FRICTION

- brief: matrix permitted .cast; lead clarified ffmpeg x11grab was required. All mandatory rows rerun as actual screen recordings; cast retained.
- runbook: actual active event tables differ from prescribed legacy v2 names; corrected read-only exporter. Internal schema export is type-only; H1-only loader exposes original private schema. Deleted/missing-node commands emit no events but dispatch returns no-domain-events error; disclosed.
- infra: xterm initially absent,parent installed. Shared symlinked Vite cache caused before chunk404s; isolated only generated caches and restarted web servers; final stills rendered cleanly.
- tool: current agent-browser executable absent; user's explicit headed Chromium workflow used playwright-core with cached Chromium after reading skills. Normal test-t3-app Browser-panel workflow overridden by user's named Chromium/Xvfb workflow. Initial flag typo/web-port collision fixed before final recordings.
- forge|policy|model|other: none blocking. No source edits,live userdata,forge comments/push/watch or delegated agents.
