Supplemental evidence for F8–F10 and P3. Before = [e5b0718a8a](https://github.com/pingdotgg/t3code/commit/e5b0718a8a297823920d1bf3a7d5cbacd57263ea); after = [5ff188ef57](https://github.com/pingdotgg/t3code/commit/5ff188ef57475170e29a0c57fd97b018202bd713).

Environment: Linux x86_64 VM fs-67; Chrome 157.0.0.0 via T3 Browser; 1440×900 CSS px, DPR 2, dark, no device emulation. Uploaded MP4s are 1440×900, 20 fps, silent (full recording plus a 2 s hold of its last frame). Synthetic component harness imports each revision's unchanged production coordinator, gate and shell presenter (plus the after revision's monitor predicate); shell/settings boundaries and Notification API are synthetic. Real timers, notifications mode, in-app off, focus=false. Separate detached checkouts with `vp install`; static server started with `T3CODE_DEV_SEED=0`. P3 uses each revision's migrated in-memory SQLite and real projection store. No live database or real provider turns.

The same scripted interaction runs before and after. On-screen `t=` timestamps are relative to Start; use the visible clock rather than playback position for exact timing. F8: 1 s completion → 2 s cached → 8 s live same completion → 10 s unchanged → observe through 14 s. F9: 16 s completion → 17 s cached → 23 s successor running → 24 s terminal completion → observe through 30 s. F10: five completions at 32 s → cancel at 33 s → restore at 39 s → observe through 46 s; separate outlet case completes at 48 s → disable both outlets at 49 s → re-enable at 55 s → observe through 62 s. The labelled harness shows whole recent log entries; companion JSON retains every event and UTC/relative timestamp.

| Step | Before | After | Recording links (before / after) |
|---|---|---|---|
| F8: disconnect during grace, same completion on reconnect, unchanged update | Immediate alert at 1.012 s; no second alert. Baseline has no grace. | No alert offline (2–8 s); one at 13.010 s, full 5 s after reconnect. Unchanged update does not reset grace. | [f8-f10-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/de5e02f26e114dea/f8-f10-before.mp4) / [f8-f10-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4eeff4f5ad01f6b4/f8-f10-after.mp4) |
| F9: disconnect during grace, successor on reconnect | Two calls at 16.009 s, 24.008 s (old wake, then terminal successor). | Old wake never alerts. Successor alone alerts at 24.006 s; no delayed duplicate through 30 s. | [f8-f10-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/de5e02f26e114dea/f8-f10-before.mp4) / [f8-f10-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4eeff4f5ad01f6b4/f8-f10-after.mp4) |
| F10: archive; restore/re-add after old deadline | Wake alerted before cancellation at 32.011 s; no restore replay. | Armed 37 s timer cancelled at 33 s; no alert or replay through 46 s. | [f8-f10-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/de5e02f26e114dea/f8-f10-before.mp4) / [f8-f10-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4eeff4f5ad01f6b4/f8-f10-after.mp4) |
| F10: stop; restore/re-add after old deadline | Wake alerted before cancellation at 32.015 s; no restore replay. | Armed 37 s timer cancelled at 33 s; no alert or replay through 46 s. | [f8-f10-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/de5e02f26e114dea/f8-f10-before.mp4) / [f8-f10-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4eeff4f5ad01f6b4/f8-f10-after.mp4) |
| F10: thread removal; restore/re-add after old deadline | Wake alerted before cancellation at 32.022 s; no restore replay. | Armed 37 s timer cancelled at 33 s; no alert or replay through 46 s. | [f8-f10-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/de5e02f26e114dea/f8-f10-before.mp4) / [f8-f10-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4eeff4f5ad01f6b4/f8-f10-after.mp4) |
| F10: cleanup; restore/re-add after old deadline | Wake alerted before cancellation at 32.024 s; no restore replay. | Armed 37 s timer cancelled at 33 s; no alert or replay through 46 s. | [f8-f10-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/de5e02f26e114dea/f8-f10-before.mp4) / [f8-f10-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4eeff4f5ad01f6b4/f8-f10-after.mp4) |
| F10: environment removal; restore/re-add after old deadline | Wake alerted before cancellation at 32.027 s; no restore replay. | Armed 37 s timer cancelled at 33 s; no alert or replay through 46 s. | [f8-f10-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/de5e02f26e114dea/f8-f10-before.mp4) / [f8-f10-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4eeff4f5ad01f6b4/f8-f10-after.mp4) |
| F10: disable notifications and in-app notifications, then re-enable | Immediate alert at 48.016 s; no replay. | Armed 53 s timer cancelled at 49 s; no alert or replay through 62 s. | [f8-f10-before.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/de5e02f26e114dea/f8-f10-before.mp4) / [f8-f10-after.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/4eeff4f5ad01f6b4/f8-f10-after.mp4) |

Total Notification() calls: before 9; after 2. Companion logs: [f8-f10-before.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6ca5de19ef9e8363/f8-f10-before.json) / [f8-f10-after.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/774485811a2f4e15/f8-f10-after.json). Both final recordings were opened and played back, with sampled frames inspected for viewport, readable text, overlays and complete PASS frames. Diff0/DiffT do not apply to recordings or transcripts; the per-step tables supply the comparison.

P3 is a chronological production projection harness, not an end-to-end relay trace. Every row comes from `ProjectionStore.getAgentAwarenessSnapshot` after synthetic events applied to fresh SQLite, then `projectThreadAwarenessV2`; no field overlays are used. Main sequence applies `thread.settled` and `thread.unsettled` to the same stored completion. Controls are stored run/provider-thread/runtime-request updates. The before snapshot omits the background-wake flag; after classifies it true from the Monitor notification.

| Step | Before projection | After projection | Transcript links (before / after) |
|---|---|---|---|
| 1. held completion / unsettled (captured 16:54:20.282 / 16:54:17.742 UTC) | `completed` | `running` | [p3-before.jsonl](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/53c4906c99165e82/p3-before.jsonl) / [p3-after.jsonl](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1348967a4f08487e/p3-after.jsonl) |
| 2. held completion / settled (captured 16:54:20.287 / 16:54:17.748 UTC) | `null` | `null` | [p3-before.jsonl](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/53c4906c99165e82/p3-before.jsonl) / [p3-after.jsonl](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1348967a4f08487e/p3-after.jsonl) |
| 3. held completion / unsettled again (captured 16:54:20.292 / 16:54:17.754 UTC) | `completed` | `running` | [p3-before.jsonl](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/53c4906c99165e82/p3-before.jsonl) / [p3-after.jsonl](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1348967a4f08487e/p3-after.jsonl) |
| 4. settled genuinely active run control (captured 16:54:20.297 / 16:54:17.760 UTC) | `running` | `running` | [p3-before.jsonl](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/53c4906c99165e82/p3-before.jsonl) / [p3-after.jsonl](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1348967a4f08487e/p3-after.jsonl) |
| 5. settled awaited monitor control (captured 16:54:20.302 / 16:54:17.766 UTC) | `running` | `running` | [p3-before.jsonl](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/53c4906c99165e82/p3-before.jsonl) / [p3-after.jsonl](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1348967a4f08487e/p3-after.jsonl) |
| 6. settled awaited command control (captured 16:54:20.313 / 16:54:17.772 UTC) | `running` | `running` | [p3-before.jsonl](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/53c4906c99165e82/p3-before.jsonl) / [p3-after.jsonl](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1348967a4f08487e/p3-after.jsonl) |
| 7. settled awaited background_task control (captured 16:54:20.317 / 16:54:17.781 UTC) | `running` | `running` | [p3-before.jsonl](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/53c4906c99165e82/p3-before.jsonl) / [p3-after.jsonl](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1348967a4f08487e/p3-after.jsonl) |
| 8. settled intrinsic completion-holding background_task control (captured 16:54:20.321 / 16:54:17.786 UTC) | `running` | `running` | [p3-before.jsonl](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/53c4906c99165e82/p3-before.jsonl) / [p3-after.jsonl](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1348967a4f08487e/p3-after.jsonl) |
| 9. settled intrinsic completion-holding subagent control (captured 16:54:20.329 / 16:54:17.800 UTC) | `running` | `running` | [p3-before.jsonl](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/53c4906c99165e82/p3-before.jsonl) / [p3-after.jsonl](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1348967a4f08487e/p3-after.jsonl) |
| 10. settled pending user input control (captured 16:54:20.335 / 16:54:17.810 UTC) | `waiting_for_input` | `waiting_for_input` | [p3-before.jsonl](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/53c4906c99165e82/p3-before.jsonl) / [p3-after.jsonl](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1348967a4f08487e/p3-after.jsonl) |
| 11. settled pending approval control (captured 16:54:20.339 / 16:54:17.813 UTC) | `waiting_for_approval` | `waiting_for_approval` | [p3-before.jsonl](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/53c4906c99165e82/p3-before.jsonl) / [p3-after.jsonl](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1348967a4f08487e/p3-after.jsonl) |
| 12. settled monitor-only control restored (captured 16:54:20.341 / 16:54:17.816 UTC) | `null` | `null` | [p3-before.jsonl](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/53c4906c99165e82/p3-before.jsonl) / [p3-after.jsonl](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1348967a4f08487e/p3-after.jsonl) |

What else changed in this capture pass:

- Only scratch harness, driver, transcript and media files were written; no project source edits, commits or pushes.
- Isolated dependency installs and a temporary static server; no application server, real provider turn or live database access.
- Notification calls establish coordinator admission. Native OS rendering, audio, relay/APNs delivery and physical mobile behavior are outside these fixtures.
- Requested rows captured: 4/4 (F8, F9, F10, P3). Unverified requested rows: none. Existing accepted rows were not recaptured.

Scripts and protocol:

- [harness.ts](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/392f0856c4f35d85/harness.ts)
- [harness.html](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2c9684f9193ef1af/harness.html)
- [harness-driver.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/35a32d98fca995c5/harness-driver.mjs)
- [awareness-capture.mjs](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bf16a085a030b2ab/awareness-capture.mjs)
- [prepare-harness.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9befc048199e8c8f/prepare-harness.py)
- [serve-harness.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7418dfaff5ff4bf9/serve-harness.py)
- [process-recordings.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7ca075e803a65432/process-recordings.py)
- [review-recordings.html](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d7688df48799e8a3/review-recordings.html)
- [make-snippet.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/19b91d0b9a2b290f/make-snippet.py)
- [recording-protocol.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/388fe5ec8aa999a2/recording-protocol.md)

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