# Issue16000 behavioral evidence — partial matrix

[Issue #16000](https://git.cafe/pingdotgg/t3code/issues/16000). All BEFORE artifacts use [7f7daad985](https://git.cafe/pingdotgg/t3code/commit/7f7daad98503dc049b7230465ae3863d71f197e4); all AFTER artifacts use [4a3dab0fab](https://git.cafe/pingdotgg/t3code/commit/4a3dab0fab00b242bd5b2b60827edc31b8acefac). No intermediate-head captures are presented as final evidence.

**4/5 configurations have recorded before/after episodes. This is not a full matrix pass.** R1 behavior verified. R2/R2b preserve work and recover, but visible picker error presentation was not observed. R3 verified with distinct compatible provider instances sharing one configured proxy credential/home; independently authenticated second-account coverage remains missing. R4 native iOS unverified after build failure. No implementation edits or publication to the issue/forge.

## Recordings and results

| Row | BEFORE 7f7daad985 | AFTER 4a3dab0fab | Observed change / limits |
|---|---|---|---|
| R1 web1440×900 light DPR2 | [Before recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0c7d55ad44d6f488/r1-before.mp4) | [After recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dd40c68c3f2cc019/r1-after.mp4) | Native Agent only, completed parent. Base runtime change detaches and stops at3/18. Final runtime/account sends refuse, draft retained, ordinary A send succeeds, Agent progresses18+DONE, fresh runtime/B retry succeeds. |
| R2 web390×844 dark DPR2 | [Before recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b40c8797aa1ad037/r2-before.mp4) | [After refusal episode](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f410daffbcec577c/r2-after.mp4); [Completion, retry, explicit Stop](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/90d8654f27402363/r2-after-recovery-stop.mp4) | Base picker eagerly detaches shell at4/24 and changes workspace. Final metadata commands reject, worktree remains, shell24+DONE; retry changes workspace. Fresh shell explicitly stopped at2/noDONE, then picker retry succeeds. No readable picker refusal surfaced in observed UI. |
| R3 web1440×900 dark DPR2 | [Before recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/947e25e18d2ee376/r3-before.mp4) | [Immediate + repeated queued refusals and safe A](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/39210dd6fbfc342f/r3-after.mp4); [Natural completion + B retry](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ba26695bcb6f4943/r3-after-natural-retry.mp4) | Base immediate switch stops at5/24; queued switch detaches at9/24 then provider error. Final immediate B send refuses; B_ONE and B_TWO queued attempts fail with actionable reason, safe A automatically delivers once while original shell continues. Shell24+DONE; B retry then delivers once. A/B share proxy credentials, distinct provider instances only. |
| R2b web390×844 light DPR2 | [Before recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/aa1865ae3ae38c36/r2b-before.mp4) | [After recording](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c9d2ea17ef1b1ecd/r2b-after.mp4) | Base picker stops shell4/18. Final alternate stays selected after attempted change; shell18+DONE; retry moves to t3/evidence-r2-worktree. No readable picker error observed. |
| R4 nativeiOS dark ~390 | Not captured | Not captured | EAS development simulator build failed with unresolved GhosttyKit dependency; no native session or outbox retry capture. [Sanitized prerequisite record](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/77ce4bedaf1f4760/ios-prerequisite.txt) |

Recordings are real T3 collaborative Browser interactions, not mockups. Narrow web is browser CSS emulation, not native mobile. Desktop recording pixels2880×1800; narrow780×1688. Desktop saved snapshots were normalized by the tool to1280×800; recordings preserve full viewport. Wall-clock action timestamps are in [narrated timeline](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/86d41a52c30ae2d7/after-timeline.txt); recording duration can compress static periods. No frozen clock. Same disposable repository/project and actual worktree paths were used; before/after transcript/sidebar history and progress filenames differ. Hence these are behavioral episodes, not exact frozen-fixture visual regression pairs.

## Runtime support

- [R1 before transcript](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7f8788800a3e46d1/r1-before.txt); [R2 before transcript](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/304602ee0c0e92bd/r2-before.txt); [R2b before transcript](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dcc3b9c6c878ada8/r2b-before.txt); [R3 before transcript](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b4eaa044dd712eda/r3-before.txt).
- [Sanitized base events](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1fccdcd900878e51/base-events.jsonl); [Sanitized final events](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/751a721531da4ac2/after-events.jsonl); [Final rejected command receipts](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/054b978cd0468ca9/after-rejected-receipts.jsonl); [Progress/DONE files](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/22fa23eeae2988c7/progress-proof.json).
- R1 final thread da5346c4-5734-47ef-a44c-61339be6ba63. R2/R2b e22e9be8-6d24-4701-b602-a176bd5f2e14. R3 8242b6d8-3de1-400f-820d-c7305cc7713f. Sessions and task IDs are correlated in event files. Rejected receipts alone have generic errors; UI recordings carry actionable runtime/account/queued text. R2/R2b generic metadata rejection plus no detach, unchanged displayed worktree, progress/DONE and successful retry establish protection; they do not establish readable picker error presentation.

## Screenshots and diagnostic diffs

All whole-frame captures and both diffs per pair were opened and inspected. **Rejected as strict pixel-regression comparisons** because dynamic transcript/history/times differ; no layout-regression pass is claimed. Raw absolute RGB difference uses gain1 (zero amplification). Threshold mask is white iff max channel difference>16/255. [Dimensions and changed-pixel statistics](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/318680f81765e87b/diff-stats.json).

### R1

Before — 7f7daad985

![r1-before-result.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/22dc9b5d2e74a652/r1-before-result.png)

After — 4a3dab0fab

![r1-after-result.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3cd8209a32a0e0b2/r1-after-result.png)

[Raw difference, gain1](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/f8a856212c6cb38e/r1-diff-raw.png) · [Threshold16 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9c576daafc9898da/r1-diff-threshold16.png)

### R2

Before — 7f7daad985

![r2-before-result.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b05a7ba08d9b0fff/r2-before-result.png)

After — 4a3dab0fab

![r2-after-result.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5eef3fca407f591c/r2-after-result.png)

[Raw difference, gain1](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/99453bcb5d642513/r2-diff-raw.png) · [Threshold16 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7e32f9fe10ee1af1/r2-diff-threshold16.png)

### R2B

Before — 7f7daad985

![r2b-before-result.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/fde3f36df0ae83bc/r2b-before-result.png)

After — 4a3dab0fab

![r2b-after-result.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5d498e046fdb6a41/r2b-after-result.png)

[Raw difference, gain1](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dde4280f10d04286/r2b-diff-raw.png) · [Threshold16 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/73bf77607ba6f7ad/r2b-diff-threshold16.png)

### R3

Before — 7f7daad985

![r3-before-result.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5fdb72be46c1789d/r3-before-result.png)

After — 4a3dab0fab

![r3-after-result.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/09fb987fc425d619/r3-after-result.png)

[Raw difference, gain1](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d2fda99e10330e58/r3-diff-raw.png) · [Threshold16 mask](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5653b83b6ffffada/r3-diff-threshold16.png)

## Missing / unverified

- R4 native iOS before/after interaction, local outbox persistence, refused settings retry with fresh IDs across restart/backoff, interaction-mode retry control, and exactly-once delivery. EAS available, but new simulator development build561bd8e4-3d4f-4c29-84f9-d2abf33f5eb6 failed in Run fastlane: Unable to resolve module dependency GhosttyKit (T3TerminalNative Pods target). Native implementation was not changed to work around it. This says nothing about Android availability.
- R2/R2b visible actionable picker refusal. Three dark metadata attempts and one light attempt were recorded as rejected; no readable error seen. Preserve/recovery behavior is verified, error UI is not.
- Independently authenticated compatible second account. A=claudeAgent, B=claudeAgent_claude_evidence_b use the same configured proxy/home. Do not promote provider-instance proof into distinct-account proof.
- Exact frozen-clock, identical-history screenshot matching. Eight diagnostic diff artifacts supplied; none certify pixel equivalence.
- Adapter/provider cross-product, pooled ownership/probe-error/no-probe/lifecycle focused tests and mobile retry tests were not independently rerun here. Primary's18 selected passing tests are requester-reported, not this test agent's result. Earlier primary smoke artifacts remain supporting-only and were not reused as matrix matches.

## Environment, cleanup, FRICTION

Base is git archive of7f7daad985 outside the worktree; dependency symlinks reuse installed dependencies. Shared packages have no changes in this diff; app server/web source comes from the archived base. Final server ran actual clean4a3dab0fab worktree. Base isolated state under/tmp, then stopped SQLite backup copied into a second isolated after-state. Disposable project/tmp/issue16000-fixture and its worktrees; no live~/.t3/userdata database was opened read-write. Browser output artifacts under app-owned browser-artifacts/attachments are normal capture outputs, copied into/tmp for upload.

Owned servers: initial short final smoke server stopped; base session71550 stopped13:37:38; final session21279/PID3064879 stopped13:48:37. Owned Metro session97783 port8096 stopped after build failure. Listener checks confirm13773/15285/8096 clear. EAS CLI exited; build terminal failed; no EAS simulator session was created. Own Browser tab closed; primary tab untouched. All spawned test work naturally completed or was explicitly stopped before backend teardown. No process killed by name/pattern.

Temporary source archive, sandbox state/secrets, fixtures, scripts and local evidence are removed after upload. App-managed capture originals retain their normal attachment lifecycle; no live application data is cleaned. Task scratch peaked under0.5GB (limit5GB); disk20GBfree. Worktree remained clean at4a3dab0fab. No branch/source changes, commits, push, PR, public comment, or merge.

FRICTION: Automatic command review rejected rm -rf cleanup; explicit task-directory removal used instead. EAS Xcode GhosttyKit dependency failure consumed native-build time; initial EAS profile invocation needed apps/mobile cwd; picker errors were not visibly surfaced; one redundant Stop click timed out after work had already stopped; runtime dropdown was accidentally toggled twice before correction (ordinary unchanged-mode send retained as negative control). Narrow recording initially showed light until raw theme storage value was corrected before the actual dark picker attempts. Before R2 root-branch trial hit branch_checked_out_in_worktree and was excluded from formal R2 proof. Dynamic screenshots cannot satisfy frozen identical-fixture pixel claims. Stopped within13:56UTC budget.
