# F09 — capture2 merged evidence

**CAPTURED — short227-character/four-line comment in web Summary/Timeline and native Activity.**

HARNESS synthetic RPC data around real app routes. Before [32ecd71726](https://git.cafe/pingdotgg/t3code/commit/32ecd71726fee16f335484c1f95cbce126d461f6); after [57eaadd11e](https://git.cafe/pingdotgg/t3code/commit/57eaadd11e361b203d165aa9b64f3951df6cbdb4). Web Chrome156/Linux preview, no emulation,390×1000CSS,DPR2,fontScale1,dark. iPhone17Pro402×874pt,DPR3,fontScale1,light; still402×874/video1206×2622. Pixel9 API36,411.4286×923.4286dp,DPR2.625,fontScale1,dark (F01 both themes);1080×2424px. Agent-device/Simlock cached clients. JS clock08:00Z for stills; OS clock remains in full native frames. No independent Electron run; desktop shares web renderer.

The exact supplied short table is227 characters/four lines, below native long-comment thresholds. The web states use actual Summary and Timeline comment chrome; native uses Activity’s real TimelineComment, not a description substitute.

[Retained previous F09 proof, including earlier full tables/recordings](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d58bc85f728309e3/F09-sheet.md). This sheet supersedes its coverage/status wording.

## F09-activity-android-dark — Android dark,411.4286×923.4286dp

Two frames500ms apart: before=True, after=True. Diff0=RGBabsolute difference×16; DiffT=per-channel>12/255. Changed pixels0/T12=224942/218088; bounds=[77, 949, 1038, 1340]. Before/After show full surfaces; Diff0/DiffT use the same status-bar crop: (0,120,1080,2424), Android rows120..2423.

| Before | After | Diff0 | DiffT |
|---|---|---|---|
| ![F09-activity-android-dark-before-full.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7fe031f320ecb415/F09-activity-android-dark-before-full.png)<br>[32ecd71726](https://git.cafe/pingdotgg/t3code/commit/32ecd71726fee16f335484c1f95cbce126d461f6) | ![F09-activity-android-dark-after-full.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/003b0a65775a89f2/F09-activity-android-dark-after-full.png)<br>[57eaadd11e](https://git.cafe/pingdotgg/t3code/commit/57eaadd11e361b203d165aa9b64f3951df6cbdb4) | ![F09-activity-android-dark-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9ee9555bd78d396c/F09-activity-android-dark-diff0.png)<br>[32ecd71726](https://git.cafe/pingdotgg/t3code/commit/32ecd71726fee16f335484c1f95cbce126d461f6)→[57eaadd11e](https://git.cafe/pingdotgg/t3code/commit/57eaadd11e361b203d165aa9b64f3951df6cbdb4) | ![F09-activity-android-dark-diff12.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ff122152fbd78e5d/F09-activity-android-dark-diff12.png)<br>[32ecd71726](https://git.cafe/pingdotgg/t3code/commit/32ecd71726fee16f335484c1f95cbce126d461f6)→[57eaadd11e](https://git.cafe/pingdotgg/t3code/commit/57eaadd11e361b203d165aa9b64f3951df6cbdb4) |

Settling partners: [F09-activity-android-dark-before-settle1-full.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b5e622351c6ff78f/F09-activity-android-dark-before-settle1-full.png) · [F09-activity-android-dark-after-settle1-full.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c76e66679e4cf9b0/F09-activity-android-dark-after-settle1-full.png). Cropped source pair: [F09-activity-android-dark-before.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dedccb95ae05d39a/F09-activity-android-dark-before.png) · [F09-activity-android-dark-after.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7ced94169c8e9a04/F09-activity-android-dark-after.png).

## F09-activity-ios-light — iOS light,402×874pt

Two frames500ms apart: before=True, after=True. Diff0=RGBabsolute difference×16; DiffT=per-channel>12/255. Changed pixels0/T12=28964/26735; bounds=[29, 258, 386, 405]. Before/After show full surfaces; Diff0/DiffT use the same status-bar crop: (0,62,402,873), iOS rows62..872.

| Before | After | Diff0 | DiffT |
|---|---|---|---|
| ![F09-activity-ios-light-before-full.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f8d1b819fae08b63/F09-activity-ios-light-before-full.png)<br>[32ecd71726](https://git.cafe/pingdotgg/t3code/commit/32ecd71726fee16f335484c1f95cbce126d461f6) | ![F09-activity-ios-light-after-full.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/790eb72e7c705ffa/F09-activity-ios-light-after-full.png)<br>[57eaadd11e](https://git.cafe/pingdotgg/t3code/commit/57eaadd11e361b203d165aa9b64f3951df6cbdb4) | ![F09-activity-ios-light-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1b9e5358644141f8/F09-activity-ios-light-diff0.png)<br>[32ecd71726](https://git.cafe/pingdotgg/t3code/commit/32ecd71726fee16f335484c1f95cbce126d461f6)→[57eaadd11e](https://git.cafe/pingdotgg/t3code/commit/57eaadd11e361b203d165aa9b64f3951df6cbdb4) | ![F09-activity-ios-light-diff12.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/93faee1fa2c7c300/F09-activity-ios-light-diff12.png)<br>[32ecd71726](https://git.cafe/pingdotgg/t3code/commit/32ecd71726fee16f335484c1f95cbce126d461f6)→[57eaadd11e](https://git.cafe/pingdotgg/t3code/commit/57eaadd11e361b203d165aa9b64f3951df6cbdb4) |

Settling partners: [F09-activity-ios-light-before-settle1-full.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f7d8bc93132e9b56/F09-activity-ios-light-before-settle1-full.png) · [F09-activity-ios-light-after-settle1-full.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5cc0624380c76b54/F09-activity-ios-light-after-settle1-full.png). Cropped source pair: [F09-activity-ios-light-before.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c3e124ee96277ab7/F09-activity-ios-light-before.png) · [F09-activity-ios-light-after.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/38acdd07c37ba5bf/F09-activity-ios-light-after.png).

## F09-summary-web-narrow-dark — web narrow dark,390×1000CSS,DPR2

Two frames500ms apart: before=True, after=True. Diff0=RGBabsolute difference×16; DiffT=per-channel>12/255. Changed pixels0/T12=96291/66593; bounds=[94, 38, 748, 1355]. 

| Before | After | Diff0 | DiffT |
|---|---|---|---|
| ![F09-summary-web-narrow-dark-before.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3d1eaee4f7398d82/F09-summary-web-narrow-dark-before.png)<br>[32ecd71726](https://git.cafe/pingdotgg/t3code/commit/32ecd71726fee16f335484c1f95cbce126d461f6) | ![F09-summary-web-narrow-dark-after.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b4e3b1110a97299f/F09-summary-web-narrow-dark-after.png)<br>[57eaadd11e](https://git.cafe/pingdotgg/t3code/commit/57eaadd11e361b203d165aa9b64f3951df6cbdb4) | ![F09-summary-web-narrow-dark-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/914dd22c5f437991/F09-summary-web-narrow-dark-diff0.png)<br>[32ecd71726](https://git.cafe/pingdotgg/t3code/commit/32ecd71726fee16f335484c1f95cbce126d461f6)→[57eaadd11e](https://git.cafe/pingdotgg/t3code/commit/57eaadd11e361b203d165aa9b64f3951df6cbdb4) | ![F09-summary-web-narrow-dark-diff12.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2eb3281271f139e4/F09-summary-web-narrow-dark-diff12.png)<br>[32ecd71726](https://git.cafe/pingdotgg/t3code/commit/32ecd71726fee16f335484c1f95cbce126d461f6)→[57eaadd11e](https://git.cafe/pingdotgg/t3code/commit/57eaadd11e361b203d165aa9b64f3951df6cbdb4) |

Settling partners: [F09-summary-web-narrow-dark-before-settle1.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d2207d1c19978d50/F09-summary-web-narrow-dark-before-settle1.png) · [F09-summary-web-narrow-dark-after-settle1.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/586d646c22d210d7/F09-summary-web-narrow-dark-after-settle1.png). 

## F09-timeline-web-narrow-dark — web narrow dark,390×1000CSS,DPR2

Two frames500ms apart: before=True, after=True. Diff0=RGBabsolute difference×16; DiffT=per-channel>12/255. Changed pixels0/T12=64440/42684; bounds=[136, 38, 720, 1246]. 

| Before | After | Diff0 | DiffT |
|---|---|---|---|
| ![F09-timeline-web-narrow-dark-before.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3d6adadb3b055bed/F09-timeline-web-narrow-dark-before.png)<br>[32ecd71726](https://git.cafe/pingdotgg/t3code/commit/32ecd71726fee16f335484c1f95cbce126d461f6) | ![F09-timeline-web-narrow-dark-after.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3cb287799cd1f47e/F09-timeline-web-narrow-dark-after.png)<br>[57eaadd11e](https://git.cafe/pingdotgg/t3code/commit/57eaadd11e361b203d165aa9b64f3951df6cbdb4) | ![F09-timeline-web-narrow-dark-diff0.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/38f92e0891181a91/F09-timeline-web-narrow-dark-diff0.png)<br>[32ecd71726](https://git.cafe/pingdotgg/t3code/commit/32ecd71726fee16f335484c1f95cbce126d461f6)→[57eaadd11e](https://git.cafe/pingdotgg/t3code/commit/57eaadd11e361b203d165aa9b64f3951df6cbdb4) | ![F09-timeline-web-narrow-dark-diff12.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ce752a2736b7d4af/F09-timeline-web-narrow-dark-diff12.png)<br>[32ecd71726](https://git.cafe/pingdotgg/t3code/commit/32ecd71726fee16f335484c1f95cbce126d461f6)→[57eaadd11e](https://git.cafe/pingdotgg/t3code/commit/57eaadd11e361b203d165aa9b64f3951df6cbdb4) |

Settling partners: [F09-timeline-web-narrow-dark-before-settle1.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d34890c1b469ee85/F09-timeline-web-narrow-dark-before-settle1.png) · [F09-timeline-web-narrow-dark-after-settle1.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6cf0127b4673a856/F09-timeline-web-narrow-dark-after-settle1.png). 

Scripts: [fixtures.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/02339fcdd64099b9/fixtures.json) · [proxy.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/423f2adfdadd429d/proxy.mjs) · [native-control.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7077291dac5bc0d0/native-control.py) · [web-sequence.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d2da090fd55f92cd/web-sequence.md) · [capture2-manifest.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b7c4ba222afa00cc/capture2-manifest.json) · [recording2-manifest.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e4b84f26f5ca1e52/recording2-manifest.json) · [rebuild-capture2.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/eedbcec94acc9c24/rebuild-capture2.md) · [rebuild-capture2.zip](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2c8c8c89810f1b20/rebuild-capture2.zip)
