Manual web proof of failed delegated task report preservation.

Both runs use separate checkouts, fresh databases, the same replay fixture, a Chromium preview browser, light theme, and a 1280x800 CSS viewport.
Base: bfec2754b8bc4a6451cfd21cb128545ab138b795
Head: 99cbad42822146d899271313aa5f4901c388c19c

For each checkout, after vp i:
1. Run python3 prepare-replay.py CHECKOUT scenario.e2e.ts to install the scratch replay fixture.
2. Run python3 final-prepare.py CHECKOUT to configure the fresh final home and disable real provider calls. The fixture's display labels are generic.
3. From CHECKOUT start T3CODE_DEV_SEED=0 T3CODE_AUTO_BOOTSTRAP_PROJECT_FROM_CWD=0 PATH="$PWD/.t3/proof-final/bin:$PATH" vp run dev --home-dir .t3/proof-final.
4. Run bash final-seed.sh CHECKOUT (CHECKOUT must be absolute).
5. Open that dev server's pairing URL in the preview browser. Start recording after pairing, with the fresh project selected.
6. Type "Delegate the review and return its result." in the new thread's message input and press Enter.
7. Wait for "Delegated task result". The replay parent calls orchestrator_capabilities and delegate_task (async). The child emits "Review complete: no blocking issues." then fails with "Connection failed repeatedly". The parent's completion wake calls task_status and renders its actual status and summary.
8. Wait for the thread to settle. Take two screenshots at least 500 ms apart; both final pairs had zero differing pixels. Stop recording.

Before: failed status and only the error are returned to the parent.
After: failed status, error, and "Last assistant message before the run failed" plus the report are returned.
The child completion summary also changes; runtime-transcript.txt records the synthetic persisted messages and completion notices.

The scenario runner was tried twice before manual fallback. Its first attempt hit a covered thread-label click; its second hit an ambiguous report locator on head because the report is present in two places. The uploaded scenario has the corrected row locator and exact-text assertion, but was not rerun after the manual fallback. Its automated verdict is not the evidence verdict.

Final stills retain the full viewport, resized from 2560x1600 device pixels to 1280x800. Videos are resized the same way. The head recording's initial idle 11 seconds were trimmed and its final frame held for four seconds; the base recording ends at 11 seconds. The interactions and result text are unchanged. No real runtime model identifiers appear in the captures.

The Windows-specific Cursor replay/path problem was not reproduced. This proof only covers retaining a completed child report after failure.

AI-assisted; verified with the tests and tools listed above.
