# Evidence index — issue 16355

Scope: branch `fix/issue-16355`, worktree `/home/ubuntu/wt/issue-16355`; candidate [92f1042d8c](https://git.cafe/pingdotgg/t3code/commit/92f1042d8ca927d130c1d653ee9703cfc9843ca3), base [8d3b061121](https://git.cafe/pingdotgg/t3code/commit/8d3b061121). Evidence review only; no repository changes, commits, pushes, servers, browsers, or new captures. The requested index upload is the sole publication by this reviewer.

## Coverage decision

**Server-only exception; changed-render rows covered/required: 0/0.** [Proof matrix](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5abdeda9b431c45a/issue-16355-proof-matrix.md) accepted an empty changed-render matrix. Inspected diff changes only ClaudeAdapterV2 task-notification buffering and one regression test (215 insertions, 4 deletions). No rendering code changes. Existing lineage rendering displays the affected server projection; it is supplemental state evidence, not a changed render fixture.

The fix retains a terminal notification behind a matching buffered task start when the task is not registered yet. Replay can then apply completion after registering the task. The regression fixture exercises an idle-launched nested foreground child completing during a later user turn, followed by a sibling wake. It asserts final nested status `completed` and no pending background work. No correctness blocker found in this evidence-scope diff inspection.

## Artifacts and observations

- [BEFORE runtime transcript](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ff43a946ed8fc2d5/before-runtime.txt), inspected locally at `/tmp/issue-16355/before-runtime.txt`: nested task `a4395b942e49da334` receives completed notification at 10:30:03.372 UTC, but persisted state after the 10:31:19 continuation is `running`, terminal timestamp absent. UI observation reports one running lineage child and waiting banner despite root completion.
- [AFTER runtime transcript](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1d9a16697e1a4b18/after-runtime.txt), inspected locally at `/tmp/issue-16355/after-runtime.txt`: nested task `af6515f77f0bdf14c` receives completed notification at 10:46:51.558 UTC during user run 10:46:34.906–10:47:54.778; subsequent continuation runs 10:48:13.429–10:48:16.342. Persisted nested state is `completed`, terminal timestamp 10:48:13.849, running subagents 0. This supports the real-runtime semantic fixture F2, as supplied observations rather than an independently repeated run.
- BEFORE supplemental screenshot (visually inspected by pass-2 auditor):

![BEFORE — supplied lineage state with stale running child](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/06c31e6d9ad0d6d7/browser-screenshot-localhost-mvjeivdo-e99de10a.png)

- AFTER supplemental screenshot (local image visually inspected): lineage has no running count and no waiting banner; final root response reports both agents done. The update notification partially overlays the right panel.

![AFTER — settled lineage and completed root response](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/977f0f48d73e3ef9/browser-screenshot-localhost-mvjf4kwe-cb21dada.png)

- [AFTER recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/88b63bd9c248ad75/mcp-launch-client-3a4db7a670-2877-47fb-b514-a79787b5d3d8-fwd-3ada8b3c22f0825fb16-43ec3e75-0368-4c0c-a4bb-a505a24d1ec3-mp4.mp4). Local file exists, ffprobe duration **258.466133 seconds**. Pass-2 auditor sampled frames across the recording and confirmed launch, overlapping user turn, waiting, and settlement. Recording timeline below is narrated from the supplied transcript and calculated against its start, not independently observed frame timestamps.

## Recording narration

Start: 2026-10-22 10:44:29.086 UTC.

| Approximate offset | Transcript milestone |
| --- | --- |
| 00:00.914 | Prompt submitted, 10:44:30 UTC |
| 00:45.628 | Foreground nested C2 starts while root idle, 10:45:14.714 UTC |
| 02:05.820 | User follow-up begins, 10:46:34.906 UTC |
| 02:22.472 | Nested C2 completed notification, 10:46:51.558 UTC, overlapping user turn |
| 03:25.692 | User turn completes, 10:47:54.778 UTC |
| 03:44.343 | Sibling-driven continuation starts, 10:48:13.429 UTC |
| 03:44.763 | Persisted child terminal timestamp, 10:48:13.849 UTC |
| 03:47.256 | Continuation completes, 10:48:16.342 UTC |

## Environment and comparison limits

Supplied runtime environment: Linux x64 `fs-39`, isolated real web development environment, Claude Opus 5.5, Claude CLI 2.1.303. AFTER transcript reports Chromium headless 154, viewport 1280×800 CSS pixels, DPR 2, no device emulation, default font scaling. Screenshot is 2560×1600 physical pixels. Composer shows Medium effort and Full access. Light theme confirmed by screenshot inspection; lead corrected the initial dark-theme metadata in the transcript.

The same synthetic ordering was used before/after: background parent sleeps 30 then launches foreground child sleeping 90; sibling sleeps 210; user sleeps 75 across child completion; sibling completion while idle triggers continuation. These are separate executions with different task IDs, history, timestamps, and restart context. Screenshots are **supplemental observed state, not pixel-comparison fixtures**. No claim that nothing else changed is made.

## Verified / unverified

Evidence packaging and pass-2 audit verified: local base-to-candidate implementation/test diff; local before/after transcript content; candidate HEAD; clean worktree status; local AFTER image; local recording presence/duration; supplied matrix content. Runtime F2 evidence covers stale running versus terminal completed after later wake. Changed-render coverage is 0/0, not a claim of all-client visual testing.

Red/green execution independently confirmed by the Claude Opus reviewer: test-only commit 4debf19f0d fails with expected completed / received running, candidate passes. Implementer and lead independently ran the complete adapter file: 208 passed. Pass-2 auditor inspected both screenshots and sampled the recording, returned SUFFICIENT with 0/0 render rows. No further capture required.

C1–C3 guard controls were inspected, not independently exercised as dedicated fixtures. Other providers and native clients were not separately exercised; this diff changes only Claude server buffering. Exact event ordering comes from correlated SDK timestamps and persisted-state transcripts; recording is supplementary.

## FRICTION

- **scope-classification:** affected projection appears in existing UI, but no render path changed; preserve server-only exception and 0/0 rows.
- **temporal-proof:** still images cannot establish ordering; rely on correlated runtime timestamps and red/green harness proof, with recording as supporting temporal evidence.
- **evidence-availability:** no local red/green output supplied; disclose rather than invent a passing test result.
- **environment-metadata:** initial theme attribution corrected to light after screenshot inspection; screenshots are supplemental state evidence.
- **capture-comparability:** separate run history, timestamps, task IDs, and restart context differ; no nothing-else-changed claim.
