# AFTER round 2 — partial evidence, finished 03:14 UTC

Runtime SHA: 97e3dfff0a440adf89f63d6ae94affecde48c30e. Fixed existing server web7928/backend15968, /home/ubuntu/wt/issue-8640, log dev2.log. No server lifecycle operations, tracked edits, tests, commits, pushes, public writes or delegation. Fixture stage left success. Own tab tab_w_9c84fc63-ab04-45f5-9419-909e2067b251 only.

## Result

F1 PASS for AFTER primary PR detail panel only, 1440x900 light, DPR2, Linux Chromium154. Original heading at 03:03:50 after title stage. Provider title-stage base PR reads 03:07:46.988 and 03:07:47.039; changed heading observed by 03:08:04.186. No Refresh, navigation, restart, disconnect or UI interaction during this interval. List item intentionally remains original because provider list fixture is frozen original; do not claim list-title parity. Continuous recording includes this transition. Toast partially obscures heading visually, but DOM confirms it; clean supplemental endpoint follows later dismissal.

F2 PARTIAL / passive automatic interval UNVERIFIED. Success staged after title endpoint at 03:08:11.250709 (exact timestamp in stage-timing.jsonl), with updatedAt frozen 00:01:00Z identical to title stage. At 03:13:00 still running; no success provider fetch had occurred. A preview_scroll deltaY1 at ~03:08:11.250709 did not demonstrably deliver an activity event; likely idle suspension prevented next production interval. Do not treat this as a production defect. After passive window ended, dismissed only provider update toast ~03:13:20. This ordinary interaction resumed reads: success status and checks fetched 03:13:20.985, same updatedAt; DOM All checks passed and both expanded checks Passed at 03:13:24.236. This segment is INTERACTION-ASSISTED, not passive CI proof. Never clicked Refresh.

F3 UNVERIFIED. No two completed unchanged background reads after warm cache established, no signal counters. F9 only AFTER 1440x900 light captured; desktop dark and both 390x844 combinations absent. F4-F8, desktop Electron, native mobile, hosted/remote/relay/tunnel/multi-environment and provider parity unverified. Baseline timing/expanded Checks still are lead-provided and not independently attested by this agent.

## Files

- after-continuous.mp4: 03:03:11.549–03:13:28.984 UTC; ffprobe 619.057s, 2880x1800 raster for 1440x900 CSS/DPR2. Continuous before stage through title update, failed passive CI window, explicitly labeled toast dismissal and interaction-assisted success.
- original.png: recording-start original title and expanded running/passed checks.
- title.png: automatic changed title endpoint, update toast overlaps heading; not clean matched still.
- passive-ci-still-running.png: passive interval ended, running still present, toast untouched.
- clean-title-ci.png: toast dismissed; changed heading, All checks passed, both expanded checks Passed. Supplemental interaction-assisted endpoint.
- provider-sanitized.jsonl: local fixture provider fetch timestamps and stage/title/updatedAt; no credentials. RPC/signal instrumentation emitted no counters, so do not infer signal counts.
- manifest.json: raw SHA, fixture hashes, viewport/DPR/browser/theme, timing and limitations.
- stage-timing.jsonl: exact stage writes.

Lead baseline: /tmp/8640-recovery/paired/before.png. Lead says expanded Checks was opened after baseline timing recording; do not describe baseline video as expanded-Checks timing proof.

## Replay exact path

1. Reuse isolated AFTER server at web7928/backend15968 with PATH including ~/.bun/bin and wrapper ISSUE_8640_STATE=/tmp/8640-recovery/fixture. Do not use live state. Wrapper/seed are in apps/server/test/fixtures/issue-8640 at runtime SHA. Reset stage to original before a fresh server/cache run coordinated by lead; this capture agent did not restart.
2. preview_status; preview_open reuseExistingTab=false. Set freeform1440x900 and light. Pair privately from dev2.log/pair-private.txt. Hash navigation alone left token input empty in this round: fill Pairing token and click Continue. Never record or upload pairing credentials.
3. Navigate /pull-requests?repository=pingdotgg%2Ft3code&number=23210&projectId=abaff30b-8067-4cbc-aecf-6f2598d1d925&host=git.cafe&q=Claude%20sessions . Wait for original heading and 1 of2 running. Expand Summary Checks. Verify document.visibilityState visible and CSS viewport/DPR with read-only evaluate.
4. Start recording BEFORE stage write, save original screenshot. Write title newline to fixture/stage; timestamp it. No UI interaction, manual Refresh, navigation, clock mocking, RPC mocking or restart. Observe real production5min interval and correlate provider base PR reads with changed heading.
5. Save title endpoint. For a future clean passive CI run, use a clearly labeled real click while still active BEFORE staging success (programmatic scroll did not establish activity here). Write success newline to stage and timestamp. Preserve next5min no-interaction interval. Existing6min idle cutoff matters. This round cannot attest that future correction.
6. At deadline end passive window, save endpoint. Dismiss only update notification via inspected semantic Dismiss notification locator (snapshot tree truncated toast refs here). Label this as extra interaction. Save clean endpoint, stop recording and preserve path.

## FRICTION

- Previous missing-cafe PATH root cause corrected by lead; pairing recovered by typing token and Continue. No new startup or server stop by this agent.
- Provider fixture normalizes raw merge.conflicts clean to schema-accepted unknown identically before/after. This is compatibility normalization, not live-host validation or proof of clean mergeability.
- Activity fixture response is unreadable; Comments shows activity error throughout. Not repaired; excludes activity/recovery claims.
- Persistent Claude update toast obscures automatic title endpoint. Dismissed only AFTER passive proof window. Snapshot tree truncated before toast ref; read-only DOM inspection found aria-label and semantic click dismissed it.
- No RPC/signal counters produced. Browser status visible=false differs document.visibilityState visible; refresh did execute for F1. Saved PNGs are actually1280x800 (confirmed with file), despite CSS viewport1440x900; snapshot metadata also says1280x800 while DOM viewport1440x900 and recording raster2880x1800; trust measured viewport/DPR and artifact dimensions, disclose discrepancy.
- Budget forbids completing full matrix. No speculative pass for F2/F3/F9.
