diff --git a/doc/plans/2026-10-10-boat-validation.md b/doc/plans/2026-10-10-boat-validation.md
index c3e25e7e496..4a72ba356f8 100644
--- a/doc/plans/2026-10-10-boat-validation.md
+++ b/doc/plans/2026-10-10-boat-validation.md
@@ -2,6 +2,8 @@
**Experimental and unmerged. Local journeys and partial staging qualification passed on the sources below; final-source staging acceptance remains incomplete.** A successful build, probe, or earlier-source journey does not establish the remaining product conditions.
+Historical screenshots and receipts are preserved on the [fixed evidence branch](https://github.com/paperclipai/paperclip/tree/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat). Historical links below use that exact commit; the implementation PR keeps a bounded set of current proofs.
+
## Current source boundary (2026-10-11 12:14 UTC)
| Surface | Source and evidence |
@@ -14,7 +16,7 @@
Final-source staging acceptance remains incomplete because the saved Claude post-idle continuation failed. Previous failed immutable packages and saved authority remain intact. The historical Darwin full-suite command reported **34,914 passed, 24 failed, 338 skipped**; every suite responsible for those 24 failures subsequently executed and passed in Linux CI on exact core `8e8999`. The original local command was not rerun, and its 338 skips remain unreclassified. A separate invite-URL timing failure passed its one rerun without source or timeout changes; its original failure is retained. [Failure disposition](assets/2026-10-10-boat/evidence/full-local-failure-disposition.json).
-[Current green CI and review receipt](assets/2026-10-10-boat/evidence/ci-8f62ee-4d2a23-passed.json), [verified deployment27](assets/2026-10-10-boat/evidence/staging27-deployment.json), [staging28 failure receipt](assets/2026-10-10-boat/evidence/staging28-post-idle-failure.json), [preceding staging27 live receipt](assets/2026-10-10-boat/evidence/staging27-live-evidence.json). The historical chronology below preserves earlier observations and failures; its then-pending statements are superseded by later dated results. No provider stop was forced or cancelled, no quarantine was cleared, and no database history was reset or rewritten.
+[Current green CI and review receipt](assets/2026-10-10-boat/evidence/ci-8f62ee-4d2a23-passed.json), [verified deployment27](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging27-deployment.json), [staging28 failure receipt](assets/2026-10-10-boat/evidence/staging28-post-idle-failure.json), [preceding staging27 live receipt](assets/2026-10-10-boat/evidence/staging27-live-evidence.json). The historical chronology below preserves earlier observations and failures; its then-pending statements are superseded by later dated results. No provider stop was forced or cancelled, no quarantine was cleared, and no database history was reset or rewritten.
## Staging27 Codex acceptance passed (2026-10-11 10:40 UTC)
@@ -28,7 +30,7 @@ The normal warm deadline was 10:34:08.518. Lease cleanup succeeded at 10:34:30.9
Ordinary new task BOA9 selected immutable production pack `sha256:152fcacb43ccb019b9be3c0ca058c61a5a7275f46a9d429dc4800489b768a105`. Cold run `2744ccb4` succeeded at 10:37:15.713, and warm continuation `e3fea4b3` succeeded at 10:40:28.388. Both retained native session `58c30adb`, logical runner `39f6ecc5`, provider display identity `d6a6d920`, owner `8385184e`, boot `96db0e84` and physical launch generation 1. Owner generation advanced normally to 2. The original file hash remained unchanged; the expanded warm execution output showed the correct personal home and UTC 10:40:11 on the same host.
-The cold turn took 16m37 including first-use preparation of the 990MiB production package. This is a functional pass with poor first-use latency. Warm completed in 1m55. Natural retirement/archive and saved-session continuation remain pending; the configured deadline is 10:45:26.833. No viewer or guest probe is used during the idle interval. [Cold result](assets/2026-10-10-boat/staging27-claude-cold.png), [actual warm command](assets/2026-10-10-boat/staging27-claude-warm.png), [controller and immutable-package receipt](assets/2026-10-10-boat/evidence/staging27-live-evidence.json).
+The cold turn took 16m37 including first-use preparation of the 990MiB production package. This is a functional pass with poor first-use latency. Warm completed in 1m55. Natural retirement/archive and saved-session continuation remain pending; the configured deadline is 10:45:26.833. No viewer or guest probe is used during the idle interval. [Cold result](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging27-claude-cold.png), [actual warm command](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging27-claude-warm.png), [controller and immutable-package receipt](assets/2026-10-10-boat/evidence/staging27-live-evidence.json).
## Staging27 Claude post-idle failed (2026-10-11 10:53 UTC)
@@ -36,33 +38,33 @@ After the configured warm deadline, owner `8385184e` retired and its lease clean
Run `ab8c460d` retained the original native and logical identities and immutable `152fcacb` production package on new owner `e5144dfa`, boot `e5d777de`, launch generation 1. It resumed the provider session but its first `turn.start` rejected **agent_startup_unverified_module** at 10:49:13, after the recorded `turn_ownership_verified` stage. The stage elapsed value was 3684ms. Automatic same-run recovery ended with `runner_state_identity_mismatch: authority_indeterminate`; final failure was 10:50:44.627. Both owners retired and Boat naturally archived at 10:51:02.840.
-A controller-only manifest projection confirms the exact deployed source and package digest, matching Node/lock/sidecar artifact hashes, and presence of all four expected bounded-read/fatal-import features. Therefore this is not explained by a missing deployed patch. The error category still combines several loader fences; the exact rejecting check is **unproved**. The local corrected-package pass does not establish production-package success. Narrow closed reason diagnostics are under investigation, with no guard relaxation or saved-state reset. [Failed task](assets/2026-10-10-boat/staging27-claude-post-failed.png), [complete source-bound receipt](assets/2026-10-10-boat/evidence/staging27-live-evidence.json).
+A controller-only manifest projection confirms the exact deployed source and package digest, matching Node/lock/sidecar artifact hashes, and presence of all four expected bounded-read/fatal-import features. Therefore this is not explained by a missing deployed patch. The error category still combines several loader fences; the exact rejecting check is **unproved**. The local corrected-package pass does not establish production-package success. Narrow closed reason diagnostics are under investigation, with no guard relaxation or saved-state reset. [Failed task](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging27-claude-post-failed.png), [complete source-bound receipt](assets/2026-10-10-boat/evidence/staging27-live-evidence.json).
## Closed rejection diagnostics and staging28 candidate (2026-10-11 11:02 UTC)
-Core `8f62eef8f13e199f7a98d8a9ec27d617385e6fde` preserves the existing module guards and broad `agent_startup_unverified_module` classification while adding one fixed, allowlisted `moduleFence` reason. No module paths, specifiers, arguments or raw errors are exposed. Rejection conditions, bounded rereads, authority and deadlines remain unchanged. The regression matrix had 29 failing assertions before the change; afterward 140 tests passed with six existing platform skips, all 14 Rust transport tests passed, and typecheck/build/format checks plus two independent reviews passed. [Verification receipt](assets/2026-10-10-boat/evidence/loader-fence-verification.json).
+Core `8f62eef8f13e199f7a98d8a9ec27d617385e6fde` preserves the existing module guards and broad `agent_startup_unverified_module` classification while adding one fixed, allowlisted `moduleFence` reason. No module paths, specifiers, arguments or raw errors are exposed. Rejection conditions, bounded rereads, authority and deadlines remain unchanged. The regression matrix had 29 failing assertions before the change; afterward 140 tests passed with six existing platform skips, all 14 Rust transport tests passed, and typecheck/build/format checks plus two independent reviews passed. [Verification receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/loader-fence-verification.json).
-Production pack `152fcacb` and locally passing `f6fbd13c` have identical sidecar and production-lock bytes, but Node versions differ: staging24.21.0 versus local24.18.1. An isolated fixture using the **exact production Node executable hash** passed stable and ctime-only reads and rejected a moved descriptor without executing it. This does not reproduce or explain the staging failure. [Offline comparison](assets/2026-10-10-boat/evidence/loader-node2421-proof.json).
+Production pack `152fcacb` and locally passing `f6fbd13c` have identical sidecar and production-lock bytes, but Node versions differ: staging24.21.0 versus local24.18.1. An isolated fixture using the **exact production Node executable hash** passed stable and ctime-only reads and rejected a moved descriptor without executing it. This does not reproduce or explain the staging failure. [Offline comparison](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/loader-node2421-proof.json).
Deployment28 was dispatched for compatible staging candidate `70fb0988c0aa760f9c84818aaf3fabbc339854b7`, request `d28faf91-db3f-4a80-a28a-5a0a1c45ac2e`, through the official workflow. It is diagnostic-only and not yet verified serving. Existing failed sessions and immutable packages remain preserved. A newly selected matched runner/package is required to obtain the new fence reason; no live acceptance pass is inferred from this instrumentation.
## Diagnostic qualification started (2026-10-11 11:28 UTC)
-Deployment28 is verified serving `70fb0988c0aa760f9c84818aaf3fabbc339854b7`. A provider-only observation at 11:26:59.499 confirmed Boat archived/healthy, with its prior normal stop completed. Ordinary new task BOA10 (`5bff05ac-f4c8-4353-97f2-b813479905ba`) began run `1d103c90-4ceb-4ba9-9a10-60f61a2947b6` at 11:27:14.807. Cold, warm and post-idle results remain pending. [Verified deployment](assets/2026-10-10-boat/evidence/staging28-deployment.json), [archived baseline](assets/2026-10-10-boat/evidence/staging28-archived-baseline.json).
+Deployment28 is verified serving `70fb0988c0aa760f9c84818aaf3fabbc339854b7`. A provider-only observation at 11:26:59.499 confirmed Boat archived/healthy, with its prior normal stop completed. Ordinary new task BOA10 (`5bff05ac-f4c8-4353-97f2-b813479905ba`) began run `1d103c90-4ceb-4ba9-9a10-60f61a2947b6` at 11:27:14.807. Cold, warm and post-idle results remain pending. [Verified deployment](assets/2026-10-10-boat/evidence/staging28-deployment.json), [archived baseline](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging28-archived-baseline.json).
-Local51's compatible controller `4d8b1cb179681d2bbfb16b42b4def81cb95107ac` selected diagnostic pack `sha256:8567c47c5da670735643e47e45abbafeb2626098b3a30d4c86dbf7c40c1d100c`. BOA25 cold and warm passed with both original file hashes unchanged. Cold completed at 11:20:54.857 after a 13m14 first-use turn; warm completed at 11:23:17.562. Its controller-bound guarded provider uses the packaged production Node24.21 executable; the agent's `node --version` report came from shell PATH and returned24.18.1. These are distinct observations. The local pack uses the offline cached closure harness, not the canonical release builder. Natural archive and post-idle continuation remain pending. [Local readiness](assets/2026-10-10-boat/evidence/local51-ready.json), [warm result](assets/2026-10-10-boat/local51-claude-warm.png).
+Local51's compatible controller `4d8b1cb179681d2bbfb16b42b4def81cb95107ac` selected diagnostic pack `sha256:8567c47c5da670735643e47e45abbafeb2626098b3a30d4c86dbf7c40c1d100c`. BOA25 cold and warm passed with both original file hashes unchanged. Cold completed at 11:20:54.857 after a 13m14 first-use turn; warm completed at 11:23:17.562. Its controller-bound guarded provider uses the packaged production Node24.21 executable; the agent's `node --version` report came from shell PATH and returned24.18.1. These are distinct observations. The local pack uses the offline cached closure harness, not the canonical release builder. Natural archive and post-idle continuation remain pending. [Local readiness](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/local51-ready.json), [warm result](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/local51-claude-warm.png).
## Local51 post-idle continuation and final archive passed (2026-10-11 11:39 UTC)
-Boat naturally archived at 11:28:47.697 after local51's warm deadline. Ordinary same-task run `cc7ecb89` began at 11:29:21.616 and succeeded at 11:32:48.617 on its first connection, without recovery. It preserved native `fb8d0432`, logical `e0d157dc`, provider `1dfe4ace` and immutable diagnostic pack `8567c47c`, while acquiring new physical owner `f40ee221` on boot `6cec8d5a`. Expanded actual execution output shows the new hostname `box-node-b24a7a5a2a0aebba`, UTC 11:32:19 and both unchanged original hashes. Final natural retirement/archive completed at 11:38:23.197 after the configured 11:37:48.456 deadline; the provider was independently observed archived/healthy, with no live owners or runs. [Complete lifecycle receipt](assets/2026-10-10-boat/evidence/local51-lifecycle.json). [Post-idle command evidence](assets/2026-10-10-boat/local51-claude-post-idle.png).
+Boat naturally archived at 11:28:47.697 after local51's warm deadline. Ordinary same-task run `cc7ecb89` began at 11:29:21.616 and succeeded at 11:32:48.617 on its first connection, without recovery. It preserved native `fb8d0432`, logical `e0d157dc`, provider `1dfe4ace` and immutable diagnostic pack `8567c47c`, while acquiring new physical owner `f40ee221` on boot `6cec8d5a`. Expanded actual execution output shows the new hostname `box-node-b24a7a5a2a0aebba`, UTC 11:32:19 and both unchanged original hashes. Final natural retirement/archive completed at 11:38:23.197 after the configured 11:37:48.456 deadline; the provider was independently observed archived/healthy, with no live owners or runs. [Complete lifecycle receipt](assets/2026-10-10-boat/evidence/local51-lifecycle.json). [Post-idle command evidence](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/local51-claude-post-idle.png).
-The local and staging28 Node executable, production lock and sidecar are byte-identical. Overall packages still differ, and a local pass does not establish a staging pass. Staging28 selected production pack `9f153a9a` and accepted cold `turn.start` at 11:34:56.845; task completion and subsequent lifecycle phases remain pending. [Package comparison](assets/2026-10-10-boat/evidence/local51-staging28-pack-comparison.json), [deployed package projection](assets/2026-10-10-boat/evidence/staging28-controller-pack.json), [bound local Node proof](assets/2026-10-10-boat/evidence/local51-bound-node-proof.json).
+The local and staging28 Node executable, production lock and sidecar are byte-identical. Overall packages still differ, and a local pass does not establish a staging pass. Staging28 selected production pack `9f153a9a` and accepted cold `turn.start` at 11:34:56.845; task completion and subsequent lifecycle phases remain pending. [Package comparison](assets/2026-10-10-boat/evidence/local51-staging28-pack-comparison.json), [deployed package projection](assets/2026-10-10-boat/evidence/staging28-controller-pack.json), [bound local Node proof](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/local51-bound-node-proof.json).
## Staging28 cold and warm passed (2026-10-11 11:39 UTC)
Cold run `1d103c90` succeeded at 11:35:25.146 (8m10 including first-use preparation). Warm `d74c8766` succeeded at 11:38:00.342 (1m31), retaining native `5d865ee5`, logical `2ef31e15`, physical owner `c0a3782c`, boot `8598895f` and launch generation1. The saved Claude provider identity is `27eb5608`. Both turns read the original file contents and hash; expanded warm execution output independently shows hostname `box-node-028f48156f85d537`, UTC11:37:43 and the unchanged `e646d151` hash in the personal agent folder.
-The normal warm deadline is 11:42:59.271. Natural archive and saved post-idle continuation remain pending. No desktop viewer, guest probe or manual provider stop is used during this interval. [Cold result](assets/2026-10-10-boat/staging28-claude-cold.png), [actual warm command](assets/2026-10-10-boat/staging28-claude-warm.png), [controller identity and deadline](assets/2026-10-10-boat/evidence/staging28-warm-controller.json).
+The normal warm deadline is 11:42:59.271. Natural archive and saved post-idle continuation remain pending. No desktop viewer, guest probe or manual provider stop is used during this interval. [Cold result](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging28-claude-cold.png), [actual warm command](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging28-claude-warm.png), [controller identity and deadline](assets/2026-10-10-boat/evidence/staging28-warm-controller.json).
## Staging28 post-idle failed; diagnostic loss reproduced (2026-10-11 11:54 UTC)
@@ -86,44 +88,44 @@ Staging deployment29 remains pinned to `05f3725af838b5a074707df1d6ed1e193bdfe49e
## Local48 and deployment25 follow-up (2026-10-11 08:57 UTC)
-- **Local cold and warm Claude passed.** Cold run `2651f86d` succeeded at 08:40:21.872 after uploading and verifying the full 1166MiB pack. Warm run `1983527f` succeeded at 08:42:28.390 with the same native session, logical runner, Claude thread and physical owner/boot/launch identity. Both original proof hashes were unchanged. The owner remained warm beyond 130 seconds after the turn, retired after its configured 08:47:28 deadline, and Boat finished archive at 08:47:49.418. [Cold response](assets/2026-10-10-boat/local48-claude-cold.png), [warm response](assets/2026-10-10-boat/local48-claude-warm.png).
-- **Local post-idle initialization failed.** Ordinary follow-up `702ab960` began after completed archive, retained the saved native/provider/logical identities and started a new physical owner/boot. Attach and session snapshots passed, but the first `turn.start` failed. The new diagnostics locate its last admission stage at `turn_initialize`, before a matching initialize response. This does not yet establish why initialization failed. [Stage receipt](assets/2026-10-10-boat/evidence/local48-post-idle-initialize-failure.json). No session or cache reset was used.
-- **Upload instrumentation was disabled by the harness.** Although the launcher supplied the new flag, `prepareTestDriveEnvironment` removed inherited `PAPERCLIP_*` variables before loading saved settings. Therefore Local48 contains no chunk-phase timing proof. Its successful upload is valid; a claim that the new logging ran is not. [Artifact and instrumentation boundary](assets/2026-10-10-boat/evidence/local48-artifact-selection.json).
-- **Staging native Claude cold and warm passed.** BOA8 cold run `44ab09ac` succeeded 08:45:59.559–08:54:02.138; ordinary warm continuation `c8a2cb85` succeeded 08:55:06.793–08:56:44.725. Both retained native session `b51c2928`, logical runner `87a56307`, Claude thread `c478cd86`, owner `edc2d145`, boot `082f50cb` and launch generation 1. Owner generation advanced from 1 to 2 normally. The original proof hash remained `e646d151756f1efdb9e19d99a2a0971810468087c457fa458f1311c42ef07424`. The warm deadline is 09:01:43.598. [Cold controller receipt](assets/2026-10-10-boat/evidence/staging25-claude-cold.json), [warm controller receipt](assets/2026-10-10-boat/evidence/staging25-claude-warm.json), [visible warm result](assets/2026-10-10-boat/staging25-native-claude-warm.png).
-- **Live sibling Stop isolation passed at the observed process boundary.** Before Stop, both exact marker-bearing Python children were alive under separate controller-authorized owners on boot `082f50cb`: Codex PID189945/start131927 and Claude PID181157/start127354. Normal UI Stop cancelled only Codex run `3f718fd1` at 08:55:49.300. An early sample still saw its child; by 08:56:28.653 Codex's exact child was absent and its owner retired, while Claude's same PID/start/owner/boot remained alive. The Claude job is bounded to 600 seconds and its full completion is pending. [Before processes](assets/2026-10-10-boat/evidence/staging25-sibling-before.json), [before controller](assets/2026-10-10-boat/evidence/staging25-sibling-before-controller.json), [Stop action](assets/2026-10-10-boat/evidence/staging25-sibling-stop-action.json), [early after-sample](assets/2026-10-10-boat/evidence/staging25-sibling-after-stop-early.json), [settled processes](assets/2026-10-10-boat/evidence/staging25-sibling-after-stop.json), [after controller](assets/2026-10-10-boat/evidence/staging25-sibling-after-controller.json), [UI stopped](assets/2026-10-10-boat/staging25-codex-stopped.png). Earlier attempts missed the simultaneous child window and remain inconclusive.
-- **Simultaneous cold admission exposed a separate gap.** Codex run `c990ff5f` failed at 08:37:23 with a provider HTTP409 while the concurrently admitted Claude run proceeded. Later ordinary runs of both legacy agents succeeded with unchanged personal proof hashes. Current errors omit the operation, so the specific live endpoint and cause are not proven. Source inspection shows separate admitted owners can independently request resume after observing an archived Boat; a narrowly scoped shared readiness operation and closed operation/status diagnostics are under development. [Failure receipt](assets/2026-10-10-boat/evidence/staging25-concurrent-admission-failure.json), [visible failure](assets/2026-10-10-boat/staging25-codex-setup-409.png).
+- **Local cold and warm Claude passed.** Cold run `2651f86d` succeeded at 08:40:21.872 after uploading and verifying the full 1166MiB pack. Warm run `1983527f` succeeded at 08:42:28.390 with the same native session, logical runner, Claude thread and physical owner/boot/launch identity. Both original proof hashes were unchanged. The owner remained warm beyond 130 seconds after the turn, retired after its configured 08:47:28 deadline, and Boat finished archive at 08:47:49.418. [Cold response](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/local48-claude-cold.png), [warm response](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/local48-claude-warm.png).
+- **Local post-idle initialization failed.** Ordinary follow-up `702ab960` began after completed archive, retained the saved native/provider/logical identities and started a new physical owner/boot. Attach and session snapshots passed, but the first `turn.start` failed. The new diagnostics locate its last admission stage at `turn_initialize`, before a matching initialize response. This does not yet establish why initialization failed. [Stage receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/local48-post-idle-initialize-failure.json). No session or cache reset was used.
+- **Upload instrumentation was disabled by the harness.** Although the launcher supplied the new flag, `prepareTestDriveEnvironment` removed inherited `PAPERCLIP_*` variables before loading saved settings. Therefore Local48 contains no chunk-phase timing proof. Its successful upload is valid; a claim that the new logging ran is not. [Artifact and instrumentation boundary](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/local48-artifact-selection.json).
+- **Staging native Claude cold and warm passed.** BOA8 cold run `44ab09ac` succeeded 08:45:59.559–08:54:02.138; ordinary warm continuation `c8a2cb85` succeeded 08:55:06.793–08:56:44.725. Both retained native session `b51c2928`, logical runner `87a56307`, Claude thread `c478cd86`, owner `edc2d145`, boot `082f50cb` and launch generation 1. Owner generation advanced from 1 to 2 normally. The original proof hash remained `e646d151756f1efdb9e19d99a2a0971810468087c457fa458f1311c42ef07424`. The warm deadline is 09:01:43.598. [Cold controller receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging25-claude-cold.json), [warm controller receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging25-claude-warm.json), [visible warm result](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging25-native-claude-warm.png).
+- **Live sibling Stop isolation passed at the observed process boundary.** Before Stop, both exact marker-bearing Python children were alive under separate controller-authorized owners on boot `082f50cb`: Codex PID189945/start131927 and Claude PID181157/start127354. Normal UI Stop cancelled only Codex run `3f718fd1` at 08:55:49.300. An early sample still saw its child; by 08:56:28.653 Codex's exact child was absent and its owner retired, while Claude's same PID/start/owner/boot remained alive. The Claude job is bounded to 600 seconds and its full completion is pending. [Before processes](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging25-sibling-before.json), [before controller](assets/2026-10-10-boat/evidence/staging25-sibling-before-controller.json), [Stop action](assets/2026-10-10-boat/evidence/staging25-sibling-stop-action.json), [early after-sample](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging25-sibling-after-stop-early.json), [settled processes](assets/2026-10-10-boat/evidence/staging25-sibling-after-stop.json), [after controller](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging25-sibling-after-controller.json), [UI stopped](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging25-codex-stopped.png). Earlier attempts missed the simultaneous child window and remain inconclusive.
+- **Simultaneous cold admission exposed a separate gap.** Codex run `c990ff5f` failed at 08:37:23 with a provider HTTP409 while the concurrently admitted Claude run proceeded. Later ordinary runs of both legacy agents succeeded with unchanged personal proof hashes. Current errors omit the operation, so the specific live endpoint and cause are not proven. Source inspection shows separate admitted owners can independently request resume after observing an archived Boat; a narrowly scoped shared readiness operation and closed operation/status diagnostics are under development. [Failure receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging25-concurrent-admission-failure.json), [visible failure](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging25-codex-setup-409.png).
- **CI fixture corrections passed.** The touch picker test now samples scroll position and target geometry atomically to avoid measuring during native momentum at inconsistent instants. The signoff test waits for its exact replacement run to finish before the next status mutation. All eight affected real browser tests passed without skips. Both latest PR workflows are green; this does not waive the full-local-suite or live acceptance gaps.
## Settled sibling result and follow-up fixes (2026-10-11 09:06 UTC)
-Claude sibling run `f4881989` **succeeded at 09:05:27.315**, completing the exact PID181157 foreground process for 600 seconds with its original proof hash. The cancelled Codex owner and successful Claude owner both retired through normal cleanup. The native Claude warm owner separately began retiring at its configured 09:01:43.598 deadline and was observed retired at 09:03:06.976. Boat subsequently began its normal archive; at 09:06:12 it remained pending, so no post-archive guest access or continuation had been attempted. [Completed sibling response](assets/2026-10-10-boat/staging25-sibling-survived-complete.png), [settled controller proof](assets/2026-10-10-boat/evidence/staging25-sibling-settled-controller.json), [warm retention](assets/2026-10-10-boat/evidence/staging25-claude-warm-retained.json), [deadline transition](assets/2026-10-10-boat/evidence/staging25-claude-idle-deadline.json), [native owner retired](assets/2026-10-10-boat/evidence/staging25-claude-retired.json). The agent's response called this “staged 27”; verified deployment provenance remains deployment25.
+Claude sibling run `f4881989` **succeeded at 09:05:27.315**, completing the exact PID181157 foreground process for 600 seconds with its original proof hash. The cancelled Codex owner and successful Claude owner both retired through normal cleanup. The native Claude warm owner separately began retiring at its configured 09:01:43.598 deadline and was observed retired at 09:03:06.976. Boat subsequently began its normal archive; at 09:06:12 it remained pending, so no post-archive guest access or continuation had been attempted. [Completed sibling response](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging25-sibling-survived-complete.png), [settled controller proof](assets/2026-10-10-boat/evidence/staging25-sibling-settled-controller.json), [warm retention](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging25-claude-warm-retained.json), [deadline transition](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging25-claude-idle-deadline.json), [native owner retired](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging25-claude-retired.json). The agent's response called this “staged 27”; verified deployment provenance remains deployment25.
-Local48's saved-session follow-up ended failed after same-run recovery, with no separate successor. The original receipt mistook the primary 08:53:45.338 failure for final settlement; the corrected final timestamp is 08:55:27.617. [Complete lifecycle receipt](assets/2026-10-10-boat/evidence/local48-lifecycle.json), [failed task](assets/2026-10-10-boat/local48-post-idle-failed.png). An offline test reproduced a separate error-masking defect: an ESM import rejection sets an exit code but leaves the guarded process alive, turning a startup error into an initialize timeout. A narrow fatal-import settlement fix and closed diagnostic categories are being developed; this does not yet prove the underlying live import failure or justify weakening integrity checks.
+Local48's saved-session follow-up ended failed after same-run recovery, with no separate successor. The original receipt mistook the primary 08:53:45.338 failure for final settlement; the corrected final timestamp is 08:55:27.617. [Complete lifecycle receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/local48-lifecycle.json), [failed task](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/local48-post-idle-failed.png). An offline test reproduced a separate error-masking defect: an ESM import rejection sets an exit code but leaves the guarded process alive, turning a startup error into an initialize timeout. A narrow fatal-import settlement fix and closed diagnostic categories are being developed; this does not yet prove the underlying live import failure or justify weakening integrity checks.
-Core `72042f165c` / combined `e2e62a9d` fixes an independently reproduced concurrent Boat readiness race. Callers for the same scoped computer/provider/controller/credential identity share only the in-flight readiness request while retaining individual deadlines and owner fencing. Entries are evicted on settlement, and a delayed credential resolution cannot dispatch a request after all callers expire. Errors carry only closed operation/status metadata; no generic HTTP409 retry was added. Two deterministic regressions failed before the correction; 67 adapter and 52 ownership tests, server TypeScript, the module boundary gate and independent review passed. [Verification receipt](assets/2026-10-10-boat/evidence/readiness-coalescing-verification.json). The fix is prepared on staging branch `820d2631f9` but not deployed into the ongoing lifecycle test.
+Core `72042f165c` / combined `e2e62a9d` fixes an independently reproduced concurrent Boat readiness race. Callers for the same scoped computer/provider/controller/credential identity share only the in-flight readiness request while retaining individual deadlines and owner fencing. Entries are evicted on settlement, and a delayed credential resolution cannot dispatch a request after all callers expire. Errors carry only closed operation/status metadata; no generic HTTP409 retry was added. Two deterministic regressions failed before the correction; 67 adapter and 52 ownership tests, server TypeScript, the module boundary gate and independent review passed. [Verification receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/readiness-coalescing-verification.json). The fix is prepared on staging branch `820d2631f9` but not deployed into the ongoing lifecycle test.
## Fatal import correction and staging archive (2026-10-11 09:12 UTC)
-Core `1ab3cb94e0` / combined `4278c25e3a` makes fatal guarded ESM import errors close their owned process lifetime through the existing process-group reaper. Fixed diagnostic markers reuse existing failure categories, retaining specific errors ahead of a generic fallback. The regression reproduced a guardian-held process after import failure; the corrected real-process tests verify close and lifetime EOF. **100 tests passed, six existing platform skips**, with runner TypeScript/build and independent review passing. [Verification receipt](assets/2026-10-10-boat/evidence/guarded-import-verification.json). This fixes proven error masking; the original live startup cause remains unproven. Existing sessions retain their immutable package, so a fresh ordinary task must qualify the changed provider distribution.
+Core `1ab3cb94e0` / combined `4278c25e3a` makes fatal guarded ESM import errors close their owned process lifetime through the existing process-group reaper. Fixed diagnostic markers reuse existing failure categories, retaining specific errors ahead of a generic fallback. The regression reproduced a guardian-held process after import failure; the corrected real-process tests verify close and lifetime EOF. **100 tests passed, six existing platform skips**, with runner TypeScript/build and independent review passing. [Verification receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/guarded-import-verification.json). This fixes proven error masking; the original live startup cause remains unproven. Existing sessions retain their immutable package, so a fresh ordinary task must qualify the changed provider distribution.
-Staging Boat's natural archive completed at **09:07:15.943** and was independently observed archived/healthy at 09:08:14.797 with no guest reads. [Provider receipt](assets/2026-10-10-boat/evidence/staging25-natural-archive.json). Normal same-task continuation `200a0a90` began at 09:08:21.214, retained native session `b51c2928` and logical runner `87a56307`, and acquired a new physical owner `bf8f2984` on boot `0af282ac`. Attach and snapshots passed; its provider turn remained pending at the latest observation. Neither the staging image nor the pinned provider package was changed during this lifecycle.
+Staging Boat's natural archive completed at **09:07:15.943** and was independently observed archived/healthy at 09:08:14.797 with no guest reads. [Provider receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging25-natural-archive.json). Normal same-task continuation `200a0a90` began at 09:08:21.214, retained native session `b51c2928` and logical runner `87a56307`, and acquired a new physical owner `bf8f2984` on boot `0af282ac`. Attach and snapshots passed; its provider turn remained pending at the latest observation. Neither the staging image nor the pinned provider package was changed during this lifecycle.
## Staging post-idle failure and next qualification (2026-10-11 09:16 UTC)
-Staging25 run `200a0a90` first failed its `turn.start` after 30 seconds, then returned to running for automatic recovery within that same run. Its **final failure was 09:14:22.845**, classified `runner_state_identity_mismatch: authority_indeterminate`. Both leases subsequently released successfully and both owners retired. Saved native, provider and logical identities were retained; no provider task work completed. [Final failure and cleanup](assets/2026-10-10-boat/evidence/staging25-claude-post-idle-failed.json), [intermediate same-run recovery](assets/2026-10-10-boat/evidence/staging25-claude-same-run-recovery.json), [failed task](assets/2026-10-10-boat/staging25-native-claude-post-idle-failed.png). This supersedes earlier pending/intermediate status observations without erasing them. Local48 followed the same primary-timeout then authority-error pattern; its [lifecycle receipt](assets/2026-10-10-boat/evidence/local48-lifecycle.json) is corrected accordingly.
+Staging25 run `200a0a90` first failed its `turn.start` after 30 seconds, then returned to running for automatic recovery within that same run. Its **final failure was 09:14:22.845**, classified `runner_state_identity_mismatch: authority_indeterminate`. Both leases subsequently released successfully and both owners retired. Saved native, provider and logical identities were retained; no provider task work completed. [Final failure and cleanup](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging25-claude-post-idle-failed.json), [intermediate same-run recovery](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging25-claude-same-run-recovery.json), [failed task](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging25-native-claude-post-idle-failed.png). This supersedes earlier pending/intermediate status observations without erasing them. Local48 followed the same primary-timeout then authority-error pattern; its [lifecycle receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/local48-lifecycle.json) is corrected accordingly.
Deployment26 is preparing experimental staging candidate `d5bce13cca01732105df15487000a260ae3c973c`, request `14f4fbec-0bf7-4e7c-b287-f565d83c69a7`, through the official workflow after the previous run and lease cleanup settled. It includes the two reviewed corrections, but is not yet verified serving.
-Local49 health verified compatible source `97f9ace67e7e199c2712522ab84095a2ceafa4c2` and the new immutable provider pack `sha256:640c6c5405003f7d07603694413be14dc6c9601bc71f40b285f6cb247b5d412b`. The qualified Rust binary is unchanged. A normal new task, BOA23, began run `6fcda24f` at 09:14:32 to qualify cold, warm and post-idle behavior. The actual app listener confirms upload diagnostics enabled after saved settings load; no claim relies on inherited launcher environment. [Local readiness](assets/2026-10-10-boat/evidence/local49-ready.json). Original data, session authority, and all old packages remain preserved.
+Local49 health verified compatible source `97f9ace67e7e199c2712522ab84095a2ceafa4c2` and the new immutable provider pack `sha256:640c6c5405003f7d07603694413be14dc6c9601bc71f40b285f6cb247b5d412b`. The qualified Rust binary is unchanged. A normal new task, BOA23, began run `6fcda24f` at 09:14:32 to qualify cold, warm and post-idle behavior. The actual app listener confirms upload diagnostics enabled after saved settings load; no claim relies on inherited launcher environment. [Local readiness](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/local49-ready.json). Original data, session authority, and all old packages remain preserved.
## Embedded viewer retry (2026-10-11 09:26 UTC)
-After the previous native lifecycle had fully settled, normal Computer Connect rendered the shared Boat desktop in the task panel. Its clock advanced, but native dock clicks and keyboard attempts produced no visible remote application response; the frame-scoped key attempt timed out. This remains **inconclusive for embedded input**, not a pass or an established product defect. No second stream or guest probe was used. Normal Close Computer completed before 09:26:18 UTC. The native host-app fallback was unavailable because the computer-use tool explicitly disallows controlling the Codex app; no workaround was attempted. [Input receipt](assets/2026-10-10-boat/evidence/staging25-embedded-input.json), [visible embedded desktop](assets/2026-10-10-boat/staging25-embedded-input-inconclusive.png). A subsequent read-only provider check at 09:29:27.922 found Boat archived and healthy, with normal stop completed at 09:26:11.064. [Post-viewer provider state](assets/2026-10-10-boat/evidence/staging25-after-viewer-archive.json).
+After the previous native lifecycle had fully settled, normal Computer Connect rendered the shared Boat desktop in the task panel. Its clock advanced, but native dock clicks and keyboard attempts produced no visible remote application response; the frame-scoped key attempt timed out. This remains **inconclusive for embedded input**, not a pass or an established product defect. No second stream or guest probe was used. Normal Close Computer completed before 09:26:18 UTC. The native host-app fallback was unavailable because the computer-use tool explicitly disallows controlling the Codex app; no workaround was attempted. [Input receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging25-embedded-input.json), [visible embedded desktop](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging25-embedded-input-inconclusive.png). A subsequent read-only provider check at 09:29:27.922 found Boat archived and healthy, with normal stop completed at 09:26:11.064. [Post-viewer provider state](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging25-after-viewer-archive.json).
## Dependency read continuity correction (2026-10-11 09:34 UTC)
-Core 8e8999d681 / combined 17b0910b80 corrects an offline-reproduced dependency-loader rejection when ctime changes but the verified descriptor's contents and other metadata remain unchanged. A single bounded reread requires the same descriptor, identical complete bytes, unchanged device/inode/mode/owner/link-count/size/mtime, stable final metadata, and a final canonical-path/ancestry check. Existing Darwin expected digests are checked each pass; Linux retains its existing read-continuity authority, with no new per-module digest provenance claim. **123 focused tests passed, six existing platform skips**, with compile/build and independent review passing. Actual Linux ctime-only import changed from failure to success; a renamed descriptor still failed before execution. [Verification receipt](assets/2026-10-10-boat/evidence/loader-continuity-verification.json).
+Core 8e8999d681 / combined 17b0910b80 corrects an offline-reproduced dependency-loader rejection when ctime changes but the verified descriptor's contents and other metadata remain unchanged. A single bounded reread requires the same descriptor, identical complete bytes, unchanged device/inode/mode/owner/link-count/size/mtime, stable final metadata, and a final canonical-path/ancestry check. Existing Darwin expected digests are checked each pass; Linux retains its existing read-continuity authority, with no new per-module digest provenance claim. **123 focused tests passed, six existing platform skips**, with compile/build and independent review passing. Actual Linux ctime-only import changed from failure to success; a renamed descriptor still failed before execution. [Verification receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/loader-continuity-verification.json).
This proves the offline defect, not the cause of historical live initialization failures. Local49 remains frozen on its preceding immutable package for its current lifecycle. Staging cherry-pick 683696352d is prepared but not deployed; the ongoing deployment26 still targets d5bce13cca.
@@ -135,16 +137,16 @@ A normal Computer Connect in Chrome rendered one embedded stream. A native click
## Local49 warm pass and deployment26 admission (2026-10-11 09:45 UTC)
-Local49 cold run 6fcda24f succeeded at 09:39:01.367 after all 301 artifact chunks transferred without a recorded timeout/error. The 1166MiB provider package transfer was slow; this is a successful first-use transfer, not an acceptable-latency claim. Ordinary warm follow-up 6a07f42f succeeded at 09:41:00.398 with the same native session, logical runner, provider thread and physical owner/boot/launch identity. Both original file hashes matched. The configured warm deadline is 09:46:00.347; natural archive and post-idle continuation are still pending. [Lifecycle receipt](assets/2026-10-10-boat/evidence/local49-lifecycle.json), [cold result](assets/2026-10-10-boat/local49-claude-cold.png), [warm command result](assets/2026-10-10-boat/local49-claude-warm.png).
+Local49 cold run 6fcda24f succeeded at 09:39:01.367 after all 301 artifact chunks transferred without a recorded timeout/error. The 1166MiB provider package transfer was slow; this is a successful first-use transfer, not an acceptable-latency claim. Ordinary warm follow-up 6a07f42f succeeded at 09:41:00.398 with the same native session, logical runner, provider thread and physical owner/boot/launch identity. Both original file hashes matched. The configured warm deadline is 09:46:00.347; natural archive and post-idle continuation are still pending. [Lifecycle receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/local49-lifecycle.json), [cold result](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/local49-claude-cold.png), [warm command result](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/local49-claude-warm.png).
-Deployment26 verified d5bce13cca01732105df15487000a260ae3c973c serving at 09:41:21.624. A read-only provider check at 09:42:25.595 confirmed archived/healthy state and completed stop, without guest reads. Legacy Codex run 73bc6d17 and Claude run e3daa441 started 65ms apart at 09:43:05. Both acquired active leases and entered active ownership, with no admission error at 09:44:53.764. Actual task completion remains pending. [Deployment](assets/2026-10-10-boat/evidence/staging26-deployment.json), [archived baseline](assets/2026-10-10-boat/evidence/staging26-archived-baseline.json), [initial concurrent admission](assets/2026-10-10-boat/evidence/staging26-legacy-admission-initial.json), [both active leases](assets/2026-10-10-boat/evidence/staging26-legacy-admission-active.json).
+Deployment26 verified d5bce13cca01732105df15487000a260ae3c973c serving at 09:41:21.624. A read-only provider check at 09:42:25.595 confirmed archived/healthy state and completed stop, without guest reads. Legacy Codex run 73bc6d17 and Claude run e3daa441 started 65ms apart at 09:43:05. Both acquired active leases and entered active ownership, with no admission error at 09:44:53.764. Actual task completion remains pending. [Deployment](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging26-deployment.json), [archived baseline](assets/2026-10-10-boat/evidence/staging26-archived-baseline.json), [initial concurrent admission](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging26-legacy-admission-initial.json), [both active leases](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging26-legacy-admission-active.json).
## Concurrent archived admission passed (2026-10-11 09:48 UTC)
Both deployment26 legacy runs **succeeded**: Codex 73bc6d17 at 09:45:16.749 and Claude e3daa441 at 09:45:21.193. Each released its lease with successful cleanup and retired its owner; the scoped query found no replacement runs. Starting 65ms apart from completed archive no longer produced the observed HTTP409 admission failure. [Final run/lease receipt](assets/2026-10-10-boat/evidence/staging26-legacy-admission-final.json).
-Claude reported its unchanged original proof hash and personal home. Codex corrected helper argument/heredoc mistakes within its run and reached Done, but its final four fields were empty; its last activity was shown as interrupted before provider completion. Therefore this pair proves concurrent admission, successful run disposition and cleanup; it is **not** a fresh independent Codex proof-hash verification. Earlier successful proof reads remain source-specific evidence. [Claude result](assets/2026-10-10-boat/staging26-legacy-claude-result.png), [Codex reporting defect](assets/2026-10-10-boat/staging26-legacy-codex-result.png).
+Claude reported its unchanged original proof hash and personal home. Codex corrected helper argument/heredoc mistakes within its run and reached Done, but its final four fields were empty; its last activity was shown as interrupted before provider completion. Therefore this pair proves concurrent admission, successful run disposition and cleanup; it is **not** a fresh independent Codex proof-hash verification. Earlier successful proof reads remain source-specific evidence. [Claude result](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging26-legacy-claude-result.png), [Codex reporting defect](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging26-legacy-codex-result.png).
## Product outcomes
@@ -165,33 +167,33 @@ Historical product observations in this table are UTC on 2026-10-10; the retry t
| Restore failure cleanup | A provider snapshot restore timeout caused the expected probe failure; the Boat naturally archived and the controller retired its owner, leaving zero live owners/pending actions. No manual reset or retirement was used. | A handled failure, not a successful restore. Later onboarding used a separate clean fixture. |
| Database upgrade | Local 28 retained the existing computer and original migration receipt while applying upstream schema changes. Compatible staging schema/manifest checks passed and 73b2 deployed. | Deployment 12 subsequently verified 1830 serving; compatibility and deployment evidence are not product acceptance. |
-Receipts: [staging corrected legacy runs](assets/2026-10-10-boat/evidence/staging-11-legacy-regression.json), [local corrected legacy runs](assets/2026-10-10-boat/evidence/local-32-legacy-acceptance.json), [Claude lifecycle](assets/2026-10-10-boat/evidence/claude-cold-warm.json), [Codex second idle](assets/2026-10-10-boat/evidence/codex-second-idle.json), [local HMR](assets/2026-10-10-boat/evidence/vite-warm-hmr.json), [partial staging](assets/2026-10-10-boat/evidence/staging-73b2-acceptance.json), and [editor save](assets/2026-10-10-boat/evidence/local-30-persistent-save-proof.json).
+Receipts: [staging corrected legacy runs](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging-11-legacy-regression.json), [local corrected legacy runs](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/local-32-legacy-acceptance.json), [Claude lifecycle](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/claude-cold-warm.json), [Codex second idle](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/codex-second-idle.json), [local HMR](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/vite-warm-hmr.json), [partial staging](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging-73b2-acceptance.json), and [editor save](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/local-30-persistent-save-proof.json).
## Local49 final post-idle result (2026-10-11 09:53 UTC)
-Run `825e1f90` retained the original native session, logical runner, Claude thread and immutable pack640c after natural archive. Attach and snapshots passed, but `turn.start` rejected `agent_startup_unverified_module` at09:49:35.623. The corrected fatal-import settlement exposed a specific guarded dependency failure instead of another opaque initialize timeout. It does **not** identify the rejected module or prove that ctime drift caused this live rejection. Same-run recovery finally failed `runner_state_identity_mismatch: authority_indeterminate` at09:51:04.712. No active or queued runs or owners remained at09:52:03; Boat was archived and healthy, with normal stop completed at09:51:12.415. **Post-idle acceptance still fails on pack640c.** [Complete lifecycle receipt](assets/2026-10-10-boat/evidence/local49-lifecycle.json), [visible failed task](assets/2026-10-10-boat/local49-post-idle-failed.png).
+Run `825e1f90` retained the original native session, logical runner, Claude thread and immutable pack640c after natural archive. Attach and snapshots passed, but `turn.start` rejected `agent_startup_unverified_module` at09:49:35.623. The corrected fatal-import settlement exposed a specific guarded dependency failure instead of another opaque initialize timeout. It does **not** identify the rejected module or prove that ctime drift caused this live rejection. Same-run recovery finally failed `runner_state_identity_mismatch: authority_indeterminate` at09:51:04.712. No active or queued runs or owners remained at09:52:03; Boat was archived and healthy, with normal stop completed at09:51:12.415. **Post-idle acceptance still fails on pack640c.** [Complete lifecycle receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/local49-lifecycle.json), [visible failed task](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/local49-post-idle-failed.png).
The next ordinary task will select qualified immutable pack `sha256:f6fbd13c71cdaf93060a7c240cbce1c8dfce2aefe5669db27d254b3b95dfb0a0`, which adds core8e8999's bounded dependency read continuity correction. No previous package, saved task authority, quarantine or checkpoint is being rewritten.
## Reviewed viewer warning and staging27 candidate (2026-10-11 09:55 UTC)
-Combined `4809c1b724` surfaces a failed exact-owner disconnect after the Computer panel closes through the existing global warning toast. It survives panel unmount for the normal eight-second toast lifetime; a mounted panel displays the fixed safe message inline. Raw errors and credentials are excluded, and cleanup/retry behavior is unchanged. All52 affected UI tests, UI TypeScript, token gates and independent review passed. [Verification receipt](assets/2026-10-10-boat/evidence/computer-disconnect-warning.json).
+Combined `4809c1b724` surfaces a failed exact-owner disconnect after the Computer panel closes through the existing global warning toast. It survives panel unmount for the normal eight-second toast lifetime; a mounted panel displays the fixed safe message inline. Raw errors and credentials are excluded, and cleanup/retry behavior is unchanged. All52 affected UI tests, UI TypeScript, token gates and independent review passed. [Verification receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/computer-disconnect-warning.json).
After the concurrent staging26 tasks and leases fully settled, deployment27 was dispatched through the official pipeline for compatible candidate `2605a03f00bc3d7decc8b8d5549ee06f8d77ae85`. This includes the reviewed loader and viewer-warning fixes. It remains pending; no serving-source or product-acceptance pass is inferred from dispatch.
## Local50 complete Claude lifecycle passed (2026-10-11 10:24 UTC)
-Compatible controller `049c57f64c9addb1ae45132626cf800d1ea41a95` selected immutable package `f6fbd13c` containing the dependency-loader correction. BOA24 cold run `21e23a2f` succeeded at 10:06:25.864; ordinary warm run `9aa4ea91` succeeded at 10:08:10.009. Both retained native session `bae6a481`, logical runner `7767de9a`, Claude thread `ac814c6f`, physical owner `dd761593`, boot `d755a0d2`, nonce `e79a6423` and launch generation 1. All 301 binary/package chunks completed without recorded failure or timeout; the 1166MiB package transfer lasted 7m13. [Cold result](assets/2026-10-10-boat/local50-claude-cold.png), [actual warm command](assets/2026-10-10-boat/local50-claude-warm.png).
+Compatible controller `049c57f64c9addb1ae45132626cf800d1ea41a95` selected immutable package `f6fbd13c` containing the dependency-loader correction. BOA24 cold run `21e23a2f` succeeded at 10:06:25.864; ordinary warm run `9aa4ea91` succeeded at 10:08:10.009. Both retained native session `bae6a481`, logical runner `7767de9a`, Claude thread `ac814c6f`, physical owner `dd761593`, boot `d755a0d2`, nonce `e79a6423` and launch generation 1. All 301 binary/package chunks completed without recorded failure or timeout; the 1166MiB package transfer lasted 7m13. [Cold result](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/local50-claude-cold.png), [actual warm command](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/local50-claude-warm.png).
After the warm deadline at 10:13:09.954, the owner retired normally and Boat stop `stop_da8746d54bfc7b15` completed at 10:13:39.605. Archived/healthy state was observed before ordinary saved-task continuation `dcd1ac6e` began at 10:14:33.384. It **succeeded at 10:18:05.899 on its first attempt**, retaining the original native, logical and Claude identities and exact distribution. New owner `96d58d05`, boot `ba17c383` and nonce `84799f63` establish a new physical activation. Initialization, session resume and turn admission completed without automatic recovery or reset.
-The expanded actual command output contains both original file hashes in the correct agent home, new hostname `box-node-c6ef21f98f30e504` and UTC 10:17:47. Final cleanup also passed: no active owners or runs remained at 10:23:39, and normal archive stop `stop_e8ffb3d15650a16e` completed at 10:23:26.568. No guest probe or viewer prewarmed the archived package. [Full lifecycle receipt](assets/2026-10-10-boat/evidence/local50-lifecycle.json), [restored execution proof](assets/2026-10-10-boat/local50-claude-post-idle.png).
+The expanded actual command output contains both original file hashes in the correct agent home, new hostname `box-node-c6ef21f98f30e504` and UTC 10:17:47. Final cleanup also passed: no active owners or runs remained at 10:23:39, and normal archive stop `stop_e8ffb3d15650a16e` completed at 10:23:26.568. No guest probe or viewer prewarmed the archived package. [Full lifecycle receipt](assets/2026-10-10-boat/evidence/local50-lifecycle.json), [restored execution proof](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/local50-claude-post-idle.png).
This completes the corrected local package's cold → warm → natural archive → saved-session return condition. It does not erase the preceding `640c` failure or establish which exact historical module check rejected that attempt. Staging is qualified separately above.
## Latest retries
-These outcomes do not erase earlier source-specific passes. The [retry receipt](assets/2026-10-10-boat/evidence/retry-qualification-summary.json) preserves the failures and the narrower boundary checks.
+These outcomes do not erase earlier source-specific passes. The [retry receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/retry-qualification-summary.json) preserves the failures and the narrower boundary checks.
| Retry | Result and boundary |
| --- | --- |
@@ -217,32 +219,32 @@ Deployment 14 candidate `5cf388845902c88d0406116ed9b2c44f335d8bb2` was dispatche
Deployment 14 **5cf388845902c88d0406116ed9b2c44f335d8bb2** verified serving at 02:07:08.443. These later results supplement the historical failures above.
-- **Staging warm HMR passed.** React Fast Refresh fixture repair executed with Vite 5.4.21, React 18.3.1 and plugin 4.3.2, retaining polling and exact allowed-host protection. An initial browser reconnect lost the first baseline before the edit; after rebaselining, the heading changed while the unsaved input and page-session stayed intact. A complete second warm turn `9c13e199` repeated that result with unchanged runner 35567/start52230, Codex 35991/start52541, Vite 37325/start54717, session/thread, and proof hash. Its checkpoint settled with empty outbox and no pending terminal. [Browser baseline](assets/2026-10-10-boat/staging-14-hmr-rebaseline.png), [final heading](assets/2026-10-10-boat/staging-14-hmr-full-warm-after.png). Input remained `keep-this-unsaved-draft-boat-0213` and page-session remained `1791684735337` across the full second turn.
+- **Staging warm HMR passed.** React Fast Refresh fixture repair executed with Vite 5.4.21, React 18.3.1 and plugin 4.3.2, retaining polling and exact allowed-host protection. An initial browser reconnect lost the first baseline before the edit; after rebaselining, the heading changed while the unsaved input and page-session stayed intact. A complete second warm turn `9c13e199` repeated that result with unchanged runner 35567/start52230, Codex 35991/start52541, Vite 37325/start54717, session/thread, and proof hash. Its checkpoint settled with empty outbox and no pending terminal. [Browser baseline](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging-14-hmr-rebaseline.png), [final heading](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging-14-hmr-full-warm-after.png). Input remained `keep-this-unsaved-draft-boat-0213` and page-session remained `1791684735337` across the full second turn.
- **Local detach/reconnect retention passed.** Normal Disconnect reassigned both fixture agents, provider stop completed, and normal Reconnect reused the same environment/computer. The existing instruction marker was reread after reconnect. Original instructions were restored and reread after full reload; both agents were reassigned to their Boat. Experience still needs improvement: provider stop took about ten minutes, and subsequent file access was slow with a transient settling error.
- **Native Claude saved-session resume still failed.** `d529d365` rejected missing controller pack provenance before provider work. The reviewed fix persists the attachment template on cold rotation and recovers existing epochs from matching controller-owned commands; it does not bypass package, identity, or settlement checks. 28 cache and 5 transport tests plus both TypeScript checks passed; live validation awaits the next deployment.
- **Live sibling child cancellation remains unverified.** The legacy agent again returned early; exact child 72165 was absent at 02:21:48 before normal Stop around 02:21:50. Native runner/Codex/Vite identities survived the control cancellation, a narrower pass.
Deployment 15 (compatibility/reconnect fixes), `5575b36a8d826d0092466257a7b468af8e5330d5`, verified at 02:33:12.795. Deployment 16 is building reviewed saved-session fix `2e8859ab762e5b2ce97f2ea774e385fd333f9cee`.
-Native Codex computer use subsequently passed after navigation correction: the initial screenshot revealed an appended URL path; the corrected live desktop and [persisted screenshot artifact](assets/2026-10-10-boat/staging-15-corrected-artifact-visible.png) show `example.com` without an extra path. Actual desktop tools drove the browser after AT-SPI binding failed. Artifact registration rejected stale metadata until the agent supplied the final file hash/size. The corrected artifact remained accessible after deployment 15. Embedded human-input automation still targeted the outer container, so this is not a new embedded human-control pass.
+Native Codex computer use subsequently passed after navigation correction: the initial screenshot revealed an appended URL path; the corrected live desktop and [persisted screenshot artifact](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging-15-corrected-artifact-visible.png) show `example.com` without an extra path. Actual desktop tools drove the browser after AT-SPI binding failed. Artifact registration rejected stale metadata until the agent supplied the final file hash/size. The corrected artifact remained accessible after deployment 15. Embedded human-input automation still targeted the outer container, so this is not a new embedded human-control pass.
A later legacy Claude test had a confirmed sleeping child before Stop. That child disappeared, but the native sibling also retired before the after-sample. Native retirement began 123 seconds after its last checkpoint settlement, consistent with the ordinary 120-second warm timeout; deployment also overlapped. Neither Stop nor deployment is established as its cause. Isolation remains inconclusive pending a test with an actively running sibling.
On deployment 15, ordinary Codex continuation `5913803a` and legacy Claude `633e2852` failed with `setup_failed`: “Computer is connecting or settling a previous stop”. Boat independently remained `archiving` with stop `804de979` pending and snapshot `in_progress` at 02:41 UTC. The normal stop had begun at 02:34:21.063; neither test reached guest execution. These are admission failures during provider archival, not saved-session or sibling-cancellation results. No forced stop or lifecycle reset was used.
-Local 36 restart continuation `6f31e383` succeeded 02:40:41.830–02:43:37.252. The normal same-task follow-up retained normalized session `994ca5b6`, provider thread `01a1286b`, and logical runner identity on a new physical owner/boot. The [independent read](assets/2026-10-10-boat/evidence/local-36-restart-retained.json) and [completed task](assets/2026-10-10-boat/local-36-restart-retained.png) showed exactly one marker line with unchanged SHA-256 `12772b6873ec4e7ffa80c9d0f798f0bb0492aae88b6cb3669c55a812f9bb312c`. This is a successful orderly controller restart plus archived saved-session continuation, not active crash recovery.
+Local 36 restart continuation `6f31e383` succeeded 02:40:41.830–02:43:37.252. The normal same-task follow-up retained normalized session `994ca5b6`, provider thread `01a1286b`, and logical runner identity on a new physical owner/boot. The [independent read](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/local-36-restart-retained.json) and [completed task](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/local-36-restart-retained.png) showed exactly one marker line with unchanged SHA-256 `12772b6873ec4e7ffa80c9d0f798f0bb0492aae88b6cb3669c55a812f9bb312c`. This is a successful orderly controller restart plus archived saved-session continuation, not active crash recovery.
## Deployment 16 and provider snapshot failure (2026-10-11 02:59 UTC)
Deployment 16 **2e8859ab762e5b2ce97f2ea774e385fd333f9cee** verified serving at 02:59:15.776 through the official workflow. It carries the reviewed saved-package authority fix. Live saved-session verification remains blocked: at 02:56:29 Boat reported stop `804de979` as **failing**, refusing archive because no successful snapshot existed within 30 minutes. The latest snapshot attempt remained in progress. Provider `idle` is not a completed-stop receipt; no resume, forced stop, or bypass was issued.
-The separate pending-stop correction is committed as core `a4c864a062`, combined `04ce7eb2a8`, and staging `ca8ab88c78`. It is intended to reuse durable scheduled retries before provider work while preserving cancellation, task ownership, explicit message authorization, and saved-session identity. Later integration review found that the current implementation does not yet satisfy the cancellation and task-lock conditions. It passed 437 focused tests with no skips using isolated real PostgreSQL databases; the final wording change passed 84 affected tests, server TypeScript passed, and initial independent review found no remaining issue, before the later CI findings exposed missing integration coverage. [Verification receipt](assets/2026-10-10-boat/evidence/computer-admission-wait-tests.json). The native test-cluster bootstrap failed, so tests used unique disposable databases on the task-owned server; none remain and the product database was untouched. Explicit one-run Retry/Interrupt intents retain their previous manual-retry behavior. Deployment 17 was cancelled before rollout after fresh CI review found a Stop race; this correction is not part of deployment 16.
+The separate pending-stop correction is committed as core `a4c864a062`, combined `04ce7eb2a8`, and staging `ca8ab88c78`. It is intended to reuse durable scheduled retries before provider work while preserving cancellation, task ownership, explicit message authorization, and saved-session identity. Later integration review found that the current implementation does not yet satisfy the cancellation and task-lock conditions. It passed 437 focused tests with no skips using isolated real PostgreSQL databases; the final wording change passed 84 affected tests, server TypeScript passed, and initial independent review found no remaining issue, before the later CI findings exposed missing integration coverage. [Verification receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/computer-admission-wait-tests.json). The native test-cluster bootstrap failed, so tests used unique disposable databases on the task-owned server; none remain and the product database was untouched. Explicit one-run Retry/Interrupt intents retain their previous manual-retry behavior. Deployment 17 was cancelled before rollout after fresh CI review found a Stop race; this correction is not part of deployment 16.
The attempted local 37 UI check encountered a **failing** stop instead of a pending one: Boat reported that the final snapshot failed and kept the machine alive to protect unsaved data. Normal UI Stop cancelled read-only attempt `b380b52e` at 03:09:07.157, before any environment lease, computer owner, native runner, or provider work. This does not count as a live pending-wait or successful continuation pass. A 03:10:53 check found no owner, lease, provider dispatch, scheduled retry, or successor. That first sample was still preparing. A separate 03:13:38 DB-only check confirmed executor cleanup settled at 03:11:16.987, controller lease cleared, and still no successor or retry; no guest read or wake was used.
The follow-up correction, core `11ccf7b1a2` / combined `3bd413a9b3` / staging `bd86e22e72`, separates pre-provider ownership retention from cleanup-gated scheduling. Actual Stop persists suppression under scheduling locks and cancels only the exact retry chain. It passed 338 tests across four suites with no skips, server TypeScript and independent review. Tests now exercise real lifecycle and cancellation entry points, including queued messages and unrelated/reassigned work. Deployment18 is in progress; this is not yet a live pending-wait pass.
-Local37 then attempted an ordinary saved Claude continuation after provider recovery. Run `7b6baf95` retained the original normalized session, provider thread and logical runner, but failed at 03:28:55.832 with `runner_remote_provider_cache_corrupt`. Lease cleanup succeeded and the new owner retired without a process binding. No proof file was read; the browser showed [Run failed and Blocked](assets/2026-10-10-boat/local-37-claude-resume-failed.png). Cache diagnosis is in progress; no cache reset or mutation was used.
+Local37 then attempted an ordinary saved Claude continuation after provider recovery. Run `7b6baf95` retained the original normalized session, provider thread and logical runner, but failed at 03:28:55.832 with `runner_remote_provider_cache_corrupt`. Lease cleanup succeeded and the new owner retired without a process binding. No proof file was read; the browser showed [Run failed and Blocked](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/local-37-claude-resume-failed.png). Cache diagnosis is in progress; no cache reset or mutation was used.
## Local38 admission waiting and Pause work (2026-10-11 03:36 UTC)
@@ -262,11 +264,11 @@ A fresh PR review found a separate Stop race in the outer retry wrapper: delayed
## Local39 results and follow-up (2026-10-11 04:03 UTC)
-The post-pause continuation **passed**: `ed993c49` succeeded at 03:59:23.452. Its existing proof file remained exactly one line with the original SHA-256, both in the visible response and an independent read at 03:59:55. The queued new message resumed through normal recovery without manual database or gate changes. This historical false-hold repair intentionally used a fresh session; it is not a saved-native-session pass. [Visible proof](assets/2026-10-10-boat/local39-pause-resume-proof.png).
+The post-pause continuation **passed**: `ed993c49` succeeded at 03:59:23.452. Its existing proof file remained exactly one line with the original SHA-256, both in the visible response and an independent read at 03:59:55. The queued new message resumed through normal recovery without manual database or gate changes. This historical false-hold repair intentionally used a fresh session; it is not a saved-native-session pass. [Visible proof](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/local39-pause-resume-proof.png).
Claude `6c9d757f` retained its original normalized session, provider thread and logical runner, and passed the previously failing package verification. It then failed at 03:58:50.828 because ACPX rejected `session.open`. The same-run recovery subsequently reported `authority_indeterminate`. The independent read confirms both prior proof hashes, but Claude did not execute the requested check: **saved-session acceptance still failed**. The UI briefly showed “Run failed” before returning to Working for automatic recovery, a confusing transition preserved as a UX finding. Root-cause diagnosis is in progress; closed diagnostic categories are now committed as core `bb4536fb9a` / combined `8ccfdd3dd2`. Eight Rust tests and independent review passed. No checkpoint or cache reset was used.
-Normal Computer Connect rendered the shared desktop. In the direct browser viewer, mouse input opened Chrome and actual keyboard events entered `boat` in its address bar. [Direct desktop input](assets/2026-10-10-boat/local39-direct-desktop-input.png). The generic text-insertion attempt produced no visible result. Embedded input remains unverified because the automation tool rejected fractional iframe input coordinates before sending input. The extra direct stream was closed normally; the original viewer was temporarily retained for bounded read-only diagnosis, so this interval is not a runner-only idle test.
+Normal Computer Connect rendered the shared desktop. In the direct browser viewer, mouse input opened Chrome and actual keyboard events entered `boat` in its address bar. [Direct desktop input](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/local39-direct-desktop-input.png). The generic text-insertion attempt produced no visible result. Embedded input remains unverified because the automation tool rejected fractional iframe input coordinates before sending input. The extra direct stream was closed normally; the original viewer was temporarily retained for bounded read-only diagnosis, so this interval is not a runner-only idle test.
The second Stop-race correction, core `280bad9d15` / combined `87694c9c3f` / staging `0a0ccbaac1`, passed 138 tests, a final three-case affected rerun, server TypeScript and independent review. Both ordering regressions pause real Stop before acknowledgement while the real scheduler wrapper proceeds. Losing writes cannot release queued input, and wake release checks current Stop state under the same locks. A separate review now checks propagation of the new verification-unavailable error classification before the next staging deployment.
@@ -279,7 +281,7 @@ Recursive TypeScript and the full build passed on local39's runtime source `c4fd
| Earlier runtime CI, observed 2026-10-10 21:32:06 | Combined `2ef177271a`: 52 successful checks, fresh 5/5 review, zero unresolved threads. |
| Earlier core CI, same observation | Core `754a4e792e`: 52 successful checks, two policy skips, fresh 5/5 review, zero unresolved threads. |
| Diagnostic-only recovery reasons | d50268c932: 54 focused cases and server TypeScript passed. On 2026-10-11, combined d502 had 52 successful checks, fresh 5/5 review and zero unresolved threads at 00:58:18; core ee2 had 52 successes, 2 skips and fresh review at 00:52:12. These exact-head CI passes do not establish staging acceptance or a full local suite pass. |
-| Latest exact-head CI, 2026-10-11 02:42:44 | UI `ea1272d4d8`: 52 successes; core `44b1b52362`: 52 successes, 2 skips. Both exact-head reviews 5/5 with no unresolved threads. [Receipt](assets/2026-10-10-boat/evidence/ci-ea1272-44b1.json). |
+| Latest exact-head CI, 2026-10-11 02:42:44 | UI `ea1272d4d8`: 52 successes; core `44b1b52362`: 52 successes, 2 skips. Both exact-head reviews 5/5 with no unresolved threads. [Receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/ci-ea1272-44b1.json). |
| Latest fixes | Cleanup scope: 8 focused and 2 quarantine-fence tests passed. Retained ACPX package recovery: 26 cache/package and 7 manifest/bootstrap tests passed. Cancellation diagnostics: 7 focused tests passed. Server TypeScript and independent package-authority review passed. Latest-head CI is pending. |
| Scoped-disconnect checks | Proof 246c28c03a: 16 route + 44 module cases passed (60 total), and server TypeScript passed; production integrated into combined 2ef1772/core 754a4e. Runtime CI is recorded above; later documentation commits require separate checks. |
| Legacy correction | 57 execute cases and 6 config cases passed; both adapter TypeScript checks passed. Actual local 32 runs subsequently verified skill invocation and completion. |
@@ -287,13 +289,13 @@ Recursive TypeScript and the full build passed on local39's runtime source `c4fd
| Earlier broad checks | Local 29/b375f465 full build and recursive typecheck passed. Earlier native framing/cache/lifecycle checks retain their individual provenance. No combined final-head full local suite pass is claimed. |
| Frozen full local baseline | Source 2cbe65e9: all 21 projects and 158 serialized suites attempted; **34,914 passed, 24 failed, 338 skipped**. Original failure/skip provenance remains intact. |
-[Earlier runtime CI receipt](assets/2026-10-10-boat/evidence/current-head-ci-review.json) is a timestamped observation, not a guarantee of later status. [Full-suite limits](assets/2026-10-10-boat/evidence/full-suite-limits.json) preserve original failures and separately attributed retries: identified adapter-utils/migration/server cases passed focused retries; 8 native failures were addressed on later revisions. Three CLI worktree cases and the persona suite remained blocked by native PostgreSQL bootstrap/shared-memory exhaustion. The isolated Git streaming retry exceeded its unchanged 300-second timeout. No unrelated IPC or kernel settings were changed. Earlier local file-resource tests skipped 41 cases; later clean CI executed 44 successfully without retroactively converting the local run into a pass.
+[Earlier runtime CI receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/current-head-ci-review.json) is a timestamped observation, not a guarantee of later status. [Full-suite limits](assets/2026-10-10-boat/evidence/full-suite-limits.json) preserve original failures and separately attributed retries: identified adapter-utils/migration/server cases passed focused retries; 8 native failures were addressed on later revisions. Three CLI worktree cases and the persona suite remained blocked by native PostgreSQL bootstrap/shared-memory exhaustion. The isolated Git streaming retry exceeded its unchanged 300-second timeout. No unrelated IPC or kernel settings were changed. Earlier local file-resource tests skipped 41 cases; later clean CI executed 44 successfully without retroactively converting the local run into a pass.
## Resource state and remaining conditions
-The [historical inventory](assets/2026-10-10-boat/evidence/local-final-resource-inventory.json) records both local computer ledgers at 21:14:08 with zero live owners and no pending actions. Provider observations at 20:38 and 20:53 recorded both local fixtures, the builder, and staging archived with snapshots preserved and completed stops. These are point-in-time receipts; subsequent staging deployment/qualification may resume its fixture. They do not assert a final state after future work. After the staging11 legacy jobs, the provider naturally archived with snapshots preserved; stop `stop_23f9f3d30edcffdb` completed at 21:23:43.156 and read-only observation confirmed archived at 21:30:07.746. No manual stop was required. The later viewer-close archive is recorded in the retry table. This staging11 receipt is included with the [legacy regression evidence](assets/2026-10-10-boat/evidence/staging-11-legacy-regression.json).
+The [historical inventory](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/local-final-resource-inventory.json) records both local computer ledgers at 21:14:08 with zero live owners and no pending actions. Provider observations at 20:38 and 20:53 recorded both local fixtures, the builder, and staging archived with snapshots preserved and completed stops. These are point-in-time receipts; subsequent staging deployment/qualification may resume its fixture. They do not assert a final state after future work. After the staging11 legacy jobs, the provider naturally archived with snapshots preserved; stop `stop_23f9f3d30edcffdb` completed at 21:23:43.156 and read-only observation confirmed archived at 21:30:07.746. No manual stop was required. The later viewer-close archive is recorded in the retry table. This staging11 receipt is included with the [legacy regression evidence](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging-11-legacy-regression.json).
-Automated semantics already have meaningful coverage: the [latest 60-case route/module receipt](assets/2026-10-10-boat/evidence/latest-core-test-provenance.json) records a pass on proof246c28c03a with exact tested-file blob hashes. It also preserves the earlier 48-case Boat adapter pass on unchanged files. These checks do not replace the live journeys below.
+Automated semantics already have meaningful coverage: the [latest 60-case route/module receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/latest-core-test-provenance.json) records a pass on proof246c28c03a with exact tested-file blob hashes. It also preserves the earlier 48-case Boat adapter pass on unchanged files. These checks do not replace the live journeys below.
| Condition | Existing automated evidence | Scope limit |
| --- | --- | --- |
@@ -317,12 +319,12 @@ Known v1 limits: cold startup can be expensive; immutable pack reuse avoids repe
The [sanitized evidence index](assets/2026-10-10-boat/evidence/README.md) and provenance hashes link source-specific receipts. They exclude credentials, private URLs, raw environment/profile/log/DOM content, and private home paths.
-- [Staging keyboard control](assets/2026-10-10-boat/staging-73b2-human-keyboard.jpg) and [Claude post-idle proof](assets/2026-10-10-boat/staging-73b2-native-claude-post-idle.jpg).
-- [Local keyboard control](assets/2026-10-10-boat/local-31-human-keyboard.jpg).
-- [Local Vite baseline](assets/2026-10-10-boat/native-vite-final-before.jpg) and [hot-reloaded result](assets/2026-10-10-boat/native-vite-final-after.jpg).
-- [Corrected local Claude skill/completion](assets/2026-10-10-boat/local-32-legacy-claude-fixed.jpg) and [Codex remote instructions](assets/2026-10-10-boat/local-32-legacy-codex-fixed.jpg).
+- [Staging keyboard control](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging-73b2-human-keyboard.jpg) and [Claude post-idle proof](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging-73b2-native-claude-post-idle.jpg).
+- [Local keyboard control](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/local-31-human-keyboard.jpg).
+- [Local Vite baseline](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/native-vite-final-before.jpg) and [hot-reloaded result](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/native-vite-final-after.jpg).
+- [Corrected local Claude skill/completion](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/local-32-legacy-claude-fixed.jpg) and [Codex remote instructions](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/local-32-legacy-codex-fixed.jpg).
-- [Staging corrected Claude completion](assets/2026-10-10-boat/staging-11-legacy-claude-complete.jpg) and [Codex completion](assets/2026-10-10-boat/staging-11-legacy-codex-complete.jpg).
+- [Staging corrected Claude completion](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging-11-legacy-claude-complete.jpg) and [Codex completion](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging-11-legacy-codex-complete.jpg).
Deployment 19 of `05a1d1f2172261066ca53d3776f798c3073fc49f` was dispatched through the official workflow at 04:08 UTC (request `3b28f246-540b-478a-b9d7-207686ae850e`). Serving verification and live acceptance remain pending.
@@ -336,7 +338,7 @@ BOA-14 is preserved as a failed historical saved-session fixture. A separate BOA
The saved BOA14 retry failed before provider startup because its controller authority remained quarantined. The fixture was preserved. A separate new task, BOA17, also failed: `session.open` timed out before proof tools. Controller preparation, drain and suspension completed; the persisted error identifies the inner ACPX sidecar session-open deadline. This is a fresh-start failure, not proof of a transport or package-contract mismatch. Source comparison found the relevant sidecar, protocol and provider-startup contracts unchanged between the pinned pack and new runner. Diagnosis continues through normal Computer Connect and read-only inspection. Both failed runs released their leases successfully and retired their owners. Neither establishes a warm-follow-up pass.
-Receipts: [saved task](assets/2026-10-10-boat/evidence/local40-saved-claude-outcome.json), [fresh task](assets/2026-10-10-boat/evidence/local40-fresh-claude-outcome.json). Deployment19 remains pending; staging candidate `e21a7ca1ba` adds the reviewed legacy recovery race correction and is not yet deployed.
+Receipts: [saved task](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/local40-saved-claude-outcome.json), [fresh task](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/local40-fresh-claude-outcome.json). Deployment19 remains pending; staging candidate `e21a7ca1ba` adds the reviewed legacy recovery race correction and is not yet deployed.
Deployment 19 verified serving `05a1d1f2172261066ca53d3776f798c3073fc49f` at 04:34:10.638 UTC. A new staging Claude task will compare fresh startup against the official deployed pack; it cannot recover or validate either old quarantined fixture.
@@ -344,11 +346,11 @@ The startup-stage diagnostic patch (`28d3fc1b65` / combined `b698f54966`) preser
## Artifact-selection correction and staging19 results (2026-10-11 04:55 UTC)
-**Correction:** Local40 and local41 did not select the diagnostic artifacts requested by their launch scripts. `test-drive` clears inherited `PAPERCLIP_*` variables and loads the saved instance environment, which still selected the old runner and pack. BOA18's persisted attachment template proves that selection. The reported failures remain failures, but they do not qualify the new diagnostics. Only the two fixture artifact paths were corrected; the database and old sessions were preserved. Local42 restarted normally, and fresh BOA19 will verify the actual selected artifacts. [Selection evidence](assets/2026-10-10-boat/evidence/local-artifact-selection-correction.json).
+**Correction:** Local40 and local41 did not select the diagnostic artifacts requested by their launch scripts. `test-drive` clears inherited `PAPERCLIP_*` variables and loads the saved instance environment, which still selected the old runner and pack. BOA18's persisted attachment template proves that selection. The reported failures remain failures, but they do not qualify the new diagnostics. Only the two fixture artifact paths were corrected; the database and old sessions were preserved. Local42 restarted normally, and fresh BOA19 will verify the actual selected artifacts. [Selection evidence](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/local-artifact-selection-correction.json).
**Staging19 passed native Claude fresh and warm jobs, native Codex saved-task continuation, actual computer use, direct browser desktop input, and warm HMR.** Claude retained the recorded runner/session/owner identity, while its provider subprocesses restarted. Codex retained runner, provider, Vite, owner and saved-session identities. The heading changed to `Boat staging warm HMR confirmed 0450` while unsaved input `keep-this-unsaved-draft-boat-0449` and page-session `1791694134833` survived. Proof hashes remained unchanged. The desktop viewer closed normally after inspection. These results do not validate the older quarantined Claude fixture or legacy jobs on deployment19.
-Evidence: [consolidated receipts](assets/2026-10-10-boat/evidence/staging19-live-evidence.json), [Claude warm result](assets/2026-10-10-boat/staging-19-claude-warm-proof.png), [HMR before](assets/2026-10-10-boat/staging-19-hmr-before.png), [HMR after](assets/2026-10-10-boat/staging-19-hmr-after.png), [direct desktop input](assets/2026-10-10-boat/staging-19-direct-desktop-input.png).
+Evidence: [consolidated receipts](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging19-live-evidence.json), [Claude warm result](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging-19-claude-warm-proof.png), [HMR before](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging-19-hmr-before.png), [HMR after](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging-19-hmr-after.png), [direct desktop input](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging-19-direct-desktop-input.png).
## Latest build and deterministic fixture check (2026-10-11 05:08 UTC)
@@ -358,11 +360,11 @@ The full recursive typecheck and build passed on combined `0421a3b8c0`. Core `18
The corrected fixture passed both fresh and ordinary warm jobs. The running executable hash matched the intended diagnostic binary, and the selected pack digest matched its source receipt. Both turns read the original persistent proof hashes unchanged. The native session, logical runner, provider thread, process identity and computer owner remained stable across warm reuse. Cold completion took 12m02 including the first-use 1166 MiB upload; the warm follow-up took 1m21. This proves the corrected fixture works; it does not explain or erase earlier failures. No saved state, quarantine, or package authority was reset. The configured five-minute idle period is now being observed before a post-idle follow-up.
-[Receipt](assets/2026-10-10-boat/evidence/local42-claude-cold-warm-proof.json) · [Visible result](assets/2026-10-10-boat/local-42-claude-warm-proof.png).
+[Receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/local42-claude-cold-warm-proof.json) · [Visible result](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/local-42-claude-warm-proof.png).
## Local42 post-idle failure (2026-10-11 05:19 UTC)
-After the configured warm deadline at 05:13:05.578, the exact owner retired. Boat naturally archived; its stop completed at 05:13:32.291, verified by a read-only provider observation at 05:14:37. No guest probe kept it alive. An ordinary same-task message then resumed the same logical runner and saved session on a new physical boot. The runner connected, but ACPX rejected `session.open` with `retryable=false` and an unclassified reason before any provider events. Drain and suspension completed. This is a failed post-idle continuation, not an upload timeout or a persistence pass. A later recovery message about saving the previous session is secondary to the opening rejection. Diagnosis is ongoing; no session state was reset. [Receipt](assets/2026-10-10-boat/evidence/local42-claude-post-idle-failure.json).
+After the configured warm deadline at 05:13:05.578, the exact owner retired. Boat naturally archived; its stop completed at 05:13:32.291, verified by a read-only provider observation at 05:14:37. No guest probe kept it alive. An ordinary same-task message then resumed the same logical runner and saved session on a new physical boot. The runner connected, but ACPX rejected `session.open` with `retryable=false` and an unclassified reason before any provider events. Drain and suspension completed. This is a failed post-idle continuation, not an upload timeout or a persistence pass. A later recovery message about saving the previous session is secondary to the opening rejection. Diagnosis is ongoing; no session state was reset. [Receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/local42-claude-post-idle-failure.json).
## Current-environment selection correction (2026-10-11 05:24 UTC)
@@ -392,30 +394,30 @@ Local43 used the compatible controller checkout `f949f04482d7c583c50185706d41b62
A normal Computer Connect enabled a read-only verifier probe. The first read rejected the retained Claude runtime executable as changed during verification. A bounded follow-up reproduced a ctime-only change while reading an untouched restored copy: device, inode, size, mode, mtime, and the expected full content hash remained unchanged. Repeating the exact retained verifier then passed. No provider command was opened, no file was replaced, and no authority or quarantine was reset. The viewer closed normally at 05:51. A bounded re-verification fix is under test; this diagnosis is not a live fixed-runtime pass.
-Evidence: [staging20 receipt](assets/2026-10-10-boat/evidence/staging20-live-evidence.json), [legacy Claude](assets/2026-10-10-boat/staging-20-legacy-claude-proof.png), [guided legacy Codex](assets/2026-10-10-boat/staging-20-legacy-codex-proof.png), [native desktop](assets/2026-10-10-boat/staging-20-native-computer.png), [preview baseline before interrupted edit](assets/2026-10-10-boat/staging-20-hmr-before.png), [rollout interruption](assets/2026-10-10-boat/evidence/staging20-21-rollout-interruption.json).
+Evidence: [staging20 receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging20-live-evidence.json), [legacy Claude](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging-20-legacy-claude-proof.png), [guided legacy Codex](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging-20-legacy-codex-proof.png), [native desktop](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging-20-native-computer.png), [preview baseline before interrupted edit](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging-20-hmr-before.png), [rollout interruption](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging20-21-rollout-interruption.json).
## Restore verification fix and staging21 boundary (2026-10-11 06:04 UTC)
-Core `6c2a0a2bd86ef411bbc0e273b179d5bc4f1a3733` adds one bounded complete reread of the same no-follow executable descriptor after a ctime-only change. The first and second reads must both match the pinned digest. Device, inode, size, mode and mtime must remain unchanged, the second read must have stable metadata, and the later launch identity fence stays strict. Two new regressions failed before the change. The full integrity suite passed 77 cases with six existing platform skips; runtime/surfaces TypeScript and independent review passed. The fix is merged into combined `818f94594d` and compatible staging candidate `991baf77cf`. New immutable pack `sha256:d7275d9204e60a0a5dcb8dc536da95e945e6b90b7bdfda964d82084895ec5952` preserves old packs and is awaiting live qualification. [Read-only diagnosis and test receipt](assets/2026-10-10-boat/evidence/claude-restore-verification.json).
+Core `6c2a0a2bd86ef411bbc0e273b179d5bc4f1a3733` adds one bounded complete reread of the same no-follow executable descriptor after a ctime-only change. The first and second reads must both match the pinned digest. Device, inode, size, mode and mtime must remain unchanged, the second read must have stable metadata, and the later launch identity fence stays strict. Two new regressions failed before the change. The full integrity suite passed 77 cases with six existing platform skips; runtime/surfaces TypeScript and independent review passed. The fix is merged into combined `818f94594d` and compatible staging candidate `991baf77cf`. New immutable pack `sha256:d7275d9204e60a0a5dcb8dc536da95e945e6b90b7bdfda964d82084895ec5952` preserves old packs and is awaiting live qualification. [Read-only diagnosis and test receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/claude-restore-verification.json).
-Deployment21 verified `388a16905b5d1924ce88a1fe550d0f65ebbaf00e` at 05:54:57.175. It does not include the restore fix or latest environment Disconnect UI fix. The interrupted heading request persisted and run `d8aa39b4-b792-44c5-91d5-e88f7258e1e5` succeeded at 05:57:08 with a blocked task disposition because the required listener was absent; no source edit occurred. The next ordinary Vite-start request failed at bootstrap: run `47d76138-3533-4904-9285-0b3d873ea3bb` and automatic retry `ddce73cb-d592-4007-8b16-5c011945d681` reported `native_session_cleanup_quarantined`. A settled guest checkpoint and absent processes do not authorize clearing the controller cleanup fence. The cause is under investigation; no retry, session reset, or manual retirement was used. [Observed failure](assets/2026-10-10-boat/staging-21-native-quarantine.png) · [staging21 receipt](assets/2026-10-10-boat/evidence/staging21-live-evidence.json).
+Deployment21 verified `388a16905b5d1924ce88a1fe550d0f65ebbaf00e` at 05:54:57.175. It does not include the restore fix or latest environment Disconnect UI fix. The interrupted heading request persisted and run `d8aa39b4-b792-44c5-91d5-e88f7258e1e5` succeeded at 05:57:08 with a blocked task disposition because the required listener was absent; no source edit occurred. The next ordinary Vite-start request failed at bootstrap: run `47d76138-3533-4904-9285-0b3d873ea3bb` and automatic retry `ddce73cb-d592-4007-8b16-5c011945d681` reported `native_session_cleanup_quarantined`. A settled guest checkpoint and absent processes do not authorize clearing the controller cleanup fence. The cause is under investigation; no retry, session reset, or manual retirement was used. [Observed failure](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging-21-native-quarantine.png) · [staging21 receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging21-live-evidence.json).
## Controller cleanup evidence (2026-10-11 06:18 UTC)
-Read-only inspection through the normal authenticated staging console found all six commands for successful run `d8aa39b4` completed, with no pending warm transition. The database finalization was committed without a failure code. Its retained process binding was historical: the owner was retired, and lease cleanup completed at 05:58:36.264. The two subsequent bootstrap failures had no provider work or native session binding; their distinct owners also retired and lease cleanup completed. These records do not identify the initiating quarantine cause or authorize bypassing a checkpoint. The normal controlled deployment path can attempt recovery only through the existing persisted identity, process-retirement, and checkpoint fences. No session, owner, database record, or provider stop was reset. [Scoped diagnostic receipt](assets/2026-10-10-boat/evidence/staging21-controller-cleanup.json).
+Read-only inspection through the normal authenticated staging console found all six commands for successful run `d8aa39b4` completed, with no pending warm transition. The database finalization was committed without a failure code. Its retained process binding was historical: the owner was retired, and lease cleanup completed at 05:58:36.264. The two subsequent bootstrap failures had no provider work or native session binding; their distinct owners also retired and lease cleanup completed. These records do not identify the initiating quarantine cause or authorize bypassing a checkpoint. The normal controlled deployment path can attempt recovery only through the existing persisted identity, process-retirement, and checkpoint fences. No session, owner, database record, or provider stop was reset. [Scoped diagnostic receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging21-controller-cleanup.json).
## Local44 fixed-pack cold and warm results (2026-10-11 06:22 UTC)
-The corrected immutable Claude pack passed both turns on BOA20. Cold startup completed in 12m21, including the 1166 MiB first-use upload; the ordinary warm follow-up completed in 1m53. Both retained the same native session, logical runner, provider thread, physical launch identity and original proof hashes. The actual bound runner executable matched the qualified diagnostic binary. The task UI showed Done and the expanded warm command output contained both original hashes at 06:21:01 UTC. No guest reads follow that initial executable verification; the configured warm deadline is 06:26:16.327, and natural archive plus post-idle continuation are still pending. [Receipt](assets/2026-10-10-boat/evidence/local44-claude-cold-warm.json) · [Visible warm completion](assets/2026-10-10-boat/local-44-claude-warm-proof.png).
+The corrected immutable Claude pack passed both turns on BOA20. Cold startup completed in 12m21, including the 1166 MiB first-use upload; the ordinary warm follow-up completed in 1m53. Both retained the same native session, logical runner, provider thread, physical launch identity and original proof hashes. The actual bound runner executable matched the qualified diagnostic binary. The task UI showed Done and the expanded warm command output contained both original hashes at 06:21:01 UTC. No guest reads follow that initial executable verification; the configured warm deadline is 06:26:16.327, and natural archive plus post-idle continuation are still pending. [Receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/local44-claude-cold-warm.json) · [Visible warm completion](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/local-44-claude-warm-proof.png).
## Local44 post-idle failure and deployment22 (2026-10-11 06:34 UTC)
-The warm owner retired normally and Boat archived with stop completion at 06:26:38.799. The ordinary same-task continuation retained native session `840002e9`, logical runner `7305da06`, provider thread `27e34901`, and pack `d7275d92` on a new physical boot. Its primary attempt rejected ACPX session opening at the installation stage before any provider events. The stage's 1 ms value is an entry timestamp, not rejection duration. Same-run recovery ended `authority_indeterminate` at 06:31:07.817. **The corrected pack does not yet pass post-idle acceptance.** No guest read prewarmed the runtime before the failing attempt. The later normal Computer Connect enables read-only diagnosis after all runs settled; no files or saved authority were replaced. [Visible failure](assets/2026-10-10-boat/local-44-claude-post-idle-failure.png).
+The warm owner retired normally and Boat archived with stop completion at 06:26:38.799. The ordinary same-task continuation retained native session `840002e9`, logical runner `7305da06`, provider thread `27e34901`, and pack `d7275d92` on a new physical boot. Its primary attempt rejected ACPX session opening at the installation stage before any provider events. The stage's 1 ms value is an entry timestamp, not rejection duration. Same-run recovery ended `authority_indeterminate` at 06:31:07.817. **The corrected pack does not yet pass post-idle acceptance.** No guest read prewarmed the runtime before the failing attempt. The later normal Computer Connect enables read-only diagnosis after all runs settled; no files or saved authority were replaced. [Visible failure](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/local-44-claude-post-idle-failure.png).
Core `3812ccfebb` / combined `a7425b8d0c` adds fixed-enum retirement diagnostics to the existing persistent run log. It captures the actual retiring owner/generation and records whether close was never invoked, pending, completed, or failed. No retirement, settlement, grace-period, or retry decision changes. Independent review caught stale generation attribution before commit; its production-path regression now passes. All 67 selected executor cases, the eight-case affected rerun, and server TypeScript passed. Deployment22 of compatible staging source `92be5d8596fd457d624280e49dd18b122ca82ee7` is building through the official workflow, request `72d124e9-4eae-4883-930a-0449c41d55fa`. It is not yet serving or a recovery pass.
-The retained pack's exact read-only verifier then isolated the rejection to `inspectCommand`, the separate JavaScript entry-point checker, with `executable_changed`. It had not yet read the native executable. A repeat verified the same JavaScript digest and then passed the native executable's first-read ctime transition through the new bounded verifier. The first-before JavaScript stat was not captured; its post-read ctime matches the first verifier's timestamp. No provider command ran in either probe. The normal viewer closed at 06:35:53. A shared bounded verification implementation is under review; this diagnosis is not a successful saved-task recovery. [Failure and diagnosis receipt](assets/2026-10-10-boat/evidence/local44-post-idle-verifier-failure.json).
+The retained pack's exact read-only verifier then isolated the rejection to `inspectCommand`, the separate JavaScript entry-point checker, with `executable_changed`. It had not yet read the native executable. A repeat verified the same JavaScript digest and then passed the native executable's first-read ctime transition through the new bounded verifier. The first-before JavaScript stat was not captured; its post-read ctime matches the first verifier's timestamp. No provider command ran in either probe. The normal viewer closed at 06:35:53. A shared bounded verification implementation is under review; this diagnosis is not a successful saved-task recovery. [Failure and diagnosis receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/local44-post-idle-verifier-failure.json).
## Shared verifier and deployment22 serving (2026-10-11 06:56 UTC)
@@ -427,38 +429,38 @@ Deployment22 verified `92be5d8596fd457d624280e49dd18b122ca82ee7` at 06:55:24.595
After the normal controlled deployment, ordinary BOA2 continuation `2d067f32` retained the original normalized session, logical runner and provider thread. It read the unchanged proof and started the existing Vite project. The browser’s normal Computer Connect rendered the shared desktop; the normal generated preview link rendered the app. Computer navigation itself failed: the agent and live viewer both observed Chromium’s malformed omnibox text. This remains a failed navigation attempt, not a desktop-input pass. No saved authority or quarantine was reset.
-The heading-only follow-up `9cc22b3c` passed real warm HMR. The open preview changed from heading `0450` to `0702` while retaining unsaved input `staging22 unsaved draft 0702` and page-session `1791702073810`. Independent samples retained owner `f414c237`, boot `91790981`, runner PID30593/start33571, Codex30796/start33705, CUA driver30866/start33714 and Vite31815/start34936. The final checkpoint was settled, with an empty outbox and no pending terminal delivery; the original proof hash was unchanged. The viewer closed normally afterward. [Before](assets/2026-10-10-boat/staging22-hmr-before.png) · [After](assets/2026-10-10-boat/staging22-hmr-after.png).
+The heading-only follow-up `9cc22b3c` passed real warm HMR. The open preview changed from heading `0450` to `0702` while retaining unsaved input `staging22 unsaved draft 0702` and page-session `1791702073810`. Independent samples retained owner `f414c237`, boot `91790981`, runner PID30593/start33571, Codex30796/start33705, CUA driver30866/start33714 and Vite31815/start34936. The final checkpoint was settled, with an empty outbox and no pending terminal delivery; the original proof hash was unchanged. The viewer closed normally afterward. [Before](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging22-hmr-before.png) · [After](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging22-hmr-after.png).
-[Scoped source, lifecycle, input and HMR receipt](assets/2026-10-10-boat/evidence/staging22-live-evidence.json). Boat’s installed schema explicitly permits the lowercase hotkeys used by both attempts; the exact driver or focus cause remains unestablished.
+[Scoped source, lifecycle, input and HMR receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging22-live-evidence.json). Boat’s installed schema explicitly permits the lowercase hotkeys used by both attempts; the exact driver or focus cause remains unestablished.
These observations apply to deployed source `92be5d85`, not the still-building deployment23 candidate. The successful controlled-deployment continuation does not identify the initiating cause of deployment21’s historical quarantine.
## Local45 shared-verifier lifecycle (2026-10-11 07:07 UTC)
-Fresh BOA21 cold run `f32eda91` and ordinary warm run `dba6f9fd` completed successfully with both original proof hashes intact. They retained normalized session `f408ef63`, logical runner `35d2bd79`, Claude thread `41a0d5cd`, physical owner `fbc45caa`, and the same boot/launch identity. [Visible warm proof](assets/2026-10-10-boat/local45-claude-warm-proof.png).
+Fresh BOA21 cold run `f32eda91` and ordinary warm run `dba6f9fd` completed successfully with both original proof hashes intact. They retained normalized session `f408ef63`, logical runner `35d2bd79`, Claude thread `41a0d5cd`, physical owner `fbc45caa`, and the same boot/launch identity. [Visible warm proof](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/local45-claude-warm-proof.png).
After the configured warm deadline at 07:03:57.669, the owner retired normally and Boat archive stop `stop_629e46626e5468c5` completed at 07:04:20.880. A read-only provider observation confirmed archived state before the ordinary same-task post-idle message at 07:06:44. Run `ec0b5e2b` reused the retained package and original saved identities on a new owner/boot. Session attachment and both snapshots completed, passing the earlier installation-verification rejection. The subsequent `turn.start` acknowledgement timed out after 30.003 seconds; the four committed events were session-only, with no provider turn-start or output. Automatic quarantined-cleanup recovery then ended `authority_indeterminate` at 07:12:22. **Post-idle acceptance failed.** No guest probe prewarmed the restored package, and no session reset or package replacement was used. A later normal Computer Connect enabled scoped timestamp-only diagnosis after the failed attempt had settled and Boat had archived.
-The post-failure read-only diagnosis found ACPX turn preparation persisted at 07:09:59.511, but the last-request marker and Claude transcript still referred to the warm turn. This bounds the stall before the ready-for-prompt checkpoint; it does not distinguish process spawn, initialization, or session loading. Normal Computer Connect authorized that read after archive; Close Computer completed at approximately 07:17:42. No provider command was executed in diagnosis. [Lifecycle and scoped diagnosis receipt](assets/2026-10-10-boat/evidence/local45-claude-lifecycle.json) · [Visible failed continuation](assets/2026-10-10-boat/local45-claude-post-idle-failure.png).
+The post-failure read-only diagnosis found ACPX turn preparation persisted at 07:09:59.511, but the last-request marker and Claude transcript still referred to the warm turn. This bounds the stall before the ready-for-prompt checkpoint; it does not distinguish process spawn, initialization, or session loading. Normal Computer Connect authorized that read after archive; Close Computer completed at approximately 07:17:42. No provider command was executed in diagnosis. [Lifecycle and scoped diagnosis receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/local45-claude-lifecycle.json) · [Visible failed continuation](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/local45-claude-post-idle-failure.png).
## Deployment23 live qualification (2026-10-11 07:47 UTC)
-[Scoped live receipt](assets/2026-10-10-boat/evidence/staging23-live-evidence.json).
+[Scoped live receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/staging23-live-evidence.json).
-On verified staging source `a5ed24f7ee`, native Codex saved continuation `88eba408` and warm follow-up `fa59de83` completed. The Vite heading changed to “Boat staging warm HMR confirmed 0733” without reloading; the unsaved input `staging23 unsaved draft 0732` and page-session `1791703891136` remained unchanged. Independent observations retained the same owner, runner PID49056/start66535, Codex PID49248/start66642 and Vite PID50085/start67465. [Before](assets/2026-10-10-boat/staging23-hmr-before.png) · [After](assets/2026-10-10-boat/staging23-hmr-after.png).
+On verified staging source `a5ed24f7ee`, native Codex saved continuation `88eba408` and warm follow-up `fa59de83` completed. The Vite heading changed to “Boat staging warm HMR confirmed 0733” without reloading; the unsaved input `staging23 unsaved draft 0732` and page-session `1791703891136` remained unchanged. Independent observations retained the same owner, runner PID49056/start66535, Codex PID49248/start66642 and Vite PID50085/start67465. [Before](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging23-hmr-before.png) · [After](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging23-hmr-after.png).
-Legacy Claude BOA5 and legacy Codex BOA4 both visibly reached Done and reported the original persistent proof hashes from the correct homes on the restored machine. Codex initially used incorrect helper arguments and then corrected them within the run; that imperfection is retained. [Claude result](assets/2026-10-10-boat/staging23-legacy-claude.png) · [Codex result](assets/2026-10-10-boat/staging23-legacy-codex.png).
+Legacy Claude BOA5 and legacy Codex BOA4 both visibly reached Done and reported the original persistent proof hashes from the correct homes on the restored machine. Codex initially used incorrect helper arguments and then corrected them within the run; that imperfection is retained. [Claude result](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging23-legacy-claude.png) · [Codex result](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging23-legacy-codex.png).
-Native Claude cold run `05bf7b34` succeeded at 07:35:05.235 after first-use artifact preparation. Its ordinary follow-up `134a15f6` failed at 07:37:15.868; automatic recovery `37b729e3` failed at 07:37:53.162. Both failures were `native_session_cleanup_quarantined` before provider work. A scoped, read-only controller query found retirement diagnostics on the cold run with phase `session_close` and `closeState: not_started` for each preparing run. All three owners were retired. The retained guest checkpoint remained ready/session-open with five completed commands; controller commands6/7 were pending, with their types not exposed by the first diagnostic allowlist. This narrows the failure but does not yet prove its cause. No quarantine, checkpoint or session was reset. [Cold result](assets/2026-10-10-boat/staging23-native-claude-cold.png) · [Failed follow-up](assets/2026-10-10-boat/staging23-native-claude-followup-failed.png).
+Native Claude cold run `05bf7b34` succeeded at 07:35:05.235 after first-use artifact preparation. Its ordinary follow-up `134a15f6` failed at 07:37:15.868; automatic recovery `37b729e3` failed at 07:37:53.162. Both failures were `native_session_cleanup_quarantined` before provider work. A scoped, read-only controller query found retirement diagnostics on the cold run with phase `session_close` and `closeState: not_started` for each preparing run. All three owners were retired. The retained guest checkpoint remained ready/session-open with five completed commands; controller commands6/7 were pending, with their types not exposed by the first diagnostic allowlist. This narrows the failure but does not yet prove its cause. No quarantine, checkpoint or session was reset. [Cold result](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging23-native-claude-cold.png) · [Failed follow-up](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging23-native-claude-followup-failed.png).
-Normal Computer Connect rendered the desktop. In a direct browser viewer, mouse clicks visibly navigated Chrome from its New Tab shortcut to Example Domain: [mouse-control proof](assets/2026-10-10-boat/staging23-direct-desktop-mouse.png). Current keyboard input and embedded input remain unverified. Native Codex's advertised desktop-target `type_text` and `click` requests returned `invalid_action_target`; a later window-target click produced no observed navigation. The desktop processes were still alive in a later scoped observation. This is not a successful current-source agent computer-use result, and it does not establish that all vendor input is broken. The extra direct viewer was closed normally.
+Normal Computer Connect rendered the desktop. In a direct browser viewer, mouse clicks visibly navigated Chrome from its New Tab shortcut to Example Domain: [mouse-control proof](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging23-direct-desktop-mouse.png). Current keyboard input and embedded input remain unverified. Native Codex's advertised desktop-target `type_text` and `click` requests returned `invalid_action_target`; a later window-target click produced no observed navigation. The desktop processes were still alive in a later scoped observation. This is not a successful current-source agent computer-use result, and it does not establish that all vendor input is broken. The extra direct viewer was closed normally.
## Local46 first-use upload failure (2026-10-11 07:47 UTC)
-[Upload and controller receipt](assets/2026-10-10-boat/evidence/local46-upload-failure.json).
+[Upload and controller receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/local46-upload-failure.json).
-Fresh BOA22 run `56196b7d` selected the new qualified diagnostics pack and binary, then failed at 07:43:55.690 after 10m37s. Progress stopped at 96/1166MiB. The concrete error was `runner_remote_directory_staging_failed` with `timedOut=true` and “Computer command timed out waiting for SSH admission”; the UI classified the run as `native_session_interrupted`. There were zero runner connections and zero committed provider events, so the new turn-start diagnostics never ran. Normal cleanup preceded Boat stop completion at 07:43:58.300; this is not evidence of premature provider archival. [Visible failure](assets/2026-10-10-boat/local46-upload-failure.png).
+Fresh BOA22 run `56196b7d` selected the new qualified diagnostics pack and binary, then failed at 07:43:55.690 after 10m37s. Progress stopped at 96/1166MiB. The concrete error was `runner_remote_directory_staging_failed` with `timedOut=true` and “Computer command timed out waiting for SSH admission”; the UI classified the run as `native_session_interrupted`. There were zero runner connections and zero committed provider events, so the new turn-start diagnostics never ran. Normal cleanup preceded Boat stop completion at 07:43:58.300; this is not evidence of premature provider archival. [Visible failure](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/local46-upload-failure.png).
Source inspection found eight concurrent artifact chunks competing for four bulk SSH admission slots, with queue wait consuming the same 180-second command deadline. A narrow concurrency correction is being tested; no deadline, warm timeout or integrity requirement has been relaxed. This failure remains separate from local45's post-idle provider startup failure.
@@ -471,18 +473,18 @@ The expanded staging controller read at approximately 07:52 UTC found the cold C
## Deployment23 native computer retry passed (2026-10-11 07:54 UTC)
-Normal same-task continuation `c829fe63` resumed saved Codex identities after Boat's completed archive. It obtained fresh Chrome window geometry and used sequential foreground window-targeted `click`, `hotkey` (Ctrl+A), `type_text` (`https://example.org/`) and `press_key` (Enter), with a fresh window-state screenshot after each operation. No operation returned a captured error. After completion, normal Computer Connect independently displayed the page at **example.org**, visibly distinct from the earlier human example.com navigation. No human desktop input intervened: [live Computer panel proof](assets/2026-10-10-boat/staging23-native-computer-example-org.png). The verification viewer was then closed normally.
+Normal same-task continuation `c829fe63` resumed saved Codex identities after Boat's completed archive. It obtained fresh Chrome window geometry and used sequential foreground window-targeted `click`, `hotkey` (Ctrl+A), `type_text` (`https://example.org/`) and `press_key` (Enter), with a fresh window-state screenshot after each operation. No operation returned a captured error. After completion, normal Computer Connect independently displayed the page at **example.org**, visibly distinct from the earlier human example.com navigation. No human desktop input intervened: [live Computer panel proof](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/staging23-native-computer-example-org.png). The verification viewer was then closed normally.
This passes the installed agent computer tools' window-input path on staging source `a5ed24f7ee`. It does not erase the earlier advertised desktop-target rejection or establish current embedded human keyboard input. Saved normalized session `06496696`, logical runner `0005a613`, provider thread `01a12881` and proof hash were retained on a new boot/owner with runnerPID30560/start35548 and CodexPID30762/start35742.
## Upload scheduling and warm-owner cleanup corrections (2026-10-11 08:18 UTC)
-[Correction and test receipt](assets/2026-10-10-boat/evidence/upload-warm-owner-corrections.json).
+[Correction and test receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/upload-warm-owner-corrections.json).
Core `8198c9a571` adds transport-owned, per-machine upload slots matching Boat's four bulk SSH slots. Two concurrent 24MiB transfers failed the deterministic regression before the fix and completed byte-identically afterward, preserving control-command capacity. Existing command deadlines, owner checks, cancellation and content validation remain unchanged. This addresses self-queueing under eight global artifact workers; it does not prove that slow active transfers complete reliably.
Core `d14578ad13` corrects a separate orphan-sweep race: native completion can retain a valid warm computer owner before the heartbeat becomes terminal, while the environment lease remains active during instruction cleanup. The generic sweep could then claim the old lease and retire the retained owner. The correction locks and validates the exact durable binding and retains the existing warm deadline plus existing shutdown grace. Expired or mismatched authority still cleans up. Two regressions failed before the change; all 33 focused cases pass afterward. Independent review also caught that process launch generation and owner generation are independent counters; a launch2/owner1 case now passes. The staging23 controller audit proves the sweep participated in the historical failure, but does not establish its initiating physical retirement time.
-Local47's ordinary same-task retry `6bc40f44` began 08:04:17.255 and failed 08:11:43.478 with “Computer upload timed out waiting for capacity.” Runner artifact preparation lasted 343,560ms; no provider-pack progress, runner connection or provider event was observed. Active transfers retained the available upload slots, but existing logs cannot distinguish SSH transfer, remote owner setup, or process-close cleanup. A 157-second SSH process observation does not itself prove a deadline overrun. Narrow per-chunk phase diagnostics are being added before another attempt. No further deadline or admission-policy change is justified by this result. [Failure receipt](assets/2026-10-10-boat/evidence/local47-upload-failure.json) · [Visible failed task](assets/2026-10-10-boat/local47-upload-capacity-failure.png).
+Local47's ordinary same-task retry `6bc40f44` began 08:04:17.255 and failed 08:11:43.478 with “Computer upload timed out waiting for capacity.” Runner artifact preparation lasted 343,560ms; no provider-pack progress, runner connection or provider event was observed. Active transfers retained the available upload slots, but existing logs cannot distinguish SSH transfer, remote owner setup, or process-close cleanup. A 157-second SSH process observation does not itself prove a deadline overrun. Narrow per-chunk phase diagnostics are being added before another attempt. No further deadline or admission-policy change is justified by this result. [Failure receipt](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/evidence/local47-upload-failure.json) · [Visible failed task](https://github.com/paperclipai/paperclip/blob/5909bfac9fa41405beb3fe8a65253dc28ba52835/doc/plans/assets/2026-10-10-boat/local47-upload-capacity-failure.png).
Deployment24 was stopped before rollout when CI detected an internal-module import violation. The two-line public export/import correction `086a9dbbd8` passed the module gate, 33 affected tests and server TypeScript. Deployment25 targets the corrected staging source; rollout and live lifecycle acceptance are still pending. Previous quarantines, saved sessions, immutable artifacts and migration histories remain intact.
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/ci-086a9-2a5eca-passed.json b/doc/plans/assets/2026-10-10-boat/evidence/ci-086a9-2a5eca-passed.json
deleted file mode 100644
index e6087de592c..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/ci-086a9-2a5eca-passed.json
+++ /dev/null
@@ -1,100 +0,0 @@
-{
- "checkedAt": "2026-10-11T08:22:16.280034+00:00",
- "prs": [
- {
- "pr": 15813,
- "head": "086a9dbbd870b631f8b5d70c04acceededb943e3",
- "reviewHead": "086a9dbbd870b631f8b5d70c04acceededb943e3",
- "mergeable": "MERGEABLE",
- "counts": {
- "SKIPPED": 4,
- "SUCCESS": 54
- },
- "failures": [],
- "focusChecks": [
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T08:15:50Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38123798644/job/114424228447",
- "name": "ci / e2e shard (8/8)",
- "startedAt": "2026-10-11T08:12:04Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T08:18:16Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://app.greptile.com/paperclip-org-3/github/paperclipai/paperclip/-/pull/15813",
- "name": "Greptile Review",
- "startedAt": "2026-10-11T08:09:14Z",
- "status": "COMPLETED",
- "workflowName": ""
- }
- ],
- "pending": [],
- "unresolved": [],
- "moreThreads": false,
- "greptileSummary": [
- {
- "url": "https://github.com/paperclipai/paperclip/pull/15813#issuecomment-6099291617",
- "updatedAt": "2026-10-11T08:18:22Z",
- "reviewedCommits": [
- "086a9dbbd870b631f8b5d70c04acceededb943e3"
- ],
- "score": [
- "5"
- ]
- }
- ]
- },
- {
- "pr": 15804,
- "head": "2a5eca4220bb9050a024d833480287b8296ce2b3",
- "reviewHead": "2a5eca4220bb9050a024d833480287b8296ce2b3",
- "mergeable": "MERGEABLE",
- "counts": {
- "SUCCESS": 53
- },
- "failures": [],
- "focusChecks": [
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T08:16:03Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38123799771/job/114424220747",
- "name": "ci / e2e shard (8/8)",
- "startedAt": "2026-10-11T08:11:55Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T08:19:04Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://app.greptile.com/paperclip-org-3/github/paperclipai/paperclip/-/pull/15804",
- "name": "Greptile Review",
- "startedAt": "2026-10-11T08:09:13Z",
- "status": "COMPLETED",
- "workflowName": ""
- }
- ],
- "pending": [],
- "unresolved": [],
- "moreThreads": false,
- "greptileSummary": [
- {
- "url": "https://github.com/paperclipai/paperclip/pull/15804#issuecomment-6098591173",
- "updatedAt": "2026-10-11T08:19:10Z",
- "reviewedCommits": [
- "2a5eca4220bb9050a024d833480287b8296ce2b3"
- ],
- "score": [
- "5"
- ]
- }
- ]
- }
- ]
-}
\ No newline at end of file
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/ci-1ab3cb-35de9-passed.json b/doc/plans/assets/2026-10-10-boat/evidence/ci-1ab3cb-35de9-passed.json
deleted file mode 100644
index ac1921db770..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/ci-1ab3cb-35de9-passed.json
+++ /dev/null
@@ -1,100 +0,0 @@
-{
- "checkedAt": "2026-10-11T09:27:01.291079+00:00",
- "prs": [
- {
- "pr": 15813,
- "head": "1ab3cb94e036f5de43e4bad9fd4d345054e8763c",
- "reviewHead": "1ab3cb94e036f5de43e4bad9fd4d345054e8763c",
- "mergeable": "MERGEABLE",
- "counts": {
- "SKIPPED": 4,
- "SUCCESS": 54
- },
- "failures": [],
- "focusChecks": [
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T09:15:28Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38127380854/job/114434637234",
- "name": "ci / e2e shard (8/8)",
- "startedAt": "2026-10-11T09:11:17Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T09:15:23Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://app.greptile.com/paperclip-org-3/github/paperclipai/paperclip/-/pull/15813",
- "name": "Greptile Review",
- "startedAt": "2026-10-11T09:09:52Z",
- "status": "COMPLETED",
- "workflowName": ""
- }
- ],
- "pending": [],
- "unresolved": [],
- "moreThreads": false,
- "greptileSummary": [
- {
- "url": "https://github.com/paperclipai/paperclip/pull/15813#issuecomment-6099291617",
- "updatedAt": "2026-10-11T09:15:30Z",
- "reviewedCommits": [
- "1ab3cb94e036f5de43e4bad9fd4d345054e8763c"
- ],
- "score": [
- "5"
- ]
- }
- ]
- },
- {
- "pr": 15804,
- "head": "35de9f0bae29ad870004a2adfd2ed84225476edc",
- "reviewHead": "35de9f0bae29ad870004a2adfd2ed84225476edc",
- "mergeable": "MERGEABLE",
- "counts": {
- "SUCCESS": 53
- },
- "failures": [],
- "focusChecks": [
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T09:20:25Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38127566722/job/114435437183",
- "name": "ci / e2e shard (8/8)",
- "startedAt": "2026-10-11T09:15:50Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T09:19:25Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://app.greptile.com/paperclip-org-3/github/paperclipai/paperclip/-/pull/15804",
- "name": "Greptile Review",
- "startedAt": "2026-10-11T09:12:59Z",
- "status": "COMPLETED",
- "workflowName": ""
- }
- ],
- "pending": [],
- "unresolved": [],
- "moreThreads": false,
- "greptileSummary": [
- {
- "url": "https://github.com/paperclipai/paperclip/pull/15804#issuecomment-6098591173",
- "updatedAt": "2026-10-11T09:19:31Z",
- "reviewedCommits": [
- "35de9f0bae29ad870004a2adfd2ed84225476edc"
- ],
- "score": [
- "5"
- ]
- }
- ]
- }
- ]
-}
\ No newline at end of file
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/ci-86c1-ce639-original-failures.json b/doc/plans/assets/2026-10-10-boat/evidence/ci-86c1-ce639-original-failures.json
deleted file mode 100644
index b2c1261bd19..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/ci-86c1-ce639-original-failures.json
+++ /dev/null
@@ -1,190 +0,0 @@
-{
- "checkedAt": "2026-10-11T07:31:28.015327+00:00",
- "prs": [
- {
- "pr": 15813,
- "head": "86c1aa2b0c53b1b41888cea6b8e04e42e28dd05c",
- "reviewHead": "86c1aa2b0c53b1b41888cea6b8e04e42e28dd05c",
- "mergeable": "MERGEABLE",
- "counts": {
- "SKIPPED": 4,
- "SUCCESS": 10,
- "IN_PROGRESS": 42
- },
- "failures": [],
- "focusChecks": [
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T07:31:22Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38121391645/job/114416694019",
- "name": "ci / e2e shard (8/8)",
- "startedAt": "2026-10-11T07:27:22Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "0001-01-01T00:00:00Z",
- "conclusion": "",
- "detailsUrl": "https://app.greptile.com/paperclip-org-3/github/paperclipai/paperclip/-/pull/15813",
- "name": "Greptile Review",
- "startedAt": "2026-10-11T07:26:52Z",
- "status": "IN_PROGRESS",
- "workflowName": ""
- }
- ],
- "pending": [
- "ci / Typecheck + Release Registry",
- "ci / General tests (server (1/12))",
- "ci / General tests (server (2/12))",
- "ci / General tests (server (3/12))",
- "ci / General tests (server (4/12))",
- "ci / General tests (server (5/12))",
- "ci / General tests (server (6/12))",
- "ci / General tests (server (7/12))",
- "ci / General tests (server (8/12))",
- "ci / General tests (server (9/12))",
- "ci / General tests (server (10/12))",
- "ci / General tests (server (11/12))",
- "ci / General tests (server (12/12))",
- "ci / General tests (chat (1/3))",
- "ci / General tests (chat (2/3))",
- "ci / General tests (chat (3/3))",
- "ci / General tests (workspaces-a (1/2))",
- "ci / General tests (workspaces-a (2/2))",
- "ci / General tests (workspaces-b)",
- "ci / General tests (workspaces-c)",
- "ci / Verify Paperclip Runner (static checks)",
- "ci / Verify Paperclip Runner (rust)",
- "ci / Verify Paperclip Runner (vitest 1/2)",
- "ci / Verify Paperclip Runner (vitest 2/2)",
- "ci / Build",
- "ci / Verify serialized server suites (1/9)",
- "ci / Verify serialized server suites (2/9)",
- "ci / Verify serialized server suites (3/9)",
- "ci / Verify serialized server suites (4/9)",
- "ci / Verify serialized server suites (5/9)",
- "ci / Verify serialized server suites (6/9)",
- "ci / Verify serialized server suites (7/9)",
- "ci / Verify serialized server suites (8/9)",
- "ci / Verify serialized server suites (9/9)",
- "ci / Canary Dry Run",
- "ci / e2e shard (2/8)",
- "ci / e2e shard (3/8)",
- "ci / e2e shard (4/8)",
- "ci / e2e shard (5/8)",
- "ci / e2e shard (6/8)",
- "ci / e2e shard (7/8)",
- "Greptile Review"
- ],
- "unresolved": [],
- "moreThreads": false,
- "greptileSummary": [
- {
- "url": "https://github.com/paperclipai/paperclip/pull/15813#issuecomment-6099291617",
- "updatedAt": "2026-10-11T06:55:49Z",
- "reviewedCommits": [
- "b1030f6233fbea7c7a4669d567fc101ec0a85996"
- ],
- "score": [
- "5"
- ]
- }
- ]
- },
- {
- "pr": 15804,
- "head": "ce639505e10211495b4a4ad10c50604f9352cba5",
- "reviewHead": "ce639505e10211495b4a4ad10c50604f9352cba5",
- "mergeable": "MERGEABLE",
- "counts": {
- "SUCCESS": 7,
- "IN_PROGRESS": 44
- },
- "failures": [],
- "focusChecks": [
- {
- "__typename": "CheckRun",
- "completedAt": "0001-01-01T00:00:00Z",
- "conclusion": "",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38121393558/job/114416826190",
- "name": "ci / e2e shard (8/8)",
- "startedAt": "2026-10-11T07:28:13Z",
- "status": "IN_PROGRESS",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "0001-01-01T00:00:00Z",
- "conclusion": "",
- "detailsUrl": "https://app.greptile.com/paperclip-org-3/github/paperclipai/paperclip/-/pull/15804",
- "name": "Greptile Review",
- "startedAt": "2026-10-11T07:26:54Z",
- "status": "IN_PROGRESS",
- "workflowName": ""
- }
- ],
- "pending": [
- "ci / Typecheck + Release Registry",
- "ci / General tests (server (1/12))",
- "ci / General tests (server (2/12))",
- "ci / General tests (server (3/12))",
- "ci / General tests (server (4/12))",
- "ci / General tests (server (5/12))",
- "ci / General tests (server (6/12))",
- "ci / General tests (server (7/12))",
- "ci / General tests (server (8/12))",
- "ci / General tests (server (9/12))",
- "ci / General tests (server (10/12))",
- "ci / General tests (server (11/12))",
- "ci / General tests (server (12/12))",
- "ci / General tests (chat (1/3))",
- "ci / General tests (chat (2/3))",
- "ci / General tests (chat (3/3))",
- "ci / General tests (workspaces-a (1/2))",
- "ci / General tests (workspaces-a (2/2))",
- "ci / General tests (workspaces-b)",
- "ci / General tests (workspaces-c)",
- "ci / Verify Paperclip Runner (static checks)",
- "ci / Verify Paperclip Runner (rust)",
- "ci / Verify Paperclip Runner (vitest 1/2)",
- "ci / Verify Paperclip Runner (vitest 2/2)",
- "ci / Build",
- "ci / Verify serialized server suites (1/9)",
- "ci / Verify serialized server suites (2/9)",
- "ci / Verify serialized server suites (3/9)",
- "ci / Verify serialized server suites (4/9)",
- "ci / Verify serialized server suites (5/9)",
- "ci / Verify serialized server suites (6/9)",
- "ci / Verify serialized server suites (7/9)",
- "ci / Verify serialized server suites (8/9)",
- "ci / Verify serialized server suites (9/9)",
- "ci / Canary Dry Run",
- "ci / e2e shard (1/8)",
- "ci / e2e shard (2/8)",
- "ci / e2e shard (3/8)",
- "ci / e2e shard (4/8)",
- "ci / e2e shard (5/8)",
- "ci / e2e shard (6/8)",
- "ci / e2e shard (7/8)",
- "ci / e2e shard (8/8)",
- "Greptile Review"
- ],
- "unresolved": [],
- "moreThreads": false,
- "greptileSummary": [
- {
- "url": "https://github.com/paperclipai/paperclip/pull/15804#issuecomment-6098591173",
- "updatedAt": "2026-10-11T07:26:05Z",
- "reviewedCommits": [
- "b3855f10b401312fc1d1782a8eded8471505be4d"
- ],
- "score": [
- "5"
- ]
- }
- ]
- }
- ]
-}
\ No newline at end of file
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/ci-86c1-ce639-rerun-passed.json b/doc/plans/assets/2026-10-10-boat/evidence/ci-86c1-ce639-rerun-passed.json
deleted file mode 100644
index a53206b5663..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/ci-86c1-ce639-rerun-passed.json
+++ /dev/null
@@ -1,100 +0,0 @@
-{
- "checkedAt": "2026-10-11T07:52:19.281141+00:00",
- "prs": [
- {
- "pr": 15813,
- "head": "86c1aa2b0c53b1b41888cea6b8e04e42e28dd05c",
- "reviewHead": "86c1aa2b0c53b1b41888cea6b8e04e42e28dd05c",
- "mergeable": "MERGEABLE",
- "counts": {
- "SKIPPED": 4,
- "SUCCESS": 54
- },
- "failures": [],
- "focusChecks": [
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T07:31:22Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38121391645/job/114418864489",
- "name": "ci / e2e shard (8/8)",
- "startedAt": "2026-10-11T07:27:22Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T07:32:18Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://app.greptile.com/paperclip-org-3/github/paperclipai/paperclip/-/pull/15813",
- "name": "Greptile Review",
- "startedAt": "2026-10-11T07:26:52Z",
- "status": "COMPLETED",
- "workflowName": ""
- }
- ],
- "pending": [],
- "unresolved": [],
- "moreThreads": false,
- "greptileSummary": [
- {
- "url": "https://github.com/paperclipai/paperclip/pull/15813#issuecomment-6099291617",
- "updatedAt": "2026-10-11T07:32:25Z",
- "reviewedCommits": [
- "86c1aa2b0c53b1b41888cea6b8e04e42e28dd05c"
- ],
- "score": [
- "5"
- ]
- }
- ]
- },
- {
- "pr": 15804,
- "head": "ce639505e10211495b4a4ad10c50604f9352cba5",
- "reviewHead": "ce639505e10211495b4a4ad10c50604f9352cba5",
- "mergeable": "MERGEABLE",
- "counts": {
- "SUCCESS": 53
- },
- "failures": [],
- "focusChecks": [
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T07:32:06Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38121393558/job/114418872355",
- "name": "ci / e2e shard (8/8)",
- "startedAt": "2026-10-11T07:28:13Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T07:35:52Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://app.greptile.com/paperclip-org-3/github/paperclipai/paperclip/-/pull/15804",
- "name": "Greptile Review",
- "startedAt": "2026-10-11T07:26:54Z",
- "status": "COMPLETED",
- "workflowName": ""
- }
- ],
- "pending": [],
- "unresolved": [],
- "moreThreads": false,
- "greptileSummary": [
- {
- "url": "https://github.com/paperclipai/paperclip/pull/15804#issuecomment-6098591173",
- "updatedAt": "2026-10-11T07:35:59Z",
- "reviewedCommits": [
- "ce639505e10211495b4a4ad10c50604f9352cba5"
- ],
- "score": [
- "5"
- ]
- }
- ]
- }
- ]
-}
\ No newline at end of file
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/ci-86c1-ce639-rerun-provenance.json b/doc/plans/assets/2026-10-10-boat/evidence/ci-86c1-ce639-rerun-provenance.json
deleted file mode 100644
index aea4c148072..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/ci-86c1-ce639-rerun-provenance.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "requestedAt": "2026-10-11T07:39:59.814773+00:00",
- "reruns": [
- {
- "pr": 15813,
- "head": "86c1aa2b0c53b1b41888cea6b8e04e42e28dd05c",
- "run": 38121391645,
- "originalJob": 114416694048,
- "originalLog": "core-86c1-serialized2-failed.log"
- },
- {
- "pr": 15804,
- "head": "ce639505e10211495b4a4ad10c50604f9352cba5",
- "run": 38121393558,
- "originalJob": 114416826221,
- "originalLog": "ui-ce639-e2e5-failed.log"
- }
- ],
- "authorizedAttempts": 1
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/ci-8e8999-9eb142-0949.json b/doc/plans/assets/2026-10-10-boat/evidence/ci-8e8999-9eb142-0949.json
deleted file mode 100644
index a89326cbe48..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/ci-8e8999-9eb142-0949.json
+++ /dev/null
@@ -1,135 +0,0 @@
-{
- "checkedAt": "2026-10-11T09:49:44.638945+00:00",
- "prs": [
- {
- "pr": 15813,
- "head": "8e8999d681b42a19bfee2540c4345193f29f31ca",
- "reviewHead": "8e8999d681b42a19bfee2540c4345193f29f31ca",
- "mergeable": "MERGEABLE",
- "counts": {
- "SKIPPED": 4,
- "SUCCESS": 53,
- "IN_PROGRESS": 1
- },
- "failures": [],
- "focusChecks": [
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T09:36:46Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38128707028/job/114441222975",
- "name": "ci / e2e shard (8/8)",
- "startedAt": "2026-10-11T09:32:40Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T09:39:27Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://app.greptile.com/paperclip-org-3/github/paperclipai/paperclip/-/pull/15813",
- "name": "Greptile Review",
- "startedAt": "2026-10-11T09:32:05Z",
- "status": "COMPLETED",
- "workflowName": ""
- }
- ],
- "pending": [
- "ci / Verify serialized server suites (7/9)"
- ],
- "unresolved": [],
- "moreThreads": false,
- "greptileSummary": [
- {
- "url": "https://github.com/paperclipai/paperclip/pull/15813#issuecomment-6099291617",
- "updatedAt": "2026-10-11T09:39:34Z",
- "reviewedCommits": [
- "8e8999d681b42a19bfee2540c4345193f29f31ca"
- ],
- "score": [
- "5"
- ]
- }
- ]
- },
- {
- "pr": 15804,
- "head": "9eb1424f4ecee14c528b33a2a0ed3f1628b05c79",
- "reviewHead": "9eb1424f4ecee14c528b33a2a0ed3f1628b05c79",
- "mergeable": "MERGEABLE",
- "counts": {
- "SUCCESS": 52,
- "FAILURE": 1
- },
- "failures": [
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T09:40:07Z",
- "conclusion": "FAILURE",
- "detailsUrl": "https://app.greptile.com/paperclip-org-3/github/paperclipai/paperclip/-/pull/15804",
- "name": "Greptile Review",
- "startedAt": "2026-10-11T09:34:21Z",
- "status": "COMPLETED",
- "workflowName": ""
- }
- ],
- "focusChecks": [
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T09:39:21Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38128842350/job/114438792716",
- "name": "ci / e2e shard (8/8)",
- "startedAt": "2026-10-11T09:34:52Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T09:40:07Z",
- "conclusion": "FAILURE",
- "detailsUrl": "https://app.greptile.com/paperclip-org-3/github/paperclipai/paperclip/-/pull/15804",
- "name": "Greptile Review",
- "startedAt": "2026-10-11T09:34:21Z",
- "status": "COMPLETED",
- "workflowName": ""
- }
- ],
- "pending": [],
- "unresolved": [
- {
- "id": "PRRT_kwDORclPyM6rMVUV",
- "isResolved": false,
- "isOutdated": false,
- "comments": {
- "nodes": [
- {
- "url": "https://github.com/paperclipai/paperclip/pull/15804#discussion_r4241086370",
- "body": "
**Failed cleanup stays hidden**\n\n`release` silently drops every failed `disconnect` request. Closing the Computer tab can leave its viewer hold running until expiry without telling the user. This violates the UI directive: \u201cSurface failures clearly; do not silently ignore API errors.\u201d\n\nShow a cleanup warning through a toast or another surface that survives closing the panel. This repository requirement must be satisfied before merging.\n\n**Context Used:** AGENTS.md ([source](https://github.com/paperclipai/paperclip/blob/master/AGENTS.md))\n\nPrompt To Fix With AI
\n\n`````markdown\nThis is a comment left during a code review.\nPath: ui/src/components/task-side-panel/TaskComputerPanel.tsx\nLine: 47-49\n\nComment:\n**Failed cleanup stays hidden**\n\n`release` silently drops every failed `disconnect` request. Closing the Computer tab can leave its viewer hold running until expiry without telling the user. This violates the UI directive: \u201cSurface failures clearly; do not silently ignore API errors.\u201d\n\nShow a cleanup warning through a toast or another surface that survives closing the panel. This repository requirement must be satisfied before merging.\n\n**Context Used:** AGENTS.md ([source](https://github.com/paperclipai/paperclip/blob/master/AGENTS.md))\n\n---\n\nFor each issue above, determine whether it is valid and should be fixed. If so, fix it directly.\n`````\n ",
- "commit": {
- "oid": "9eb1424f4ecee14c528b33a2a0ed3f1628b05c79"
- },
- "author": {
- "login": "greptile-apps"
- }
- }
- ]
- }
- }
- ],
- "moreThreads": false,
- "greptileSummary": [
- {
- "url": "https://github.com/paperclipai/paperclip/pull/15804#issuecomment-6098591173",
- "updatedAt": "2026-10-11T09:40:13Z",
- "reviewedCommits": [
- "9eb1424f4ecee14c528b33a2a0ed3f1628b05c79"
- ],
- "score": [
- "4"
- ]
- }
- ]
- }
- ]
-}
\ No newline at end of file
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/ci-8e8999-dc6ac9-1000.json b/doc/plans/assets/2026-10-10-boat/evidence/ci-8e8999-dc6ac9-1000.json
deleted file mode 100644
index 70a8f3abb24..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/ci-8e8999-dc6ac9-1000.json
+++ /dev/null
@@ -1,143 +0,0 @@
-{
- "checkedAt": "2026-10-11T09:59:27.619543+00:00",
- "prs": [
- {
- "pr": 15813,
- "head": "8e8999d681b42a19bfee2540c4345193f29f31ca",
- "reviewHead": "8e8999d681b42a19bfee2540c4345193f29f31ca",
- "mergeable": "MERGEABLE",
- "counts": {
- "SKIPPED": 4,
- "SUCCESS": 54
- },
- "failures": [],
- "focusChecks": [
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T09:36:46Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38128707028/job/114441222975",
- "name": "ci / e2e shard (8/8)",
- "startedAt": "2026-10-11T09:32:40Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T09:39:27Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://app.greptile.com/paperclip-org-3/github/paperclipai/paperclip/-/pull/15813",
- "name": "Greptile Review",
- "startedAt": "2026-10-11T09:32:05Z",
- "status": "COMPLETED",
- "workflowName": ""
- }
- ],
- "pending": [],
- "unresolved": [],
- "moreThreads": false,
- "greptileSummary": [
- {
- "url": "https://github.com/paperclipai/paperclip/pull/15813#issuecomment-6099291617",
- "updatedAt": "2026-10-11T09:39:34Z",
- "reviewedCommits": [
- "8e8999d681b42a19bfee2540c4345193f29f31ca"
- ],
- "score": [
- "5"
- ]
- }
- ]
- },
- {
- "pr": 15804,
- "head": "dc6ac92f7ece9b2b041f3914a6b85e157910ba44",
- "reviewHead": "dc6ac92f7ece9b2b041f3914a6b85e157910ba44",
- "mergeable": "MERGEABLE",
- "counts": {
- "SUCCESS": 10,
- "IN_PROGRESS": 41
- },
- "failures": [],
- "focusChecks": [
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T09:59:12Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38130045874/job/114442333130",
- "name": "ci / e2e shard (8/8)",
- "startedAt": "2026-10-11T09:55:19Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "0001-01-01T00:00:00Z",
- "conclusion": "",
- "detailsUrl": "https://app.greptile.com/paperclip-org-3/github/paperclipai/paperclip/-/pull/15804",
- "name": "Greptile Review",
- "startedAt": "2026-10-11T09:54:43Z",
- "status": "IN_PROGRESS",
- "workflowName": ""
- }
- ],
- "pending": [
- "ci / Typecheck + Release Registry",
- "ci / General tests (server (1/12))",
- "ci / General tests (server (2/12))",
- "ci / General tests (server (3/12))",
- "ci / General tests (server (4/12))",
- "ci / General tests (server (5/12))",
- "ci / General tests (server (6/12))",
- "ci / General tests (server (7/12))",
- "ci / General tests (server (8/12))",
- "ci / General tests (server (9/12))",
- "ci / General tests (server (10/12))",
- "ci / General tests (server (11/12))",
- "ci / General tests (server (12/12))",
- "ci / General tests (chat (1/3))",
- "ci / General tests (chat (2/3))",
- "ci / General tests (chat (3/3))",
- "ci / General tests (workspaces-a (1/2))",
- "ci / General tests (workspaces-a (2/2))",
- "ci / General tests (workspaces-b)",
- "ci / General tests (workspaces-c)",
- "ci / Verify Paperclip Runner (static checks)",
- "ci / Verify Paperclip Runner (rust)",
- "ci / Verify Paperclip Runner (vitest 1/2)",
- "ci / Verify Paperclip Runner (vitest 2/2)",
- "ci / Build",
- "ci / Verify serialized server suites (1/9)",
- "ci / Verify serialized server suites (2/9)",
- "ci / Verify serialized server suites (3/9)",
- "ci / Verify serialized server suites (4/9)",
- "ci / Verify serialized server suites (5/9)",
- "ci / Verify serialized server suites (6/9)",
- "ci / Verify serialized server suites (7/9)",
- "ci / Verify serialized server suites (8/9)",
- "ci / Verify serialized server suites (9/9)",
- "ci / Canary Dry Run",
- "ci / e2e shard (2/8)",
- "ci / e2e shard (3/8)",
- "ci / e2e shard (4/8)",
- "ci / e2e shard (5/8)",
- "ci / e2e shard (7/8)",
- "Greptile Review"
- ],
- "unresolved": [],
- "moreThreads": false,
- "greptileSummary": [
- {
- "url": "https://github.com/paperclipai/paperclip/pull/15804#issuecomment-6098591173",
- "updatedAt": "2026-10-11T09:40:13Z",
- "reviewedCommits": [
- "9eb1424f4ecee14c528b33a2a0ed3f1628b05c79"
- ],
- "score": [
- "4"
- ]
- }
- ]
- }
- ]
-}
\ No newline at end of file
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/ci-8e8999-dc6ac9-passed.json b/doc/plans/assets/2026-10-10-boat/evidence/ci-8e8999-dc6ac9-passed.json
deleted file mode 100644
index 6f9aa59251a..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/ci-8e8999-dc6ac9-passed.json
+++ /dev/null
@@ -1,100 +0,0 @@
-{
- "checkedAt": "2026-10-11T10:09:28.364901+00:00",
- "prs": [
- {
- "pr": 15813,
- "head": "8e8999d681b42a19bfee2540c4345193f29f31ca",
- "reviewHead": "8e8999d681b42a19bfee2540c4345193f29f31ca",
- "mergeable": "MERGEABLE",
- "counts": {
- "SKIPPED": 4,
- "SUCCESS": 54
- },
- "failures": [],
- "focusChecks": [
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T09:36:46Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38128707028/job/114441222975",
- "name": "ci / e2e shard (8/8)",
- "startedAt": "2026-10-11T09:32:40Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T09:39:27Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://app.greptile.com/paperclip-org-3/github/paperclipai/paperclip/-/pull/15813",
- "name": "Greptile Review",
- "startedAt": "2026-10-11T09:32:05Z",
- "status": "COMPLETED",
- "workflowName": ""
- }
- ],
- "pending": [],
- "unresolved": [],
- "moreThreads": false,
- "greptileSummary": [
- {
- "url": "https://github.com/paperclipai/paperclip/pull/15813#issuecomment-6099291617",
- "updatedAt": "2026-10-11T09:39:34Z",
- "reviewedCommits": [
- "8e8999d681b42a19bfee2540c4345193f29f31ca"
- ],
- "score": [
- "5"
- ]
- }
- ]
- },
- {
- "pr": 15804,
- "head": "dc6ac92f7ece9b2b041f3914a6b85e157910ba44",
- "reviewHead": "dc6ac92f7ece9b2b041f3914a6b85e157910ba44",
- "mergeable": "MERGEABLE",
- "counts": {
- "SUCCESS": 53
- },
- "failures": [],
- "focusChecks": [
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T09:59:12Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38130045874/job/114442333130",
- "name": "ci / e2e shard (8/8)",
- "startedAt": "2026-10-11T09:55:19Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T10:01:13Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://app.greptile.com/paperclip-org-3/github/paperclipai/paperclip/-/pull/15804",
- "name": "Greptile Review",
- "startedAt": "2026-10-11T09:54:43Z",
- "status": "COMPLETED",
- "workflowName": ""
- }
- ],
- "pending": [],
- "unresolved": [],
- "moreThreads": false,
- "greptileSummary": [
- {
- "url": "https://github.com/paperclipai/paperclip/pull/15804#issuecomment-6098591173",
- "updatedAt": "2026-10-11T10:01:20Z",
- "reviewedCommits": [
- "dc6ac92f7ece9b2b041f3914a6b85e157910ba44"
- ],
- "score": [
- "5"
- ]
- }
- ]
- }
- ]
-}
\ No newline at end of file
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/ci-e3b121-06906-passed.json b/doc/plans/assets/2026-10-10-boat/evidence/ci-e3b121-06906-passed.json
deleted file mode 100644
index ac8d2c6660e..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/ci-e3b121-06906-passed.json
+++ /dev/null
@@ -1,220 +0,0 @@
-{
- "checkedAt": "2026-10-11T08:54:24.756374+00:00",
- "prs": [
- {
- "pr": 15813,
- "head": "e3b12138c6c15460d2e372b0dce1d1cbba491fa9",
- "reviewHead": "e3b12138c6c15460d2e372b0dce1d1cbba491fa9",
- "mergeable": "MERGEABLE",
- "counts": {
- "SKIPPED": 4,
- "SUCCESS": 54
- },
- "failures": [],
- "focusChecks": [
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T08:48:26Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38125799224/job/114429810217",
- "name": "ci / e2e shard (8/8)",
- "startedAt": "2026-10-11T08:44:29Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T08:49:21Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://app.greptile.com/paperclip-org-3/github/paperclipai/paperclip/-/pull/15813",
- "name": "Greptile Review",
- "startedAt": "2026-10-11T08:43:19Z",
- "status": "COMPLETED",
- "workflowName": ""
- }
- ],
- "pending": [],
- "unresolved": [],
- "moreThreads": false,
- "greptileSummary": [
- {
- "url": "https://github.com/paperclipai/paperclip/pull/15813#issuecomment-6099291617",
- "updatedAt": "2026-10-11T08:49:27Z",
- "reviewedCommits": [
- "e3b12138c6c15460d2e372b0dce1d1cbba491fa9"
- ],
- "score": [
- "5"
- ]
- }
- ]
- },
- {
- "pr": 15804,
- "head": "06906ab358c752dd263abfd56f102c00745cd23d",
- "reviewHead": "06906ab358c752dd263abfd56f102c00745cd23d",
- "mergeable": "MERGEABLE",
- "counts": {
- "CANCELLED": 10,
- "SUCCESS": 54
- },
- "failures": [
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T08:43:16Z",
- "conclusion": "CANCELLED",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38125798303/job/114429787043",
- "name": "ci / Select trusted runner",
- "startedAt": "2026-10-11T08:43:15Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T08:43:16Z",
- "conclusion": "CANCELLED",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38125798303/job/114429790951",
- "name": "ci / policy",
- "startedAt": "2026-10-11T08:43:16Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T08:43:16Z",
- "conclusion": "CANCELLED",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38125798303/job/114429790781",
- "name": "ci / Typecheck + Release Registry",
- "startedAt": "2026-10-11T08:43:16Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T08:43:16Z",
- "conclusion": "CANCELLED",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38125798303/job/114429790451",
- "name": "ci / General tests (${{ matrix.group_label }})",
- "startedAt": "2026-10-11T08:43:16Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T08:43:16Z",
- "conclusion": "CANCELLED",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38125798303/job/114429790994",
- "name": "ci / Docker context integrity",
- "startedAt": "2026-10-11T08:43:16Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T08:43:16Z",
- "conclusion": "CANCELLED",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38125798303/job/114429790423",
- "name": "ci / Verify Paperclip Runner (${{ matrix.lane_label }})",
- "startedAt": "2026-10-11T08:43:16Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T08:43:16Z",
- "conclusion": "CANCELLED",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38125798303/job/114429790826",
- "name": "ci / Build",
- "startedAt": "2026-10-11T08:43:16Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T08:43:16Z",
- "conclusion": "CANCELLED",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38125798303/job/114429790844",
- "name": "ci / Verify serialized server suites (${{ matrix.shard_label }})",
- "startedAt": "2026-10-11T08:43:16Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T08:43:16Z",
- "conclusion": "CANCELLED",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38125798303/job/114429790548",
- "name": "ci / Canary Dry Run",
- "startedAt": "2026-10-11T08:43:16Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T08:43:16Z",
- "conclusion": "CANCELLED",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38125798303/job/114429790356",
- "name": "ci / e2e shard (${{ matrix.shard_label }})",
- "startedAt": "2026-10-11T08:43:16Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- }
- ],
- "focusChecks": [
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T08:47:39Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38125798513/job/114429809474",
- "name": "ci / e2e shard (8/8)",
- "startedAt": "2026-10-11T08:43:53Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T08:49:20Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://app.greptile.com/paperclip-org-3/github/paperclipai/paperclip/-/pull/15804",
- "name": "Greptile Review",
- "startedAt": "2026-10-11T08:43:20Z",
- "status": "COMPLETED",
- "workflowName": ""
- }
- ],
- "pending": [],
- "unresolved": [],
- "moreThreads": false,
- "greptileSummary": [
- {
- "url": "https://github.com/paperclipai/paperclip/pull/15804#issuecomment-6098591173",
- "updatedAt": "2026-10-11T08:49:26Z",
- "reviewedCommits": [
- "06906ab358c752dd263abfd56f102c00745cd23d"
- ],
- "score": [
- "5"
- ]
- }
- ]
- }
- ],
- "activeWorkflows": [
- {
- "runId": 38125799224,
- "head": "e3b12138c6c15460d2e372b0dce1d1cbba491fa9",
- "conclusion": "success"
- },
- {
- "runId": 38125798513,
- "head": "06906ab358c752dd263abfd56f102c00745cd23d",
- "conclusion": "success"
- }
- ],
- "retainedDuplicateWorkflow": {
- "runId": 38125798303,
- "head": "06906ab358c752dd263abfd56f102c00745cd23d",
- "cancelledCheckCount": 10,
- "supersededBy": 38125798513
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/ci-ea1272-44b1.json b/doc/plans/assets/2026-10-10-boat/evidence/ci-ea1272-44b1.json
deleted file mode 100644
index 9416554010d..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/ci-ea1272-44b1.json
+++ /dev/null
@@ -1,124 +0,0 @@
-{
- "observedAt": "2026-10-11T02:42:44.737941+00:00",
- "pullRequests": [
- {
- "number": 15813,
- "head": "44b1b523622714837945bb42c3e0ad95f898d17d",
- "expectedHeadMatches": true,
- "counts": {
- "SKIPPED": 2,
- "SUCCESS": 52
- },
- "checks": [
- {
- "name": "ci / Typecheck + Release Registry",
- "status": "COMPLETED",
- "conclusion": "SUCCESS",
- "url": "https://github.com/paperclipai/paperclip/actions/runs/38104800769/job/114367938717"
- },
- {
- "name": "ci / Build",
- "status": "COMPLETED",
- "conclusion": "SUCCESS",
- "url": "https://github.com/paperclipai/paperclip/actions/runs/38104800769/job/114367938665"
- },
- {
- "name": "ci / verify",
- "status": "COMPLETED",
- "conclusion": "SUCCESS",
- "url": "https://github.com/paperclipai/paperclip/actions/runs/38104800769/job/114369560624"
- },
- {
- "name": "ci / e2e",
- "status": "COMPLETED",
- "conclusion": "SUCCESS",
- "url": "https://github.com/paperclipai/paperclip/actions/runs/38104800769/job/114368941710"
- },
- {
- "name": "Greptile Review",
- "status": "COMPLETED",
- "conclusion": "SUCCESS",
- "url": "https://app.greptile.com/paperclip-org-3/github/paperclipai/paperclip/-/pull/15813"
- }
- ],
- "exactHeadChecksVerified": true,
- "greptileChecks": [
- {
- "head": "44b1b523622714837945bb42c3e0ad95f898d17d",
- "status": "completed",
- "conclusion": "success",
- "url": "https://github.com/paperclipai/paperclip/runs/114367923666"
- }
- ],
- "unresolvedThreads": [],
- "latestGreptileSummary": {
- "updatedAt": "2026-10-11T02:31:38Z",
- "url": "https://github.com/paperclipai/paperclip/pull/15813#issuecomment-6099291617",
- "reviewedCommits": [
- "44b1b523622714837945bb42c3e0ad95f898d17d"
- ],
- "confidence": "5/5",
- "matchesCurrentHead": true
- }
- },
- {
- "number": 15804,
- "head": "ea1272d4d8ae462d062c85c7f655bc6d3fad5fce",
- "expectedHeadMatches": true,
- "counts": {
- "SUCCESS": 52
- },
- "checks": [
- {
- "name": "ci / Typecheck + Release Registry",
- "status": "COMPLETED",
- "conclusion": "SUCCESS",
- "url": "https://github.com/paperclipai/paperclip/actions/runs/38105172676/job/114369181348"
- },
- {
- "name": "ci / Build",
- "status": "COMPLETED",
- "conclusion": "SUCCESS",
- "url": "https://github.com/paperclipai/paperclip/actions/runs/38105172676/job/114369181377"
- },
- {
- "name": "ci / verify",
- "status": "COMPLETED",
- "conclusion": "SUCCESS",
- "url": "https://github.com/paperclipai/paperclip/actions/runs/38105172676/job/114371084632"
- },
- {
- "name": "ci / e2e",
- "status": "COMPLETED",
- "conclusion": "SUCCESS",
- "url": "https://github.com/paperclipai/paperclip/actions/runs/38105172676/job/114370159041"
- },
- {
- "name": "Greptile Review",
- "status": "COMPLETED",
- "conclusion": "SUCCESS",
- "url": "https://app.greptile.com/paperclip-org-3/github/paperclipai/paperclip/-/pull/15804"
- }
- ],
- "exactHeadChecksVerified": true,
- "greptileChecks": [
- {
- "head": "ea1272d4d8ae462d062c85c7f655bc6d3fad5fce",
- "status": "completed",
- "conclusion": "success",
- "url": "https://github.com/paperclipai/paperclip/runs/114369049463"
- }
- ],
- "unresolvedThreads": [],
- "latestGreptileSummary": {
- "updatedAt": "2026-10-11T02:33:36Z",
- "url": "https://github.com/paperclipai/paperclip/pull/15804#issuecomment-6098591173",
- "reviewedCommits": [
- "ea1272d4d8ae462d062c85c7f655bc6d3fad5fce"
- ],
- "confidence": "5/5",
- "matchesCurrentHead": true
- }
- }
- ]
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/ci-review-0611.json b/doc/plans/assets/2026-10-10-boat/evidence/ci-review-0611.json
deleted file mode 100644
index b58a701af68..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/ci-review-0611.json
+++ /dev/null
@@ -1,112 +0,0 @@
-{
- "checkedAt": "2026-10-11T06:11:28.198894+00:00",
- "prs": [
- {
- "pr": 15813,
- "head": "6c2a0a2bd86ef411bbc0e273b179d5bc4f1a3733",
- "reviewHead": "6c2a0a2bd86ef411bbc0e273b179d5bc4f1a3733",
- "mergeable": "MERGEABLE",
- "counts": {
- "SKIPPED": 4,
- "SUCCESS": 54
- },
- "failures": [],
- "focusChecks": [
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T06:04:40Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38116618493/job/114402683080",
- "name": "ci / e2e shard (8/8)",
- "startedAt": "2026-10-11T06:00:53Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T06:08:45Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://app.greptile.com/paperclip-org-3/github/paperclipai/paperclip/-/pull/15813",
- "name": "Greptile Review",
- "startedAt": "2026-10-11T06:00:18Z",
- "status": "COMPLETED",
- "workflowName": ""
- }
- ],
- "pending": [],
- "unresolved": [],
- "moreThreads": false,
- "greptileSummary": [
- {
- "url": "https://github.com/paperclipai/paperclip/pull/15813#issuecomment-6099291617",
- "updatedAt": "2026-10-11T06:08:57Z",
- "reviewedCommits": [
- "6c2a0a2bd86ef411bbc0e273b179d5bc4f1a3733"
- ],
- "score": [
- "5"
- ]
- }
- ]
- },
- {
- "pr": 15804,
- "head": "818f94594db17bb3249cadc33fd7e26535102421",
- "reviewHead": "818f94594db17bb3249cadc33fd7e26535102421",
- "mergeable": "MERGEABLE",
- "counts": {
- "CANCELLED": 1,
- "SUCCESS": 54
- },
- "failures": [
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T06:00:15Z",
- "conclusion": "CANCELLED",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38116617979/job/114402654995",
- "name": "ci / Select trusted runner",
- "startedAt": "2026-10-11T06:00:14Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- }
- ],
- "focusChecks": [
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T06:05:46Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38116619352/job/114402831615",
- "name": "ci / e2e shard (8/8)",
- "startedAt": "2026-10-11T06:01:38Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T06:06:55Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://app.greptile.com/paperclip-org-3/github/paperclipai/paperclip/-/pull/15804",
- "name": "Greptile Review",
- "startedAt": "2026-10-11T06:00:19Z",
- "status": "COMPLETED",
- "workflowName": ""
- }
- ],
- "pending": [],
- "unresolved": [],
- "moreThreads": false,
- "greptileSummary": [
- {
- "url": "https://github.com/paperclipai/paperclip/pull/15804#issuecomment-6098591173",
- "updatedAt": "2026-10-11T06:07:01Z",
- "reviewedCommits": [
- "818f94594db17bb3249cadc33fd7e26535102421"
- ],
- "score": [
- "5"
- ]
- }
- ]
- }
- ]
-}
\ No newline at end of file
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/ci-review-0700.json b/doc/plans/assets/2026-10-10-boat/evidence/ci-review-0700.json
deleted file mode 100644
index eb5964d2355..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/ci-review-0700.json
+++ /dev/null
@@ -1,100 +0,0 @@
-{
- "checkedAt": "2026-10-11T07:00:18.365830+00:00",
- "prs": [
- {
- "pr": 15813,
- "head": "b1030f6233fbea7c7a4669d567fc101ec0a85996",
- "reviewHead": "b1030f6233fbea7c7a4669d567fc101ec0a85996",
- "mergeable": "MERGEABLE",
- "counts": {
- "SKIPPED": 4,
- "SUCCESS": 54
- },
- "failures": [],
- "focusChecks": [
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T06:49:45Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38119091410/job/114409945153",
- "name": "ci / e2e shard (8/8)",
- "startedAt": "2026-10-11T06:46:02Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T06:55:42Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://app.greptile.com/paperclip-org-3/github/paperclipai/paperclip/-/pull/15813",
- "name": "Greptile Review",
- "startedAt": "2026-10-11T06:45:25Z",
- "status": "COMPLETED",
- "workflowName": ""
- }
- ],
- "pending": [],
- "unresolved": [],
- "moreThreads": false,
- "greptileSummary": [
- {
- "url": "https://github.com/paperclipai/paperclip/pull/15813#issuecomment-6099291617",
- "updatedAt": "2026-10-11T06:55:49Z",
- "reviewedCommits": [
- "b1030f6233fbea7c7a4669d567fc101ec0a85996"
- ],
- "score": [
- "5"
- ]
- }
- ]
- },
- {
- "pr": 15804,
- "head": "26542bb9d04a09a9249041ea1debe0b1001b7638",
- "reviewHead": "26542bb9d04a09a9249041ea1debe0b1001b7638",
- "mergeable": "MERGEABLE",
- "counts": {
- "SUCCESS": 53
- },
- "failures": [],
- "focusChecks": [
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T06:50:34Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38119092419/job/114409948224",
- "name": "ci / e2e shard (8/8)",
- "startedAt": "2026-10-11T06:46:13Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T06:52:00Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://app.greptile.com/paperclip-org-3/github/paperclipai/paperclip/-/pull/15804",
- "name": "Greptile Review",
- "startedAt": "2026-10-11T06:45:27Z",
- "status": "COMPLETED",
- "workflowName": ""
- }
- ],
- "pending": [],
- "unresolved": [],
- "moreThreads": false,
- "greptileSummary": [
- {
- "url": "https://github.com/paperclipai/paperclip/pull/15804#issuecomment-6098591173",
- "updatedAt": "2026-10-11T06:52:06Z",
- "reviewedCommits": [
- "26542bb9d04a09a9249041ea1debe0b1001b7638"
- ],
- "score": [
- "5"
- ]
- }
- ]
- }
- ]
-}
\ No newline at end of file
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/claude-cold-warm.json b/doc/plans/assets/2026-10-10-boat/evidence/claude-cold-warm.json
deleted file mode 100644
index bd7a43b87b6..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/claude-cold-warm.json
+++ /dev/null
@@ -1,272 +0,0 @@
-{
- "controllerSource": "8f11a70b3347d289ea25df5ba2d5c151fc1d5256",
- "coldRun": {
- "id": "d02e937a-9773-40f7-bb2c-a92f14aaf4bf",
- "status": "succeeded",
- "startedAt": "2026-10-10T17:51:57.242Z",
- "finishedAt": "2026-10-10T17:55:42.940Z",
- "errorCode": null
- },
- "coldProcess": {
- "runId": "d02e937a-9773-40f7-bb2c-a92f14aaf4bf",
- "checkedAt": "2026-10-10T17:55:45.323253+00:00",
- "ownerGeneration": "1",
- "launchGeneration": 1,
- "retired": false,
- "unit": {
- "MainPID": "33242",
- "ActiveState": "active",
- "SubState": "running"
- },
- "processes": [
- {
- "pid": 33242,
- "name": "paperclip-runne",
- "startTicks": "38395"
- },
- {
- "pid": 33332,
- "name": "MainThread",
- "startTicks": "38644"
- },
- {
- "pid": 33347,
- "name": "MainThread",
- "startTicks": "38684"
- },
- {
- "pid": 33354,
- "name": "MainThread",
- "startTicks": "38686"
- },
- {
- "pid": 33369,
- "name": "MainThread",
- "startTicks": "38687"
- },
- {
- "pid": 33380,
- "name": "9",
- "startTicks": "38703"
- }
- ],
- "checkpoints": [
- {
- "schema": "paperclip.runner.acpx-provider-state.v3",
- "lifecycle": "session_open",
- "runId": null,
- "normalizedSessionId": null,
- "activeTurnId": null,
- "pendingTerminalDelivery": false
- },
- {
- "schema": "paperclip.runner.durable.state.v1",
- "lifecycle": "ready",
- "runId": "d02e937a-9773-40f7-bb2c-a92f14aaf4bf",
- "normalizedSessionId": "5f2470db-eb0f-4561-95a2-6dddf5646fa6",
- "activeTurnId": null,
- "pendingTerminalDelivery": false
- }
- ]
- },
- "warmProcess": {
- "runId": "af7e6999-7ff4-410f-b586-fdb5cc5d0300",
- "checkedAt": "2026-10-10T17:57:52.609291+00:00",
- "ownerGeneration": "2",
- "launchGeneration": 1,
- "retired": false,
- "unit": {
- "MainPID": "33242",
- "ActiveState": "active",
- "SubState": "running"
- },
- "processes": [
- {
- "pid": 33242,
- "name": "paperclip-runne",
- "startTicks": "38395"
- },
- {
- "pid": 39172,
- "name": "MainThread",
- "startTicks": "53984"
- },
- {
- "pid": 39201,
- "name": "MainThread",
- "startTicks": "54176"
- },
- {
- "pid": 39208,
- "name": "MainThread",
- "startTicks": "54177"
- },
- {
- "pid": 39223,
- "name": "MainThread",
- "startTicks": "54179"
- },
- {
- "pid": 39234,
- "name": "9",
- "startTicks": "54194"
- }
- ],
- "checkpoints": [
- {
- "schema": "paperclip.runner.acpx-provider-state.v3",
- "lifecycle": "session_open",
- "runId": null,
- "normalizedSessionId": null,
- "activeTurnId": null,
- "pendingTerminalDelivery": false
- },
- {
- "schema": "paperclip.runner.durable.state.v1",
- "lifecycle": "ready",
- "runId": "af7e6999-7ff4-410f-b586-fdb5cc5d0300",
- "normalizedSessionId": "5f2470db-eb0f-4561-95a2-6dddf5646fa6",
- "activeTurnId": null,
- "pendingTerminalDelivery": false
- }
- ]
- },
- "warmRun": {
- "id": "af7e6999-7ff4-410f-b586-fdb5cc5d0300",
- "status": "succeeded",
- "startedAt": "2026-10-10T17:56:06.767Z",
- "finishedAt": "2026-10-10T17:57:46.003Z",
- "errorCode": null
- },
- "sameRunnerPid": true,
- "sameLaunchGeneration": true,
- "sameProviderHome": true,
- "providerSubprocessesRestartBetweenTurns": true,
- "providerPackVerifyMs": [
- 6887
- ],
- "instructionFraming": {
- "checkedAt": "2026-10-10T18:00:40.404221+00:00",
- "runId": "af7e6999-7ff4-410f-b586-fdb5cc5d0300",
- "lifecycle": "session_open",
- "instructionsSha256": "1537937adb1c0d2a612950468ec925f1cde610d52cbe0b1ddc3b15e257344488",
- "bundleExists": true,
- "bundleMode": "0o555",
- "canonicalAssetSuffixLast": true,
- "computerGuidanceBeforeAssetSuffix": true,
- "containsControllerAssetRoot": false
- },
- "limitations": [
- "Claude provider subprocess PIDs restart between turns.",
- "Post-idle framing was sampled during turn_active; the separate completed run receipt establishes final success.",
- "Staging qualification is not included."
- ],
- "scenario": "fresh Claude cold -> ordinary warm follow-up -> natural five-minute idle -> Boat archive -> ordinary follow-up",
- "result": "passed",
- "controllerRestartDuringCycle": false,
- "postIdleRun": {
- "id": "74c35da6-ebf8-41cd-a1f8-76f477f6148d",
- "status": "succeeded",
- "startedAt": "2026-10-10T18:04:00.960Z",
- "finishedAt": "2026-10-10T18:07:39.538Z",
- "errorCode": null
- },
- "postIdleProcess": {
- "runId": "74c35da6-ebf8-41cd-a1f8-76f477f6148d",
- "checkedAt": "2026-10-10T18:07:10.588383+00:00",
- "ownerGeneration": "1",
- "launchGeneration": 1,
- "retired": false,
- "unit": {
- "MainPID": "36297",
- "ActiveState": "active",
- "SubState": "running"
- },
- "processes": [
- {
- "pid": 36297,
- "name": "paperclip-runne",
- "startTicks": "36205"
- },
- {
- "pid": 36313,
- "name": "MainThread",
- "startTicks": "36415"
- },
- {
- "pid": 36384,
- "name": "MainThread",
- "startTicks": "36540"
- },
- {
- "pid": 36399,
- "name": "MainThread",
- "startTicks": "36543"
- },
- {
- "pid": 36415,
- "name": "MainThread",
- "startTicks": "36545"
- },
- {
- "pid": 36443,
- "name": "9",
- "startTicks": "36571"
- }
- ],
- "checkpoints": [
- {
- "schema": "paperclip.runner.acpx-provider-state.v3",
- "lifecycle": "turn_active",
- "runId": null,
- "normalizedSessionId": null,
- "activeTurnId": "turn_lab_d6a39e1cbffb4220be576591f2fecb32",
- "pendingTerminalDelivery": false
- },
- {
- "schema": "paperclip.runner.durable.state.v1",
- "lifecycle": "ready",
- "runId": "74c35da6-ebf8-41cd-a1f8-76f477f6148d",
- "normalizedSessionId": "5f2470db-eb0f-4561-95a2-6dddf5646fa6",
- "activeTurnId": null,
- "pendingTerminalDelivery": false
- }
- ]
- },
- "naturalIdle": {
- "runnerAndProviderSuspendedAt": "2026-10-10T18:02:49.908839+00:00",
- "runnerOutboxCount": 0,
- "providerOutboxCount": 0,
- "runnerPidAbsentAt": "2026-10-10T18:02:50.915171+00:00",
- "ownerRetiredAt": "2026-10-10T18:03:05.995526+00:00",
- "archive": {
- "state": "archived",
- "snapshots": true,
- "stopStatus": "completed",
- "stopCompletedAt": "2026-10-10T18:03:18.309Z"
- }
- },
- "postIdleIdentity": {
- "physicalRunnerReplaced": true,
- "durableSessionAndRunnerIdRetained": true,
- "differentGuestBoot": true,
- "runnerIdBefore": "f7c84a3a-b36d-4885-ba30-91441a5f94f8",
- "runnerIdAfter": "f7c84a3a-b36d-4885-ba30-91441a5f94f8"
- },
- "postIdleInstructionFraming": {
- "checkedAt": "2026-10-10T18:07:13.726597+00:00",
- "runId": "74c35da6-ebf8-41cd-a1f8-76f477f6148d",
- "lifecycle": "turn_active",
- "instructionsSha256": "85f7f92871645067a90c5f345f68fcf4febd9eee463c24f07b8beb9595c94d7d",
- "bundleExists": true,
- "bundleMode": "0o555",
- "canonicalAssetSuffixLast": true,
- "computerGuidanceBeforeAssetSuffix": true,
- "containsControllerAssetRoot": false
- },
- "persistentFiles": {
- "bothProofHashesUnchanged": true,
- "evidenceKind": "Coordinating agent browser observation of completed post-idle result",
- "screenshotOriginal": "native-26-claude-postidle.jpg"
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/claude-restore-verification.json b/doc/plans/assets/2026-10-10-boat/evidence/claude-restore-verification.json
deleted file mode 100644
index e4790533564..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/claude-restore-verification.json
+++ /dev/null
@@ -1,175 +0,0 @@
-{
- "scope": "Authorized read-only installation verification while normal Computer viewer was connected; no provider/session launch, guest writes, or cache replacement. Viewer closed normally at about 05:51 UTC.",
- "task": "BOA19",
- "machine": "bx_ndnggjad",
- "sourceFix": "6c2a0a2bd86ef411bbc0e273b179d5bc4f1a3733",
- "conclusion": "First full read of an untouched restored executable changed only ctime; pinned digest matched. Repeating the retained installation verifier after first read succeeded.",
- "expectedExecutableSha256": "fe503f65c6289d59c23e5b21ae44f03583f997dd33a2cbfc75ab4f96fb8fc73f",
- "observations": [
- {
- "receipt": "retry-local43-installation-readonly.json",
- "receiptSha256": "060d99f63f16aae438f7cfc951216e6ad119cb7c2c35d9931e34f4afc48d35be",
- "result": {
- "sandboxId": "bx_ndnggjad",
- "exitCode": 0,
- "timedOut": false,
- "data": {
- "checkedAt": "2026-10-11T05:47:57.561Z",
- "elapsedMs": 2550,
- "result": "rejected",
- "category": "runtime_executable_changed",
- "code": "other",
- "messageSha256": "64fb89f8936a11d2342383c83a2cc910158e1baa9c42f6d5177f7cfd46d2fc60",
- "sourceFunctions": [
- "verifyQualifiedAcpxInstallation",
- "openVerifiedRuntimeExecutable"
- ],
- "openCommandInvoked": false
- },
- "error": null
- }
- },
- {
- "receipt": "retry-local43-installation-stat-readonly-corrected.json",
- "receiptSha256": "0cd77fe24b65fa90ad066114f6e98b0068b0a8e05a14d83a06d590b90c091eaa",
- "result": {
- "sandboxId": "bx_ndnggjad",
- "exitCode": 0,
- "timedOut": false,
- "data": {
- "checkedAt": "2026-10-11T05:49:44.853Z",
- "elapsedMs": 212,
- "lexicalBefore": {
- "dev": "119",
- "ino": "12588",
- "size": "241667256",
- "mode": "33216",
- "mtimeNs": "1791693636000000000",
- "ctimeNs": "1791697677000000000"
- },
- "before": {
- "dev": "119",
- "ino": "12588",
- "size": "241667256",
- "mode": "33216",
- "mtimeNs": "1791693636000000000",
- "ctimeNs": "1791697677000000000"
- },
- "after": {
- "dev": "119",
- "ino": "12588",
- "size": "241667256",
- "mode": "33216",
- "mtimeNs": "1791693636000000000",
- "ctimeNs": "1791697677000000000"
- },
- "lexicalAfter": {
- "dev": "119",
- "ino": "12588",
- "size": "241667256",
- "mode": "33216",
- "mtimeNs": "1791693636000000000",
- "ctimeNs": "1791697677000000000"
- },
- "position": 241667256,
- "reads": 231,
- "lastRead": 494776,
- "digest": "fe503f65c6289d59c23e5b21ae44f03583f997dd33a2cbfc75ab4f96fb8fc73f"
- },
- "error": null
- }
- },
- {
- "receipt": "retry-local43-installation-oldpack-stat-readonly.json",
- "receiptSha256": "32aaa257cbfc1f5779ddf406e3d7ab195c223adce20bd9369a81370662690757",
- "result": {
- "sandboxId": "bx_ndnggjad",
- "exitCode": 0,
- "timedOut": false,
- "data": {
- "checkedAt": "2026-10-11T05:50:34.192Z",
- "elapsedMs": 7382,
- "lexicalBefore": {
- "dev": "119",
- "ino": "13067",
- "size": "241667256",
- "mode": "33216",
- "mtimeNs": "1791638362000000000",
- "ctimeNs": "1791638362000000000"
- },
- "before": {
- "dev": "119",
- "ino": "13067",
- "size": "241667256",
- "mode": "33216",
- "mtimeNs": "1791638362000000000",
- "ctimeNs": "1791638362000000000"
- },
- "after": {
- "dev": "119",
- "ino": "13067",
- "size": "241667256",
- "mode": "33216",
- "mtimeNs": "1791638362000000000",
- "ctimeNs": "1791697833000000000"
- },
- "lexicalAfter": {
- "dev": "119",
- "ino": "13067",
- "size": "241667256",
- "mode": "33216",
- "mtimeNs": "1791638362000000000",
- "ctimeNs": "1791697833000000000"
- },
- "position": 241667256,
- "reads": 231,
- "lastRead": 494776,
- "digest": "fe503f65c6289d59c23e5b21ae44f03583f997dd33a2cbfc75ab4f96fb8fc73f"
- },
- "error": null
- }
- },
- {
- "receipt": "retry-local43-installation-readonly-repeat.json",
- "receiptSha256": "0b56d9fb5c815c0fbfc2b27d6180aa785a6fbf7c438413c60d1e5ce43480f796",
- "result": {
- "sandboxId": "bx_ndnggjad",
- "exitCode": 0,
- "timedOut": false,
- "data": {
- "checkedAt": "2026-10-11T05:50:39.089Z",
- "elapsedMs": 580,
- "result": "verified",
- "commandDigest": "sha256:9d73d1f0f121fb96cc8badb28c22d5bff02d8582eb2e40360a81c189e1b9422a",
- "openCommandInvoked": false
- },
- "error": null
- }
- }
- ],
- "identityCorrection": {
- "runId": "133211e6-142a-4b29-90b0-944e3e8adbbd",
- "selectedNativeSessionId": "b24e7b47-5135-4a72-8820-0e44e1f2f3bd",
- "selectedRunnerId": "1bfaa364-347e-4280-af6d-937cb01a3731",
- "selection": "fresh native session despite ordinary same-task user comment; not proof of original session resume",
- "originalNativeSessionId": "438f844d-05d6-4ce2-ba3e-edbd97abca66",
- "originalRunnerId": "13a06b89-735f-45d0-97cb-e41b4ff757cd",
- "savedProviderPackDigest": "sha256:af875f72dbce8bf9f1bb2cce962e8380d5b23dd72fb98c84d04e949d9665c719"
- },
- "diagnosticCorrection": {
- "admissionStage": "installation",
- "admissionElapsedMs": 1,
- "meaning": "Timestamp of entry to installation relative to session.open; not duration of installation"
- },
- "verification": {
- "red": "Two new regression failures on unchanged verifier",
- "green": {
- "passed": 77,
- "existingPlatformSkips": 6
- },
- "typescript": "Runtime and surfaces passed",
- "independentReview": "No actionable findings",
- "liveFixedPack": "Not yet tested"
- },
- "preservation": "Original failed records and immutable af875/a02 packs retained. New pack will be tested with a fresh normal task."
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/codex-second-idle.json b/doc/plans/assets/2026-10-10-boat/evidence/codex-second-idle.json
deleted file mode 100644
index dd8ca5495ce..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/codex-second-idle.json
+++ /dev/null
@@ -1,122 +0,0 @@
-{
- "controllerSource": "c9c0a47bc9b307588aed27bf95ff042f1fd9b21c",
- "scenario": "ordinary follow-up after second natural idle and last-owner Boat archive",
- "run": {
- "id": "bf1fbf05-93c6-49a6-953c-8c283c7563f6",
- "status": "succeeded",
- "startedAt": "2026-10-10T17:42:07.831Z",
- "finishedAt": "2026-10-10T17:45:49.147Z",
- "normalizedSessionId": "2d3e7aaf-ae2f-410a-a753-a05ff006e96f",
- "providerKind": "codex"
- },
- "newOwnerProcess": {
- "runId": "bf1fbf05-93c6-49a6-953c-8c283c7563f6",
- "checkedAt": "2026-10-10T17:45:53.165367+00:00",
- "ownerGeneration": "1",
- "launchGeneration": 1,
- "retired": false,
- "unit": {
- "MainPID": "33377",
- "ActiveState": "active",
- "SubState": "running"
- },
- "processes": [
- {
- "pid": 33377,
- "name": "paperclip-runne",
- "startTicks": "39645"
- },
- {
- "pid": 33601,
- "name": "MainThread",
- "startTicks": "39894"
- },
- {
- "pid": 33618,
- "name": "codex",
- "startTicks": "39896"
- },
- {
- "pid": 33687,
- "name": "cua-driver",
- "startTicks": "39903"
- }
- ],
- "checkpoints": [
- {
- "schema": "paperclip.runner.durable.state.v1",
- "lifecycle": "ready",
- "runId": "bf1fbf05-93c6-49a6-953c-8c283c7563f6",
- "normalizedSessionId": "2d3e7aaf-ae2f-410a-a753-a05ff006e96f",
- "activeTurnId": null,
- "pendingTerminalDelivery": false
- },
- {
- "schema": "paperclip.runner.codex-provider-state.v1",
- "lifecycle": "session_open",
- "runId": null,
- "normalizedSessionId": null,
- "activeTurnId": null,
- "pendingTerminalDelivery": false
- }
- ]
- },
- "completedComputerTools": [
- {
- "at": "2026-10-10T17:45:16.524Z",
- "name": "launch_app",
- "status": "completed"
- },
- {
- "at": "2026-10-10T17:45:18.847Z",
- "name": "bring_to_front",
- "status": "completed"
- },
- {
- "at": "2026-10-10T17:45:21.090Z",
- "name": "hotkey",
- "status": "completed"
- },
- {
- "at": "2026-10-10T17:45:25.438Z",
- "name": "type_text",
- "status": "completed"
- },
- {
- "at": "2026-10-10T17:45:28.650Z",
- "name": "press_key",
- "status": "completed"
- },
- {
- "at": "2026-10-10T17:45:35.570Z",
- "name": "get_window_state",
- "status": "completed"
- }
- ],
- "precedingIdle": {
- "controllerSource": "85746677ff25431430698cb310ace0cb5d4b8ccc",
- "checkedAt": "2026-10-10T17:31:20.214748+00:00",
- "retired": true,
- "observedPids": {
- "102185": null,
- "102597": null,
- "120855": null
- },
- "runnerLifecycle": "suspended",
- "unit": {
- "MainPID": "0",
- "ActiveState": "inactive",
- "SubState": "dead"
- },
- "providerArchive": {
- "checkedAt": "2026-10-10T17:32:09.231Z",
- "state": "archived",
- "snapshots": true,
- "stopStatus": "completed"
- }
- },
- "limitations": [
- "Controller 25 result; not a repeat on controller 26 or staging.",
- "Computer tool completion is recorded; original browser screenshots provide separate visual proof."
- ]
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/computer-admission-wait-tests.json b/doc/plans/assets/2026-10-10-boat/evidence/computer-admission-wait-tests.json
deleted file mode 100644
index a6a1d9dbc6c..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/computer-admission-wait-tests.json
+++ /dev/null
@@ -1,90 +0,0 @@
-{
- "coreCommit": "a4c864a062a685e40d92fb015496dad3b1ce0f1e",
- "combinedCommit": "04ce7eb2a8",
- "stagingCommit": "ca8ab88c78",
- "focusedTests": {
- "files": 6,
- "passed": 437,
- "skipped": 0
- },
- "afterWordingCorrection": {
- "files": 2,
- "passed": 84,
- "skipped": 0
- },
- "typecheck": "server passed",
- "independentReview": "Initial review found no actionable findings; later CI review found two P1 integration defects.",
- "databaseMethod": "Unique disposable databases with actual migrations on the task-owned local PostgreSQL server via a temporary test harness override; product database untouched; all disposable databases removed. Native isolated-cluster bootstrap failed before this fallback.",
- "automaticScope": "Verified pending provider stop, ordinary pre-provider turn or unchanged explicit user message; task lock, original session, cancellation and continuation authorization retained.",
- "excluded": "Failing/superseded stops, existing owner conflicts, provider work already started, one-run Retry/Interrupt intents retain existing behavior.",
- "provenance": [
- {
- "file": "computer-wait-final-focused.log",
- "sha256": "128e037b10598d10b67452b0c59394f4da7d1fb2188355ac68d8d8b3c8ade863"
- },
- {
- "file": "computer-wait-copy-focused.log",
- "sha256": "4cba2c71ddd3e25dca11905ec4629845425d5ceb6c8189cb93846b2a1a1a68e7"
- },
- {
- "file": "computer-wait-tsc.log",
- "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- ],
- "laterReview": {
- "result": "P1 found after initial independent review",
- "url": "https://github.com/paperclipai/paperclip/pull/15813#discussion_r4240083053",
- "finding": "Actual Stop returns early for an already-cancelled admission-wait parent, so the accepted wait may still schedule a successor. Initial tests did not cover this real cancellation entry point.",
- "deployment": "Candidate17 cancelled during build, before check/deploy.",
- "fix": "Addressed by correction11ccf7b1a2; original findings and pre-fix CI retained.",
- "secondFinding": {
- "url": "https://github.com/paperclipai/paperclip/pull/15804#discussion_r4240095623",
- "finding": "Actual run lifecycle terminalizes the wait before cleanup; the retry predicate then rejects the live control, releasing the task lock and creating a recovery hold. Initial dependency-stubbed tests missed this integration path."
- },
- "ci": {
- "observedAt": "2026-10-11T03:25:56.089584+00:00",
- "core": {
- "head": "a4c864a062a685e40d92fb015496dad3b1ce0f1e",
- "passed": 51,
- "skipped": 2,
- "failed": 1
- },
- "ui": {
- "head": "f63eccc9ce6ef7440df30fcfe3c5ab79cded415a",
- "passed": 51,
- "failed": 1
- },
- "failure": "Each head has one Greptile review failure and one distinct unresolved P1; no checks pending."
- }
- },
- "correction": {
- "coreCommit": "11ccf7b1a2d8ad2921cff2a41ae2265e0896640b",
- "combinedCommit": "3bd413a9b3",
- "stagingCommit": "bd86e22e72578fa8a240160b6001802eb2cd40f1",
- "behavior": [
- "Retain task ownership on exact pre-provider wait evidence while requiring settled cleanup before scheduling.",
- "Actual Stop suppresses retries under the scheduling locks and cancels only the exact successor chain.",
- "Acknowledge cleanup before releasing ownership; retain old queued input and protect unrelated or reassigned work."
- ],
- "tests": {
- "files": 4,
- "passed": 338,
- "skipped": 0,
- "scope": "Actual heartbeatService Stop and real run-lifecycle finalization, scheduling races, queued/running successors, repeated Stop, remote unexpired cleanup, queued input and unrelated/reassigned work."
- },
- "typecheck": "server passed",
- "independentReview": "No remaining actionable findings",
- "databaseMethod": "Unique disposable real PostgreSQL databases; all removed. Product database and running controller untouched.",
- "provenance": [
- {
- "file": "computer-wait-stop-final-tests.log",
- "sha256": "e3b2c29d2bef7697546633ca7cb12db6413ad865a06b1464940d4cb77defd58f"
- },
- {
- "file": "computer-wait-stop-tsc.log",
- "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- ],
- "liveAcceptance": "Not yet verified; deployment18 in progress."
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/computer-disconnect-warning.json b/doc/plans/assets/2026-10-10-boat/evidence/computer-disconnect-warning.json
deleted file mode 100644
index 4bf7766a501..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/computer-disconnect-warning.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "checkedAt": "2026-10-11T09:50:22.442194+00:00",
- "scope": "TaskComputerPanel disconnect error reporting only",
- "tests": {
- "files": 2,
- "passed": 52,
- "skipped": 0,
- "log": "computer-disconnect-toast-tests.log"
- },
- "uiTypecheck": "passed",
- "tokenGates": "passed",
- "diffCheck": "passed",
- "proofs": [
- "Failed exact-owner disconnect after panel removal remains visible in global toast",
- "Mounted panel reports fixed copy inline with no duplicate toast",
- "Raw error URL/token canary absent"
- ],
- "limits": [
- "No backend cleanup or retry behavior changes",
- "No live forced disconnect failure injected",
- "Unmount notice uses existing eight-second warning toast; not indefinite persistence"
- ],
- "review": "Approved by independent live_state_probe reviewer; no findings"
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/core-5e5-final-ci-review.json b/doc/plans/assets/2026-10-10-boat/evidence/core-5e5-final-ci-review.json
deleted file mode 100644
index 1f06c2113cc..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/core-5e5-final-ci-review.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "checkedAt": "2026-10-10T19:37:25.314227+00:00",
- "pr": 15813,
- "head": "5e5fe7a708d2c87b5953ce29329248b932fc7b98",
- "counts": {
- "SKIPPED": 2,
- "SUCCESS": 52
- },
- "reviewScore": "5/5",
- "reviewUpdatedAt": "2026-10-10T19:33:45Z",
- "unresolvedThreads": 0,
- "fileResourceSuite": {
- "passed": 44,
- "skipped": 0,
- "jobId": 114293665240
- },
- "skippedChecks": [
- "Storybook visual regression",
- "Deploy selected branch Storybook"
- ],
- "limit": "Exact core head only. Does not establish acceptance-branch checks or staging product success."
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/core9a31-ui-b68-ci-review.json b/doc/plans/assets/2026-10-10-boat/evidence/core9a31-ui-b68-ci-review.json
deleted file mode 100644
index cffad171a58..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/core9a31-ui-b68-ci-review.json
+++ /dev/null
@@ -1,101 +0,0 @@
-{
- "checkedAt": "2026-10-11T04:35:44.545789+00:00",
- "prs": [
- {
- "pr": 15813,
- "head": "9a31fa27467ec33b0ebc6f5eba78007f1d981568",
- "reviewHead": "9a31fa27467ec33b0ebc6f5eba78007f1d981568",
- "mergeable": "MERGEABLE",
- "counts": {
- "SKIPPED": 4,
- "SUCCESS": 54
- },
- "failures": [],
- "focusChecks": [
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T04:28:38Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38111349101/job/114387767467",
- "name": "ci / e2e shard (8/8)",
- "startedAt": "2026-10-11T04:24:49Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T04:29:22Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://app.greptile.com/paperclip-org-3/github/paperclipai/paperclip/-/pull/15813",
- "name": "Greptile Review",
- "startedAt": "2026-10-11T04:22:01Z",
- "status": "COMPLETED",
- "workflowName": ""
- }
- ],
- "pending": [],
- "unresolved": [],
- "moreThreads": false,
- "greptileSummary": [
- {
- "url": "https://github.com/paperclipai/paperclip/pull/15813#issuecomment-6099291617",
- "updatedAt": "2026-10-11T04:29:28Z",
- "reviewedCommits": [
- "9a31fa27467ec33b0ebc6f5eba78007f1d981568"
- ],
- "score": [
- "5"
- ]
- }
- ]
- },
- {
- "pr": 15804,
- "head": "b68c68566c93c1c5eefe231fb9a9e8a1b1491ec2",
- "reviewHead": "b68c68566c93c1c5eefe231fb9a9e8a1b1491ec2",
- "mergeable": "MERGEABLE",
- "counts": {
- "SUCCESS": 54,
- "SKIPPED": 2
- },
- "failures": [],
- "focusChecks": [
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T04:28:44Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38111350449/job/114387775808",
- "name": "ci / e2e shard (8/8)",
- "startedAt": "2026-10-11T04:24:55Z",
- "status": "COMPLETED",
- "workflowName": "PR"
- },
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-11T04:29:42Z",
- "conclusion": "SUCCESS",
- "detailsUrl": "https://app.greptile.com/paperclip-org-3/github/paperclipai/paperclip/-/pull/15804",
- "name": "Greptile Review",
- "startedAt": "2026-10-11T04:22:02Z",
- "status": "COMPLETED",
- "workflowName": ""
- }
- ],
- "pending": [],
- "unresolved": [],
- "moreThreads": false,
- "greptileSummary": [
- {
- "url": "https://github.com/paperclipai/paperclip/pull/15804#issuecomment-6098591173",
- "updatedAt": "2026-10-11T04:29:48Z",
- "reviewedCommits": [
- "b68c68566c93c1c5eefe231fb9a9e8a1b1491ec2"
- ],
- "score": [
- "5"
- ]
- }
- ]
- }
- ]
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/current-head-ci-review.json b/doc/plans/assets/2026-10-10-boat/evidence/current-head-ci-review.json
deleted file mode 100644
index a7796713c26..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/current-head-ci-review.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "observedAt": "2026-10-10T21:32:06.734195+00:00",
- "prs": [
- {
- "number": 15813,
- "head": "754a4e792e077999989b088a910ce9d846280fda",
- "mergeable": "MERGEABLE",
- "checks": {
- "SKIPPED": 2,
- "SUCCESS": 52
- },
- "reviewSummaryMatchesHead": true,
- "reviewScore": 5,
- "failedChecks": [],
- "greptile": [
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-10T21:28:47Z",
- "conclusion": "SUCCESS",
- "name": "Greptile Review",
- "startedAt": "2026-10-10T21:18:13Z",
- "status": "COMPLETED",
- "workflowName": ""
- }
- ],
- "unresolvedThreads": 0,
- "threadsFullyPaginated": true
- },
- {
- "number": 15804,
- "head": "2ef177271ad703cef598b19b0d2219297c57ca6c",
- "mergeable": "MERGEABLE",
- "checks": {
- "SUCCESS": 52
- },
- "reviewSummaryMatchesHead": true,
- "reviewScore": 5,
- "failedChecks": [],
- "greptile": [
- {
- "__typename": "CheckRun",
- "completedAt": "2026-10-10T21:26:16Z",
- "conclusion": "SUCCESS",
- "name": "Greptile Review",
- "startedAt": "2026-10-10T21:19:19Z",
- "status": "COMPLETED",
- "workflowName": ""
- }
- ],
- "unresolvedThreads": 0,
- "threadsFullyPaginated": true
- }
- ]
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/desktop-input-lifetime.json b/doc/plans/assets/2026-10-10-boat/evidence/desktop-input-lifetime.json
deleted file mode 100644
index 8f70bb7303c..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/desktop-input-lifetime.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "controllerSource": "c9c0a47bc9b307588aed27bf95ff042f1fd9b21c",
- "checkedAt": "2026-10-10T17:47:15.590774+00:00",
- "managedProcesses": [
- {
- "pid": 33562,
- "name": "ibus-daemon"
- },
- {
- "pid": 33574,
- "name": "ibus-memconf"
- },
- {
- "pid": 33575,
- "name": "ibus-ui-gtk3"
- },
- {
- "pid": 33580,
- "name": "ibus-x11"
- },
- {
- "pid": 33604,
- "name": "ibus-engine-sim"
- }
- ],
- "managedServiceScope": "user@1000.service/app.slice/paperclip-desktop-input-.service",
- "allManagedProcessesOutsideRunnerSlice": true,
- "providerDesktopProcessesAlsoObserved": 7,
- "claim": "Repaired desktop input service is separate from the per-runner process slice.",
- "limitations": [
- "A point-in-time cgroup observation; not a separate end-to-end expiry test."
- ]
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/file-resource-clean-ci-proof.json b/doc/plans/assets/2026-10-10-boat/evidence/file-resource-clean-ci-proof.json
deleted file mode 100644
index be6ccc40ac2..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/file-resource-clean-ci-proof.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "capturedAt": "2026-10-10T19:33:18.465632+00:00",
- "head": "5e5fe7a708d2c87b5953ce29329248b932fc7b98",
- "workflowRunId": 38079569509,
- "jobId": 114293665240,
- "jobConclusion": "success",
- "suite": "server/src/__tests__/file-resources.test.ts",
- "testsPassed": 44,
- "testsSkipped": 0,
- "regressions": {
- "automaticPersistentWorkspaceFallback": 4,
- "vanishedDescendantSearch": 3
- },
- "limit": "Clean CI result. Original local PostgreSQL bootstrap skips remain in their historical record."
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/final-candidate-provenance.json b/doc/plans/assets/2026-10-10-boat/evidence/final-candidate-provenance.json
deleted file mode 100644
index ff8682f1d39..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/final-candidate-provenance.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "checkedAt": "2026-10-10T20:33:07.166727+00:00",
- "differentPaths": [
- "packages/db/src/migrations/0331_next_emma_frost.sql",
- "packages/db/src/migrations/0332_confused_doctor_strange.sql",
- "packages/db/src/migrations/meta/0331_snapshot.json",
- "packages/db/src/migrations/meta/0332_snapshot.json",
- "packages/db/src/migrations/meta/_journal.json"
- ],
- "servingStagingSource": "2df40da4587725571f94b20806b0da154418d774",
- "qualification": "Serving2df40da corrected legacy Claude/Codex follow-ups passed with unchanged proof hashes and helper disposition without recovery. Candidate1830beb contains current2ef1772/core754a4e isolated viewer fix; build in progress, deployment12 not yet performed. Staging HMR remains unverified.",
- "previousCanonicalSource": "3673939bed4cb85f20d142f950547e3a60502bca",
- "canonicalSource": "2ef177271ad703cef598b19b0d2219297c57ca6c",
- "coreSource": "754a4e792e077999989b088a910ce9d846280fda",
- "previousStagingCandidate": "2df40da4587725571f94b20806b0da154418d774",
- "stagingCandidate": "1830beb0c26a7ba9d5e21460426936936ffc8db4",
- "previousRuntimeTreeEquivalent": true,
- "servingVerification": {
- "deployment": 11,
- "checkedAt": "2026-10-10T21:20:39.509Z",
- "status": "succeeded",
- "verification": "verified"
- },
- "runtimeTreeEquivalent": true,
- "candidateBuild": {
- "runId": 38087300389,
- "status": "in_progress",
- "scope": "Parent observed; no deployment12 claimed."
- },
- "previousCandidateArtifactBuild": {
- "checkedAt": "2026-10-10T21:09:07.813798+00:00",
- "status": "completed",
- "conclusion": "success",
- "sourceSha": "2df40da4587725571f94b20806b0da154418d774"
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/focused-checks.json b/doc/plans/assets/2026-10-10-boat/evidence/focused-checks.json
deleted file mode 100644
index 91de7171757..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/focused-checks.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "candidateSource": "8f11a70b3347d289ea25df5ba2d5c151fc1d5256",
- "candidateFullBuild": "8f11a70b33 passed",
- "candidateFramingTests": {
- "source": "8f11a70b3347d289ea25df5ba2d5c151fc1d5256",
- "passed": 6
- },
- "earlierChecks": {
- "fullTypecheck": "d238 passed; core delta eb804 server typecheck passed",
- "tokenGates": "d238 passed",
- "moduleBoundaries": "4e3cf6 passed; no module changes in857466",
- "focusedPanelTests": 48,
- "focusedCoreTests": 75,
- "focusedEditorTests": 21,
- "focusedPreviewTests": 10,
- "focusedGuidanceTests": 2
- },
- "limitations": [
- "Earlier checks retain their recorded source attribution; unlabelled counts are historical and do not establish exact candidate coverage.",
- "No final-head full-suite pass or completed CI claim."
- ]
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/guarded-import-verification.json b/doc/plans/assets/2026-10-10-boat/evidence/guarded-import-verification.json
deleted file mode 100644
index db02d8cc5bd..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/guarded-import-verification.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "capturedAt": "2026-10-11T09:11:36.782151+00:00",
- "source": "1ab3cb94e036f5de43e4bad9fd4d345054e8763c",
- "claim": "Fatal guarded ESM import failure settles owned process lifetime and emits closed failure categories; not proof of the historical live underlying startup cause.",
- "regression": {
- "before": "real guarded child remained alive after import rejection",
- "after": "real process close and lifetime EOF observed"
- },
- "tests": {
- "passed": 100,
- "skipped": 6,
- "skipBoundary": "existing platform-specific skips"
- },
- "typecheck": "passed",
- "build": "compiled TypeScript and bundled entrypoints passed",
- "independentReview": "approved; specific diagnostic categories retain precedence over generic fallback",
- "unchanged": [
- "integrity checks",
- "caller deadlines",
- "owner authority",
- "saved session immutable pack authority"
- ],
- "logs": [
- {
- "name": "guarded-import-red.log",
- "sha256": "762a26bf875101408fa0b4318b7ea9936b3067f91cff7b8611263f2810b7cb11"
- },
- {
- "name": "guarded-import-green.log",
- "sha256": "64ed534a330696e50a36f191154867e99b54091fb67dd20f0fc4cfd8a0f11465"
- },
- {
- "name": "guarded-import-suite.log",
- "sha256": "f9d4c5b9c392bd697b4e49804000972b2b7ca52dbcee4a8ad65f3e69c0b2488c"
- },
- {
- "name": "guarded-import-tsc.log",
- "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- {
- "name": "guarded-import-build.log",
- "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- ]
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/latest-core-test-provenance.json b/doc/plans/assets/2026-10-10-boat/evidence/latest-core-test-provenance.json
deleted file mode 100644
index aefbb29754a..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/latest-core-test-provenance.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "recordedAt": "2026-10-10T21:21:44Z",
- "coreHead": "754a4e792e077999989b088a910ce9d846280fda",
- "fullProofCommit": "246c28c03ab5e034d39c8e89c0e68033bca9d07d",
- "focusedRun": {
- "completedAt": "2026-10-10T21:17:21Z",
- "command": "node node_modules/vitest/vitest.mjs run server/src/__tests__/computer-routes.test.ts server/src/modules/computers/application/service.test.ts",
- "exitCode": 0,
- "routeTestsPassed": 16,
- "moduleTestsPassed": 44,
- "totalPassed": 60,
- "note": "Initial sandbox route run could not bind a Supertest listener (EPERM); identical authorized rerun passed. Receipt records observed tool output; no separate raw log was saved.",
- "testedFileBlobs": {
- "server/src/routes/computers.ts": "e00115136e68552efc598c5a1408b7927dde4e00",
- "server/src/__tests__/computer-routes.test.ts": "b46d3583d03f60d0ec18b2f8c554aa2578d5bcc9",
- "server/src/modules/computers/application/service.test.ts": "a576befd684549813583ca76ca330f5752f4329e"
- }
- },
- "adapterRun": {
- "sourceCommit": "1b53cdce8064aa8b0f0947906a7c9f9d6182487a",
- "testsPassed": 48,
- "exitCode": 0,
- "filesUnchangedAtCurrentCore": {
- "server/src/modules/computers/adapters/boat.ts": "1c2f077fd882fbde1183ba1640583fa69285ab6e",
- "server/src/modules/computers/adapters/boat.test.ts": "725bf128b76289474ee16dfdc0258ab3ebeeed18"
- }
- },
- "serverTypecheck": {
- "command": "node node_modules/typescript/bin/tsc --noEmit -p server/tsconfig.json",
- "exitCode": 0
- },
- "limitations": [
- "Focused unit/integration coverage, not a new full-suite or live multi-agent acceptance run.",
- "No new feature-off reconciliation test was added by this cleanup fix; existing route feature-off cleanup case remains."
- ]
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/loader-continuity-verification.json b/doc/plans/assets/2026-10-10-boat/evidence/loader-continuity-verification.json
deleted file mode 100644
index 1e34b204888..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/loader-continuity-verification.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{
- "schema": "boat-loader-continuity-verification/v1",
- "capturedAt": "2026-10-11T09:33:30.188527+00:00",
- "sourceRevision": "8e8999d681b42a19bfee2540c4345193f29f31ca",
- "scope": [
- "installation-integrity.ts",
- "installation-integrity.test.ts"
- ],
- "red": {
- "actualChildDependencyImportExit": 1,
- "expectedExit": 0,
- "linuxFixture": {
- "baselineExit": 0,
- "ctimeOnlyExit": 1,
- "identicalBytes": true,
- "unchangedDevInodeModeSizeMtime": true,
- "dependencyExecutedAfterDrift": false
- }
- },
- "green": {
- "actualChildDependencyImportExit": 0,
- "linuxFixture": {
- "baselineExit": 0,
- "ctimeOnlyExit": 0,
- "identicalBytes": true,
- "movedDescriptorExit": 1,
- "movedDescriptorExecuted": false
- },
- "testsPassed": 123,
- "existingPlatformSkips": 6,
- "testFiles": 2,
- "typecheck": "passed",
- "typescriptAndVerifiedEntrypointBuild": "passed",
- "diffCheck": "passed",
- "independentReview": "approved"
- },
- "contract": {
- "sameDescriptor": true,
- "maximumCompleteReads": 2,
- "completeByteEqualityRequired": true,
- "stableFinalMetadataRequired": true,
- "unchangedFields": [
- "device",
- "inode",
- "mode",
- "uid",
- "gid",
- "linkCount",
- "size",
- "mtime"
- ],
- "retainedCanonicalPathAndNamedRegularInodeRechecked": true,
- "existingNoFollowAncestryAndFormatChecksPreserved": true,
- "darwinExpectedDigestCheckedEveryPass": true,
- "linuxAuthority": "Read continuity under existing descriptor-pinned ancestry; no new per-module expected-digest provenance is claimed."
- },
- "movedDescriptorCategory": "Fail-closed path rejection; no assertion that this filesystem failure uses the UNVERIFIED_MODULE marker.",
- "liveCause": "UNPROVED: offline ctime reproduction establishes the loader defect, not that it caused the historical live initialize timeout.",
- "liveFixtureChanged": false,
- "oldImmutablePacksChanged": false,
- "currentLocal49SelectedPack": "sha256:640c6c5405003f7d07603694413be14dc6c9601bc71f40b285f6cb247b5d412b",
- "currentLocal49HasLoaderCorrection": false
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/loader-fence-verification.json b/doc/plans/assets/2026-10-10-boat/evidence/loader-fence-verification.json
deleted file mode 100644
index 75722eab2e2..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/loader-fence-verification.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "sourceRevision": "8f62eef8f13e199f7a98d8a9ec27d617385e6fde",
- "capturedAt": "2026-10-11T11:00:58.549683+00:00",
- "scope": "Closed module-fence diagnostics only; existing rejection conditions and authority unchanged.",
- "red": {
- "failedAssertions": 29,
- "passedAssertions": 4
- },
- "green": {
- "testsPassed": 140,
- "existingPlatformSkips": 6,
- "rustTransportTestsPassed": 14,
- "typecheck": "passed",
- "typescriptAndVerifiedEntrypointBuild": "passed",
- "rustfmt": "passed",
- "diffCheck": "passed",
- "independentReview": "approved by both reviewers"
- },
- "productionComparison": {
- "sameSidecarSha256": "sha256:498d9027da6d3da9aeb7377b29b8558ef18b6cd2d082f589bf863a80d1df9039",
- "sameProductionLockSha256": "sha256:df5143e56269823c040be51a5e45bd53cadb60fecb50fb09ba2848f23e621b67",
- "productionNodeVersion": "24.21.0",
- "localPassedNodeVersion": "24.18.1",
- "productionNodeSha256": "sha256:7fde7b8afa198da66257f42ee2001d874c7355631e6d1579a5fb5ef1f246df4c",
- "exactProductionNodeOfflineFixture": "Stable and ctime-only reads pass; moved descriptor rejects without execution."
- },
- "liveCause": "UNPROVED: staging27 rejected an unverified module; old diagnostics cannot identify the exact fence. Node version difference alone did not reproduce the failure.",
- "liveStateChanged": false,
- "oldImmutablePacksChanged": false
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/loader-node2421-proof.json b/doc/plans/assets/2026-10-10-boat/evidence/loader-node2421-proof.json
deleted file mode 100644
index 995f5b2b2d0..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/loader-node2421-proof.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "capturedAt": "2026-10-11T10:58:48.462Z",
- "platform": "linux",
- "node": "v24.21.0",
- "sourceRevision": "8e8999d681b42a19bfee2540c4345193f29f31ca",
- "packDigest": "sha256:f6fbd13c71cdaf93060a7c240cbce1c8dfce2aefe5669db27d254b3b95dfb0a0",
- "fixtureOnly": true,
- "liveGuestAccess": false,
- "results": [
- {
- "transition": "stable",
- "drift": false,
- "exitCode": 0,
- "signal": null,
- "dependencyExecuted": true,
- "integrityRejected": false,
- "metadataChanged": {
- "dev": false,
- "ino": false,
- "mode": false,
- "size": false,
- "mtimeNs": false,
- "ctimeNs": false
- },
- "sameBytes": true,
- "sha256": "0ac25ebbcc92d605ac90db175ed44984da2351f3923770605b00a12eaaba0c8a",
- "metadataHookObserved": false
- },
- {
- "transition": "once",
- "drift": true,
- "exitCode": 0,
- "signal": null,
- "dependencyExecuted": true,
- "integrityRejected": false,
- "metadataChanged": {
- "dev": false,
- "ino": false,
- "mode": false,
- "size": false,
- "mtimeNs": false,
- "ctimeNs": true
- },
- "sameBytes": true,
- "sha256": "0ac25ebbcc92d605ac90db175ed44984da2351f3923770605b00a12eaaba0c8a",
- "metadataHookObserved": true
- },
- {
- "transition": "rename",
- "drift": true,
- "exitCode": 1,
- "signal": null,
- "dependencyExecuted": false,
- "integrityRejected": false,
- "metadataChanged": {
- "dev": false,
- "ino": false,
- "mode": false,
- "size": false,
- "mtimeNs": false,
- "ctimeNs": true
- },
- "sameBytes": true,
- "sha256": "0ac25ebbcc92d605ac90db175ed44984da2351f3923770605b00a12eaaba0c8a",
- "metadataHookObserved": true
- }
- ]
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/local-29-acceptance.json b/doc/plans/assets/2026-10-10-boat/evidence/local-29-acceptance.json
deleted file mode 100644
index f884f894991..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/local-29-acceptance.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "capturedAt": "2026-10-10T19:05:09.992767+00:00",
- "source": "b375f4655706d89c816613a591ee366ba4e4d7ba",
- "controllerStartedAt": "2026-10-10T19:03:16.767Z",
- "checks": {
- "fullBuild": "passed",
- "persistentInstructionsBrowserRead": "passed",
- "recursiveTypecheck": "passed"
- },
- "file": "AGENTS.md",
- "screenshot": "local-29-persistent-instructions.jpg",
- "cleanup": {
- "state": "archived",
- "liveOwners": 0,
- "pendingAction": null,
- "stopCompletedAt": "2026-10-10T19:06:10.833Z"
- },
- "limit": "Read-only browser acceptance and build/typecheck on this source. No task executed."
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/local-30-persistent-save-proof.json b/doc/plans/assets/2026-10-10-boat/evidence/local-30-persistent-save-proof.json
deleted file mode 100644
index 3444201b3c9..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/local-30-persistent-save-proof.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "capturedAt": "2026-10-10T19:41:30.908698+00:00",
- "source": "ac09d6ecce2809ed1ad6541d2908e713c543b39f",
- "processStartedAt": "2026-10-10T19:34:24.514Z",
- "file": "AGENTS.md",
- "markerSavedAt": "2026-10-10T19:38:08Z",
- "markerVisibleAfterBrowserReload": true,
- "markerReadAt": "2026-10-10T19:40:03Z",
- "restoreSavedAt": "2026-10-10T19:40:56Z",
- "restoreReadAt": "2026-10-10T19:41:11Z",
- "status": "passed",
- "screenshots": [
- "local-30-persistent-save.jpg",
- "local-30-persistent-restore.jpg"
- ],
- "verifiedFlow": [
- "Normal editor save",
- "Full browser reload showed saved marker",
- "Original content restored and reread through normal product flow"
- ],
- "limit": "Persistent editor acceptance only; no task or runtime launched."
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/local-31-human-keyboard-proof.json b/doc/plans/assets/2026-10-10-boat/evidence/local-31-human-keyboard-proof.json
deleted file mode 100644
index 25a32b0cb90..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/local-31-human-keyboard-proof.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "backend": "19d827a10af3f82c0be4a6faa9b4e30446022b27",
- "viewer": "Moonlight over WebSocket",
- "method": "Normal keyboard events through the embedded iframe: Control+Alt+t, individual keys for echo boatkeyboardok, Enter",
- "visibleResult": "Remote terminal displays echo boatkeyboardok and boatkeyboardok output",
- "screenshot": "local-31-human-keyboard.jpg",
- "disconnectedAfterProof": true,
- "mouseControl": "Not independently verified",
- "recordedAt": "2026-10-10T20:24:56.014948+00:00",
- "limit": "Keyboard control through the embedded viewer passed; independent human mouse control is not claimed."
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/local-32-legacy-acceptance.json b/doc/plans/assets/2026-10-10-boat/evidence/local-32-legacy-acceptance.json
deleted file mode 100644
index d1d8304d0cc..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/local-32-legacy-acceptance.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- "scope": "Local legacy CLI follow-up qualification only; staging requalification pending.",
- "controller": 32,
- "servingSource": "8b2a71c1e4a9029d5a8e96ce22c760fccaab4d9f",
- "canonicalSource": "3673939bed4cb85f20d142f950547e3a60502bca",
- "sourceRelationship": "Identical tracked trees, checked with git diff.",
- "observedAt": "2026-10-10T20:37:08.832523+00:00",
- "runs": [
- {
- "id": "ad66018a-5095-42e4-819f-c238797912a5",
- "provider": "codex",
- "status": "succeeded",
- "startedAt": "2026-10-10T20:33:06.943Z",
- "finishedAt": "2026-10-10T20:36:41.221Z",
- "issueStatus": "done",
- "proofSha256": [
- "9f5343a6f2325ef20422b29bb842123101d185abf657e7a1b120224255ef182a"
- ],
- "matchesPriorProductFileEvidence": true,
- "controllerInstructionPathPresentInPrompt": false,
- "dispositionHelperSucceeded": true,
- "persistentInstructions": {
- "promptAdvertisesPersonalEntry": true,
- "entryReadSucceeded": true
- }
- },
- {
- "id": "0b339eaf-07e3-46d2-8587-42e0f815c9a7",
- "provider": "claude",
- "status": "succeeded",
- "startedAt": "2026-10-10T20:33:26.069Z",
- "finishedAt": "2026-10-10T20:36:39.186Z",
- "issueStatus": "done",
- "proofSha256": [
- "43ae6b04d5ec7ba1c77afe05b632c424ee267561157c662f08860e9c015c3b13"
- ],
- "matchesPriorProductFileEvidence": true,
- "controllerInstructionPathPresentInPrompt": false,
- "dispositionHelperSucceeded": true,
- "operationalSkill": {
- "name": "paperclip",
- "invocationSucceeded": true,
- "receipt": "Launching skill: paperclip"
- },
- "persistentInstructions": {
- "configured": false,
- "personalEntryRead": "not tested"
- }
- }
- ],
- "limits": [
- "Claude fixture has no configured personal instructions; personal instruction mapping is not a live Claude claim.",
- "The actual Codex run had one failed exploratory command before successful helper completion; no claim that every tool call succeeded.",
- "These results do not establish staging acceptance or a full current-head test-suite pass."
- ]
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/local-36-restart-retained.json b/doc/plans/assets/2026-10-10-boat/evidence/local-36-restart-retained.json
deleted file mode 100644
index bf708ffafa1..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/local-36-restart-retained.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "sandboxId": "bx_ndnggjad",
- "exitCode": 0,
- "timedOut": false,
- "data": {
- "marker": {
- "exists": true,
- "lineCount": 1,
- "sha256": "12772b6873ec4e7ffa80c9d0f798f0bb0492aae88b6cb3669c55a812f9bb312c"
- },
- "checkpoints": [
- {
- "fileKind": "runner-state.json",
- "mtime": 1791686617,
- "runId": "6f31e383-8400-4675-acd2-11563007b66d",
- "runnerInstanceId": "55f789fd-17d9-48ad-8f65-0f806782c436",
- "normalizedSessionId": "994ca5b6-8d92-4c97-b14c-411aa0395caf",
- "lifecycle": "ready"
- },
- {
- "fileKind": "codex-provider-state.json",
- "mtime": 1791686617,
- "lifecycle": "session_open",
- "threadId": "01a1286b-9338-7101-8ced-733e9b28ae99",
- "activeProviderTurnId": null,
- "completedTurnAuthoritative": true
- }
- ],
- "at": "2026-10-11T02:44:26.082483+00:00",
- "bootId": "7d0e87da-b3af-467b-bba2-facdbc4237d9",
- "ownerId": "c18f88e5-439a-4c62-a3f4-be9ee9ab8df3",
- "processes": [
- {
- "pid": 30100,
- "name": "paperclip-runne",
- "ppid": 1323,
- "startTicks": 34883,
- "ownerMatched": true
- },
- {
- "pid": 30385,
- "name": "MainThread",
- "ppid": 30100,
- "startTicks": 35238,
- "ownerMatched": true
- },
- {
- "pid": 30394,
- "name": "codex",
- "ppid": 30385,
- "startTicks": 35242,
- "ownerMatched": true
- },
- {
- "pid": 30462,
- "name": "cua-driver",
- "ppid": 30394,
- "startTicks": 35261,
- "ownerMatched": true
- }
- ]
- },
- "error": null,
- "result": "passed_orderly_controller_restart_and_archived_saved_session_continuation",
- "limit": "Not active controller-crash recovery. Local36 serves source193c2 with runner binary and provider pack from the recorded local fixture."
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/local-artifact-selection-correction.json b/doc/plans/assets/2026-10-10-boat/evidence/local-artifact-selection-correction.json
deleted file mode 100644
index 55ec3df0fb7..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/local-artifact-selection-correction.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "observedAt": "2026-10-11T04:49:20.499228+00:00",
- "runId": "299caa15-f3f9-47b7-8882-639eb7b2736b",
- "rootCause": "test-drive deletes inherited PAPERCLIP_* variables before instance .env loading",
- "source": "cli/src/commands/test-drive.ts:175",
- "configuredRunnerSha256": "d42d0395b8d172912c5e57dc967e4b7e40f9218979c15b51fd0c71365ba06435",
- "persistedTemplatePackDigest": "sha256:a02b92afc8423b8fdea50a7fd480a5417b17d9c7b31a14dcab4221e57e8c270a",
- "intendedDiagnosticPackDigest": "sha256:af875f72dbce8bf9f1bb2cce962e8380d5b23dd72fb98c84d04e949d9665c719",
- "conclusion": "The diagnostic runner/pack was built but not selected by this run. Local40 diagnostic binary selection was also unproven/contradicted by the unchanged instance configuration.",
- "mutations": "none"
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/local-final-cli-ui-proof.json b/doc/plans/assets/2026-10-10-boat/evidence/local-final-cli-ui-proof.json
deleted file mode 100644
index 3acd0d094ed..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/local-final-cli-ui-proof.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "observedAt": "2026-10-10T19:48:00.356186+00:00",
- "uiSource": "ce1a49bb917a29299ab000f25d45b46c63be1638",
- "backendSource": "ac09d6ecce2809ed1ad6541d2908e713c543b39f",
- "engineOptions": [
- "Codex CLI"
- ],
- "selectedEngine": "Codex CLI",
- "mutationPerformed": false,
- "screenshot": "local-final-cli-only.jpg",
- "limit": "Read-only UI inspection of an existing legacy agent in a Boat environment. Only Codex CLI was offered. This is not a new runtime execution or staging pass."
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/local-final-resource-inventory.json b/doc/plans/assets/2026-10-10-boat/evidence/local-final-resource-inventory.json
deleted file mode 100644
index ea4780cc835..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/local-final-resource-inventory.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "scope": "Point-in-time resource inventory after local legacy correction; later deployment/qualification may resume a fixture.",
- "localLedger": {
- "checkedAt": "2026-10-10T21:14:08.337Z",
- "computerCount": 2,
- "liveOwnerCount": 0,
- "pendingActionCount": 0
- },
- "providerFixtures": [
- {
- "role": "original-local",
- "checkedAt": "2026-10-10T20:53:54.271926+00:00",
- "state": "archived",
- "snapshotsPreserved": true,
- "stopStatus": "completed",
- "stopCompletedAt": "2026-10-10T20:52:17.005Z"
- },
- {
- "role": "onboarding-local",
- "checkedAt": "2026-10-10T20:38:09.876426+00:00",
- "state": "archived",
- "snapshotsPreserved": true,
- "stopStatus": "completed",
- "stopCompletedAt": "2026-10-10T19:41:44.984Z"
- },
- {
- "role": "builder",
- "checkedAt": "2026-10-10T20:38:09.876426+00:00",
- "state": "archived",
- "snapshotsPreserved": true,
- "stopStatus": "completed",
- "stopCompletedAt": "2026-10-10T16:04:23.914Z"
- },
- {
- "role": "staging",
- "checkedAt": "2026-10-10T20:53:54.271926+00:00",
- "state": "archived",
- "snapshotsPreserved": true,
- "stopStatus": "completed",
- "stopCompletedAt": "2026-10-10T20:50:10.107Z"
- }
- ]
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/local-final-state.json b/doc/plans/assets/2026-10-10-boat/evidence/local-final-state.json
deleted file mode 100644
index a3c54fd0cc3..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/local-final-state.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "checkedAt": "2026-10-10T18:14:22.961Z",
- "liveOwnerCount": 0,
- "pendingAction": null,
- "providerState": "archived",
- "stopReceipt": {
- "id": "stop_5a38c74c3bdee4b4",
- "status": "completed",
- "requestedAt": null,
- "lastAttemptAt": "2026-10-10T18:13:40.969Z",
- "error": null,
- "endedAt": "2026-10-10T18:13:40.969Z"
- },
- "leaseReleasedAt": "2026-10-10T18:12:59.528Z",
- "terminationEvidence": "Exact-owner stopped receipt persisted on released environment lease; provider subsequently confirmed completed archive.",
- "directGuestInspection": {
- "attempted": true,
- "result": "SSH descriptor unavailable during provider idle/archive transition (HTTP500)",
- "runnerPid": 36297,
- "pidAndCheckpointReadAfterRetirement": false
- },
- "transientProviderStopError": {
- "status": 400,
- "at": "2026-10-10T18:13:01Z",
- "bodyRetained": false,
- "resolution": "Controller normal retry completed; no manual lifecycle action."
- },
- "source": "8f11a70b3347d289ea25df5ba2d5c151fc1d5256",
- "scope": "Local qualification Boat"
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/local39-resume-outcomes.json b/doc/plans/assets/2026-10-10-boat/evidence/local39-resume-outcomes.json
deleted file mode 100644
index b6b073987e8..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/local39-resume-outcomes.json
+++ /dev/null
@@ -1,178 +0,0 @@
-{
- "recordedAt": "2026-10-11T04:04:48.235Z",
- "servingSource": "c4fd4d8c1a",
- "boa16": {
- "outcome": "PASS: previously deferred explicit message recovered; new native session by historical recovery contract",
- "run": {
- "id": "ed993c49-a10a-475d-9203-d20ff028f212",
- "status": "succeeded",
- "created_at": "2026-10-11T03:54:26.561Z",
- "started_at": "2026-10-11T03:54:26.629Z",
- "finished_at": "2026-10-11T03:59:23.452Z",
- "error_code": null,
- "error": null,
- "native_session_id": "16a7482d-2944-471a-b2c5-ee77c7e783c0",
- "runner_instance_id": "03fd094d-7626-41db-b3de-6ac44110dc34",
- "session_id_before": null,
- "session_id_after": "01a1291c-a10a-7b81-bb76-6190ca667282",
- "retry_of_run_id": null,
- "scheduled_retry_at": null,
- "scheduled_retry_attempt": 0,
- "scheduled_retry_reason": null,
- "execution_stage": "preparing",
- "runtime_mode": "native",
- "force_fresh_session": "true",
- "controller_lease_expires_at": "2026-10-11T03:56:49.292Z",
- "startup_preparation_settled_at": null,
- "computer_admission_preparation_settled_at": null,
- "computer_admission_retry_outcome": null,
- "execution_recovery": null,
- "computer_admission": null,
- "cancellation": null
- },
- "independentProof": {
- "relativeName": "restart-proof-388b7035-e3dc-4806-b34e-5241d2bea8c4.txt",
- "exists": true,
- "bytes": 37,
- "lines": 1,
- "sha256": "12772b6873ec4e7ffa80c9d0f798f0bb0492aae88b6cb3669c55a812f9bb312c"
- },
- "savedSessionReuseClaim": false
- },
- "claude": {
- "outcome": "FAILED: saved-session attach rejected, then same-run recovery authority guard stopped",
- "run": {
- "id": "6c9d757f-c716-4d7c-b4d3-e0d4f00cf321",
- "status": "failed",
- "created_at": "2026-10-11T03:54:56.942Z",
- "started_at": "2026-10-11T03:54:57.003Z",
- "finished_at": "2026-10-11T04:00:16.614Z",
- "error_code": "adapter_failed",
- "error": "runner_state_identity_mismatch: authority_indeterminate",
- "native_session_id": "5f2470db-eb0f-4561-95a2-6dddf5646fa6",
- "runner_instance_id": "f7c84a3a-b36d-4885-ba30-91441a5f94f8",
- "session_id_before": "582fc37b-ddc7-4227-9378-1cbd052a36ea",
- "session_id_after": null,
- "execution_stage": "preparing",
- "controller_lease_expires_at": "2026-10-11T03:56:49.602Z",
- "resultKeys": [
- "stopReason",
- "timeoutFired",
- "timeoutSource",
- "timeoutConfigured",
- "effectiveTimeoutSec"
- ],
- "forceFreshSession": false,
- "executionRecovery": null,
- "providerPackDigest": null
- },
- "firstFailure": {
- "event_type": "lifecycle",
- "stream": "system",
- "level": "warn",
- "message": "native session transport interrupted; same-run resume persisted",
- "created_at": "2026-10-11T03:58:50.828Z",
- "failure_detail": {
- "message": "native_session_recovery_failed: Error: PRP command run.attach failed: {\"commandId\":\"command_prp_00000001\",\"commandType\":\"run.attach\",\"controllerSeq\":1,\"result\":{\"code\":\"command_execution_failed\",\"message\":\"failed to start ACPX provider: ACPX sidecar command session.open was rejected (retryable=false, classification=unclassified)\"},\"status\":\"failed\"}",
- "nextAction": "Resume this same run from its exact persisted native provider checkpoint after the retry delay.",
- "recoverable": true,
- "recoveryMode": "exact_checkpoint_resume",
- "recoveryOwner": {
- "kind": "agent",
- "agentId": "2da214f3-6c27-4497-9d4f-4bd210a8f390"
- },
- "checkpointExists": true,
- "originalFailureCode": "native_session_interrupted",
- "providerEventsExist": false,
- "providerSessionEstablished": true
- },
- "attempt": 1,
- "next_attempt_at": "2026-10-11T03:59:20.799Z",
- "retry_reason_code": "native_session_interrupted"
- },
- "independentProofFiles": [
- {
- "relativeName": "boat-final-claude.txt",
- "exists": true,
- "bytes": 21,
- "sha256": "14fa23911a1a95ede22a93f43fc027934b20a1ba497f8e6120abc8769498e124"
- },
- {
- "relativeName": "boat-claude-framing-proof.txt",
- "exists": true,
- "bytes": 23,
- "sha256": "afaf525f4bf0c38614c5df0cf97140e7d1bf9cad96faa293e2317dc82116af4a"
- }
- ],
- "proofFilesUnchanged": true,
- "liveSavedSessionSuccess": false
- },
- "limits": [
- "Claude session.open underlying message is lost by Rust transport; no exact first cause proven.",
- "All inspected instruction/runtime root paths exist; deeper skill paths were not inspected.",
- "Parent opened normal Computer viewer around04:00; later idle timing cannot be attributed to runner alone.",
- "No cache/checkpoint edits, no reset/retry/wake by evidence worker."
- ],
- "evidence": [
- {
- "file": "retry-local38-admission-local39baseline.json",
- "sha256": "e278d00572b6c88096c62104342c2a385e5e4c8c3556a3a699b5300371f94b76"
- },
- {
- "file": "retry-local38-admission-local39progress0359.json",
- "sha256": "f082881540a7722f395d40e8a188e28d070c078226ae57281fb171921ec626a5"
- },
- {
- "file": "retry-local37-claude-local39final0404.json",
- "sha256": "9982e01823ec9bcd1d5ecca07e1ef63cf65b67e8004553cbaadb8d41df554fab"
- },
- {
- "file": "retry-local39-claude-checkpoint0359.json",
- "sha256": "54bd757bf5d42219ff78f8873df6e0d2bb58cf28c40756f714c6e45a3c94a691"
- },
- {
- "file": "retry-local39-claude-failure-events.json",
- "sha256": "758dd96c05c1f63e91cad06b989b6bcbe7b95c4d3cfd23fbb99c270f5c691969"
- },
- {
- "file": "retry-local39-claude-paths0404.json",
- "sha256": "b7d54c2616646f22d47e0258bfb76c6ea71674310e2f13ff1dc6c909524e2eab"
- },
- {
- "file": "retry-local39-claude-journal0404.json",
- "sha256": "615692f144765b346e46f2a05bac63abc5f656fd41581356899203643faa55be"
- },
- {
- "file": "retry-local39-final-provider-status.json",
- "sha256": "f0d8b923f48782814a9c8c87b343951239a91be62b7aea23c10701f49f17dec2"
- },
- {
- "file": "retry-local39-final-owner-status.json",
- "sha256": "7fdc59310018c4b862b24fc1594cea767055df1ea60ca1f33b2b4be10eda9ad2"
- }
- ],
- "finalProviderStatus": {
- "recordedAt": "2026-10-11T04:05:43.275903+00:00",
- "sandboxId": "bx_ndnggjad",
- "state": "archived",
- "hydrated": true,
- "health": "ok",
- "lastSnapshotAttemptAt": "2026-10-11T04:04:56.236Z",
- "lastSnapshotStatus": "in_progress",
- "snapshotCompletedAt": "2026-10-11T04:04:55.879Z",
- "snapshotVerifiedAt": "2026-10-11T04:04:55.879Z",
- "stop": {
- "id": "stop_f079a252b66e91cf",
- "status": "completed",
- "requestedAt": null,
- "lastAttemptAt": "2026-10-11T04:04:56.078Z",
- "endedAt": "2026-10-11T04:04:56.078Z",
- "error": null
- },
- "scope": "Final local39 status after normal Computer close; no guest or lifecycle action"
- },
- "finalActiveOwners": {
- "checkedAt": "2026-10-11T04:05:43.370Z",
- "owners": []
- }
-}
\ No newline at end of file
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/local40-fresh-claude-diagnosis.json b/doc/plans/assets/2026-10-10-boat/evidence/local40-fresh-claude-diagnosis.json
deleted file mode 100644
index 35fbb87deb3..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/local40-fresh-claude-diagnosis.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "recordedAt": "2026-10-11T04:29:51.333942+00:00",
- "servingSource": "8ccfdd3dd269e251ba652cfb1ea469dc0861068c",
- "runId": "62f9fedb-b3de-40fb-8f8d-ee8f3b2b30a6",
- "normalizedSessionId": "62610d06-b944-4af3-98aa-f77b83912b96",
- "providerPackDigest": "sha256:a02b92afc8423b8fdea50a7fd480a5417b17d9c7b31a14dcab4221e57e8c270a",
- "runnerLifecycle": "suspended",
- "providerLifecycle": "prepared",
- "providerActiveTurnId": null,
- "checkedAbsolutePathCount": 6,
- "allCheckedPathsExist": true,
- "checkedSymlinkCount": 0,
- "configuredSkillCount": 0,
- "skillCountProvenance": "Exact local controller runAttachTemplate.provider.runtimeContext.skills is an empty list",
- "runtimeInventory": {
- "depthLimit": 7,
- "totalSessionAndRuntimeFiles": 10,
- "acpxRuntimeFileCount": 2,
- "acpxSessionJsonPresent": false,
- "claudeLogPresent": false,
- "onlyRuntimeFiles": [
- "workspace",
- "claude-home/settings.json"
- ],
- "runtimeFileModifiedAt": "2026-10-11T04:21:49Z"
- },
- "journal": {
- "failedRunBootId": "4a7587c9-e811-41d5-893f-6e61d4f58bbe",
- "inspectionBootId": "9f75fb92-a50c-4c2d-90b0-6f4046f6342a",
- "entryCount": 0,
- "classification": "Failed-owner journal unavailable after provider archival and normal viewer reconnection into a new boot"
- },
- "conclusion": "Fresh provider remained prepared and has no persisted ACPX session JSON; exact pre-session failure step is not proven",
- "scope": "Read-only diagnosis after normal operator Computer Connect resumed the Boat; no separate observer wake, provider launch, cache write, checkpoint edit, or root reset",
- "evidence": [
- {
- "file": "retry-local40-boa17-controller-diagnostics.json",
- "sha256": "9f44e3e005167268701f2b61d47439d1b4810df8e94ade8acb81ada1820d6ffd"
- },
- {
- "file": "retry-local40-boa17-spans.json",
- "sha256": "0b358bbd53079ddea99e8bc02328fec14580a3a96b62560c213961636490174e"
- },
- {
- "file": "retry-local40-boa17-guest-diagnostics0429.json",
- "sha256": "db1b8383174cabdf0f1d2ab4b13d8aecd4616409e9439ed256f6d2d304c5253d"
- },
- {
- "file": "retry-local40-boa17-runtime-inventory0430.json",
- "sha256": "43c5c61ccf85c88a4045e42ecf4bc376d601109290247ed683f7f03ef4f2ed1e"
- }
- ]
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/local40-fresh-claude-outcome.json b/doc/plans/assets/2026-10-10-boat/evidence/local40-fresh-claude-outcome.json
deleted file mode 100644
index e7cad1a66a6..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/local40-fresh-claude-outcome.json
+++ /dev/null
@@ -1,71 +0,0 @@
-{
- "recordedAt": "2026-10-11T04:22:52.309Z",
- "servingSource": "8ccfdd3dd269e251ba652cfb1ea469dc0861068c",
- "taskId": "1f3d567e-ce93-42e4-b0cb-f785f6fa2e4c",
- "outcome": "FAILED: new Claude task timed out at PRP session.open before proof tools",
- "run": {
- "id": "62f9fedb-b3de-40fb-8f8d-ee8f3b2b30a6",
- "status": "failed",
- "created_at": "2026-10-11T04:19:43.150Z",
- "started_at": "2026-10-11T04:19:43.189Z",
- "finished_at": "2026-10-11T04:22:31.788Z",
- "error_code": "native_session_interrupted",
- "error": "runner_ingress_unavailable: PRP command session.open timed out",
- "native_session_id": "62610d06-b944-4af3-98aa-f77b83912b96",
- "runner_instance_id": "6649c475-f600-4067-9e34-f13081d935d5",
- "session_id_before": null,
- "session_id_after": null,
- "execution_stage": "preparing",
- "controller_lease_expires_at": "2026-10-11T04:21:41.442Z",
- "resultKeys": [],
- "forceFreshSession": false,
- "executionRecovery": null,
- "providerPackDigest": null
- },
- "latestLease": {
- "id": "3b6b742b-64fd-4625-8219-faee6a6ef0dd",
- "status": "released",
- "heartbeat_run_id": "62f9fedb-b3de-40fb-8f8d-ee8f3b2b30a6",
- "acquired_at": "2026-10-11T04:20:02.216Z",
- "released_at": "2026-10-11T04:22:34.597Z",
- "cleanup_status": "success"
- },
- "latestOwner": {
- "id": "03480f75-1b45-4c0f-917b-a2e8a85561a4",
- "phase": "retired",
- "generation": 1,
- "runId": "62f9fedb-b3de-40fb-8f8d-ee8f3b2b30a6",
- "sessionKey": "a72f640017d9be75ebc150a2536dcc040452c5bb146746774cf9e68983f5cc0f",
- "deadline": null,
- "process": {
- "nonce": "45855a9b-3ee6-46ee-b8c5-7f0ee985f256",
- "bootId": "4a7587c9-e811-41d5-893f-6e61d4f58bbe",
- "unitName": "paperclip-03480f75-1b45-4c0f-917b-a2e8a85561a4.service",
- "launchGeneration": 1
- }
- },
- "proofFilesVerifiedThisAttempt": false,
- "warmFollowupQualified": false,
- "oldQuarantinedTaskChanged": false,
- "guestReadsPerformed": false,
- "evidence": [
- {
- "file": "retry-local40-boa17-baseline.json",
- "sha256": "70140293f82a0da08b0ba5026377eaa83d8a5c93fadba8b10168c013056ed088"
- },
- {
- "file": "retry-local40-boa17-progress0421.json",
- "sha256": "0f5c76c7989f8b77847b590ce090ded53cfd28a8d4d6486add43942e9a0b8311"
- },
- {
- "file": "retry-local40-boa17-progress0422.json",
- "sha256": "0aa6ebd408dd3f2d30e5d9d88a93bb3836a5acdc91030cfbafe1ac4153884179"
- },
- {
- "file": "retry-local40-boa17-failure-events.json",
- "sha256": "11ea657a883da2bdbd8a60f9175f0f91a72cb817ed4b93efbc697775ff810cf2"
- }
- ],
- "requestedOuterEnvironmentRunnerSha256": "32c5ec947ad1541e34c6fa43fd40ef6ba4f5cb77ed4b063ccfcbd08f32f98ff1",
- "artifactSelectionCorrection": "Later inspection proved test-drive discards inherited PAPERCLIP_* overrides; unchanged saved fixture config selected the old runner and pack. The requested diagnostic runner SHA is not evidence of the executed artifact. See local-artifact-selection-correction.json."
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/local40-saved-claude-outcome.json b/doc/plans/assets/2026-10-10-boat/evidence/local40-saved-claude-outcome.json
deleted file mode 100644
index 56f37c3476d..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/local40-saved-claude-outcome.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "checkedAt": "2026-10-11T04:19:17.906Z",
- "servingSource": "8ccfdd3dd269e251ba652cfb1ea469dc0861068c",
- "outcome": "FAILED: historical saved session cannot resume from quarantined controller authority",
- "run": {
- "id": "6d3f8a42-a288-4c58-b3dd-309aef11a3d1",
- "status": "failed",
- "created_at": "2026-10-11T04:15:34.878Z",
- "started_at": "2026-10-11T04:15:34.911Z",
- "finished_at": "2026-10-11T04:18:16.508Z",
- "error_code": "adapter_failed",
- "error": "runner_state_identity_mismatch: durable_identity_unreadable",
- "native_session_id": "5f2470db-eb0f-4561-95a2-6dddf5646fa6",
- "runner_instance_id": "f7c84a3a-b36d-4885-ba30-91441a5f94f8",
- "session_id_before": "582fc37b-ddc7-4227-9378-1cbd052a36ea",
- "session_id_after": null,
- "execution_stage": "preparing",
- "controller_lease_expires_at": "2026-10-11T04:17:33.434Z",
- "resultKeys": [
- "stopReason",
- "timeoutFired",
- "timeoutSource",
- "timeoutConfigured",
- "effectiveTimeoutSec"
- ],
- "forceFreshSession": false,
- "executionRecovery": null,
- "providerPackDigest": null
- },
- "firstFailure": "PRP provider resume state is unavailable",
- "finalFailure": "runner_state_identity_mismatch: durable_identity_unreadable",
- "latestLease": {
- "id": "c89c3492-87cc-4901-932d-eeefca32161e",
- "status": "released",
- "heartbeat_run_id": "6d3f8a42-a288-4c58-b3dd-309aef11a3d1",
- "acquired_at": "2026-10-11T04:17:34.384Z",
- "released_at": "2026-10-11T04:18:19.344Z",
- "cleanup_status": "success"
- },
- "latestOwner": {
- "id": "5f8f7237-369d-4d6f-b5b5-65650fac7277",
- "phase": "retired",
- "generation": 1,
- "runId": "6d3f8a42-a288-4c58-b3dd-309aef11a3d1",
- "sessionKey": "49e146ed7d44b43e9080ba7f0119315bc30625354fb5f70e132d4f1df35d1231",
- "deadline": null,
- "process": null
- },
- "sidecarDiagnosticReached": false,
- "guestReadsPerformed": false,
- "mutationsPerformed": false,
- "evidence": [
- {
- "file": "retry-local37-claude-local40baseline0415.json",
- "sha256": "fe572aece722f31bbcb80b835ee74470aadfee38dbfe367a55e30ab8cad91c3f"
- },
- {
- "file": "retry-local37-claude-local40progress0416.json",
- "sha256": "33a3ab19db7b6b36d1d8d023ca73cd56301362f901b558ba99c6c39351a575b2"
- },
- {
- "file": "retry-local40-claude-failure-events.json",
- "sha256": "3dd5d214cb7a794977637b77a335f8c7069a14aeb408a57723c410fef550c538"
- },
- {
- "file": "retry-local40-controller-quarantine.json",
- "sha256": "aaf17532f1923846f6ba37c4b8e95a596f7ad81695d7202fa69e82fdae518d85"
- },
- {
- "file": "retry-local37-claude-local40final0419.json",
- "sha256": "c2cae51af8a1e36921d4102c20b16a7c350dc74fb9895a2a69f0c565b7ccd8cf"
- }
- ],
- "requestedOuterEnvironmentRunnerSha256": "32c5ec947ad1541e34c6fa43fd40ef6ba4f5cb77ed4b063ccfcbd08f32f98ff1",
- "artifactSelectionCorrection": "Later inspection proved test-drive discards inherited PAPERCLIP_* overrides; unchanged saved fixture config selected the old runner and pack. The requested diagnostic runner SHA is not evidence of the executed artifact. See local-artifact-selection-correction.json."
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/local42-claude-cold-warm-proof.json b/doc/plans/assets/2026-10-10-boat/evidence/local42-claude-cold-warm-proof.json
deleted file mode 100644
index b0faac6c224..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/local42-claude-cold-warm-proof.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "observedAt": "2026-10-11T05:08:59.461805+00:00",
- "task": "BOA-19",
- "source": "7c7c35b1ca2c82d378f49afdbb2d06bb8af5c673",
- "runs": [
- {
- "id": "ab152fcf-ea0a-4f74-b83b-24d0242bbe55",
- "status": "succeeded",
- "started_at": "2026-10-11T04:54:12.655Z",
- "finished_at": "2026-10-11T05:06:15.012Z",
- "native_session_id": "438f844d-05d6-4ce2-ba3e-edbd97abca66",
- "runner_instance_id": "13a06b89-735f-45d0-97cb-e41b4ff757cd",
- "session_id_before": null,
- "session_id_after": "1ef41bc8-eb7c-4d38-9b24-aa78b87de767",
- "error_code": null
- },
- {
- "id": "3c08b933-f8c6-455e-aadb-48c1a69c22ba",
- "status": "succeeded",
- "started_at": "2026-10-11T05:06:44.746Z",
- "finished_at": "2026-10-11T05:08:05.635Z",
- "native_session_id": "438f844d-05d6-4ce2-ba3e-edbd97abca66",
- "runner_instance_id": "13a06b89-735f-45d0-97cb-e41b4ff757cd",
- "session_id_before": "1ef41bc8-eb7c-4d38-9b24-aa78b87de767",
- "session_id_after": "1ef41bc8-eb7c-4d38-9b24-aa78b87de767",
- "error_code": null
- }
- ],
- "sameNativeSession": true,
- "sameRunnerInstance": true,
- "sameProviderThreadAfterWarm": true,
- "providerPackDigest": "sha256:af875f72dbce8bf9f1bb2cce962e8380d5b23dd72fb98c84d04e949d9665c719",
- "liveExecutableProof": {
- "checkedAt": "2026-10-11T05:08:12.695516+00:00",
- "ownerId": "8a4e0587-1400-423d-90d4-467fc5316e64",
- "bootId": "d4442d4d-66b7-4225-ab33-b1924fa0e575",
- "launchGeneration": 1,
- "pid": 61492,
- "startTicks": "80999",
- "runnerSha256": "366a0fe12a39a6be773540369cd577810590d1b0d03491e834b414575087a3c9",
- "runnerBytes": 37535320,
- "expectedHashMatches": true,
- "admissionStages": [],
- "journalExitCode": 0
- },
- "firstUseUpload": {
- "totalMiB": 1166,
- "completedAt": "2026-10-11T05:04:11.777Z"
- },
- "limitations": [
- "Per-stage timing not captured on successful admission",
- "Does not retroactively explain earlier timeouts",
- "Post-idle archival/resume not yet observed"
- ],
- "guestReadsEndedAt": "2026-10-11T05:08:12.695516+00:00",
- "artifactSource": "28d3fc1b6580ed2088f7c91b7bd61b8348ff1de7",
- "proofFiles": [
- {
- "name": "boat-final-claude.txt",
- "sha256": "14fa23911a1a95ede22a93f43fc027934b20a1ba497f8e6120abc8769498e124"
- },
- {
- "name": "boat-claude-framing-proof.txt",
- "sha256": "afaf525f4bf0c38614c5df0cf97140e7d1bf9cad96faa293e2317dc82116af4a"
- }
- ]
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/local42-claude-post-idle-failure.json b/doc/plans/assets/2026-10-10-boat/evidence/local42-claude-post-idle-failure.json
deleted file mode 100644
index 7dda2de080f..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/local42-claude-post-idle-failure.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "source": "7c7c35b1ca2c82d378f49afdbb2d06bb8af5c673",
- "artifactSource": "28d3fc1b6580ed2088f7c91b7bd61b8348ff1de7",
- "naturalArchive": {
- "checkedAt": "2026-10-11T05:14:37.554Z",
- "id": "bx_ndnggjad",
- "state": "archived",
- "health": "ok",
- "hydrated": true,
- "stop": {
- "id": "stop_e8b5186d69fc09f0",
- "status": "completed",
- "requestedAt": null,
- "lastAttemptAt": "2026-10-11T05:13:32.291Z",
- "endedAt": "2026-10-11T05:13:32.291Z",
- "error": null
- }
- },
- "postIdleFailure": {
- "at": "2026-10-11T05:19:01.255936+00:00",
- "identity": {
- "runnerInstanceId": "13a06b89-735f-45d0-97cb-e41b4ff757cd",
- "environmentLeaseId": "ab152fcf-ea0a-4f74-b83b-24d0242bbe55",
- "runId": "27aae78f-bf75-4c06-ba80-7d2f01b7df49",
- "normalizedSessionId": "438f844d-05d6-4ce2-ba3e-edbd97abca66",
- "turnId": "turn-27aae78f-bf75-4c06-ba80-7d2f01b7df49",
- "itemId": "item-27aae78f-bf75-4c06-ba80-7d2f01b7df49"
- },
- "providerPackDigests": [
- "af875f72dbce8bf9f1bb2cce962e8380d5b23dd72fb98c84d04e949d9665c719",
- "af875f72dbce8bf9f1bb2cce962e8380d5b23dd72fb98c84d04e949d9665c719"
- ],
- "connectionCount": 1,
- "events": 0,
- "commands": [
- {
- "type": "run.attach",
- "status": "failed",
- "result": {
- "commandId": "command_prp_00000001",
- "commandType": "run.attach",
- "controllerSeq": 1,
- "result": {
- "code": "command_execution_failed",
- "message": "failed to start ACPX provider: ACPX sidecar command session.open was rejected (retryable=false, classification=unclassified)"
- },
- "status": "failed"
- }
- }
- ]
- },
- "interpretation": "Cold and warm passed; ordinary post-idle continuation failed before provider work. The new runner connected, then the saved session.open was rejected. No proof-file read occurred and no reset or manual stop was used."
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/local44-claude-cold-warm.json b/doc/plans/assets/2026-10-10-boat/evidence/local44-claude-cold-warm.json
deleted file mode 100644
index 063b5087197..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/local44-claude-cold-warm.json
+++ /dev/null
@@ -1,83 +0,0 @@
-{
- "recordedAt": "2026-10-11T06:22:07.110957+00:00",
- "taskId": "6047cbba-7f5e-484a-bf02-0f4080bb2abd",
- "identifier": "BOA-20",
- "controllerSource": "441e88c09a4b16fd4f1403e6c4e813d00653edf5",
- "providerPackDigest": "sha256:d7275d9204e60a0a5dcb8dc536da95e945e6b90b7bdfda964d82084895ec5952",
- "nativeSessionId": "840002e9-636c-4467-8807-4f539b20532e",
- "coldAndWarmRuns": [
- {
- "id": "9c6e6129-7334-4ff3-9806-dfd6f62ebe7a",
- "status": "succeeded",
- "created_at": "2026-10-11T06:06:27.373Z",
- "started_at": "2026-10-11T06:06:27.408Z",
- "finished_at": "2026-10-11T06:18:48.433Z",
- "error_code": null,
- "error": null,
- "native_session_id": "840002e9-636c-4467-8807-4f539b20532e",
- "runner_instance_id": "7305da06-73ee-45d6-91ff-e97331c0c8cb",
- "session_id_before": null,
- "session_id_after": "27e34901-7792-4d23-9189-e2c2ead86f64",
- "execution_stage": "preparing"
- },
- {
- "id": "cee9d644-ee75-4fc3-8675-305e7c43ad0d",
- "status": "succeeded",
- "created_at": "2026-10-11T06:19:23.179Z",
- "started_at": "2026-10-11T06:19:23.228Z",
- "finished_at": "2026-10-11T06:21:16.372Z",
- "error_code": null,
- "error": null,
- "native_session_id": "840002e9-636c-4467-8807-4f539b20532e",
- "runner_instance_id": "7305da06-73ee-45d6-91ff-e97331c0c8cb",
- "session_id_before": "27e34901-7792-4d23-9189-e2c2ead86f64",
- "session_id_after": "27e34901-7792-4d23-9189-e2c2ead86f64",
- "execution_stage": "preparing"
- }
- ],
- "warmOwner": {
- "id": "d5e181b2-0f13-477c-a467-f7ba6178efa6",
- "kind": "runner",
- "phase": "warm",
- "runId": "cee9d644-ee75-4fc3-8675-305e7c43ad0d",
- "deadline": "2026-10-11T06:26:16.327Z",
- "generation": 2,
- "process": {
- "nonce": "b695c043-2e2a-4aaf-87b4-bf4e67b046f4",
- "bootId": "16f7855c-bb8d-47ad-9c8c-73b4b5859fc2",
- "unitName": "paperclip-d5e181b2-0f13-477c-a467-f7ba6178efa6.service",
- "launchGeneration": 1
- }
- },
- "liveExecutableProof": {
- "sandboxId": "bx_ndnggjad",
- "exitCode": 0,
- "timedOut": false,
- "data": {
- "checkedAt": "2026-10-11T06:18:56.753083+00:00",
- "ownerId": "d5e181b2-0f13-477c-a467-f7ba6178efa6",
- "bootId": "16f7855c-bb8d-47ad-9c8c-73b4b5859fc2",
- "launchGeneration": 1,
- "pid": 65892,
- "startTicks": "85589",
- "runnerSha256": "8f90f35f94f2266b0a441a0013b73c3a7ba1f736de6a21b541c96da0f8de5f05",
- "runnerBytes": 37554768,
- "expectedHashMatches": true,
- "admissionStages": [],
- "journalExitCode": 0
- },
- "error": null
- },
- "postArchiveContinuation": "Pending natural expiry/archive and ordinary UI continuation",
- "observerPolicy": "No guest reads after initial executable hash; no runtime executable prewarming, owner renewal, or provider wake by diagnostics.",
- "browserProof": {
- "warmCommandUtc": "2026-10-11T06:21:01Z",
- "hostname": "box-node-48caa46a23581168",
- "proofHashes": {
- "boat-final-claude.txt": "14fa23911a1a95ede22a93f43fc027934b20a1ba497f8e6120abc8769498e124",
- "boat-claude-framing-proof.txt": "afaf525f4bf0c38614c5df0cf97140e7d1bf9cad96faa293e2317dc82116af4a"
- },
- "observation": "Expanded actual warm command output in the task UI; final task status Done.",
- "screenshot": "../local-44-claude-warm-proof.png"
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/local44-post-idle-verifier-failure.json b/doc/plans/assets/2026-10-10-boat/evidence/local44-post-idle-verifier-failure.json
deleted file mode 100644
index 0a2018f0c0e..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/local44-post-idle-verifier-failure.json
+++ /dev/null
@@ -1,287 +0,0 @@
-{
- "recordedAt": "2026-10-11T06:38:14.597216+00:00",
- "scope": "Local44 BOA20 natural archive continuation and bounded read-only installation diagnosis",
- "controllerSource": "441e88c09a4b16fd4f1403e6c4e813d00653edf5",
- "providerPackDigest": "sha256:d7275d9204e60a0a5dcb8dc536da95e945e6b90b7bdfda964d82084895ec5952",
- "runnerSha256": "8f90f35f94f2266b0a441a0013b73c3a7ba1f736de6a21b541c96da0f8de5f05",
- "coldAndWarmRuns": [
- {
- "id": "9c6e6129-7334-4ff3-9806-dfd6f62ebe7a",
- "status": "succeeded",
- "created_at": "2026-10-11T06:06:27.373Z",
- "started_at": "2026-10-11T06:06:27.408Z",
- "finished_at": "2026-10-11T06:18:48.433Z",
- "error_code": null,
- "error": null,
- "native_session_id": "840002e9-636c-4467-8807-4f539b20532e",
- "runner_instance_id": "7305da06-73ee-45d6-91ff-e97331c0c8cb",
- "session_id_before": null,
- "session_id_after": "27e34901-7792-4d23-9189-e2c2ead86f64",
- "execution_stage": "preparing"
- },
- {
- "id": "cee9d644-ee75-4fc3-8675-305e7c43ad0d",
- "status": "succeeded",
- "created_at": "2026-10-11T06:19:23.179Z",
- "started_at": "2026-10-11T06:19:23.228Z",
- "finished_at": "2026-10-11T06:21:16.372Z",
- "error_code": null,
- "error": null,
- "native_session_id": "840002e9-636c-4467-8807-4f539b20532e",
- "runner_instance_id": "7305da06-73ee-45d6-91ff-e97331c0c8cb",
- "session_id_before": "27e34901-7792-4d23-9189-e2c2ead86f64",
- "session_id_after": "27e34901-7792-4d23-9189-e2c2ead86f64",
- "execution_stage": "preparing"
- }
- ],
- "warmOwner": {
- "id": "d5e181b2-0f13-477c-a467-f7ba6178efa6",
- "kind": "runner",
- "phase": "warm",
- "runId": "cee9d644-ee75-4fc3-8675-305e7c43ad0d",
- "deadline": "2026-10-11T06:26:16.327Z",
- "generation": 2,
- "process": {
- "nonce": "b695c043-2e2a-4aaf-87b4-bf4e67b046f4",
- "bootId": "16f7855c-bb8d-47ad-9c8c-73b4b5859fc2",
- "unitName": "paperclip-d5e181b2-0f13-477c-a467-f7ba6178efa6.service",
- "launchGeneration": 1
- }
- },
- "naturalArchive": {
- "ownerObservation": {
- "checkedAt": "2026-10-11T06:26:38.488Z",
- "owners": [
- {
- "id": "d5e181b2-0f13-477c-a467-f7ba6178efa6",
- "kind": "runner",
- "phase": "retired",
- "runId": "cee9d644-ee75-4fc3-8675-305e7c43ad0d",
- "deadline": null,
- "generation": 2,
- "process": {
- "nonce": "b695c043-2e2a-4aaf-87b4-bf4e67b046f4",
- "bootId": "16f7855c-bb8d-47ad-9c8c-73b4b5859fc2",
- "unitName": "paperclip-d5e181b2-0f13-477c-a467-f7ba6178efa6.service",
- "launchGeneration": 1
- }
- }
- ]
- },
- "providerObservation": {
- "checkedAt": "2026-10-11T06:26:39.083Z",
- "id": "bx_ndnggjad",
- "state": "archived",
- "health": "ok",
- "hydrated": true,
- "stop": {
- "id": "stop_c8707baff7f892a5",
- "status": "completed",
- "requestedAt": null,
- "lastAttemptAt": "2026-10-11T06:26:38.799Z",
- "endedAt": "2026-10-11T06:26:38.799Z",
- "error": null
- }
- }
- },
- "postArchiveContinuation": {
- "status": "failed",
- "run": {
- "id": "d15ad748-c235-43d2-9752-c48884ae64f5",
- "status": "failed",
- "created_at": "2026-10-11T06:26:57.875Z",
- "started_at": "2026-10-11T06:26:57.915Z",
- "finished_at": "2026-10-11T06:31:07.817Z",
- "error_code": "adapter_failed",
- "error": "runner_state_identity_mismatch: authority_indeterminate",
- "native_session_id": "840002e9-636c-4467-8807-4f539b20532e",
- "runner_instance_id": "7305da06-73ee-45d6-91ff-e97331c0c8cb",
- "session_id_before": "27e34901-7792-4d23-9189-e2c2ead86f64",
- "session_id_after": null,
- "execution_stage": "preparing"
- },
- "primaryFailure": "ACPX session.open rejected at installation; classification unclassified; admissionElapsedMs1 is stage-entry timestamp, not duration",
- "finalRecoveryFailure": "runner_state_identity_mismatch: authority_indeterminate",
- "selection": {
- "checkedAt": "2026-10-11T06:29:05.049103+00:00",
- "controllerIdentity": {
- "runId": "d15ad748-c235-43d2-9752-c48884ae64f5",
- "runnerInstanceId": "7305da06-73ee-45d6-91ff-e97331c0c8cb"
- },
- "normalizedSessionId": "840002e9-636c-4467-8807-4f539b20532e",
- "providerPackDigests": [
- "d7275d9204e60a0a5dcb8dc536da95e945e6b90b7bdfda964d82084895ec5952"
- ],
- "connectionCount": 0,
- "committedEventCount": 0
- },
- "physicalOwner": {
- "id": "0b8213e7-a2b4-41c6-998f-13f74d132195",
- "kind": "runner",
- "phase": "active",
- "runId": "d15ad748-c235-43d2-9752-c48884ae64f5",
- "deadline": null,
- "generation": 1,
- "process": {
- "nonce": "6a7e1b3b-293c-4fa7-828a-09c7f8d6f1b0",
- "bootId": "0b4e5377-4b72-4b34-9c18-f8831418ded3",
- "unitName": "paperclip-0b8213e7-a2b4-41c6-998f-13f74d132195.service",
- "launchGeneration": 1
- }
- },
- "providerAfterCleanup": {
- "checkedAt": "2026-10-11T06:32:32.285Z",
- "id": "bx_ndnggjad",
- "state": "archived",
- "health": "ok",
- "hydrated": false,
- "stop": {
- "id": "stop_3e55ba3a77866beb",
- "status": "completed",
- "requestedAt": null,
- "lastAttemptAt": "2026-10-11T06:32:03.557Z",
- "endedAt": "2026-10-11T06:32:03.557Z",
- "error": null
- }
- },
- "prewarmProbePerformed": false
- },
- "diagnosticViewer": {
- "connectedViaNormalUI": true,
- "noProviderLaunch": true,
- "openCommandInvoked": false,
- "closedNormallyAt": "2026-10-11T06:35:53Z"
- },
- "diagnosis": {
- "firstRejection": "executable_changed",
- "function": "inspectCommand",
- "compiledSourceLine": 811,
- "distModule": "drivers/acpx/installation-integrity.js",
- "nativeExecutableUntouchedAtFirstRejection": true,
- "repeatVerifierResult": "verified",
- "nativeCtimeBefore": "1791698515000000000",
- "nativeCtimeAfter": "1791700469000000000",
- "nativeDigestRemainedQualified": true,
- "javascriptCommandDigest": "sha256:9d73d1f0f121fb96cc8badb28c22d5bff02d8582eb2e40360a81c189e1b9422a",
- "javascriptCommandBytes": 4134,
- "javascriptCommandCtimeMatchesFirstRead": "1791700441000000000",
- "conclusion": "Native executable bounded verification works on first-read ctime transition; separate JavaScript command inspectCommand still rejects. Local archive/resume acceptance failed.",
- "limitation": "Exact first-before JavaScript command stat was not captured; rejection source is directly observed, and post-read ctime matches first verifier timestamp."
- },
- "diagnosticReceipts": [
- {
- "name": "retry-local44-installation-readonly-first.json",
- "sha256": "db3e6da2d809c176dccf0123a5879cc7aa8b14a77d0dddb45ce3c193cc2523b7",
- "data": {
- "checkedAt": "2026-10-11T06:34:01.353Z",
- "elapsedMs": 274,
- "result": "rejected",
- "category": "executable_changed",
- "code": "other",
- "messageSha256": "d67a007258a29ab33413b90cdf588b2e95e679138cf51ff2b32c47aa03c95161",
- "sourceFunctions": [
- "verifyQualifiedAcpxInstallation",
- "inspectCommand"
- ],
- "sourceLines": [
- {
- "line": 811,
- "column": 19
- },
- {
- "line": 511,
- "column": 21
- }
- ],
- "before": {
- "dev": "78",
- "ino": "12942",
- "size": "241667256",
- "mode": "33216",
- "mtimeNs": "1791698515000000000",
- "ctimeNs": "1791698515000000000"
- },
- "after": {
- "dev": "78",
- "ino": "12942",
- "size": "241667256",
- "mode": "33216",
- "mtimeNs": "1791698515000000000",
- "ctimeNs": "1791698515000000000"
- },
- "openCommandInvoked": false
- }
- },
- {
- "name": "retry-local44-installation-readonly-repeat.json",
- "sha256": "0d78e390f83a78f6a4f30483ae0cff2353cff6b8b38ffb898fd632e02e8ec62f",
- "data": {
- "checkedAt": "2026-10-11T06:34:29.607Z",
- "elapsedMs": 1851,
- "result": "verified",
- "commandDigest": "sha256:9d73d1f0f121fb96cc8badb28c22d5bff02d8582eb2e40360a81c189e1b9422a",
- "before": {
- "dev": "78",
- "ino": "12942",
- "size": "241667256",
- "mode": "33216",
- "mtimeNs": "1791698515000000000",
- "ctimeNs": "1791698515000000000"
- },
- "after": {
- "dev": "78",
- "ino": "12942",
- "size": "241667256",
- "mode": "33216",
- "mtimeNs": "1791698515000000000",
- "ctimeNs": "1791700469000000000"
- },
- "openCommandInvoked": false
- }
- },
- {
- "name": "retry-local44-command-stat-readonly.json",
- "sha256": "f6c37a1af5f99da66746d508f4d7eb01c4ff9c054ee506fc9bbd4dbe9937f759",
- "data": {
- "checkedAt": "2026-10-11T06:35:16.950Z",
- "elapsedMs": 10,
- "lexicalBefore": {
- "dev": "78",
- "ino": "12944",
- "size": "4134",
- "mode": "33216",
- "mtimeNs": "1791698514000000000",
- "ctimeNs": "1791700441000000000"
- },
- "before": {
- "dev": "78",
- "ino": "12944",
- "size": "4134",
- "mode": "33216",
- "mtimeNs": "1791698514000000000",
- "ctimeNs": "1791700441000000000"
- },
- "after": {
- "dev": "78",
- "ino": "12944",
- "size": "4134",
- "mode": "33216",
- "mtimeNs": "1791698514000000000",
- "ctimeNs": "1791700441000000000"
- },
- "lexicalAfter": {
- "dev": "78",
- "ino": "12944",
- "size": "4134",
- "mode": "33216",
- "mtimeNs": "1791698514000000000",
- "ctimeNs": "1791700441000000000"
- },
- "position": 4134,
- "reads": 1,
- "lastRead": 4134,
- "digest": "9d73d1f0f121fb96cc8badb28c22d5bff02d8582eb2e40360a81c189e1b9422a"
- }
- }
- ]
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/local45-claude-lifecycle.json b/doc/plans/assets/2026-10-10-boat/evidence/local45-claude-lifecycle.json
deleted file mode 100644
index 5d3871f8ddd..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/local45-claude-lifecycle.json
+++ /dev/null
@@ -1,198 +0,0 @@
-{
- "recordedAt": "2026-10-11T07:00:01.646823+00:00",
- "taskId": "ef14981f-cdab-42ef-a963-309c052e5808",
- "identifier": "BOA-21",
- "controllerSource": "3f0efd3f7274e61590cf4bf3e237b75b4f7ff167",
- "fixSource": "16f1c67531ea1e46fe93ece4326c982bb53e5f04",
- "providerPackDigest": "sha256:4e9ede0507204690c01d943f61e5189efdfe38855f4f8952d88045ce7a71f13d",
- "coldAndWarmRuns": [
- {
- "id": "f32eda91-446b-4eae-bacc-ff95211302f4",
- "status": "succeeded",
- "created_at": "2026-10-11T06:45:42.106Z",
- "started_at": "2026-10-11T06:45:42.143Z",
- "finished_at": "2026-10-11T06:56:59.596Z",
- "error_code": null,
- "error": null,
- "native_session_id": "f408ef63-1ad4-4229-9bf0-2eb8ecdbe5ad",
- "runner_instance_id": "35d2bd79-6e2c-4e09-a375-8bfc132ab3a2",
- "session_id_before": null,
- "session_id_after": "41a0d5cd-fa74-46bd-b098-0167e80c6758",
- "execution_stage": "preparing"
- },
- {
- "id": "dba6f9fd-3537-490b-ac47-b455b8a0d388",
- "status": "succeeded",
- "created_at": "2026-10-11T06:57:42.335Z",
- "started_at": "2026-10-11T06:57:42.372Z",
- "finished_at": "2026-10-11T06:58:57.712Z",
- "error_code": null,
- "error": null,
- "native_session_id": "f408ef63-1ad4-4229-9bf0-2eb8ecdbe5ad",
- "runner_instance_id": "35d2bd79-6e2c-4e09-a375-8bfc132ab3a2",
- "session_id_before": "41a0d5cd-fa74-46bd-b098-0167e80c6758",
- "session_id_after": "41a0d5cd-fa74-46bd-b098-0167e80c6758",
- "execution_stage": "preparing"
- }
- ],
- "warmOwner": {
- "id": "fbc45caa-0c3b-40f5-8e1c-5736dbfa31b2",
- "kind": "runner",
- "phase": "warm",
- "runId": "dba6f9fd-3537-490b-ac47-b455b8a0d388",
- "deadline": "2026-10-11T07:03:57.669Z",
- "generation": 2,
- "process": {
- "nonce": "f3633c99-0dd1-49d3-aa74-e3f1ecdd7180",
- "bootId": "1ecbeef9-edbe-4347-ab7a-c24e0a528441",
- "unitName": "paperclip-fbc45caa-0c3b-40f5-8e1c-5736dbfa31b2.service",
- "launchGeneration": 1
- }
- },
- "liveRunnerExecutableProof": {
- "sandboxId": "bx_ndnggjad",
- "exitCode": 0,
- "timedOut": false,
- "data": {
- "checkedAt": "2026-10-11T06:57:03.136619+00:00",
- "ownerId": "fbc45caa-0c3b-40f5-8e1c-5736dbfa31b2",
- "bootId": "1ecbeef9-edbe-4347-ab7a-c24e0a528441",
- "launchGeneration": 1,
- "pid": 57415,
- "startTicks": "86874",
- "runnerSha256": "8f90f35f94f2266b0a441a0013b73c3a7ba1f736de6a21b541c96da0f8de5f05",
- "runnerBytes": 37554768,
- "expectedHashMatches": true,
- "admissionStages": [],
- "journalExitCode": 0
- },
- "error": null
- },
- "postArchiveContinuation": {
- "status": "failed",
- "runId": "ec0b5e2b-aea3-42d3-b2ac-f0a0cf714393",
- "nativeSessionId": "f408ef63-1ad4-4229-9bf0-2eb8ecdbe5ad",
- "runnerInstanceId": "35d2bd79-6e2c-4e09-a375-8bfc132ab3a2",
- "providerThreadBefore": "41a0d5cd-fa74-46bd-b098-0167e80c6758",
- "providerThreadAfter": "41a0d5cd-fa74-46bd-b098-0167e80c6758",
- "physicalOwner": {
- "id": "0dfa2b99-4fa1-476e-908f-9fdf69347a80",
- "kind": "runner",
- "phase": "active",
- "runId": "ec0b5e2b-aea3-42d3-b2ac-f0a0cf714393",
- "deadline": null,
- "generation": 1,
- "process": {
- "nonce": "d4efda7e-739b-4284-ab6c-e87b8784f7d9",
- "bootId": "2968e236-5a78-4193-9e6c-a113bb913074",
- "unitName": "paperclip-0dfa2b99-4fa1-476e-908f-9fdf69347a80.service",
- "launchGeneration": 1
- }
- },
- "selectedProviderPackDigest": "4e9ede0507204690c01d943f61e5189efdfe38855f4f8952d88045ce7a71f13d",
- "sessionReopen": "resumed",
- "primaryFailure": {
- "observedFinishedAt": "2026-10-11T07:10:53.266Z",
- "code": "provider_transport_failed",
- "command": "turn.start",
- "cause": "ACPX sidecar request timed out at turn.start",
- "lastAdmissionStage": "ready",
- "lastAdmissionElapsedMs": 2520,
- "sessionOnlyEventTypes": [
- "session.resumed",
- "session.capabilities.updated",
- "session.goal.snapshot",
- "run.attached"
- ],
- "providerOutputObserved": false,
- "turnStartIssuedAt": "2026-10-11T07:09:59.312Z",
- "transportCloseStartedAt": "2026-10-11T07:10:29.315Z",
- "elapsedUntilTransportCloseMs": 30003
- },
- "automaticRecovery": {
- "finishedAt": "2026-10-11T07:12:22.183Z",
- "code": "adapter_failed",
- "message": "runner_state_identity_mismatch: authority_indeterminate",
- "identityRotated": false,
- "succeeded": false,
- "kind": "scheduled_quarantined_cleanup_recovery"
- },
- "guestObserverReadsBeforeAdmission": false,
- "fixtureResetOrManualRetry": false,
- "acceptance": "not_passed"
- },
- "observerPolicy": "After the cold runner hash at 06:57:03, no guest observer reads occurred through the failed post-idle admission and cleanup. Later bounded read-only diagnosis used a normal viewer after terminal failure (07:16:10\u201307:17:17); viewer closed normally 07:17:42. No provider commands, resets, or cache mutations.",
- "naturalArchive": {
- "owner": {
- "checkedAt": "2026-10-11T07:06:28.446Z",
- "owners": [
- {
- "id": "fbc45caa-0c3b-40f5-8e1c-5736dbfa31b2",
- "kind": "runner",
- "phase": "retired",
- "runId": "dba6f9fd-3537-490b-ac47-b455b8a0d388",
- "deadline": null,
- "generation": 2,
- "process": {
- "nonce": "f3633c99-0dd1-49d3-aa74-e3f1ecdd7180",
- "bootId": "1ecbeef9-edbe-4347-ab7a-c24e0a528441",
- "unitName": "paperclip-fbc45caa-0c3b-40f5-8e1c-5736dbfa31b2.service",
- "launchGeneration": 1
- }
- }
- ]
- },
- "provider": {
- "checkedAt": "2026-10-11T07:06:28.906Z",
- "id": "bx_ndnggjad",
- "state": "archived",
- "health": "ok",
- "hydrated": true,
- "stop": {
- "id": "stop_629e46626e5468c5",
- "status": "completed",
- "requestedAt": null,
- "lastAttemptAt": "2026-10-11T07:04:20.880Z",
- "endedAt": "2026-10-11T07:04:20.880Z",
- "error": null
- }
- },
- "guestReadsSinceWarmTurn": false
- },
- "updatedAt": "2026-10-11T07:12:53.893381+00:00",
- "proofFiles": [
- {
- "name": "boat-final-claude.txt",
- "sha256": "14fa23911a1a95ede22a93f43fc027934b20a1ba497f8e6120abc8769498e124",
- "verifiedIn": [
- "cold",
- "warm"
- ]
- },
- {
- "name": "boat-claude-framing-proof.txt",
- "sha256": "afaf525f4bf0c38614c5df0cf97140e7d1bf9cad96faa293e2317dc82116af4a",
- "verifiedIn": [
- "cold",
- "warm"
- ]
- }
- ],
- "postFailureReadOnlyDiagnosis": {
- "viewerOwnerId": "020eea2f-f880-44c7-9c6f-4d6d78135611",
- "observedAt": "2026-10-11T07:17:17.209Z",
- "viewerClosedAt": "2026-10-11T07:17:42Z",
- "acpxLastPromptAt": "2026-10-11T07:09:59.511Z",
- "acpxLastRequestMatchesFailedTurn": false,
- "acpxAgentStartedAt": "2026-10-11T06:58:37.408Z",
- "claudeLastAssistantTimestamp": "2026-10-11T06:58:56.236Z",
- "claudePostIdleMessagesObserved": false,
- "runnerLifecycle": "suspended",
- "providerLifecycle": "closed",
- "activeTurnId": null,
- "providerExitUnconfirmed": false,
- "conclusion": "Turn preparation persisted; live ready checkpoint was not observed. The exact spawn/initialize/session-load/ownership blocker remains undetermined.",
- "providerExecution": false,
- "guestFileChanges": false
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/local46-upload-failure.json b/doc/plans/assets/2026-10-10-boat/evidence/local46-upload-failure.json
deleted file mode 100644
index 17e9370a900..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/local46-upload-failure.json
+++ /dev/null
@@ -1,97 +0,0 @@
-{
- "recordedAt": "2026-10-11T07:45:33.625875Z",
- "taskId": "0ce8247c-b59d-48c3-aa8c-d5a6ae23e96b",
- "identifier": "BOA-22",
- "controllerSource": "ad4b3d18983f71b1fadc3fb8f861d780b0daddb8",
- "diagnosticSource": "86c1aa2b0c53b1b41888cea6b8e04e42e28dd05c",
- "providerPackDigest": "sha256:4ef25756f766016da224f37f68c138c0c4a9ef9d128e6c2fc415f5c57ce38573",
- "configuredRunnerSha256": "b47ed0f4f29e4c945d12fa4f351c01ee5f03685974bf03591689969bb3b85b73",
- "coldRunId": "56196b7d-3a87-4877-b27f-787e1be86227",
- "nativeSessionId": "2b031719-1b4b-4fc4-a602-43034c76f4b9",
- "runnerInstanceId": "f3fcd722-3064-463e-b666-06b2e13afc70",
- "status": "cold_upload_failed",
- "observerPolicy": "Local controller/DB reads only. No guest prewarming.",
- "acceptance": "failed_before_provider_work",
- "terminal": {
- "checkedAt": "2026-10-11T07:45:33.602Z",
- "issues": [
- {
- "id": "0ce8247c-b59d-48c3-aa8c-d5a6ae23e96b",
- "identifier": "BOA-22",
- "title": "Qualify Boat Claude restore lifecycle with startup diagnostics. Read the existing $AGENT_HOME/boat-final-claude.txt and ",
- "status": "blocked"
- }
- ],
- "runs": [
- {
- "id": "56196b7d-3a87-4877-b27f-787e1be86227",
- "status": "failed",
- "created_at": "2026-10-11T07:33:18.236Z",
- "started_at": "2026-10-11T07:33:18.269Z",
- "finished_at": "2026-10-11T07:43:55.690Z",
- "error_code": "native_session_interrupted",
- "error": "runner_remote_directory_staging_failed: exit=null timedOut=true Computer command timed out waiting for SSH admission",
- "native_session_id": "2b031719-1b4b-4fc4-a602-43034c76f4b9",
- "runner_instance_id": "f3fcd722-3064-463e-b666-06b2e13afc70",
- "session_id_before": null,
- "session_id_after": null,
- "execution_stage": "preparing",
- "resultKeys": [],
- "executionRecovery": null
- }
- ]
- },
- "observation": {
- "checkedAt": "2026-10-11T07:45:33.625875+00:00",
- "runId": "56196b7d-3a87-4877-b27f-787e1be86227",
- "progress": [
- {
- "timestamp": "2026-10-11T07:35:11.637Z",
- "message": "[paperclip-runner] Preparing the provider pack for first use.\n"
- },
- {
- "timestamp": "2026-10-11T07:36:33.640Z",
- "message": "[paperclip-runner] Uploading provider pack: 0 / 1166 MiB.\n"
- },
- {
- "timestamp": "2026-10-11T07:39:25.242Z",
- "message": "[paperclip-runner] Uploading provider pack: 32 / 1166 MiB.\n"
- },
- {
- "timestamp": "2026-10-11T07:40:00.138Z",
- "message": "[paperclip-runner] Uploading provider pack: 64 / 1166 MiB.\n"
- },
- {
- "timestamp": "2026-10-11T07:40:33.453Z",
- "message": "[paperclip-runner] Uploading provider pack: 96 / 1166 MiB.\n"
- }
- ],
- "controller": {
- "identity": {
- "runId": "56196b7d-3a87-4877-b27f-787e1be86227",
- "runnerInstanceId": "f3fcd722-3064-463e-b666-06b2e13afc70"
- },
- "normalizedSessionId": "2b031719-1b4b-4fc4-a602-43034c76f4b9",
- "packDigests": [
- "4ef25756f766016da224f37f68c138c0c4a9ef9d128e6c2fc415f5c57ce38573"
- ],
- "connections": 0,
- "committedEvents": 0,
- "commands": [
- {
- "type": "run.prepare",
- "status": "pending"
- },
- {
- "type": "session.open",
- "status": "pending"
- }
- ]
- }
- },
- "cleanup": {
- "providerStop": "stop_f37402c7ed7a822d",
- "completedAt": "2026-10-11T07:43:58.300Z",
- "classification": "completed after run failure; not evidence of premature archive"
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/local47-upload-failure.json b/doc/plans/assets/2026-10-10-boat/evidence/local47-upload-failure.json
deleted file mode 100644
index 8f8a981db5f..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/local47-upload-failure.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "checkedAt": "2026-10-11T08:14:57.809071+00:00",
- "issueId": "0ce8247c-b59d-48c3-aa8c-d5a6ae23e96b",
- "identifier": "BOA-22",
- "controllerSource": "ecc9b2fa9fe28d214d5c6b9db82b46cf19ba22cc",
- "coreCorrections": [
- "8198c9a571ea24aedc32040d0ebae90535694421",
- "d14578ad13e681cd5dde0025061c8b1493b0aed1"
- ],
- "artifactSource": "86c1aa2b0c53b1b41888cea6b8e04e42e28dd05c",
- "providerPackDigest": "sha256:4ef25756f766016da224f37f68c138c0c4a9ef9d128e6c2fc415f5c57ce38573",
- "configuredRunnerSha256": "b47ed0f4f29e4c945d12fa4f351c01ee5f03685974bf03591689969bb3b85b73",
- "runId": "6bc40f44-946c-4ed5-ba4c-b58dea5fe1c1",
- "nativeSessionId": "007cb3e0-e42b-445d-bcaf-84c9a66943ef",
- "runnerInstanceId": "ad29bcb9-506b-49eb-bf8c-60646c0788cb",
- "startedAt": "2026-10-11T08:04:17.255Z",
- "finishedAt": "2026-10-11T08:11:43.478Z",
- "status": "failed_before_provider",
- "errorCode": "native_session_interrupted",
- "error": "Computer upload timed out waiting for capacity",
- "providerConnections": 0,
- "committedProviderEvents": 0,
- "runnerArtifactPreparationMs": 343560,
- "providerPackUploadProgressObserved": false,
- "operatorAction": "Ordinary task comment; no reset or manual session change. Product chose a new session after the preceding pre-provider failure.",
- "observerPolicy": "Read-only controller/DB/event metadata and task-owned host process names/elapsed times. No guest reads or prewarming.",
- "diagnosis": {
- "proven": "An artifact chunk expired waiting for the shared upload slot while other chunks retained slots; runner artifact preparation failed before provider-pack preparation or provider launch.",
- "hostSnapshot": {
- "checkedAt": "2026-10-11T08:11:00.088Z",
- "sshChildCount": 1,
- "sshElapsedSeconds": 157
- },
- "unknown": "No retained per-chunk phase/result log identifies whether active work waited in SSH transfer, remote owner-lock setup, unit launch, foreground completion, or close/cleanup. The first queue error masks later active chunk errors.",
- "deadlineContract": "Raw SSH timer starts before stdin submission; SIGTERM at deadline, SIGKILL after5s, settlement awaits close and auth cleanup. Host snapshot does not prove a timeout overrun.",
- "nextEvidence": "Closed per-chunk phase and outcome timings, without payload/argv/path output. No further timeout/backpressure change justified from this result."
- },
- "acceptance": "not_passed"
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/local48-artifact-selection.json b/doc/plans/assets/2026-10-10-boat/evidence/local48-artifact-selection.json
deleted file mode 100644
index 9ec842c1379..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/local48-artifact-selection.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "checkedAt": "2026-10-11T08:28:45.216972+00:00",
- "controllerSource": "9808eae33768f4a8beb31f3955737713a5f737ae",
- "selectedArtifactPaths": {
- "PAPERCLIP_RUNNER_REMOTE_BINARY_PATH": "/tmp/boat-architect/linux-turn-diagnostics-86c1aa/paperclip-runnerd",
- "PAPERCLIP_RUNNER_REMOTE_PROVIDER_PACK_PATH": "/tmp/boat-architect/linux-turn-diagnostics-86c1aa/provider-pack"
- },
- "diagnosticsOptIn": "Inherited launch flag stripped by test-drive prepareTestDriveEnvironment before saved.env loading",
- "preservedData": true,
- "artifactSource": "86c1aa2b0c53b1b41888cea6b8e04e42e28dd05c",
- "previousGracefulDrainInterruptedRuns": 0,
- "diagnosticsEnabled": false,
- "instrumentationOutcome": "inconclusive: disabled"
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/local48-lifecycle.json b/doc/plans/assets/2026-10-10-boat/evidence/local48-lifecycle.json
deleted file mode 100644
index 0fb299f6618..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/local48-lifecycle.json
+++ /dev/null
@@ -1,164 +0,0 @@
-{
- "schema": "boat-local-lifecycle-proof/v1",
- "capturedAt": "2026-10-11T09:15:19.386360+00:00",
- "fixture": "local48 BOA22",
- "controllerSource": "9808eae33768f4a8beb31f3955737713a5f737ae",
- "coreDiagnosticsCommit": "4e489a1014ce4d926d1a6eb4b41a4aeb55b28a70",
- "runtimeArtifactSource": "86c1aa2b0c53b1b41888cea6b8e04e42e28dd05c",
- "runnerBinarySha256": "b47ed0f4f29e4c945d12fa4f351c01ee5f03685974bf03591689969bb3b85b73",
- "providerPackDigest": "sha256:4ef25756f766016da224f37f68c138c0c4a9ef9d128e6c2fc415f5c57ce38573",
- "diagnosticsEnabled": false,
- "instrumentationOutcome": "Upload diagnostic opt-in was stripped by test-drive isolation; chunk-level evidence is inconclusive. Runtime startup diagnostics from the qualified pack are enabled.",
- "observerPolicy": "Controller files, local SQL and provider GET only throughout cold, warm, natural idle and failed post-idle continuation; no guest reads, manual cache warming, session reset, or observer lifecycle mutation.",
- "cold": {
- "runId": "2651f86d-f9a0-4461-93b3-91908de09179",
- "startedAt": "2026-10-11T08:29:28.669Z",
- "finishedAt": "2026-10-11T08:40:21.872Z",
- "status": "succeeded",
- "uploadMiB": 1166,
- "uploadStartedAt": "2026-10-11T08:32:15.254Z",
- "uploadCompletedAt": "2026-10-11T08:38:41.022Z",
- "providerPackVerifiedAt": "2026-10-11T08:39:17.727Z",
- "providerPackVerificationMs": 5872,
- "startupStages": [
- {
- "code": "admission_binding",
- "elapsedMs": 0
- },
- {
- "code": "admission_installation",
- "elapsedMs": 1
- },
- {
- "code": "admission_sandbox",
- "elapsedMs": 149
- },
- {
- "code": "admission_lifetime",
- "elapsedMs": 161
- },
- {
- "code": "admission_agent_files",
- "elapsedMs": 164
- },
- {
- "code": "admission_skills",
- "elapsedMs": 164
- },
- {
- "code": "admission_command",
- "elapsedMs": 165
- },
- {
- "code": "admission_tool_bridge",
- "elapsedMs": 273
- },
- {
- "code": "admission_handshake",
- "elapsedMs": 331
- },
- {
- "code": "admission_verification",
- "elapsedMs": 1185
- },
- {
- "code": "admission_ready",
- "elapsedMs": 1186
- },
- {
- "code": "admission_turn_prepare",
- "elapsedMs": 1438
- },
- {
- "code": "admission_turn_prompt_submitted",
- "elapsedMs": 1442
- },
- {
- "code": "admission_turn_ownership",
- "elapsedMs": 1442
- },
- {
- "code": "admission_turn_ownership_verified",
- "elapsedMs": 1442
- }
- ]
- },
- "warm": {
- "runId": "1983527f-1460-42db-8b3b-a382467342ae",
- "startedAt": "2026-10-11T08:41:13.983Z",
- "finishedAt": "2026-10-11T08:42:28.390Z",
- "status": "succeeded",
- "naturalDeadline": "2026-10-11T08:47:28.341Z"
- },
- "retainedIdentity": {
- "nativeSessionId": "0556cc51-d99e-41f2-808c-a46768239962",
- "runnerInstanceId": "28da4536-a293-4965-8a0f-36bc1a9ccaba",
- "providerSessionId": "62ddd741-47d3-45ff-8f12-1617662524ac",
- "ownerId": "e3726135-cbc3-4e4a-a28c-ffc72f930ff6",
- "bootId": "a18786be-f10a-471a-a9ce-721ab8b49e27",
- "processNonce": "08022ed9-5245-4ebe-9c64-0b8e0dae602d",
- "launchGeneration": 1,
- "ownerGenerationCold": 1,
- "ownerGenerationWarm": 2
- },
- "proofFiles": [
- {
- "name": "boat-final-claude.txt",
- "sha256": "14fa23911a1a95ede22a93f43fc027934b20a1ba497f8e6120abc8769498e124"
- },
- {
- "name": "boat-claude-framing-proof.txt",
- "sha256": "afaf525f4bf0c38614c5df0cf97140e7d1bf9cad96faa293e2317dc82116af4a"
- }
- ],
- "postIdle": {
- "runId": "702ab960-5987-40c5-bc94-4420c5c73ac0",
- "startedAt": "2026-10-11T08:49:45.801Z",
- "finishedAt": "2026-10-11T08:55:27.617Z",
- "status": "failed",
- "errorCode": "adapter_failed",
- "failure": "runner_state_identity_mismatch: authority_indeterminate",
- "sameNativeSession": true,
- "sameRunnerInstance": true,
- "sameProviderSession": true,
- "nativeSessionId": "0556cc51-d99e-41f2-808c-a46768239962",
- "runnerInstanceId": "28da4536-a293-4965-8a0f-36bc1a9ccaba",
- "providerSessionIdBefore": "62ddd741-47d3-45ff-8f12-1617662524ac",
- "providerSessionIdAfter": "62ddd741-47d3-45ff-8f12-1617662524ac",
- "ownerId": "e6718a64-920a-4081-838f-ed3f3dbf4cbd",
- "bootId": "22491af2-68d2-46a9-8ad4-a9196fc7af36",
- "processNonce": "e29e912c-bf9e-47d0-9e6d-2ea4a88a95dd",
- "launchGeneration": 1,
- "ownerGeneration": 1,
- "providerPackDigest": "sha256:4ef25756f766016da224f37f68c138c0c4a9ef9d128e6c2fc415f5c57ce38573",
- "retainedManifestMatchedAt": "2026-10-11T08:52:12.452Z",
- "transportAuthenticatedAt": "2026-10-11T08:52:48.760Z",
- "runAttach": "completed",
- "sessionSnapshotsCompleted": 2,
- "turnStart": "failed",
- "drain": "completed",
- "suspend": "completed",
- "connections": 1,
- "committedSessionOnlyEvents": 4,
- "lastClosedStage": "turn_initialize",
- "stageElapsedMs": 3304,
- "diagnosticBoundary": "Initialize request observed outbound before transport writer completion. No matching successful initialize response or prompt-submitted diagnostic observed. This does not identify the underlying child startup error.",
- "resets": 0,
- "manualCacheWarming": false,
- "manualPackChanges": false,
- "acceptance": "failed; cold and warm success do not establish post-idle continuation success",
- "primaryAttemptFailedAt": "2026-10-11T08:53:45.338Z",
- "primaryAttemptErrorCode": "provider_transport_failed",
- "primaryAttemptFailure": "PRP command turn.start timed out",
- "automaticSameRunRecovery": "failed after original turn.start timeout; identities retained, no separate successor or manual reset"
- },
- "naturalIdle": {
- "retiringObservedAt": "2026-10-11T08:47:32.436Z",
- "noNonretiredOwnersObservedAt": "2026-10-11T08:48:21.921Z",
- "archivedObservedAt": "2026-10-11T08:48:22.390Z",
- "providerStopId": "stop_f79182b10fee8294",
- "providerStopStatus": "completed",
- "providerStopCompletedAt": "2026-10-11T08:47:49.418Z",
- "providerStopError": null
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/local48-post-idle-initialize-failure.json b/doc/plans/assets/2026-10-10-boat/evidence/local48-post-idle-initialize-failure.json
deleted file mode 100644
index df058b6f28b..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/local48-post-idle-initialize-failure.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "checkedAt": "2026-10-11T08:53:39.759258+00:00",
- "runId": "702ab960-5987-40c5-bc94-4420c5c73ac0",
- "stages": [],
- "errorStages": [
- {
- "stage": "turn_initialize",
- "elapsedMs": 3304
- }
- ],
- "commands": [
- {
- "type": "run.attach",
- "status": "completed"
- },
- {
- "type": "session.snapshot",
- "status": "completed"
- },
- {
- "type": "session.snapshot",
- "status": "completed"
- },
- {
- "type": "turn.start",
- "status": "failed"
- },
- {
- "type": "runner.drain",
- "status": "completed"
- },
- {
- "type": "runner.suspend",
- "status": "completed"
- }
- ],
- "connections": 1,
- "committedEvents": 4
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/local49-lifecycle.json b/doc/plans/assets/2026-10-10-boat/evidence/local49-lifecycle.json
deleted file mode 100644
index 217e11428d0..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/local49-lifecycle.json
+++ /dev/null
@@ -1,125 +0,0 @@
-{
- "schema": "boat-local-lifecycle-proof/v1",
- "capturedAt": "2026-10-11T09:52:23.813224+00:00",
- "fixture": "local49 / BOA-23",
- "controllerSource": "97f9ace67e7e199c2712522ab84095a2ceafa4c2",
- "providerPack": {
- "source": "1ab3cb94e036f5de43e4bad9fd4d345054e8763c",
- "digest": "sha256:640c6c5405003f7d07603694413be14dc6c9601bc71f40b285f6cb247b5d412b",
- "hasFatalImportSettlementFix": true,
- "hasDependencyCtimeRereadFix": false
- },
- "runnerArtifact": {
- "source": "86c1aa2b0c53b1b41888cea6b8e04e42e28dd05c",
- "sha256": "b47ed0f4f29e4c945d12fa4f351c01ee5f03685974bf03591689969bb3b85b73",
- "proof": "Selected immutable artifact; no guest executable hash probe in this lifecycle."
- },
- "upload": {
- "diagnosticsEnabled": true,
- "chunksCompleted": 301,
- "chunkFailures": 0,
- "chunkTimeouts": 0,
- "maxQueuedAndActiveMs": 136239,
- "packMiB": 1166,
- "startedAt": "2026-10-11T09:18:10.306Z",
- "completedAt": "2026-10-11T09:37:21.704Z"
- },
- "cold": {
- "id": "6fcda24f-6063-4966-9730-ad2d68ddd7e2",
- "status": "succeeded",
- "started_at": "2026-10-11T09:14:32.008Z",
- "finished_at": "2026-10-11T09:39:01.367Z",
- "native_session_id": "5c37ce0f-ff2d-443c-a88c-8efaf8291e9a",
- "runner_instance_id": "ee29038f-82ad-4928-b223-5056179925d8",
- "session_id_before": null,
- "session_id_after": "fd2407a7-42d7-4164-b279-2a19fa91948a",
- "error_code": null
- },
- "warm": {
- "id": "6a07f42f-6e30-4b3d-8924-a15bc9de24f9",
- "status": "succeeded",
- "started_at": "2026-10-11T09:39:47.251Z",
- "finished_at": "2026-10-11T09:41:00.398Z",
- "native_session_id": "5c37ce0f-ff2d-443c-a88c-8efaf8291e9a",
- "runner_instance_id": "ee29038f-82ad-4928-b223-5056179925d8",
- "session_id_before": "fd2407a7-42d7-4164-b279-2a19fa91948a",
- "session_id_after": "fd2407a7-42d7-4164-b279-2a19fa91948a",
- "error_code": null
- },
- "nativeSessionId": "5c37ce0f-ff2d-443c-a88c-8efaf8291e9a",
- "logicalRunnerId": "ee29038f-82ad-4928-b223-5056179925d8",
- "providerSessionId": "fd2407a7-42d7-4164-b279-2a19fa91948a",
- "warmOwner": {
- "id": "6e208d55-cc8c-4afd-9cfb-49843a936c02",
- "kind": "runner",
- "phase": "warm",
- "runId": "6a07f42f-6e30-4b3d-8924-a15bc9de24f9",
- "deadline": "2026-10-11T09:46:00.347Z",
- "generation": 2,
- "process": {
- "nonce": "37f768f4-5719-40c1-87c9-8b3f790c9714",
- "bootId": "37936b19-7dba-4ec1-a094-1d71cc5f299e",
- "unitName": "paperclip-6e208d55-cc8c-4afd-9cfb-49843a936c02.service",
- "launchGeneration": 1
- }
- },
- "proofFiles": [
- {
- "name": "boat-final-claude.txt",
- "sha256": "14fa23911a1a95ede22a93f43fc027934b20a1ba497f8e6120abc8769498e124"
- },
- {
- "name": "boat-claude-framing-proof.txt",
- "sha256": "afaf525f4bf0c38614c5df0cf97140e7d1bf9cad96faa293e2317dc82116af4a"
- }
- ],
- "proofEvidence": "Parent observed both hashes in actual browser tool output for cold and warm; warm host UTC09:40:48.",
- "naturalArchive": {
- "status": "completed",
- "warmDeadline": "2026-10-11T09:46:00.347Z",
- "noLiveOwnersObservedAt": "2026-10-11T09:46:21.342Z",
- "providerObservedAt": "2026-10-11T09:46:29.675Z",
- "providerState": "archived",
- "providerHealth": "ok",
- "stopId": "stop_9dc90636776cb256",
- "stopCompletedAt": "2026-10-11T09:46:27.243Z",
- "guestReads": false
- },
- "postIdle": {
- "id": "825e1f90-556e-4e06-9557-b17d4a3d7e99",
- "status": "failed",
- "started_at": "2026-10-11T09:46:49.578Z",
- "finished_at": "2026-10-11T09:51:04.712Z",
- "native_session_id": "5c37ce0f-ff2d-443c-a88c-8efaf8291e9a",
- "runner_instance_id": "ee29038f-82ad-4928-b223-5056179925d8",
- "session_id_before": "fd2407a7-42d7-4164-b279-2a19fa91948a",
- "session_id_after": "fd2407a7-42d7-4164-b279-2a19fa91948a",
- "error_code": "adapter_failed",
- "error": "runner_state_identity_mismatch: authority_indeterminate",
- "primaryFailure": {
- "observedAt": "2026-10-11T09:49:35.623Z",
- "command": "turn.start",
- "classification": "agent_startup_unverified_module",
- "lastSafeStage": "turn_ownership_verified",
- "admissionElapsedMs": 2482,
- "runAttachCompleted": true,
- "committedSessionEvents": 4,
- "drainCompleted": true,
- "suspendCompleted": true
- },
- "sameRunAutomaticRecovery": "Failed with authority_indeterminate; no separate successor or manual reset.",
- "packDigest": "sha256:640c6c5405003f7d07603694413be14dc6c9601bc71f40b285f6cb247b5d412b",
- "classificationLimit": "Proves guarded provider startup rejected an unverified module. The exact rejected check/module is not exposed; ctime-only dependency drift remains a tested candidate, not a proven live cause."
- },
- "observerPolicy": "Controller logs, local database and provider status only. No guest reads, manual wake, or executable prewarming during this lifecycle.",
- "manualReset": false,
- "oldImmutablePacksChanged": false,
- "finalCleanup": {
- "noActiveOrQueuedRunsOrOwnersAt": "2026-10-11T09:52:03.054Z",
- "providerState": "archived",
- "providerHealth": "ok",
- "stopId": "stop_6a069a997e1066c2",
- "completedAt": "2026-10-11T09:51:12.415Z",
- "observedAt": "2026-10-11T09:52:04.360Z"
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/local49-ready.json b/doc/plans/assets/2026-10-10-boat/evidence/local49-ready.json
deleted file mode 100644
index 099f009d639..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/local49-ready.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "capturedAt": "2026-10-11T09:14:35.377110+00:00",
- "controllerSource": "97f9ace67e7e199c2712522ab84095a2ceafa4c2",
- "health": "ok",
- "startupRecovery": "ready",
- "selection": {
- "changedAt": "2026-10-11T09:12:13.324159+00:00",
- "savedEnvPath": "/tmp/boat-architect/test-drive/instances/default/.env",
- "updatedKeys": {
- "PAPERCLIP_RUNNER_REMOTE_PROVIDER_PACK_PATH": "/tmp/boat-architect/linux-import-exit-1ab3cb/provider-pack",
- "PAPERCLIP_RUNNER_ARTIFACT_UPLOAD_DIAGNOSTICS": "1"
- },
- "binaryUnchanged": true,
- "otherSettingsPreserved": true,
- "previousProviderPack": "/tmp/boat-architect/linux-turn-diagnostics-86c1aa/provider-pack"
- },
- "effectiveDiagnosticsAtApplicationListen": true,
- "listenerPid": 54171,
- "log": "local-49-effective.log",
- "previousDrainInterruptedRuns": 0,
- "databaseReset": false,
- "oldSessionReset": false,
- "oldArtifactsMutated": false
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/local50-ready.json b/doc/plans/assets/2026-10-10-boat/evidence/local50-ready.json
deleted file mode 100644
index 257dbd1eb7f..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/local50-ready.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "capturedAt": "2026-10-11T09:54:09.644915+00:00",
- "controllerSource": "049c57f64c9addb1ae45132626cf800d1ea41a95",
- "health": "ok",
- "startupRecovery": "ready",
- "providerPackDigest": "sha256:f6fbd13c71cdaf93060a7c240cbce1c8dfce2aefe5669db27d254b3b95dfb0a0",
- "providerPackSource": "8e8999d681b42a19bfee2540c4345193f29f31ca",
- "binarySha256": "b47ed0f4f29e4c945d12fa4f351c01ee5f03685974bf03591689969bb3b85b73",
- "effectiveDiagnosticsAtApplicationListen": true,
- "listenerPid": 61459,
- "log": "local-50.log",
- "previousDrainInterruptedRuns": 0,
- "databaseReset": false,
- "oldSessionReset": false,
- "oldArtifactsMutated": false
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/local51-bound-node-proof.json b/doc/plans/assets/2026-10-10-boat/evidence/local51-bound-node-proof.json
deleted file mode 100644
index 96d20b95a32..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/local51-bound-node-proof.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "capturedAt": "2026-10-11T11:22:47.164644+00:00",
- "runId": "6f0e1d13-8a3f-424c-91b2-99cff411cd83",
- "nativeSessionId": "fb8d0432-f85e-4533-bb14-4461d8e65920",
- "packDigest": "sha256:8567c47c5da670735643e47e45abbafeb2626098b3a30d4c86dbf7c40c1d100c",
- "boundSidecarCommandMatchesManifestNodePath": true,
- "manifestNodeSha256": "sha256:7fde7b8afa198da66257f42ee2001d874c7355631e6d1579a5fb5ef1f246df4c",
- "actualSelectedLocalNodeSha256": "sha256:7fde7b8afa198da66257f42ee2001d874c7355631e6d1579a5fb5ef1f246df4c",
- "qualifiedNodeVersion": "24.21.0",
- "guestExecutableHashProbe": false,
- "guardedImportRuntimeSource": "verifiedRuntimeExecutableHandoff inherits the runner-authenticated Node descriptor into the guardian and provider; it does not resolve shell PATH.",
- "shellNodeVersionEvidence": "Parent browser command reported24.18.1; this is distinct from the controller-bound sidecar runtime."
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/local51-ready.json b/doc/plans/assets/2026-10-10-boat/evidence/local51-ready.json
deleted file mode 100644
index a739ecd3d05..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/local51-ready.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "capturedAt": "2026-10-11T11:07:07.670888+00:00",
- "controllerSource": "4d8b1cb179681d2bbfb16b42b4def81cb95107ac",
- "health": "ok",
- "startupRecovery": "ready",
- "providerPackDigest": "sha256:8567c47c5da670735643e47e45abbafeb2626098b3a30d4c86dbf7c40c1d100c",
- "providerPackSource": "8f62eef8f13e199f7a98d8a9ec27d617385e6fde",
- "binarySha256": "52fad9d1a6548d7fca3e009c3a87e063ec19c9619229ea3568a40a14fcf68c06",
- "effectiveDiagnosticsAtApplicationListen": true,
- "listenerPid": 72430,
- "log": "local-51.log",
- "previousDrainInterruptedRuns": 0,
- "databaseReset": false,
- "oldSessionReset": false,
- "oldArtifactsMutated": false
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/provenance.json b/doc/plans/assets/2026-10-10-boat/evidence/provenance.json
deleted file mode 100644
index 33c82b068e7..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/provenance.json
+++ /dev/null
@@ -1,322 +0,0 @@
-{
- "generatedAt": "2026-10-10T18:15:26.229665+00:00",
- "method": "Explicit field allowlist. Original evidence remains unchanged outside this public bundle.",
- "originalArtifacts": [
- {
- "filename": "core-5e5-final-ci-review.json",
- "sha256": "a11feabd1a4f240bbdacb43669945360fc2ecccb5741aa8c520d678e9c94d676"
- },
- {
- "filename": "file-resource-clean-ci-proof.json",
- "sha256": "a5a542cc9c81f211a84778ef9135d5dcce7cb212ad8132914d6bd48857f54330"
- },
- {
- "filename": "final-candidate.json",
- "sha256": "61e2b3aa5f3a93d00dc6c4547d6e63b3372dc103d6a633cef0e793bb0f761671"
- },
- {
- "filename": "final-local-provider-inventory.json",
- "sha256": "46e12a7ab871ea5c533094fc1ba223f19b5cbdc6d19e371d99f1b57d2ff4cfca"
- },
- {
- "filename": "full-tests-2cbe-checks.json",
- "sha256": "c5999c9ec6b888e33618f3a9ecb7c24c580a112fd5c81df4a654938001973151"
- },
- {
- "filename": "local-29-acceptance.json",
- "sha256": "db0dc78d3c9f091ecc08f7eb32971520e02a67d9aefc21eaf618fa9975b498cd"
- },
- {
- "filename": "local-30-persistent-save-proof.json",
- "sha256": "f156e4c4d8b907c87d67019029f011f04f272d266d54f528d6515156682db7b3"
- },
- {
- "filename": "local-30-viewer-expired.jpg",
- "sha256": "c0d57cc6b45f09ea771d00b8df8620ed6025b8f90f36a5c2c7e4e9a6206a8bdb"
- },
- {
- "filename": "local-31-human-keyboard-proof.json",
- "sha256": "4bb20ba175bce987b3099521646fa2617f8ed48b2d32fc63262f75653d7fcafb"
- },
- {
- "filename": "local-31-human-keyboard.jpg",
- "sha256": "2f043fe11e9a7971fe10fac676cd8b40a405043f1a984f7260f42ddcf5798ebe"
- },
- {
- "filename": "local-final-cli-ui-proof.json",
- "sha256": "011a50bd6bf6376ca95536df28d82292937bea3a96e4e7da993e167adda75588"
- },
- {
- "filename": "main-25-ibus-cgroups.json",
- "sha256": "fc1705d8a0b0bf45292a3b7bce73d9f1c7c8bdf45f44f894bf633673c0d01965"
- },
- {
- "filename": "native-23-detached-vite.json",
- "sha256": "d0cedf0ae5649d2154a6bf5e57960366871f7f8668899edad847c12a7fd4d55a"
- },
- {
- "filename": "native-23-final-codex-idle.json",
- "sha256": "fce9700053bbff635bdfbde58797eefa563473b0778392bc90f5bab2058277a0"
- },
- {
- "filename": "native-23-final-idle-provider-receipt.json",
- "sha256": "37d26aa975fe40cec2752b5f4b46ad3caa3829f737962721c29087f061f44706"
- },
- {
- "filename": "native-23-hmr-completed-processes.json",
- "sha256": "0bd41b55897286e0f3ae9a54b9df606251be48ce4584f61cb0f96950e24170f1"
- },
- {
- "filename": "native-23-hmr.json",
- "sha256": "9ad03e77f857ee979aa4fcc2138d33477e3e56f926f205683bbaf3f2ceb8561c"
- },
- {
- "filename": "native-25-second-idle-acceptance.json",
- "sha256": "acacd5869eed764b5b3d4c9111afd90ccd811bd6f84dabff65f31ff4ba01be87"
- },
- {
- "filename": "native-26-claude-cold-processes.json",
- "sha256": "121e69487233ff02822a6942c73cedba7d76378f51c577a64adb56fb213600b4"
- },
- {
- "filename": "native-26-claude-cold-receipt.json",
- "sha256": "2e722a00f0c38a9209223fceb85e3cfbfa2066abd8aab9b2262854ac269bea43"
- },
- {
- "filename": "native-26-claude-full-cycle-acceptance.json",
- "sha256": "ca48075e5597e8e372ab23cd5bc0bbed8ea5b9a513508d64bcda054dd0fc64c3"
- },
- {
- "filename": "native-26-claude-idle-provider-receipt.json",
- "sha256": "2dbf36714586c058f0b61a327661a87912896b4236b5dd4ed6f28bf30f983197"
- },
- {
- "filename": "native-26-claude-idle-transition.json",
- "sha256": "e329446a9047ebf027cfc5e03c17d509108ef4a2fe3234c8f1e3550d1d2a9339"
- },
- {
- "filename": "native-26-claude-postidle-framing.json",
- "sha256": "2cb8cc8444d97d1dfaddd171374f67a5bf83ba02bf917f9d73b7bbc6b0ce8e05"
- },
- {
- "filename": "native-26-claude-postidle-processes.json",
- "sha256": "e306fca2315d0d4a01fc0755e20ecdbec39c3e6cc73065397ea9d531bbfeb739"
- },
- {
- "filename": "native-26-claude-postidle-receipt.json",
- "sha256": "24e28652f87f39980b8a4571424fc72bdcec054991e4d93a24f9f9072d921c2f"
- },
- {
- "filename": "native-26-claude-warm-framing.json",
- "sha256": "e48a44a5505e057c4be9bd4b35e9ac56db980231de23181e9ec7b7de5e188416"
- },
- {
- "filename": "native-26-claude-warm-processes.json",
- "sha256": "747b8f8e5150996453fb2b3a9446af90744a637b57b302e4315bc8e720aaae7c"
- },
- {
- "filename": "native-26-claude-warm-receipt.json",
- "sha256": "89f421e79806d88a7ddad71b6de1f69eee14ad0de3f0b09d00e5a2c7bff22b1b"
- },
- {
- "filename": "native-26-final-local-resource-state.json",
- "sha256": "cba4d2cd372a2cdefe8323844ccfeb3bf4d8f6e9631fd9e8902437c212f53729"
- },
- {
- "filename": "staging-10-all-native-runners.json",
- "sha256": "6cb711c8695c88d737baea470cd7bf9897871ffc32e26005d77871fb196f6a01"
- },
- {
- "filename": "staging-10-claude-idle-processes.json",
- "sha256": "28b9e08687dcb3aeba2ee84d7e0db103113feb92a7927ecc57aa44232cb2ff6f"
- },
- {
- "filename": "staging-10-claude-post-idle-discovery.json",
- "sha256": "2a963555074283a6210d32bde7ab5a2e4c63cfc63d0722594cccffdbf1666cc8"
- },
- {
- "filename": "staging-10-claude-warm-comparison.json",
- "sha256": "39a4195e6c338cc72611ad75aebac2e3068958c96452d384ac08fee4bb28f2c5"
- },
- {
- "filename": "staging-10-codex-idle-processes.json",
- "sha256": "5d4b616e3a76d5838f86c59f86bb6a052a06e3d16fead82723246ba890045ed4"
- },
- {
- "filename": "staging-10-post-idle-provider-state.json",
- "sha256": "63f82c488f55edcce7b22d19490d04193053864fe099c58a24f630d84599018a"
- },
- {
- "filename": "staging-73b2-human-keyboard.jpg",
- "sha256": "36585e1c33998327aa88e1bdc029c761584756eb54c87d1c961e507fe3497223"
- },
- {
- "filename": "staging-73b2-legacy-claude-job.jpg",
- "sha256": "c188f73d875518ec157e0de67b3cd221d4ae71c0076aa22bd0948dc8f287fd24"
- },
- {
- "filename": "staging-73b2-legacy-claude-onboarding.jpg",
- "sha256": "676e7b57ec3f6e05a12223fc8341cb235ee5002ccae6be5df08164661d6a4210"
- },
- {
- "filename": "staging-73b2-legacy-codex-job.jpg",
- "sha256": "d1a39029660c6325d9ee33ba5c3e2b94470ccd18cbd16178bf89eb4277e19d17"
- },
- {
- "filename": "staging-73b2-legacy-codex-onboarding.jpg",
- "sha256": "50db9872917eb58afc60111856787a50bbbfa562f32e9e9da7c26b181129849a"
- },
- {
- "filename": "staging-73b2-native-claude-job.jpg",
- "sha256": "788823aa5fcad847a4cfdb4b5eeb9456980ad99132307032300bd9af7859718c"
- },
- {
- "filename": "staging-73b2-native-claude-onboarding.jpg",
- "sha256": "ae654c71aa39e80a4a73939e552f5d6a4bcca5868507df3106871b3a0fcd7d0a"
- },
- {
- "filename": "staging-73b2-native-claude-post-idle-dom.txt",
- "sha256": "64128f2ba475c2bef89b2424ca0312230186661e1fe05d0030fc93d537b33d90"
- },
- {
- "filename": "staging-73b2-native-claude-post-idle-run-dom.txt",
- "sha256": "40e3bed0b48a4af18e6ad39681f8cb91661a7278e3ac7ef14dc4051939260977"
- },
- {
- "filename": "staging-73b2-native-claude-post-idle.jpg",
- "sha256": "b9e921535baf5860b4924723c8d4aa3f08bd2d6951777a0a08dbd1231ddd17fa"
- },
- {
- "filename": "staging-73b2-native-claude-resume-session-dom.txt",
- "sha256": "0b64c050faebe65405b29ef19d973b5089c44784804c75497f56901ad6ca4e1f"
- },
- {
- "filename": "staging-73b2-native-claude-warm-dom.txt",
- "sha256": "2a1ef696ca4ba54d914bc93b57425466b5b757217cc75976899bb2805c6bcd78"
- },
- {
- "filename": "staging-73b2-native-claude-warm-session-dom.txt",
- "sha256": "29f124032aa3c0b04eba691e8f0bd485ce073b7bb0e797edc1631cb67b5b0eb2"
- },
- {
- "filename": "staging-73b2-native-codex-first-proof.json",
- "sha256": "e925526ee6b8a821259e4befd09ad11f152cf1619eb9f3246a394f4da162dcb6"
- },
- {
- "filename": "staging-73b2-native-codex-job.jpg",
- "sha256": "634b4a82e40a3455a9f25d4cefc809f436c850b03755865254b64a970add035f"
- },
- {
- "filename": "staging-73b2-native-codex-onboarding.jpg",
- "sha256": "b3c6c5518b0b1ace0d65aae0fbb6b590c072400ee5c256c65f58cbf03ea15949"
- },
- {
- "filename": "staging-compat-final-proof.json",
- "sha256": "5d0b5311d5320cc88d31eb04b0f8dd4b2cd5609af528ab2daa565e59db24ad26"
- },
- {
- "filename": "staging-compat-manifest-proof.json",
- "sha256": "656dafab25e051d113169a81a893e18e73ed6da64041e53139033a789eef5c6c"
- },
- {
- "filename": "staging-compat-schema-proof.json",
- "sha256": "109b6f1f6eaa1ca9b1115eb468db829e9a21ce04c54e9ec672aa0ca9db542c2d"
- },
- {
- "filename": "staging-deploy-9-assessment.json",
- "sha256": "719693c23e48cfa08762768c135a9bf5c00a050f508007f6f4f22132fef6ba6a"
- },
- {
- "filename": "local-32-legacy-acceptance.json",
- "sha256": "2505db958231218e9315de13e9afd3c2d4ce5b5ec3e93a8f528229dd14846d24"
- },
- {
- "filename": "local-32-legacy-prompt-directives.json",
- "sha256": "3689105511f10e50c797908e70a9c3fbba739d3c99567934c8d86c2604c06286"
- },
- {
- "filename": "current-head-ci-review.json",
- "sha256": "3e0237903089c5f38cbc2e7a1ab989d93dbf781704a8690538bf3166ed094024"
- },
- {
- "filename": "staging-compat-final-legacy-proof.json",
- "sha256": "a04a540d53190ff0113b2025e51ddb895e0b95aff2758190cd3abb6eca7f4729"
- },
- {
- "filename": "final-legacy-preview-build-status.json",
- "sha256": "3bd0ade76766928d912d6d5dc34f880cc368002c4a4c53cd26bcbfe4603bfabc"
- },
- {
- "filename": "final-provider-inventory-after-legacy-fix.json",
- "sha256": "e6c5ee6789b22e92f8401e8cfdc74bb1365b739e46437b1e44b6014431d84d8a"
- },
- {
- "filename": "final-local-ledger-inventory.json",
- "sha256": "32fda6babe929b0dcef08c27aefb683005d4f5d1120e76fbefb496478bf1a754"
- },
- {
- "filename": "staging-deploy-11-verified.json",
- "sha256": "b18d0bd471ebbe89cad4304ba2c1e1a96d1972254c947a765a6625b27e7bf50a"
- },
- {
- "filename": "latest-core-test-provenance.json",
- "sha256": "a09145e3ec186362e2d97341952ec39b14daf6abceb2463063c0f27472ee0eed"
- },
- {
- "filename": "staging-11-natural-cleanup.json",
- "sha256": "2789ac6654bf65e88b263831306fde799d6946d97f577a89c109fef3f3a37a84"
- },
- {
- "filename": "staging-11-legacy-claude-dom.txt",
- "sha256": "48d28c04d04d7e178c9a5b5a02198903f5acf45a857a468c426f5d1c1a7afbfa"
- },
- {
- "filename": "staging-11-legacy-claude-run-dom.txt",
- "sha256": "64968fb594c450451253c9936739aea4fce1dd1e2200d33745ac3cff4c089df2"
- },
- {
- "filename": "staging-11-legacy-claude-complete.jpg",
- "sha256": "a6eec82db0f27dc17b548891c8c86e8a89f483da34c3db1225ea4216c2ecac5b"
- },
- {
- "filename": "staging-11-legacy-codex-dom.txt",
- "sha256": "1502a2b3d86c656057a73acd3d4451ae28f9d138f685f15c524c7a1b49c43d2c"
- },
- {
- "filename": "staging-11-legacy-codex-run-dom.txt",
- "sha256": "158e0164d1b57da66c3d67be7e3bf694fe98f97134d1123254129debdbd8f508"
- },
- {
- "filename": "staging-11-legacy-codex-complete.jpg",
- "sha256": "31979a51554c781cf6172d0af06958159db472a76e8fdbdcbd5e4bdb1d45cea2"
- },
- {
- "filename": "staging-11-legacy-regression.json",
- "sha256": "98886c1e5add999ca5484b780f9b7b84faa30c11028a888e071f2c8804a55af8"
- },
- {
- "filename": "staging-11-codex-cli-ui.txt",
- "sha256": "174938da2fc32b2f883385d810a7be14b014bfb995568299fa53dcfb8a55ee59"
- },
- {
- "filename": "staging-11-claude-cli-ui.txt",
- "sha256": "9562f5697fdcace530c62b0a89efa0367f1d002e4aee578499f0e74cf1868e1f"
- }
- ],
- "sourceAttribution": "Controller 25 and 26 serving SHAs were independently verified by the coordinating agent; other source labels are taken from original receipts.",
- "excluded": [
- "credentials",
- "viewer URLs",
- "private hosting origins",
- "private-cloud links",
- "raw environment",
- "profile content",
- "raw logs",
- "personal filesystem paths",
- "private database names and addresses",
- "company identifiers and internal issue URLs"
- ],
- "staging": "Partial product acceptance on exact serving source73b2; final-source and blocked HMR/legacy follow-up qualification remain incomplete.",
- "updatedAt": "2026-10-10T21:16:01.148201+00:00",
- "latestCandidateProof": "final-candidate-provenance.json"
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/readiness-coalescing-verification.json b/doc/plans/assets/2026-10-10-boat/evidence/readiness-coalescing-verification.json
deleted file mode 100644
index a173d1802d4..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/readiness-coalescing-verification.json
+++ /dev/null
@@ -1,82 +0,0 @@
-{
- "capturedAt": "2026-10-11T09:04:29.607592+00:00",
- "commit": "72042f165cbc5bfd10d3b4d3d8bcf9cced2dfcdc",
- "branch": "codex/boat-environment-core",
- "scope": [
- "server/src/modules/computers/adapters/boat.ts",
- "server/src/modules/computers/adapters/boat.test.ts"
- ],
- "behavior": {
- "sharedReadiness": "Coalesce in-flight readiness only within the same company, environment, computer, provider, controller and secret reference/version.",
- "callerDeadlines": "Each caller retains its own deadline; expiration does not cancel another waiter. Requests are fenced again after asynchronous secret resolution.",
- "lifecycle": "Completed and failed entries evict. Every inspection preserves physical identity, snapshots and stop-state guards. No ownership authority change.",
- "diagnostics": "Closed operation labels accompany HTTP status; no response body, URL, credentials or raw provider error included.",
- "generic409Retry": false
- },
- "validation": {
- "adapter": {
- "passed": 67,
- "failed": 0
- },
- "ownershipService": {
- "passed": 52,
- "failed": 0
- },
- "serverTypecheck": {
- "exitCode": 0
- },
- "moduleBoundary": {
- "exitCode": 0
- },
- "diffCheck": {
- "exitCode": 0
- },
- "preFixConcurrencyRegression": {
- "failed": 1,
- "skipped": 49,
- "finding": "Concurrent archived readiness independently dispatches resume and rejects one caller."
- },
- "preFenceSecretResolutionRegression": {
- "failed": 1,
- "skipped": 66,
- "finding": "A sole expired waiter still dispatched resume after held secret resolution; dispatch-time check now prevents it."
- }
- },
- "independentReview": {
- "reviewer": "quarantine_root_cause",
- "verdict": "approved",
- "remainingFindings": 0,
- "dispatchTimeFenceReReviewed": true
- },
- "limitations": [
- "The historical staging25 c990ff5f HTTP409 endpoint and response semantics remain unproven. The source concurrency defect is independently reproduced.",
- "No deployment or live provider mutation was performed for this patch. Parent owns integration and subsequent live qualification.",
- "Validation is scoped to this patch; full repository PR checks remain the parent task responsibility."
- ],
- "logs": {
- "adapter": {
- "path": "/tmp/boat-architect/boat-readiness-tests-final.log",
- "sha256": "ff614d985c877578b40b9f566fb7d2492e12c9e25633a9fb58bb22a6d7a569a7"
- },
- "ownership": {
- "path": "/tmp/boat-architect/boat-readiness-ownership-tests.log",
- "sha256": "dc3bfc9ca5a0d1bda67df55dbb2e7220e0bec23775586aa11059d29e52c657e0"
- },
- "typecheck": {
- "path": "/tmp/boat-architect/boat-readiness-typecheck-final.log",
- "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- "moduleBoundary": {
- "path": "/tmp/boat-architect/boat-readiness-boundary.log",
- "sha256": "24dbde6cfa3a8b0e645bf60455fdd60285b74ec0e5dd7907ec56baa0c7429500"
- },
- "concurrencyRed": {
- "path": "/tmp/boat-architect/boat-readiness-concurrent-red.log",
- "sha256": "bd862d672921def2d2a3f91af29e5e2178d523da2101856e83067df5ba79a184"
- },
- "dispatchFenceRed": {
- "path": "/tmp/boat-architect/boat-readiness-secret-race-red.log",
- "sha256": "3ea138b8760891ee7aeb3a6ec6f42fb85dc0034ab2d29c37dfb80b7534a7766f"
- }
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/retry-qualification-summary.json b/doc/plans/assets/2026-10-10-boat/evidence/retry-qualification-summary.json
deleted file mode 100644
index 0e0270f67cd..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/retry-qualification-summary.json
+++ /dev/null
@@ -1,2204 +0,0 @@
-{
- "schema": "paperclip.boat.validation-retry-summary.v1",
- "recordedAt": "2026-10-11T01:47:47.596826+00:00",
- "scope": "Source-specific retry observations; not complete acceptance.",
- "source": {
- "canonical": "d50268c932da9e03c304f6a48cdaa5ee477331f2",
- "core": "ee2a01063e3efdd3ddd75de05ff8e831302045fd",
- "servingStaging": "610c78a5ad97534380c61fa376c96c1b7a73a86a",
- "diagnosticCandidate": "610c78a5ad97534380c61fa376c96c1b7a73a86a",
- "candidateRuntimeEquivalentTo": "d50268c932",
- "candidateBuildId": 38099244581,
- "candidateBuildState": "succeeded; deployment13 verified"
- },
- "deployment12": {
- "checkedAt": "2026-10-10T22:14:02.236Z",
- "requestedSha": "1830beb0c26a7ba9d5e21460426936936ffc8db4",
- "servingSha": "1830beb0c26a7ba9d5e21460426936936ffc8db4",
- "status": "succeeded",
- "verification": "verified"
- },
- "stagingRetries": {
- "codex": {
- "runIdPrefix": "20c69872",
- "result": "failed",
- "errorCode": "native_session_recovery_failed",
- "causeCode": "runner_remote_retirement_checkpoint_unsettled",
- "sameRunAttempts": 3,
- "newRunnerLaunchObserved": false,
- "remoteCheckpoint": {
- "lifecycle": "ready",
- "outboxCount": 0,
- "pendingTerminalDeliveryIsNull": true,
- "completedTurnAuthoritative": true,
- "activeProviderTurnId": null
- },
- "conclusion": "Remote lifecycle was ready, runner outbox was empty, and pending terminal delivery was null; the exact old controller settlement/authority rejection remains unknown. Deployment 13 UI Retry created a fresh session, so it did not exercise the old recovery path."
- },
- "claude": {
- "runIdPrefix": "3a34",
- "result": "setup_failed",
- "timing": "Failed before the planned idle/sibling experiment.",
- "rootCause": "not established",
- "siblingIsolationProved": false
- },
- "desktop": {
- "observedUtc": [
- "2026-10-11T00:43Z",
- "2026-10-11T00:50Z"
- ],
- "streamVisible": true,
- "inputVerified": false,
- "inputLimit": "Iframe key/native click attempts produced no observable change; a frame-body input attempt timed out before sending input.",
- "closedThroughProductUi": true
- },
- "viewerCleanup": {
- "observedAt": "2026-10-11T00:51:49.916111+00:00",
- "state": "archived",
- "snapshots": true,
- "stop": {
- "id": "stop_74ba7b3408c7739e",
- "status": "completed",
- "endedAt": "2026-10-11T00:50:43.150Z",
- "error": null
- },
- "manualProviderLifecycleActions": false
- },
- "diagnosticCodex": {
- "runId": "5957cc86-4533-49e5-a2af-0edbc79a472f",
- "submittedAt": "2026-10-11T01:06:33Z",
- "method": "One ordinary Retry through the product UI",
- "retriesRunIdPrefix": "20c69872",
- "lastObservedStatus": "succeeded",
- "outcome": "fresh session passed; old failed session recovery not tested",
- "forceFreshSession": true,
- "resumeSkipped": true,
- "scope": "Normal UI Retry requests a fresh session. This run cannot diagnose saved-session recovery.",
- "uiLogObservedAt": "2026-10-11T01:07:39Z",
- "plannedQualification": "Fresh and ordinary warm same-task turns passed. Later configuration turn 2ac97bd2 was cancelled unexpectedly; subsequent repair attempts failed before provider work. Saved-session continuation after natural idle remains unverified.",
- "finishedAt": "2026-10-11T01:09:46Z",
- "reportedDurationSeconds": 193,
- "proofSha256": "f9253e57dadaefe9276e99a9cd0cb9fad68d2704dd820b61e026edf6e6527c46"
- },
- "warmCodex": {
- "runId": "1b882646-db75-4009-9915-6175e22c1724",
- "status": "succeeded",
- "reportedFinishedAtApproximate": "2026-10-11T01:12:14Z",
- "freshObservedAt": "2026-10-11T01:10:10.278830+00:00",
- "warmObservedAt": "2026-10-11T01:13:28.977661+00:00",
- "normalizedSessionId": "06496696-b312-4268-ac40-66770aaa6f1a",
- "providerSessionId": "01a12881-5d3b-72a0-b4c3-d993f5b089e1",
- "runnerInstanceId": "0005a613-101d-475f-9409-8b8e8b87e9ce",
- "sameNormalizedSession": true,
- "sameProviderSession": true,
- "sameRunnerInstance": true,
- "proofSha256": "f9253e57dadaefe9276e99a9cd0cb9fad68d2704dd820b61e026edf6e6527c46",
- "proofHashUnchanged": true,
- "preservedProcesses": [
- {
- "role": "runner",
- "pid": 30466,
- "startTicks": 30188,
- "sameIdentity": true
- },
- {
- "role": "codex",
- "pid": 30570,
- "startTicks": 30308,
- "sameIdentity": true
- },
- {
- "role": "vite",
- "pid": 31093,
- "startTicks": 31238,
- "sameIdentity": true
- }
- ]
- },
- "preview": {
- "rendered": true,
- "method": "Normal product-generated preview link in the in-app browser; no blocked-URL workaround",
- "pageSessionValue": "1791680976579",
- "draftValue": "keep-this-unsaved-draft-boat-0110",
- "hotReloadVerified": false,
- "observation": "The normal generated link rendered. A reported heading edit did not appear in the browser despite Vite reporting connected. The preview later became upstream-unavailable after the runner owner retired.",
- "pollingConfig": {
- "observedAt": "2026-10-11T01:18:35.720747+00:00",
- "presentOnDisk": true,
- "pollIntervalMs": 1000,
- "loadedByRunningViteProved": false
- },
- "reactFixture": {
- "reactPluginInstalled": false,
- "reactPluginImported": false,
- "statePreservingHmrContractProved": false,
- "repairExecuted": false
- },
- "fileViews": {
- "observedAt": "2026-10-11T01:16:21.230982+00:00",
- "sameBytes": true,
- "sameMountNamespace": true,
- "publishedDeviceAndInodeDifferFromViteCwd": true,
- "rootCauseEstablished": false
- },
- "limitation": "On-disk polling configuration does not prove that the running Vite process loaded it. The proposed React fixture repair never executed because both follow-ups failed before provider work."
- },
- "siblingCancellation": {
- "stopClickedAtApproximate": "2026-10-11T01:14:44Z",
- "uiStatus": "Stopped",
- "scope": "Active automatic continuation cancelled through normal Stop; task blocked.",
- "foregroundSleeperVerifiedBeforeStop": false,
- "independentReadAt": "2026-10-11T01:13:58.401450+00:00",
- "liveChildSleepCancellationProved": false,
- "siblingIsolationProved": false
- },
- "codexConfigurationTurn": {
- "runId": "2ac97bd2-9f7c-4d9b-bca5-78637e354422",
- "status": "cancelled",
- "exitCode": 0,
- "lifecycleEventSequence": 340,
- "terminalAt": "2026-10-11T01:19:01.499Z",
- "cancellation": {
- "reason": "Execution stopped without a recorded cancellation request",
- "source": "unknown",
- "expected": false
- },
- "isSuccessfulWarmTurn": false,
- "limit": "A ready remote checkpoint and authoritative completed provider turn do not override the controller run outcome of cancelled."
- },
- "codexRepairAttempts": {
- "runs": [
- {
- "runId": "139092c0-64d2-46e1-8906-9e69c00c081b",
- "status": "failed"
- },
- {
- "runId": "d33c8290-8e16-44a6-8bb1-58164ea5c754",
- "status": "failed"
- }
- ],
- "errorCode": "native_session_cleanup_quarantined",
- "providerWorkStarted": false,
- "fixtureRepairExecuted": false,
- "quarantinePreserved": true
- },
- "postCancellationSettlement": {
- "observedAt": "2026-10-11T01:28:58.739454+00:00",
- "ownerId": "f298be2e-3cc1-4e9c-957e-4931aad9a503",
- "retired": true,
- "retiredAt": "2026-10-11T01:19:05.647102+00:00",
- "ownerGeneration": 3,
- "ownedProcessCount": 0,
- "ownedListenerCount": 0,
- "proofSha256": "f9253e57dadaefe9276e99a9cd0cb9fad68d2704dd820b61e026edf6e6527c46",
- "proofHashUnchanged": true,
- "proofBytes": 24,
- "sameBootAsWarmRun": true,
- "checkpoint": {
- "observedAt": "2026-10-11T01:28:31.217794+00:00",
- "schema": "paperclip.runner.durable.state.v1",
- "lifecycle": "ready",
- "runId": "2ac97bd2-9f7c-4d9b-bca5-78637e354422",
- "normalizedSessionId": "06496696-b312-4268-ac40-66770aaa6f1a",
- "runnerInstanceId": "0005a613-101d-475f-9409-8b8e8b87e9ce",
- "environmentLeaseId": "5957cc86-4533-49e5-a2af-0edbc79a472f",
- "turnId": "turn_attachment_dc251dc322254e15b62b1af28d7e9819",
- "itemId": "item_attachment_625fc1793a804d6e914dc74f0741d39f",
- "outboxCount": 0,
- "pendingTerminalDeliveryIsNull": true,
- "provider": {
- "schema": "paperclip.runner.codex-provider-state.v1",
- "lifecycle": "session_open",
- "completedTurnAuthoritative": true,
- "activeProviderTurnId": null,
- "threadId": "01a12881-5d3b-72a0-b4c3-d993f5b089e1"
- }
- },
- "provider": {
- "at": "2026-10-11T01:27:43.251027+00:00",
- "state": "idle",
- "hydrated": true,
- "health": "ok",
- "error": null,
- "snapshots": true,
- "stop": {
- "id": "stop_74ba7b3408c7739e",
- "status": "completed",
- "requestedAt": null,
- "lastAttemptAt": "2026-10-11T00:50:43.150Z",
- "error": null,
- "endedAt": "2026-10-11T00:50:43.150Z"
- }
- },
- "systemdLimit": "Unit was collected. Manager messages reported missing paths during collection; these do not establish a process crash.",
- "manualLifecycleOrGuestFileMutations": false,
- "scope": "Snapshot after an unexpected cancellation, not a successful natural warm-timeout or post-idle continuation test."
- },
- "diagnosticClaude": {
- "runId": "a38070b3-6c87-435c-8d60-f01ac9fac4b7",
- "status": "failed",
- "errorCode": "setup_failed",
- "startedAt": "2026-10-11T01:18:44Z",
- "finishedAt": "2026-10-11T01:31:25Z",
- "reportedDurationSeconds": 762,
- "acquireLeaseError": "Computer is connecting or settling a previous stop",
- "executionRecoveryStage": "bootstrap",
- "providerWorkStarted": false,
- "stageSyncDurationMs": 473763,
- "runnerTransportConnectedAt": "2026-10-11T01:27:47Z",
- "remoteCheckpoint": {
- "observedAt": "2026-10-11T01:29:48.453917+00:00",
- "lifecycle": "suspended",
- "outboxCount": 0,
- "pendingTerminalDeliveryIsNull": false,
- "modifiedAt": "2026-10-11T01:28:06.792491+00:00"
- },
- "scope": "This latest retry failed; earlier source-specific Claude successes remain valid but do not establish success here.",
- "firstFailure": {
- "kind": "acpx_durable_launch_profile_digest_mismatch",
- "observation": "Expanded run log identifies a durable ACPX launch-profile digest mismatch after approximately990MiB provider-pack upload.",
- "providerPackUploadApproximateMiB": 990,
- "leaseDeadlineCauseProved": false
- },
- "acquireLeaseErrorScope": "Later recovery-stage error; not the first failure or a proved root cause.",
- "candidateCorrection": {
- "status": "under review; not a deployed pass",
- "behavior": "Reuse the provider pack pinned by bound controller state for durable ACPX resume."
- }
- },
- "finalProviderObservation": {
- "at": "2026-10-11T01:33:52.216884+00:00",
- "state": "archived",
- "hydrated": true,
- "health": "ok",
- "error": null,
- "stop": {
- "id": "stop_18563d80fd0ee488",
- "status": "completed",
- "requestedAt": null,
- "lastAttemptAt": "2026-10-11T01:32:48.421Z",
- "error": null,
- "endedAt": "2026-10-11T01:32:48.421Z"
- },
- "manualStopOrWakePerformed": false,
- "furtherGuestReadAttempted": false,
- "limit": "Latest read-only provider state; no post-archive guest checkpoint read was attempted.",
- "scopeAfterLaterWork": "Historical01:33:52 archived observation. Normal task Computer Connect later resumed the fixture. Both viewers closed normally before the01:47:06 provider read; exact close time was not captured."
- },
- "desktopComparison": {
- "servingSource": "610c78a5ad97534380c61fa376c96c1b7a73a86a",
- "deployment": 13,
- "connectAtApproximate": "2026-10-11T01:35:00Z",
- "connectedFromArchived": true,
- "method": "Normal task Computer Connect; then the same provider viewer was opened directly in a browser tab for comparison. Private viewer URL omitted.",
- "streamVisibleAtApproximate": "2026-10-11T01:38:00Z",
- "directBrowserInput": {
- "mouse": "passed: native click opened Chrome",
- "keyboard": "passed: native key events visibly entered the complete marker",
- "visibleMarker": "boatlive0141",
- "evidenceFile": "staging-13-direct-desktop-input.png",
- "timestampInferredFromMarker": false
- },
- "embeddedViewer": {
- "streamVisible": true,
- "secondStreamFrozeOriginalFrame": true,
- "updatedDesktopVisibleAfterCloseAndReconnect": true,
- "keyboardInputVerified": false,
- "mouseInputVerified": false,
- "automationTargetingLimit": "The embedded Ctrl+A attempt selected the outer Paperclip page; this does not establish an embedded product input failure."
- },
- "archiveAfterThisCloseVerified": false,
- "scope": "Direct browser desktop keyboard and mouse passed. Embedded input remains unverified; the comparison revealed one-stream interference.",
- "bothViewersClosedNormally": true,
- "exactCloseTimeCaptured": false,
- "closedBeforeProviderReadAt": "2026-10-11T01:47:06.987010+00:00",
- "closeArchiveCausalityVerified": false,
- "markerEncodesTimestamp": false
- },
- "latestProviderObservation": {
- "at": "2026-10-11T01:47:06.987010+00:00",
- "state": "archived",
- "hydrated": true,
- "health": "ok",
- "error": null,
- "snapshots": true,
- "stop": {
- "id": "stop_6f2a2286a84c0d41",
- "status": "completed",
- "requestedAt": null,
- "lastAttemptAt": "2026-10-11T01:42:11.287Z",
- "error": null,
- "endedAt": "2026-10-11T01:42:11.287Z"
- },
- "guestReadAfterArchive": false,
- "manualStopOrWakePerformed": false,
- "exactViewerCloseTimeCaptured": false,
- "closeArchiveCausalityVerified": false,
- "scope": "Confirmed archived provider state at the timestamp shown, with snapshots retained and latest stop complete. Exact viewer-close time was not captured, so stop ordering relative to the close is not established."
- }
- },
- "localRestart": {
- "source": "817d6a8ebb4a04552639d923ec965a9ab8716d84",
- "result": "inconclusive_host_sleep",
- "firstRun": {
- "id": "3681473c-b5a5-48c3-b96d-0a24e9306a07",
- "status": "succeeded",
- "started_at": "2026-10-10T22:21:28.283Z",
- "finished_at": "2026-10-10T22:25:04.557Z"
- },
- "continuation": {
- "id": "f5f361a7-ea1e-46fe-90d6-46bdd5674f0a",
- "status": "failed",
- "started_at": "2026-10-10T22:26:50.928Z",
- "finished_at": "2026-10-10T22:48:12.932Z",
- "error_code": "native_session_cleanup_quarantined"
- },
- "originalOwnerRetired": true,
- "continuationOwnerRetired": true,
- "newOwnerProcessClaim": null,
- "priorCheckpointLifecycle": "suspended",
- "priorOwnerDescendants": 0,
- "retainedMarker": {
- "exists": true,
- "lineCount": 1,
- "sha256": "584372be7d247a859749d79e9979f9c775a2cc17e54a4ac6b762f0d48ecfb714"
- },
- "hostSleepUtc": [
- {
- "at": "2026-10-10T22:30:26Z",
- "event": "Idle Sleep"
- },
- {
- "at": "2026-10-10T22:31:15Z",
- "event": "Maintenance Sleep",
- "durationSeconds": 1017
- },
- {
- "at": "2026-10-10T22:48:12Z",
- "event": "DarkWake; simultaneous run timeout and onboarding provider error"
- },
- {
- "at": "2026-10-10T22:49:16Z",
- "event": "Dark Wake Thermal Emergency Sleep"
- }
- ],
- "quarantinePreserved": true,
- "notProved": [
- "successful post-restart provider turn",
- "active-crash recovery"
- ]
- },
- "localFreshTask": {
- "firstAttempt": {
- "runId": "de63e6ba-43b6-43d6-ad6e-4167eb2f4712",
- "status": "setup_failed",
- "confoundedByHostSleep": true
- },
- "ordinaryRetry": {
- "id": "e8c52459-2dc1-428c-b5d7-30d33141ff0b",
- "status": "succeeded",
- "started_at": "2026-10-11T00:42:00.094Z",
- "finished_at": "2026-10-11T00:45:27.883Z",
- "marker": {
- "exists": true,
- "lineCount": 1,
- "sha256": "12772b6873ec4e7ffa80c9d0f798f0bb0492aae88b6cb3669c55a812f9bb312c"
- },
- "markerIndependentlyRead": true
- },
- "controllerRestartPerformed": false,
- "source": "817d6a8ebb4a04552639d923ec965a9ab8716d84",
- "cleanup": {
- "checkedAt": "2026-10-11T00:53:46.805859+00:00",
- "owner": {
- "id": "e3426be1-0d0b-4a48-a5f7-21d4d0f3ffa6",
- "generation": 1,
- "phase": "retired"
- },
- "provider": {
- "checkedAt": "2026-10-11T00:53:24.446Z",
- "state": "archived",
- "snapshots": true,
- "stop": {
- "id": "stop_60bcbe837fe4681c",
- "status": "completed",
- "requestedAt": null,
- "lastAttemptAt": "2026-10-11T00:52:14.179Z",
- "error": null,
- "endedAt": "2026-10-11T00:52:14.179Z"
- }
- },
- "processStopEvidence": "Exact owner retired in controller ledger and physical provider archive completed; no post-archive SSH process inventory attempted",
- "postIdleCheckpointRead": "not_observed_archived",
- "controllerRestartPerformedForThisTask": false,
- "followupSubmitted": false,
- "quarantinedBOA15Unchanged": true
- }
- },
- "localInstructionsSave": {
- "checkedAt": "2026-10-11T00:12:50.440541+00:00",
- "uiReportedSaveError": "Failed to fetch; unsaved edits retained",
- "serverSaveHttp200At": [
- "2026-10-10T22:28:59Z",
- "2026-10-10T22:29:56Z"
- ],
- "subsequentCandidatesReadError": {
- "at": "2026-10-10T22:48:12Z",
- "status": 502,
- "code": "provider_error",
- "message": "Computer operation failed"
- },
- "persistentBytesIndependentlyVerified": false,
- "manualProviderLifecycleActions": false,
- "controllerRestartedDuringSave": false,
- "hostSleepConfoundedObservation": true,
- "conclusion": "Save requests returned HTTP200, but a fresh read failed with502 provider_error; durable bytes were not independently verified. This is not evidence of a missing file.",
- "detachPerformed": false
- },
- "localBoundaryChecks": {
- "checkedAt": "2026-10-10T22:22:17.844Z",
- "agentForeignIssueReadStatus": 404,
- "boardForeignTaskComputerConnectStatus": 404,
- "computerOwnerLedgerUnchanged": true,
- "foreignCompanyComputerRows": 0,
- "temporaryCredentialsRevoked": true,
- "scope": "Live local authorization denial; no staging company-denial journey claimed."
- },
- "diagnosticChecks": {
- "source": "d50268c932",
- "focusedTestsPassed": 54,
- "serverTypecheck": "passed",
- "semantics": "Fixed reason-code diagnostics only; all fail-closed gates retained.",
- "earlierCiSnapshot": {
- "observedAt": "2026-10-11T00:49:20.473390+00:00",
- "heads": [
- {
- "head": "d50268c932da9e03c304f6a48cdaa5ee477331f2",
- "checks": {
- "SUCCESS": 26,
- "IN_PROGRESS": 25
- }
- },
- {
- "head": "ee2a01063e3efdd3ddd75de05ff8e831302045fd",
- "checks": {
- "SKIPPED": 2,
- "SUCCESS": 47,
- "IN_PROGRESS": 4
- }
- }
- ]
- },
- "ci": [
- {
- "observedAt": "2026-10-11T00:52:12.095009+00:00",
- "head": "ee2a01063e3efdd3ddd75de05ff8e831302045fd",
- "checks": {
- "SKIPPED": 2,
- "SUCCESS": 52
- },
- "freshReview": true
- },
- {
- "observedAt": "2026-10-11T00:58:18.658125+00:00",
- "head": "d50268c932da9e03c304f6a48cdaa5ee477331f2",
- "checks": {
- "SUCCESS": 52
- },
- "reviewScore": 5,
- "unresolvedThreads": 0,
- "matchesExpected": true,
- "mergeable": "MERGEABLE",
- "freshReview": true
- }
- ]
- },
- "remaining": [
- "Explain and resolve unexpected Codex cancellation and subsequent cleanup quarantine",
- "Successful saved-session continuation on current staging source",
- "Successful current-source native Claude retry",
- "Staging state-preserving HMR after verifying loaded fixture configuration",
- "Embedded desktop input verification; direct browser keyboard and mouse passed",
- "Live sibling cancellation isolation",
- "Detach with retained file verification",
- "Live feature-off cleanup",
- "Staging company denial",
- "Successful controller restart continuation without duplicate execution"
- ],
- "provenance": [
- {
- "file": "staging-deploy-12-verified.json",
- "sha256": "664d6a46b3259846fae329d38ba572311eb2129b4c6789dda67f9f9b2060ca3a"
- },
- {
- "file": "retry-controller-restart-result.json",
- "sha256": "734f73afa4990b26e538de717642ca631127f48e0f777d97b3f078dabfd65a6c"
- },
- {
- "file": "retry-onboarding-save-failure.json",
- "sha256": "ac57f59e1ef6cda246dc2ab8d042997e3c29e54674f12871c7692921a186d5a4"
- },
- {
- "file": "retry-cross-company-denial.json",
- "sha256": "c4e795bcd1f424202347cc912083d5b52341e3dc3a52ba64857bcbcba68f19b8"
- },
- {
- "file": "retry-staging-viewer-natural-cleanup.json",
- "sha256": "f6a5006d95126c726a7f089833e0dff71bb285c5043c3a93fb399997c27a0f12"
- },
- {
- "file": "diagnostic-head-ci-fresh.json",
- "sha256": "5b6c28b6d3421450112e22d61cc01b766bf197572e99a9456a04d775bfcfce57"
- },
- {
- "file": "retry-diagnostic-source-proof.json",
- "sha256": "91e3264c453a8fed34e9ed058303121903aaa3b91b2926d2e38ac7b17cfe5a67"
- },
- {
- "file": "retry-staging-codex-failed-checkpoint.json",
- "sha256": "8baf4299f94e0df9800be3ee04d1be519737713accd810d3fc21554cbccefd3a"
- },
- {
- "file": "retry-staging-codex-failure-dom.txt",
- "sha256": "445a8f27444c50ea19227d562b1f50659e4ab40282d247208c94a111681b1829"
- },
- {
- "file": "retry-staging-claude-final-provider.json",
- "sha256": "9d9a2b4e44ca91de03132c59bcb81b6025f71c2f3895a28caeaa3adbbd0fec63"
- },
- {
- "file": "retry-awake-normal-retry.json",
- "sha256": "9821029e3fd05f405f8157e2249ce98b55dfd1f8c60390fbe04b0d144d86ed89"
- },
- {
- "file": "retry-awake-first-settlement.json",
- "sha256": "30f2b722f9015fb3095572f2999aad4f568d8db5a2feaa2fef484174401e3b62"
- },
- {
- "file": "retry-awake-process-baseline.json",
- "sha256": "21fb1715ed5591691fa384f24a3a4ae7dadb70b5ae6796f376426b2244395acc"
- },
- {
- "file": "retry-awake-final-cleanup.json",
- "sha256": "98f4da9a511a1f920ccad6a0754c98e297eade1f6f00e907a7f140243942471a"
- },
- {
- "file": "core-retry-current-gates.json",
- "sha256": "91c8bc99017a1da024c89650a57a7aadb7d6a984b62582b825c5e9104a1cfab4"
- },
- {
- "file": "parent-diagnostics-current-gates.json",
- "sha256": "878b86aa6c6a86c4533dfcbd7b44b4de2b219f06e3d7b1ffe4236224a6af21bd"
- },
- {
- "file": "staging-deploy-13-verified.json",
- "sha256": "b3cea12a1d93e6e2edf6f45f6b1ba61c2a519bd21117abc48c5d180ea49a3a1c"
- },
- {
- "file": "retry-staging-13-fresh-proof-processes.json",
- "sha256": "f6f34afd19c0f38960050412279ae22bbf0742e6b7596b7215b2b2f17b2526a0"
- },
- {
- "file": "retry-staging-13-warm-proof-processes.json",
- "sha256": "79f5c5b5a888c43477d1765be28aa8f5b62a96248d6dea29b3ec2ad96986c3ec"
- },
- {
- "file": "retry-staging-13-fresh-checkpoint.json",
- "sha256": "4212bef4e1116c533b88bc2706aab832342c7c1c2add0df9ddb1e8f96aa11b0f"
- },
- {
- "file": "retry-staging-13-warm-checkpoint.json",
- "sha256": "79117a28838624b5e722e9a57f38bea8426ffad2fdeb4b10eacb5ac44791eed1"
- },
- {
- "file": "retry-staging-13-before-cancel.json",
- "sha256": "c6374912eeb93ece8747c90ba0e170a99d2f551acc9e1aa789ba9aa15d4624fb"
- },
- {
- "file": "retry-staging-13-final-provider.json",
- "sha256": "00192becac27fb4a7d9b6509da22e9db68e5c4f052b3a01ebaf74eccf8de7d1d"
- },
- {
- "file": "retry-staging-13-final-processes.json",
- "sha256": "2d2af6b458b504ee3c4d03a16d7a35422a50895d701f6040b029f0e53a0ee625"
- },
- {
- "file": "retry-staging-13-final-checkpoint.json",
- "sha256": "d0aab1946dc34af67e92c839b1b5836662037c2de90e84d694d6cf3ccf4375ef"
- },
- {
- "file": "retry-staging-13-owner-settlement.json",
- "sha256": "4fd54c2340706f1d6c6f9da1c28921d2262bfc4bf4ca5eed4b47d841cdc975af"
- },
- {
- "file": "retry-staging-13-systemd-failure-details.json",
- "sha256": "ca4370d62068e5a0b7026959658a466e054539d15a03e9d80e0ddd72aab3ca56"
- },
- {
- "file": "retry-staging-13-hmr-file-views.json",
- "sha256": "3dcefc238dd72d26019fb4be993f7c5cbaa0c6327bb7bf4c22bfa837b4e850e9"
- },
- {
- "file": "retry-staging-13-hmr-mount-namespaces.json",
- "sha256": "2eee6f2f0e4c45d260c6bc5ab3ba1bb494136aa58dd029d50517ce8e126ab14c"
- },
- {
- "file": "retry-staging-13-test-config.json",
- "sha256": "cecf3bd5f7b4a280da8adb1fa8fcd1f855e2b61e9734918768a3f9923128b98c"
- },
- {
- "file": "staging-13-cancel-expanded-dom.txt",
- "sha256": "4861ab723ded35336f5533d646a8f607110b3eaf5fe6cf8aff5bcd7785b66729"
- },
- {
- "file": "staging-13-claude-retry-dom.txt",
- "sha256": "8f4d8d57ba2842e70d5f49667513aa94fce4e6a6037b0ad7c2977fc5a1eb498c"
- },
- {
- "file": "retry-staging-13-claude-terminal-provider-check.json",
- "sha256": "8067d6bf0d8bee7da20526ab941ab79e23eb0becbc0e066fd0afea785e81fe09"
- },
- {
- "file": "staging-13-direct-desktop-input.png",
- "sha256": "02ab563a51e6597b41c0faca3468be0e925901bd46890e37facdaac51ddc67c7"
- },
- {
- "file": "retry-staging-13-post-viewer-close-provider.json",
- "sha256": "398825c89d9300c4d48a9bb46408c1f75016d1764c847cbbf830dfc36dc73a08"
- }
- ],
- "deployment13": {
- "checkedAt": "2026-10-11T01:05:58.740756+00:00",
- "requestedSha": "610c78a5ad97534380c61fa376c96c1b7a73a86a",
- "servingSha": "610c78a5ad97534380c61fa376c96c1b7a73a86a",
- "status": "succeeded",
- "verification": "verified",
- "runId": 38100487034,
- "verifiedAt": "2026-10-11T01:05:49Z"
- },
- "candidate14": {
- "canonicalRuntime": "21deac0abfd2919525114f8cdc4a0d49f139665a",
- "core": "66ac692e446bd2ce0175613787f82eeb048f2749",
- "staging": "5cf388845902c88d0406116ed9b2c44f335d8bb2",
- "deploymentRequestId": "f4e5af86-8ad0-4ebd-ad97-f2a9173015af",
- "status": "dispatched; not verified serving",
- "fixes": [
- "exact remote owner cleanup scope",
- "retain controller-pinned verified ACPX provider package",
- "fixed-field cancellation source diagnostics"
- ],
- "targetedTests": {
- "cleanup": 8,
- "quarantineFences": 2,
- "providerPack": 26,
- "manifestBootstrap": 7,
- "cancellationDiagnostics": 7
- },
- "serverTypecheck": "passed",
- "independentProviderPackReview": "no remaining actionable findings",
- "liveRecoveryRetest": "pending"
- },
- "candidate14VerificationFiles": [
- {
- "file": "boat-cleanup-scope-focused-tests.log",
- "sha256": "9058d658e9605762a5a16e40ef2a4c2385a004546db111c337c6795545fd6dcb"
- },
- {
- "file": "boat-cleanup-scope-runtime-tests.log",
- "sha256": "89bccf74fe69f8cc6accbaff060a8aa6560d8dc935497e6d239f277acc031933"
- },
- {
- "file": "boat-cleanup-scope-typecheck.log",
- "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- {
- "file": "claude-pack-pin-green.log",
- "sha256": "002a36696417b8f6f98546fa13e8d972f3b33b8d61fed0044b19a977cd9c3634"
- },
- {
- "file": "claude-pack-pin-manifest-tests.log",
- "sha256": "b21b2315081d5f8c2c1e615b1ed6cc55a4e91db41d10036c63092dfabdfca16c"
- },
- {
- "file": "claude-pack-pin-typecheck.log",
- "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- {
- "file": "native-cancellation-diagnostic-tests.log",
- "sha256": "b86a444e63cbae19ebe709c79919cc405f7cfbef68aeccbf861e7afdd3c3feea"
- }
- ],
- "followUp14": {
- "recordedAt": "2026-10-11T02:23:00Z",
- "servingSha": "5cf388845902c88d0406116ed9b2c44f335d8bb2",
- "hmr": {
- "result": "passed_after_rebaseline",
- "runId": "9c13e199-845c-4bb1-a5a8-2118b1edfb93",
- "beforeHeading": "Boat staging hot reload verified 0213",
- "afterHeading": "Boat staging warm HMR confirmed 0216",
- "preservedInput": "keep-this-unsaved-draft-boat-0213",
- "preservedPageSession": "1791684735337",
- "unchangedProcesses": [
- {
- "kind": "runner",
- "pid": 35567,
- "startTicks": 52230
- },
- {
- "kind": "codex",
- "pid": 35991,
- "startTicks": 52541
- },
- {
- "kind": "vite",
- "pid": 37325,
- "startTicks": 54717
- }
- ],
- "session": "06496696-b312-4268-ac40-66770aaa6f1a",
- "proofSha256": "f9253e57dadaefe9276e99a9cd0cb9fad68d2704dd820b61e026edf6e6527c46",
- "checkpointReadyEmptyOutboxNoPendingTerminal": true,
- "limit": "Initial 02:12 browser reconnect lost the first baseline before heading change; later rebaseline and complete second warm turn passed."
- },
- "localDetachRetention": {
- "result": "passed",
- "environmentId": "c528a21f-b893-4dd0-8be9-5f6e5e02e2b2",
- "detachAt": "2026-10-11T01:56:32Z",
- "priorStopCompletedAt": "2026-10-11T02:05:09.243Z",
- "reconnectAt": "2026-10-11T02:05:35.745Z",
- "retainedMarkerObservedBy": "2026-10-11T02:14:00Z",
- "cleanup": "Original instruction text restored through UI and reread after full reload; both fixture agents reassigned to same Boat.",
- "experience": "Slow provider stop and file read; transient settling error. Retention success does not imply smooth UX."
- },
- "claudeSavedResume": {
- "result": "failed",
- "runId": "d529d365-e999-4a38-a4d0-562812df83c8",
- "error": "runner_remote_provider_pack_provenance_unavailable",
- "fix": "29e2aa95d1",
- "validation": "28 cache tests, 5 transport tests, both TypeScript checks, independent review passed; live validation pending."
- },
- "siblingStop": {
- "result": "inconclusive_for_live_child_cancellation",
- "reportedPid": 72165,
- "pidAbsentBeforeStopAt": "2026-10-11T02:21:48Z",
- "uiStopApproxAt": "2026-10-11T02:21:50Z",
- "postStopAt": "2026-10-11T02:22:05Z",
- "nativeProcessesUnchanged": true
- },
- "computerUse": {
- "result": "passed_after_navigation_correction",
- "correctedArtifactId": "6b8961f8-8c62-44aa-8232-8cf1ed0056f7",
- "artifactViewedAfterDeployment15": true,
- "visibleAddressBar": "example.com",
- "tools": [
- "launch_app",
- "list_windows",
- "bring_to_front",
- "click",
- "hotkey",
- "type_text",
- "press_key",
- "get_window_state"
- ],
- "limits": [
- "AT-SPI browser binding failed; desktop input tools succeeded.",
- "Initial artifact had an appended path. Corrected screenshot and live desktop both showed the root domain.",
- "Artifact registration required corrected final hash and size before succeeding.",
- "Embedded human-input automation targeted the outer container; no new embedded human-input pass claimed."
- ]
- },
- "claudeSiblingAttempt": {
- "result": "inconclusive_isolation",
- "marker": "BOAT_CLAUDE_SIBLING_0228",
- "beforeAt": "2026-10-11T02:29:52.295Z",
- "childPid": 114616,
- "childStartTicks": 165984,
- "claudeRetirementAt": "2026-10-11T02:30:20.494Z",
- "nativeRetirementAt": "2026-10-11T02:30:32.551Z",
- "afterAt": "2026-10-11T02:30:42.813Z",
- "childAndNativeProcessesAbsent": true,
- "limit": "Native retirement began 123 seconds after its checkpoint settlement, compatible with normal 120-second warm expiry. Rollout also overlapped. No causal attribution to sibling Stop or deployment."
- }
- },
- "deployment15": {
- "sha": "5575b36a8d826d0092466257a7b468af8e5330d5",
- "hostname": "boat.staging.paperclip.app",
- "environment": "staging",
- "status": "succeeded",
- "verification": "verified",
- "requestId": "74e2d030-f3e8-457b-a228-1c049f60c27e",
- "checkedAt": "2026-10-11T02:33:12.796Z",
- "admissionFailures": {
- "recordedAt": "2026-10-11T02:41:49.372691+00:00",
- "servingSource": "5575b36",
- "deployment": 15,
- "source": "Parent captured expanded normal product UI recovery details",
- "runs": [
- {
- "runId": "5913803a-1dd0-494c-8198-e2c6cac77231",
- "runtime": "native Codex",
- "status": "failed",
- "errorCode": "setup_failed",
- "error": "Failed to acquire lease for environment \"Boat staging qualification\" (computer): Computer is connecting or settling a previous stop"
- },
- {
- "runId": "633e2852-aaf5-49ad-879f-9615a42d572d",
- "runtime": "legacy Claude",
- "status": "failed",
- "errorCode": "setup_failed",
- "error": "Failed to acquire lease for environment \"Boat staging qualification\" (computer): Computer is connecting or settling a previous stop"
- }
- ],
- "exactRunStartFinishTimestampsCaptured": false,
- "uiFailureObservedApproximate": "2026-10-11T02:38:00Z",
- "providerObservation": {
- "at": "2026-10-11T02:41:08.509628+00:00",
- "sandboxId": "bx_b8sawfyp",
- "state": "archiving",
- "hydrated": true,
- "health": "ok",
- "error": null,
- "snapshots": true,
- "stop": {
- "id": "stop_804de979b357c47a",
- "status": "pending",
- "requestedAt": "2026-10-11T02:34:21.063Z",
- "lastAttemptAt": null,
- "error": null,
- "endedAt": null
- },
- "lastSnapshotAttemptAt": "2026-10-11T02:38:34.995Z",
- "lastSnapshotStatus": "in_progress",
- "snapshotCompletedAt": "2026-10-11T02:19:59.759Z",
- "snapshotVerifiedAt": "2026-10-11T02:19:59.759Z"
- },
- "conclusion": "Both run failures report lease admission waiting for provider stop settlement. Provider status independently remained archiving with pending stop and snapshot in progress; no guest execution or alternate failure cause is claimed.",
- "manualLifecycleActions": false,
- "retryIssuedByObserver": false
- }
- },
- "local36Restart": {
- "recordedAt": "2026-10-11T02:44:57.442431+00:00",
- "result": "passed",
- "scope": "Ordinary saved-session continuation after local controller restart and prior natural provider archive; no active-crash recovery claim.",
- "controller": "local36",
- "runtimeSourcePrefix": "193c2",
- "originalRun": {
- "id": "e8c52459-2dc1-428c-b5d7-30d33141ff0b",
- "status": "succeeded",
- "started_at": "2026-10-11T00:42:00.094Z",
- "finished_at": "2026-10-11T00:45:27.883Z",
- "native_session_id": "994ca5b6-8d92-4c97-b14c-411aa0395caf",
- "runner_instance_id": "55f789fd-17d9-48ad-8f65-0f806782c436",
- "session_id_before": null,
- "session_id_after": "01a1286b-9338-7101-8ced-733e9b28ae99"
- },
- "continuationRun": {
- "id": "6f31e383-8400-4675-acd2-11563007b66d",
- "status": "succeeded",
- "started_at": "2026-10-11T02:40:41.830Z",
- "finished_at": "2026-10-11T02:43:37.252Z",
- "native_session_id": "994ca5b6-8d92-4c97-b14c-411aa0395caf",
- "runner_instance_id": "55f789fd-17d9-48ad-8f65-0f806782c436",
- "session_id_before": "01a1286b-9338-7101-8ced-733e9b28ae99",
- "session_id_after": "01a1286b-9338-7101-8ced-733e9b28ae99"
- },
- "sameNormalizedSession": true,
- "sameProviderSession": true,
- "sameLogicalRunner": true,
- "independentProof": {
- "at": "2026-10-11T02:44:26.082483+00:00",
- "bootId": "7d0e87da-b3af-467b-bba2-facdbc4237d9",
- "marker": {
- "exists": true,
- "lineCount": 1,
- "sha256": "12772b6873ec4e7ffa80c9d0f798f0bb0492aae88b6cb3669c55a812f9bb312c"
- },
- "checkpoints": [
- {
- "fileKind": "runner-state.json",
- "mtime": 1791686617,
- "runId": "6f31e383-8400-4675-acd2-11563007b66d",
- "runnerInstanceId": "55f789fd-17d9-48ad-8f65-0f806782c436",
- "normalizedSessionId": "994ca5b6-8d92-4c97-b14c-411aa0395caf",
- "lifecycle": "ready"
- },
- {
- "fileKind": "codex-provider-state.json",
- "mtime": 1791686617,
- "lifecycle": "session_open",
- "threadId": "01a1286b-9338-7101-8ced-733e9b28ae99",
- "activeProviderTurnId": null,
- "completedTurnAuthoritative": true
- }
- ]
- },
- "markerUnchanged": true,
- "priorQuarantinePreserved": true,
- "noManualReset": true,
- "provenance": [
- {
- "file": "retry-awake-local36-followup-d.json",
- "sha256": "b58bcdb74a9c0b2636349fd09ab5c1694533d9a4f14f77817744a1545c2d1811"
- },
- {
- "file": "retry-local-36-restart-proof.json",
- "sha256": "563a32e1acb7946cc58504cc813377d14b2c2deca6131a3383c1fb8b93b7428f"
- },
- {
- "file": "retry-awake-final-cleanup.json",
- "sha256": "98f4da9a511a1f920ccad6a0754c98e297eade1f6f00e907a7f140243942471a"
- }
- ],
- "postWarmExpiry": {
- "ownerRetiredObservedAt": "2026-10-11T02:49:23Z",
- "providerStateAt": "2026-10-11T02:49:24Z",
- "providerState": "archiving",
- "stopRequestedAt": "2026-10-11T02:49:01.985Z",
- "physicalArchiveCompleted": false,
- "noGuestReadOrManualLifecycleMutation": true
- }
- },
- "deployment16": {
- "sha": "2e8859ab762e5b2ce97f2ea774e385fd333f9cee",
- "hostname": "boat.staging.paperclip.app",
- "environment": "staging",
- "status": "succeeded",
- "verification": "verified",
- "requestId": "66b7d1a0-ca8e-4c71-8e91-aef42fb66e35",
- "checkedAt": "2026-10-11T02:59:15.776Z",
- "providerBlocker": {
- "at": "2026-10-11T02:56:29.333752+00:00",
- "sandboxId": "bx_b8sawfyp",
- "state": "idle",
- "hydrated": true,
- "health": "ok",
- "error": null,
- "snapshots": true,
- "stop": {
- "id": "stop_804de979b357c47a",
- "status": "failing",
- "requestedAt": "2026-10-11T02:34:21.063Z",
- "lastAttemptAt": "2026-10-11T02:56:20.600Z",
- "error": "Refusing archive/stop: Sandbox machine sandbox-node-defc0af28a6bec36 has no successful snapshot in the last 30 minutes (latest completed at 2026-10-11T02:19:59.759Z).",
- "endedAt": null
- },
- "lastSnapshotAttemptAt": "2026-10-11T02:54:41.003Z",
- "lastSnapshotStatus": "in_progress",
- "snapshotCompletedAt": "2026-10-11T02:19:59.759Z",
- "snapshotVerifiedAt": "2026-10-11T02:19:59.759Z",
- "stopPendingSeconds": 1328.271,
- "snapshotAttemptElapsedSeconds": 108.331
- },
- "providerFollowUp": {
- "recordedAt": "2026-10-11T03:01:41.119836+00:00",
- "scope": "Read-only provider status, no guest reads or lifecycle actions",
- "fixtures": [
- {
- "fixture": "staging",
- "sandboxId": "bx_b8sawfyp",
- "observedAt": "2026-10-11T03:01:41.089449+00:00",
- "state": "idle",
- "hydrated": true,
- "health": "ok",
- "snapshots": true,
- "lastSnapshotAttemptAt": "2026-10-11T02:54:41.003Z",
- "lastSnapshotStatus": "in_progress",
- "snapshotCompletedAt": "2026-10-11T02:19:59.759Z",
- "snapshotVerifiedAt": "2026-10-11T02:19:59.759Z",
- "stop": {
- "id": "stop_804de979b357c47a",
- "status": "failing",
- "requestedAt": "2026-10-11T02:34:21.063Z",
- "lastAttemptAt": "2026-10-11T03:01:20.448Z",
- "endedAt": null,
- "error": "Refusing archive/stop: Sandbox machine [sandbox machine] has no successful snapshot in the last 30 minutes (latest completed at 2026-10-11T02:19:59.759Z)."
- },
- "providerErrorPresent": false
- },
- {
- "fixture": "local-main",
- "sandboxId": "bx_ndnggjad",
- "observedAt": "2026-10-11T03:01:41.119643+00:00",
- "state": "archiving",
- "hydrated": true,
- "health": "ok",
- "snapshots": true,
- "lastSnapshotAttemptAt": "2026-10-11T02:54:23.415Z",
- "lastSnapshotStatus": "in_progress",
- "snapshotCompletedAt": "2026-10-11T02:41:45.984Z",
- "snapshotVerifiedAt": "2026-10-11T02:41:45.984Z",
- "stop": {
- "id": "stop_e6158ef3a5ab49f1",
- "status": "pending",
- "requestedAt": "2026-10-11T02:49:01.985Z",
- "lastAttemptAt": null,
- "endedAt": null,
- "error": null
- },
- "providerErrorPresent": false
- }
- ]
- }
- },
- "resourceStatus0258": {
- "recordedAt": "2026-10-11T02:58:00.008349+00:00",
- "scope": "Read-only provider status; no guest reads, wake, stop, or lifecycle mutation",
- "fixtures": [
- {
- "fixture": "local-main",
- "sandboxId": "bx_ndnggjad",
- "observedAt": "2026-10-11T02:57:59.988360+00:00",
- "state": "archiving",
- "hydrated": true,
- "health": "ok",
- "snapshots": true,
- "lastSnapshotStatus": "in_progress",
- "stop": {
- "id": "stop_e6158ef3a5ab49f1",
- "status": "pending",
- "requestedAt": "2026-10-11T02:49:01.985Z",
- "lastAttemptAt": null,
- "endedAt": null,
- "error": null
- },
- "providerErrorPresent": false
- },
- {
- "fixture": "local-onboarding",
- "sandboxId": "bx_f3jvebwu",
- "observedAt": "2026-10-11T02:58:00.008138+00:00",
- "state": "archived",
- "hydrated": true,
- "health": "ok",
- "snapshots": true,
- "lastSnapshotStatus": "completed",
- "stop": {
- "id": "stop_4baaa2099e8c268d",
- "status": "completed",
- "requestedAt": null,
- "lastAttemptAt": "2026-10-11T02:21:09.133Z",
- "endedAt": "2026-10-11T02:21:09.133Z",
- "error": null
- },
- "providerErrorPresent": false
- },
- {
- "fixture": "builder",
- "sandboxId": "bx_3tp9d5uv",
- "observedAt": "2026-10-11T02:57:59.997786+00:00",
- "state": "archived",
- "hydrated": false,
- "health": "ok",
- "snapshots": true,
- "lastSnapshotStatus": "completed",
- "stop": {
- "id": "stop_192aadbc06d25d9f",
- "status": "completed",
- "requestedAt": null,
- "lastAttemptAt": "2026-10-10T16:04:23.914Z",
- "endedAt": "2026-10-10T16:04:23.914Z",
- "error": null
- },
- "providerErrorPresent": false
- }
- ]
- },
- "local37FailingStopCancellation": {
- "classification": "operator cancellation while provider stop was failing; not a pending-wait qualification",
- "checkedAt": "2026-10-11T03:10:53.835Z",
- "run": {
- "id": "b380b52e-12df-4231-9f79-7e38539050f1",
- "status": "cancelled",
- "created_at": "2026-10-11T03:08:39.968Z",
- "started_at": "2026-10-11T03:08:40.002Z",
- "finished_at": "2026-10-11T03:09:07.157Z",
- "error_code": "cancelled",
- "error": "Cancelled by a board operator",
- "native_session_id": null,
- "runner_instance_id": null,
- "session_id_before": "01a1286b-9338-7101-8ced-733e9b28ae99",
- "session_id_after": null,
- "retry_of_run_id": null,
- "scheduled_retry_at": null,
- "scheduled_retry_attempt": 0,
- "scheduled_retry_reason": null,
- "execution_stage": "preparing",
- "execution_recovery": null,
- "computer_admission": null,
- "cancellation": {
- "reason": "Cancelled by a board operator",
- "source": "operator",
- "expected": true,
- "initiator": {
- "id": "local-board",
- "type": "user"
- },
- "recordedAt": "2026-10-11T03:09:07.156Z"
- }
- },
- "newOwnerIdsAfterFirstSample": [],
- "ownersBoundToRun": [],
- "leasesBoundToRun": [],
- "subsequentTaskRuns": [],
- "wakeRequestsAfter0306": [
- {
- "id": "dc6f6f64-fa09-4757-954f-dac920ffe185",
- "run_id": "b380b52e-12df-4231-9f79-7e38539050f1",
- "status": "cancelled",
- "reason": "issue_reopened_via_comment",
- "requested_at": "2026-10-11T03:08:39.968Z",
- "claimed_at": "2026-10-11T03:08:40.002Z",
- "finished_at": "2026-10-11T03:09:07.157Z"
- }
- ],
- "runEventTypes": [
- {
- "event_type": "lifecycle",
- "count": 2,
- "first_at": "2026-10-11T03:09:07.165Z",
- "last_at": "2026-10-11T03:09:07.694Z"
- }
- ],
- "providerFailureBaseline": {
- "recordedAt": "2026-10-11T03:06:37.292098+00:00",
- "scope": "Read-only precondition for pending-wait cancellation; no guest reads or lifecycle actions",
- "fixtures": [
- {
- "fixture": "local-main",
- "sandboxId": "bx_ndnggjad",
- "observedAt": "2026-10-11T03:06:37.280972+00:00",
- "state": "archiving",
- "hydrated": true,
- "health": "ok",
- "snapshots": true,
- "lastSnapshotAttemptAt": "2026-10-11T03:02:42.113Z",
- "lastSnapshotStatus": "in_progress",
- "snapshotCompletedAt": "2026-10-11T02:41:45.984Z",
- "snapshotVerifiedAt": "2026-10-11T02:41:45.984Z",
- "stop": {
- "id": "stop_e6158ef3a5ab49f1",
- "status": "failing",
- "requestedAt": "2026-10-11T02:49:01.985Z",
- "lastAttemptAt": "2026-10-11T03:02:40.643Z",
- "endedAt": null,
- "error": "Final snapshot failed; stop aborted to protect unsaved data: archival snapshot 52656953-0970-44b4-b373-f9f29e5f3d50 did not complete (status=failed); machine kept alive"
- },
- "providerErrorPresent": false
- },
- {
- "fixture": "staging",
- "sandboxId": "bx_b8sawfyp",
- "observedAt": "2026-10-11T03:06:37.291945+00:00",
- "state": "idle",
- "hydrated": true,
- "health": "ok",
- "snapshots": true,
- "lastSnapshotAttemptAt": "2026-10-11T03:02:40.556Z",
- "lastSnapshotStatus": "in_progress",
- "snapshotCompletedAt": "2026-10-11T02:19:59.759Z",
- "snapshotVerifiedAt": "2026-10-11T02:19:59.759Z",
- "stop": {
- "id": "stop_804de979b357c47a",
- "status": "failing",
- "requestedAt": "2026-10-11T02:34:21.063Z",
- "lastAttemptAt": "2026-10-11T03:06:20.495Z",
- "endedAt": null,
- "error": "Refusing archive/stop: Sandbox machine [sandbox machine] has no successful snapshot in the last 30 minutes (latest completed at 2026-10-11T02:19:59.759Z)."
- },
- "providerErrorPresent": false
- }
- ]
- },
- "evidence": [
- {
- "file": "retry-local37-admission-first.json",
- "sha256": "5cd9c10c0dc66d82e994e12fdfcbe80c818f17419da2ad7481c4de60379e2662"
- },
- {
- "file": "retry-local37-admission-settled.json",
- "sha256": "818e5e94330d2d80d0714522ea4ba2c3d4904a6fbd02b5ea5e8cd1f9dd6a9ce0"
- },
- {
- "file": "retry-pending-wait-provider-baseline.json",
- "sha256": "f575cd34f84655a99b35c2094ab9cb5e1fc0cdb5bb3e797f709cf8bd39c34879"
- },
- {
- "file": "retry-local37-admission-cleanup0313.json",
- "sha256": "d4e010b16335d01c4d8167e52e9c3cd62b1cf180e3ebc38150a24cc848e511bd"
- }
- ],
- "limits": [
- "No guest inspection was performed while the provider was archiving with a failing stop.",
- "Absence of provider dispatch is supported by null runtime binding, preparing stage, no owner/lease, and lifecycle-only run events.",
- "No durable computer_admission_wait record was produced in this run.",
- "The 03:10:53 sample still showed preparing; executor cleanup is proven only by the 03:13:38 sample and its 03:11:16.987 settlement receipt."
- ],
- "cleanupVerifiedAt": "2026-10-11T03:13:38.297Z",
- "finalCleanup": {
- "checkedAt": "2026-10-11T03:13:38.297Z",
- "run": {
- "id": "b380b52e-12df-4231-9f79-7e38539050f1",
- "status": "cancelled",
- "created_at": "2026-10-11T03:08:39.968Z",
- "started_at": "2026-10-11T03:08:40.002Z",
- "finished_at": "2026-10-11T03:09:07.157Z",
- "error_code": "cancelled",
- "error": "Cancelled by a board operator",
- "native_session_id": null,
- "runner_instance_id": null,
- "session_id_before": "01a1286b-9338-7101-8ced-733e9b28ae99",
- "session_id_after": null,
- "retry_of_run_id": null,
- "scheduled_retry_at": null,
- "scheduled_retry_attempt": 0,
- "scheduled_retry_reason": null,
- "execution_stage": "settled",
- "runtime_mode": "legacy",
- "controller_lease_expires_at": null,
- "startup_preparation_settled_at": "2026-10-11T03:11:16.987Z",
- "computer_admission_preparation_settled_at": null,
- "computer_admission_retry_outcome": null,
- "execution_recovery": null,
- "computer_admission": null,
- "cancellation": {
- "reason": "Cancelled by a board operator",
- "source": "operator",
- "expected": true,
- "initiator": {
- "id": "local-board",
- "type": "user"
- },
- "recordedAt": "2026-10-11T03:09:07.156Z"
- }
- },
- "noOwnerOrLeaseBoundToRun": true,
- "noScheduledRetryOrSuccessor": true,
- "sourceFile": "retry-local37-admission-cleanup0313.json",
- "sourceSha256": "d4e010b16335d01c4d8167e52e9c3cd62b1cf180e3ebc38150a24cc848e511bd"
- },
- "finalSuccessorRunIds": []
- },
- "providerSnapshotInvestigation": {
- "recordedAt": "2026-10-11T03:11:36.970048+00:00",
- "scope": "GET sandbox, GET exact stop, GET latest five completed snapshots only; no guest contact or mutations",
- "fixtures": [
- {
- "fixture": "staging",
- "sandboxId": "bx_b8sawfyp",
- "state": "idle",
- "hydrated": true,
- "health": "ok",
- "snapshots": true,
- "lastSnapshotAttemptAt": "2026-10-11T03:02:40.556Z",
- "lastSnapshotStatus": "in_progress",
- "snapshotCompletedAt": "2026-10-11T02:19:59.759Z",
- "snapshotVerifiedAt": "2026-10-11T02:19:59.759Z",
- "stop": {
- "id": "stop_804de979b357c47a",
- "status": "failing",
- "requestedAt": "2026-10-11T02:34:21.063Z",
- "lastAttemptAt": "2026-10-11T03:11:20.544Z",
- "endedAt": null,
- "error": "Refusing archive/stop: Sandbox machine [redacted] has no successful snapshot in the last 30 minutes (latest completed at 2026-10-11T02:19:59.759Z)."
- },
- "completedSnapshots": [
- {
- "id": "257de6e4-c150-4c2b-b8e7-026831946617",
- "status": "completed",
- "kind": "incremental",
- "generation": 93,
- "createdAt": "2026-10-11T02:19:44.213Z",
- "completedAt": "2026-10-11T02:19:59.759Z",
- "sizeBytes": 445853,
- "fileCount": 81,
- "contentSizeBytes": 13367620,
- "contentFileCount": 81
- },
- {
- "id": "3bcf62e0-cc69-47e9-b493-1e294d74ea51",
- "status": "completed",
- "kind": "incremental",
- "generation": 92,
- "createdAt": "2026-10-11T02:18:44.210Z",
- "completedAt": "2026-10-11T02:18:59.226Z",
- "sizeBytes": 357418,
- "fileCount": 71,
- "contentSizeBytes": 12994481,
- "contentFileCount": 71
- },
- {
- "id": "e543237f-89dc-41fc-a1e4-0ad6ad7a7ac4",
- "status": "completed",
- "kind": "incremental",
- "generation": 91,
- "createdAt": "2026-10-11T02:17:44.226Z",
- "completedAt": "2026-10-11T02:18:02.424Z",
- "sizeBytes": 179011,
- "fileCount": 54,
- "contentSizeBytes": 4214826,
- "contentFileCount": 54
- },
- {
- "id": "987fbaf1-a3c9-485c-81b1-a3e6c0a687e9",
- "status": "completed",
- "kind": "incremental",
- "generation": 90,
- "createdAt": "2026-10-11T02:16:44.225Z",
- "completedAt": "2026-10-11T02:17:02.668Z",
- "sizeBytes": 272375,
- "fileCount": 5,
- "contentSizeBytes": 6254470,
- "contentFileCount": 5
- },
- {
- "id": "6e688e9c-ba76-4c76-9ffd-fa9c457ce3c5",
- "status": "completed",
- "kind": "incremental",
- "generation": 89,
- "createdAt": "2026-10-11T02:15:44.223Z",
- "completedAt": "2026-10-11T02:16:02.697Z",
- "sizeBytes": 207058,
- "fileCount": 4,
- "contentSizeBytes": 4214662,
- "contentFileCount": 4
- }
- ],
- "hasMoreCompletedSnapshots": true
- },
- {
- "fixture": "local-main",
- "sandboxId": "bx_ndnggjad",
- "state": "archiving",
- "hydrated": true,
- "health": "ok",
- "snapshots": true,
- "lastSnapshotAttemptAt": "2026-10-11T03:02:42.113Z",
- "lastSnapshotStatus": "in_progress",
- "snapshotCompletedAt": "2026-10-11T02:41:45.984Z",
- "snapshotVerifiedAt": "2026-10-11T02:41:45.984Z",
- "stop": {
- "id": "stop_e6158ef3a5ab49f1",
- "status": "failing",
- "requestedAt": "2026-10-11T02:49:01.985Z",
- "lastAttemptAt": "2026-10-11T03:02:40.643Z",
- "endedAt": null,
- "error": "Final snapshot failed; stop aborted to protect unsaved data: archival snapshot 52656953-0970-44b4-b373-f9f29e5f3d50 did not complete (status=failed); machine kept alive"
- },
- "completedSnapshots": [
- {
- "id": "53e25365-31d5-4949-8913-121ea1d09a2c",
- "status": "completed",
- "kind": "incremental",
- "generation": 279,
- "createdAt": "2026-10-11T02:41:40.087Z",
- "completedAt": "2026-10-11T02:41:45.984Z",
- "sizeBytes": 48739,
- "fileCount": 138,
- "contentSizeBytes": 174240,
- "contentFileCount": 138
- },
- {
- "id": "64799060-7ed0-4a52-9b72-52dacb6f20c0",
- "status": "completed",
- "kind": "incremental",
- "generation": 278,
- "createdAt": "2026-10-11T02:40:43.045Z",
- "completedAt": "2026-10-11T02:40:43.043Z",
- "sizeBytes": 179245,
- "fileCount": 28,
- "contentSizeBytes": null,
- "contentFileCount": null
- },
- {
- "id": "983f8945-6e82-4f06-90d7-76b2ebb00ad4",
- "status": "completed",
- "kind": "noop",
- "generation": null,
- "createdAt": "2026-10-11T00:52:13.419Z",
- "completedAt": "2026-10-11T00:52:14.041Z",
- "sizeBytes": null,
- "fileCount": null,
- "contentSizeBytes": null,
- "contentFileCount": null
- },
- {
- "id": "35bf2230-1823-4517-99d6-440272916f9c",
- "status": "completed",
- "kind": "incremental",
- "generation": 278,
- "createdAt": "2026-10-11T00:50:15.044Z",
- "completedAt": "2026-10-11T00:52:12.702Z",
- "sizeBytes": 179245,
- "fileCount": 28,
- "contentSizeBytes": 6443682,
- "contentFileCount": 28
- },
- {
- "id": "fd62ed3a-723f-4545-8610-3109f6d02396",
- "status": "completed",
- "kind": "incremental",
- "generation": 277,
- "createdAt": "2026-10-11T00:46:33.572Z",
- "completedAt": "2026-10-11T00:50:14.996Z",
- "sizeBytes": 220697,
- "fileCount": 496,
- "contentSizeBytes": 6252535,
- "contentFileCount": 496
- }
- ],
- "hasMoreCompletedSnapshots": true
- }
- ]
- },
- "deployment17": {
- "sourceCommit": "ca8ab88c78556c4711d59f71c6293619543a66a1",
- "requestId": "f90ac5bb-503e-4f15-a56e-7ccd2509c187",
- "prepareRunId": "38107501313",
- "buildRunId": "38107534492",
- "result": "Build cancelled before check/deploy after fresh review found admission lifecycle defects. No rollout occurred.",
- "reviewFindings": [
- "https://github.com/paperclipai/paperclip/pull/15813#discussion_r4240083053",
- "https://github.com/paperclipai/paperclip/pull/15804#discussion_r4240095623"
- ],
- "correction": "In progress; fresh deployment required after correction."
- },
- "providerSelfRecovery0323": {
- "recordedAt": "2026-10-11T03:23:54.960011+00:00",
- "scope": "Single bounded provider status check; no guest reads or lifecycle actions",
- "fixtures": [
- {
- "fixture": "staging",
- "sandboxId": "bx_b8sawfyp",
- "observedAt": "2026-10-11T03:23:54.959691+00:00",
- "state": "idle",
- "hydrated": true,
- "health": "ok",
- "snapshots": true,
- "lastSnapshotAttemptAt": "2026-10-11T03:16:37.370Z",
- "lastSnapshotStatus": "in_progress",
- "snapshotCompletedAt": "2026-10-11T02:19:59.759Z",
- "snapshotVerifiedAt": "2026-10-11T02:19:59.759Z",
- "stop": {
- "id": "stop_804de979b357c47a",
- "status": "failing",
- "requestedAt": "2026-10-11T02:34:21.063Z",
- "lastAttemptAt": "2026-10-11T03:23:20.483Z",
- "endedAt": null,
- "error": "Refusing archive/stop: Sandbox machine [sandbox machine] has no successful snapshot in the last 30 minutes (latest completed at 2026-10-11T02:19:59.759Z)."
- },
- "providerErrorPresent": false
- },
- {
- "fixture": "local-main",
- "sandboxId": "bx_ndnggjad",
- "observedAt": "2026-10-11T03:23:54.959875+00:00",
- "state": "archived",
- "hydrated": true,
- "health": "ok",
- "snapshots": true,
- "lastSnapshotAttemptAt": "2026-10-11T03:16:03.007Z",
- "lastSnapshotStatus": "completed",
- "snapshotCompletedAt": "2026-10-11T03:16:03.591Z",
- "snapshotVerifiedAt": "2026-10-11T03:16:03.591Z",
- "stop": {
- "id": "stop_e6158ef3a5ab49f1",
- "status": "completed",
- "requestedAt": null,
- "lastAttemptAt": "2026-10-11T03:16:03.734Z",
- "endedAt": "2026-10-11T03:16:03.734Z",
- "error": null
- },
- "providerErrorPresent": false
- }
- ],
- "provenance": {
- "file": "retry-provider-self-recovery-status.json",
- "sha256": "8cfe3e2f31d50468a5d9503aa0ebebb6840b01c50edeed4d7fa109f704291b27"
- }
- },
- "local37ClaudeResume": {
- "checkedAt": "2026-10-11T03:29:05.086Z",
- "outcome": "failed during saved-session recovery before independent proof-file verification",
- "run": {
- "id": "7b6baf95-3e47-456a-99f9-9339183b6508",
- "status": "failed",
- "created_at": "2026-10-11T03:26:24.365Z",
- "started_at": "2026-10-11T03:26:24.393Z",
- "finished_at": "2026-10-11T03:28:55.832Z",
- "error_code": "native_session_interrupted",
- "error": "native_session_recovery_failed: Error: runner_remote_provider_cache_corrupt: [exact agent provider-pack cache directory]; stop tasks using this pack and have an operator remove or quarantine this exact cache directory before retrying",
- "native_session_id": "5f2470db-eb0f-4561-95a2-6dddf5646fa6",
- "runner_instance_id": "f7c84a3a-b36d-4885-ba30-91441a5f94f8",
- "session_id_before": "582fc37b-ddc7-4227-9378-1cbd052a36ea",
- "session_id_after": null,
- "execution_stage": "preparing",
- "controller_lease_expires_at": "2026-10-11T03:28:22.877Z",
- "resultKeys": [],
- "forceFreshSession": false,
- "executionRecovery": null,
- "providerPackDigest": null
- },
- "providerPackDigest": "sha256:a02b92afc8423b8fdea50a7fd480a5417b17d9c7b31a14dcab4221e57e8c270a",
- "sameNormalizedSession": true,
- "sameLogicalRunner": true,
- "sameProviderThreadBefore": true,
- "latestOwner": {
- "id": "5ef4911d-a6a9-4d10-9eeb-dce1d02de041",
- "phase": "retired",
- "generation": 1,
- "runId": "7b6baf95-3e47-456a-99f9-9339183b6508",
- "sessionKey": "49e146ed7d44b43e9080ba7f0119315bc30625354fb5f70e132d4f1df35d1231",
- "deadline": null,
- "process": null
- },
- "latestLease": {
- "id": "0354c41f-d8c2-48bb-889d-b2932082dfc8",
- "status": "released",
- "heartbeat_run_id": "7b6baf95-3e47-456a-99f9-9339183b6508",
- "acquired_at": "2026-10-11T03:26:41.773Z",
- "released_at": "2026-10-11T03:28:55.830Z",
- "cleanup_status": "success"
- },
- "expectedProofHashes": [
- "14fa23911a1a95ede22a93f43fc027934b20a1ba497f8e6120abc8769498e124",
- "afaf525f4bf0c38614c5df0cf97140e7d1bf9cad96faa293e2317dc82116af4a"
- ],
- "proofFilesVerified": false,
- "guestReadsPerformed": false,
- "cacheMutationsPerformed": false,
- "evidence": [
- {
- "file": "retry-local37-claude-baseline.json",
- "sha256": "8b46b06284ea09fb29567df0296154b8ad18ccc5c26a1a935fd014035a6a48ff"
- },
- {
- "file": "retry-local37-claude-progress0327.json",
- "sha256": "575219156fe2e312c688d9a5f333387ddbe9426c302ef71e525c92491c89c78f"
- },
- {
- "file": "retry-local37-claude-progress0329.json",
- "sha256": "822cbec020ddec5f3d968200b9dbb8f383158c95423ebc95cccdb1260fb94fab"
- }
- ],
- "sourceCommit": "04ce7eb2a8fddbb2a46c8ec99d3a748de53d7ae8",
- "ui": "Ordinary follow-up in saved task; UI showed Run failed and Blocked. Screenshot local-37-claude-resume-failed.png."
- },
- "deployment18": {
- "sourceCommit": "bd86e22e72578fa8a240160b6001802eb2cd40f1",
- "requestId": "f8cb13bc-51c4-4639-9323-adc2560dda18",
- "prepareRunId": "38108515304",
- "status": "succeeded",
- "verification": "verified",
- "checkedAt": "2026-10-11T03:56:25.724Z",
- "receiptSha256": "8007669d64280de064527faf2bf07a45ad1cd6099a9b693d4f3394847f1bc6b8"
- },
- "local38AdmissionPause": {
- "checkedAt": "2026-10-11T03:36:05.053Z",
- "servingSource": "949a1ce",
- "outcome": "PASS: durable pending admission, automatic retry, and normal UI Pause work suppresses later dispatch",
- "scope": "BOA16 existing native Codex task; pre-provider admission uses legacy controller bookkeeping",
- "runs": [
- {
- "id": "63ba1874-a618-49de-af91-29a6ee3b2402",
- "status": "cancelled",
- "created_at": "2026-10-11T03:33:27.017Z",
- "started_at": "2026-10-11T03:33:27.077Z",
- "finished_at": "2026-10-11T03:33:27.615Z",
- "error_code": "computer_admission_wait",
- "error": "Computer is still saving its previous session. This task will retry automatically.",
- "native_session_id": null,
- "runner_instance_id": null,
- "session_id_before": null,
- "session_id_after": null,
- "retry_of_run_id": null,
- "scheduled_retry_at": null,
- "scheduled_retry_attempt": 0,
- "scheduled_retry_reason": null,
- "execution_stage": "settled",
- "runtime_mode": "legacy",
- "controller_lease_expires_at": null,
- "startup_preparation_settled_at": null,
- "computer_admission_preparation_settled_at": "2026-10-11T03:33:27.631Z",
- "computer_admission_retry_outcome": null,
- "execution_recovery": {
- "kind": "computer_admission_wait",
- "providerWorkStarted": false
- },
- "computer_admission": {
- "runId": "63ba1874-a618-49de-af91-29a6ee3b2402",
- "stopId": "stop_1805dc75feffca6e",
- "agentId": "30b7766c-107d-441f-ba45-506459cf2134",
- "companyId": "3081dd54-008a-4a49-8cc3-9a63c1f2dda7",
- "computerId": "1feffcc6-7014-4e35-9b1d-cb067fecb7a8",
- "sessionKey": "b1726cdbdbb33061239c7763b6b7d630816ba4ba7f6a20915a8103c77a04f4e9",
- "environmentId": "dcc7e124-e838-4458-a627-e7987366beaf",
- "idleTimeoutMs": 300000,
- "deferPendingStop": true
- },
- "cancellation": {
- "reason": "Waiting for the computer to finish saving",
- "source": "control_plane",
- "expected": true,
- "initiator": {
- "type": "system"
- },
- "recordedAt": "2026-10-11T03:33:27.615Z"
- }
- },
- {
- "id": "5b8ba4cd-b283-453a-895b-2517d44a6504",
- "status": "cancelled",
- "created_at": "2026-10-11T03:33:27.646Z",
- "started_at": "2026-10-11T03:34:13.027Z",
- "finished_at": "2026-10-11T03:34:13.354Z",
- "error_code": "computer_admission_wait",
- "error": "Computer is still saving its previous session. This task will retry automatically.",
- "native_session_id": null,
- "runner_instance_id": null,
- "session_id_before": "01a1286b-9338-7101-8ced-733e9b28ae99",
- "session_id_after": null,
- "retry_of_run_id": "63ba1874-a618-49de-af91-29a6ee3b2402",
- "scheduled_retry_at": "2026-10-11T03:33:57.634Z",
- "scheduled_retry_attempt": 1,
- "scheduled_retry_reason": "computer_admission_wait",
- "execution_stage": "settled",
- "runtime_mode": "legacy",
- "controller_lease_expires_at": null,
- "startup_preparation_settled_at": null,
- "computer_admission_preparation_settled_at": "2026-10-11T03:34:13.370Z",
- "computer_admission_retry_outcome": null,
- "execution_recovery": {
- "kind": "computer_admission_wait",
- "providerWorkStarted": false
- },
- "computer_admission": {
- "runId": "5b8ba4cd-b283-453a-895b-2517d44a6504",
- "stopId": "stop_1805dc75feffca6e",
- "agentId": "30b7766c-107d-441f-ba45-506459cf2134",
- "companyId": "3081dd54-008a-4a49-8cc3-9a63c1f2dda7",
- "computerId": "1feffcc6-7014-4e35-9b1d-cb067fecb7a8",
- "sessionKey": "b1726cdbdbb33061239c7763b6b7d630816ba4ba7f6a20915a8103c77a04f4e9",
- "environmentId": "dcc7e124-e838-4458-a627-e7987366beaf",
- "idleTimeoutMs": 300000,
- "deferPendingStop": true
- },
- "cancellation": {
- "reason": "Waiting for the computer to finish saving",
- "source": "control_plane",
- "expected": true,
- "initiator": {
- "type": "system"
- },
- "recordedAt": "2026-10-11T03:34:13.354Z"
- }
- },
- {
- "id": "20edea90-04bc-4d84-b996-ce113d86db18",
- "status": "cancelled",
- "created_at": "2026-10-11T03:34:13.381Z",
- "started_at": null,
- "finished_at": "2026-10-11T03:35:13.025Z",
- "error_code": "issue_paused",
- "error": "Scheduled retry suppressed because the issue is held by an active subtree pause hold",
- "native_session_id": null,
- "runner_instance_id": null,
- "session_id_before": "01a1286b-9338-7101-8ced-733e9b28ae99",
- "session_id_after": null,
- "retry_of_run_id": "5b8ba4cd-b283-453a-895b-2517d44a6504",
- "scheduled_retry_at": "2026-10-11T03:34:43.372Z",
- "scheduled_retry_attempt": 2,
- "scheduled_retry_reason": "computer_admission_wait",
- "execution_stage": null,
- "runtime_mode": "legacy",
- "controller_lease_expires_at": null,
- "startup_preparation_settled_at": null,
- "computer_admission_preparation_settled_at": null,
- "computer_admission_retry_outcome": null,
- "execution_recovery": null,
- "computer_admission": null,
- "cancellation": null
- }
- ],
- "waitingIssueState": [
- {
- "id": "e125016a-d038-4550-b7d5-3707985fdee3",
- "status": "in_progress",
- "assignee_agent_id": "30b7766c-107d-441f-ba45-506459cf2134",
- "execution_run_id": "20edea90-04bc-4d84-b996-ce113d86db18",
- "execution_locked_at": "2026-10-11T03:34:13.372Z",
- "execution_state_status": null
- }
- ],
- "waitingActiveHolds": [],
- "pausedIssueState": [
- {
- "id": "e125016a-d038-4550-b7d5-3707985fdee3",
- "status": "in_progress",
- "assignee_agent_id": "30b7766c-107d-441f-ba45-506459cf2134",
- "execution_run_id": null,
- "execution_locked_at": null,
- "execution_state_status": null
- }
- ],
- "pausedActiveHolds": [
- {
- "id": "4b419574-cc7e-41cf-a50d-9cf0e084a9d5",
- "status": "active",
- "mode": "pause",
- "created_at": "2026-10-11T03:34:37.736Z"
- }
- ],
- "newOwnerIds": [],
- "leasesForAdmissionRuns": [],
- "subsequentRunsAfterPausedSuccessor": [],
- "eventTypes": [
- {
- "event_type": "lifecycle",
- "count": 4,
- "first_at": "2026-10-11T03:33:27.666Z",
- "last_at": "2026-10-11T03:35:13.026Z"
- }
- ],
- "limits": [
- "UI action was More task actions \u2192 Pause work, not a Stop button.",
- "This proves suppressed dispatch while paused, not recovery after provider archival completes.",
- "No guest reads or provider lifecycle mutations were performed."
- ],
- "evidence": [
- {
- "file": "retry-local38-pending-provider-baseline.json",
- "sha256": "dca4fd2e5f6db3f83f61eebbb7cbb08cefb2a4155f88ad2dbd149e1fa7ce4762"
- },
- {
- "file": "retry-local37-admission-local38baseline.json",
- "sha256": "ec5d0e95e66bbff9dbdf713b80f1de3d8d5946e79c94de8cdf5197cf60263e45"
- },
- {
- "file": "retry-local38-admission-active0334.json",
- "sha256": "ccb76860a44552a1b2fad76d80abff08c97ac8d3d09e0391f4e3fecd74399561"
- },
- {
- "file": "retry-local38-admission-paused0335.json",
- "sha256": "0444992c6065056e1873cb0a1d46d14c4ec95e76a62bf35e15f22d5ee74d365a"
- },
- {
- "file": "retry-local38-admission-paused0336.json",
- "sha256": "048cd41400771b9e8a2099270651d74d3b24a745770fb0dc87b67133d57ceddb"
- }
- ],
- "source": "949a1ce18a",
- "uiFollowup": "Paused display initially retained a misleading retry countdown. Reviewed UI correction a761054e6a hides waiting surfaces under active pause and uses neutral Connecting to computer copy for admission waits."
- },
- "local38ResumeLimit": {
- "newMessageAt": "2026-10-11T03:38:24.380Z",
- "observedAt": "2026-10-11T03:39:40Z",
- "state": "deferred_issue_execution",
- "reason": "execution_recovery",
- "providerWorkStarted": false,
- "next": "Investigate recovery gate without manually clearing it."
- },
- "providerRecovery0338": {
- "recordedAt": "2026-10-11T03:38:43.839353+00:00",
- "sandboxId": "bx_b8sawfyp",
- "state": "archived",
- "hydrated": true,
- "health": "ok",
- "lastSnapshotAttemptAt": "2026-10-11T03:30:04.372Z",
- "lastSnapshotStatus": "completed",
- "snapshotCompletedAt": "2026-10-11T03:30:13.427Z",
- "snapshotVerifiedAt": "2026-10-11T03:30:13.427Z",
- "stop": {
- "id": "stop_804de979b357c47a",
- "status": "completed",
- "requestedAt": null,
- "lastAttemptAt": "2026-10-11T03:30:20.703Z",
- "endedAt": "2026-10-11T03:30:20.703Z",
- "error": null
- },
- "scope": "Single read-only staging recovery check; no guest or lifecycle action"
- },
- "providerVerificationClassification": {
- "core": "fd3ec56106",
- "combined": "2f03982a47",
- "observedVerifyMs": 30007,
- "deadlineMs": 30000,
- "result": "Classification corrected: timeout or transport failure is verification_unavailable, explicit verified mismatch alone is cache_corrupt. Full verification and deadline unchanged.",
- "tests": {
- "cache": 45,
- "selectedRelated": 159,
- "serverTypecheck": "passed",
- "independentReview": "passed"
- },
- "limit": "No live Claude continuation success. Actual slow remote step is not yet identified."
- },
- "uiWaitingCorrection": {
- "commit": "a761054e6a",
- "tests": 159,
- "typecheck": "passed",
- "tokenGates": "passed",
- "independentReview": "passed",
- "provenance": [
- {
- "file": "boat-wait-ui-tests-direct.log",
- "sha256": "0801cefc6ea9cce5c4e18e449a26bbc3fe4a5c1633e91cc2feb8406ebd38de0c"
- },
- {
- "file": "boat-wait-ui-tsc.log",
- "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- {
- "file": "boat-wait-ui-token-gates-direct.log",
- "sha256": "452e64671e958c539290f6b327ac01ff5a76719e995430a599132863ed568516"
- }
- ]
- },
- "readOnlyPackDiagnosis": {
- "recordedAt": "2026-10-11T03:42:51.260Z",
- "providerObserved": {
- "state": "idle",
- "health": "ok",
- "stopStatus": "completed"
- },
- "packDigest": "sha256:a02b92afc8423b8fdea50a7fd480a5417b17d9c7b31a14dcab4221e57e8c270a",
- "transportAndCommandElapsedMs": 25709,
- "exitCode": 0,
- "timedOut": false,
- "stages": [
- {
- "stage": "manifest",
- "elapsedMs": 2,
- "pass": true,
- "digest": "sha256:a02b92afc8423b8fdea50a7fd480a5417b17d9c7b31a14dcab4221e57e8c270a",
- "totalMs": 2
- },
- {
- "stage": "artifact_nodeCommand",
- "elapsedMs": 104,
- "pass": true,
- "totalMs": 106
- },
- {
- "stage": "artifact_productionLock",
- "elapsedMs": 2,
- "pass": true,
- "totalMs": 108
- },
- {
- "stage": "artifact_opencodeCommand",
- "elapsedMs": 0,
- "pass": true,
- "totalMs": 108
- },
- {
- "stage": "artifact_opencodeExecutable",
- "elapsedMs": 170,
- "pass": true,
- "totalMs": 278
- },
- {
- "stage": "artifact_opencodeProxy",
- "elapsedMs": 3,
- "pass": true,
- "totalMs": 281
- },
- {
- "stage": "artifact_acpxSidecar",
- "elapsedMs": 8,
- "pass": true,
- "totalMs": 289
- },
- {
- "stage": "artifact_grokLauncher",
- "elapsedMs": 0,
- "pass": true,
- "totalMs": 289
- },
- {
- "stage": "dist_tree",
- "elapsedMs": 118,
- "pass": true,
- "files": 1433,
- "bytes": 24415028,
- "totalMs": 407
- },
- {
- "stage": "candidate_pi",
- "elapsedMs": 12318,
- "pass": true,
- "files": 15673,
- "bytes": 547621317,
- "totalMs": 12725
- },
- {
- "stage": "candidate_cursor",
- "elapsedMs": 9127,
- "pass": true,
- "files": 455,
- "bytes": 583208146,
- "totalMs": 21853
- },
- {
- "stage": "node_target_versions",
- "elapsedMs": 0,
- "pass": true,
- "totalMs": 21853
- },
- {
- "stage": "package_versions",
- "elapsedMs": 1208,
- "pass": true,
- "totalMs": 23061
- },
- {
- "stage": "complete",
- "pass": true,
- "totalMs": 23061
- }
- ],
- "stderrPresent": false,
- "scope": "Read-only verifier stages; no OpenCode version execution or cache mutation",
- "provenance": {
- "file": "retry-local38-pack-readonly-timing.json",
- "sha256": "a586e5115202761f1e434e3331896d074eaf745878555d6949f461af8a6c3537"
- }
- },
- "pausedAdmissionRecoveryCorrection": {
- "core": "a5cc05d2c3",
- "combined": "956f32fe23",
- "staging": "b48ac8412f",
- "tests": 318,
- "files": 3,
- "skipped": 0,
- "typecheck": "passed",
- "independentReview": "passed",
- "behavior": "Exact scheduler pause receipt, positively settled matching parent and no execution evidence prove a cancelled scheduled retry did not start. Only unchanged NEW post-finish user input can use the existing explicit continuation path. Saved-message sweep is covered.",
- "historicalRecoveryLimit": "Existing false recovery holds use the existing explicit continuation forceFreshSession contract. This does not prove saved native-session continuation after that historical hold.",
- "provenance": [
- {
- "file": "computer-wait-pause-final-tests.log",
- "sha256": "12055ea05cab80f5b2a4e0ffc2d085c213d1ed23e6b3ea65d67f2f93580e03fd"
- },
- {
- "file": "computer-wait-pause-final-tsc.log",
- "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- }
- ]
- },
- "latestObservation": {
- "recordedAt": "2026-10-11T04:29:00Z",
- "canonical": "b698f54966638f99e7f3a0ef56c53563da12f47a",
- "core": "28d3fc1b65",
- "stagingCandidate": "81108b27be3de129adcbc5e58522994ba514a19e",
- "localServer": "local40",
- "localServingSource": "8ccfdd3dd269e251ba652cfb1ea469dc0861068c",
- "status": "Fresh Claude task failed at sidecar session.open; diagnosis continues. Saved Claude fixture remains quarantined. Deployment19 still pending; deployment20 not started.",
- "originalSourceAndRemainingFields": "Historical at original recordedAt; later follow-ups supersede individual conditions without erasing original failures.",
- "servingStaging": "05a1d1f2172261066ca53d3776f798c3073fc49f"
- },
- "boundedComputerPackVerification": {
- "core": "c1273036d5",
- "combined": "c4fd4d8c1a",
- "staging": "2d8030417c",
- "fullHashTimeoutMs": 120000,
- "otherTransportAndVersionTimeoutMs": 30000,
- "tests": 49,
- "typecheck": "passed",
- "independentReview": "passed",
- "unchanged": [
- "all integrity checks",
- "owner retirement and cancellation fences",
- "runner warm timeout",
- "turn and recovery budgets"
- ],
- "liveOutcome": "pending"
- },
- "local39": {
- "source": "c4fd4d8c1a44e6a062d8742a89eae850ce2ef0cc",
- "pauseRecovery": {
- "runId": "ed993c49",
- "finishedAt": "2026-10-11T03:59:23.452Z",
- "status": "succeeded",
- "forceFreshSession": true,
- "savedNativeSessionPass": false,
- "markerLineCount": 1,
- "markerSha256": "12772b6873ec4e7ffa80c9d0f798f0bb0492aae88b6cb3669c55a812f9bb312c",
- "independentReadAt": "2026-10-11T03:59:55Z",
- "screenshot": "../local39-pause-resume-proof.png"
- },
- "desktop": {
- "normalConnectAt": "2026-10-11T04:00:00Z",
- "directBrowserMouse": "passed; opened Chrome",
- "directBrowserKeyboard": "passed; visible boat in address bar",
- "embeddedInput": "unverified; automation rejected fractional iframe coordinates before input",
- "typeTextAttempt": "no visible result; actual key events subsequently succeeded",
- "screenshot": "../local39-direct-desktop-input.png",
- "extraDirectTab": "closed normally; original viewer retained temporarily for bounded authorized diagnosis",
- "normalConnectApproximate": true,
- "originalViewer": "Closed normally around04:04; provider subsequently archived04:04:56.078 with verified snapshot and zero active owners."
- },
- "claude": {
- "runId": "6c9d757f-c716-4d7c-b4d3-e0d4f00cf321",
- "forceFreshSession": false,
- "normalizedSessionId": "5f2470db-eb0f-4561-95a2-6dddf5646fa6",
- "providerThreadId": "582fc37b-ddc7-4227-9378-1cbd052a36ea",
- "logicalRunnerId": "f7c84a3a-b36d-4885-ba30-91441a5f94f8",
- "outcome": "not passed; ACPX session.open rejected after successful pack verification; same-run recovery subsequently reported authority_indeterminate",
- "firstFailureAt": "2026-10-11T03:58:50.828Z",
- "uiFriction": "Run failed briefly appeared before automatic recovery returned the same run to Working.",
- "proofFiles": "independent read confirms unchanged prior hashes; Claude did not execute the requested read",
- "provenance": [
- {
- "file": "retry-local39-claude-checkpoint0359.json",
- "sha256": "54bd757bf5d42219ff78f8873df6e0d2bb58cf28c40756f714c6e45a3c94a691"
- },
- {
- "file": "retry-local39-claude-failure-events.json",
- "sha256": "758dd96c05c1f63e91cad06b989b6bcbe7b95c4d3cfd23fbb99c270f5c691969"
- }
- ]
- }
- },
- "stopWrapperRaceCorrection": {
- "core": "280bad9d15",
- "combined": "87694c9c3f",
- "staging": "0a0ccbaac1",
- "tests": 138,
- "skipped": 0,
- "finalAffectedCases": 3,
- "typecheck": "passed",
- "independentReview": "passed",
- "behavior": "Suppression CAS preserves Stop; losing writes have no release effects. Wake queue re-reads source under task/run locks and retains claims and old input until aborted computer-wait acknowledgement. Both race orderings test the real wrapper, Stop and release with a barrier before acknowledgement.",
- "provenance": [
- {
- "file": "computer-wait-wrapper-race-final-tests.log",
- "sha256": "52d7d3543646188aeb19e2ec08043886646e99db9d4a9d1c1210b694abd595da"
- },
- {
- "file": "computer-wait-wrapper-race-final-tsc.log",
- "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
- },
- {
- "file": "computer-wait-wrapper-race-affected-tests.log",
- "sha256": "c7a8c4a1c8b2a5afd4555738e62e091958ea1fb825d4b87c8730ce2f7e2659e7"
- }
- ]
- },
- "local39BroadChecks": {
- "runtimeSource": "c4fd4d8c1a",
- "documentationHeadAtBuild": "f43ee562a2",
- "recursiveTypecheck": "passed",
- "fullBuild": "passed",
- "provenance": [
- {
- "file": "local39-recursive-typecheck.log",
- "sha256": "38efb73dce2310a5a58e63f94d0f92d8b167d89f22804e75735fcf40cc88df38"
- },
- {
- "file": "local39-build.log",
- "sha256": "5de703cd3ccbf39a56d523f0ce7ddff235ce873d3b2f670ce9e450561f9a383d"
- }
- ]
- },
- "verificationRecoveryClassification": {
- "core": "3e90f36fa7",
- "combined": "121ec12299",
- "staging": "ad27e0069c",
- "tests": 13,
- "typecheck": "passed",
- "independentReview": "passed",
- "behavior": "Preserves known verification-unavailable source classification. Only no-session/no-provider-evidence failures qualify for existing bounded bootstrap recovery; existing checkpoint identity and ambiguous-state protections remain."
- },
- "sidecarFailureDiagnostics": {
- "core": "bb4536fb9a",
- "combined": "8ccfdd3dd2",
- "staging": "05a1d1f217",
- "tests": 8,
- "independentReview": "passed",
- "behavior": "Closed categories for known pinned-sidecar admission errors; no arbitrary message/path output. Retryability, rejection and authority checks unchanged. Underlying live Claude cause not established."
- },
- "deployment19": {
- "requestId": "3b28f246-540b-478a-b9d7-207686ae850e",
- "sha": "05a1d1f2172261066ca53d3776f798c3073fc49f",
- "hostname": "boat.staging.paperclip.app",
- "environment": "staging",
- "status": "succeeded",
- "verification": "verified",
- "checkedAt": "2026-10-11T04:34:10.638Z"
- },
- "local40DiagnosticRetry": {
- "outcome": "FAILED: saved controller authority remains quarantined; diagnostic sidecar opening not reached",
- "receipt": "local40-saved-claude-outcome.json",
- "quarantineBypassed": false
- },
- "local40FreshClaudeTask": {
- "outcome": "FAILED: fresh session.open timed out before proof tools; no same-run automatic retry",
- "receipt": "local40-fresh-claude-outcome.json",
- "cleanup": "lease released successfully and owner retired",
- "deeperEvidence": "Controller run.prepare, drain and suspend completed. Persisted session.open result identifies inner ACPX sidecar request timeout; no committed provider events or malformed frames.",
- "packageCompatibility": "Source diff between pack source51e52d584 and runner8ccf shows unchanged ACPX sidecar/profiles/contracts/protocol and provider startup implementation; no package incompatibility found.",
- "warmFollowupPassed": false,
- "diagnosticReceipt": "local40-fresh-claude-diagnosis.json"
- },
- "legacyExplicitContinuationRaceCorrection": {
- "core": "9a31fa2746",
- "canonical": "b68c68566c",
- "stagingCandidate": "e21a7ca1ba",
- "cause": "Periodic legacy recovery recreated an explicitly resolved hold and cancelled its authorized successor before dispatch.",
- "fix": "Honor exact explicit continuation receipts while preserving unsafe-workspace and multi-source holds.",
- "validation": "329/329 affected tests; final8/8 focused regression cases; server TypeScript and independent review passed. Fresh browser CI pending.",
- "browserCI": {
- "checkedAt": "2026-10-11T04:30:44Z",
- "exactCore": "9a31fa2746",
- "exactCombined": "b68c68566c",
- "e2e8": "passed on both heads",
- "review": "5/5 and zero unresolved threads on both heads",
- "otherCI": "pending, no failure observed"
- }
- },
- "preDiagnosticPatchCI": {
- "receipt": "core9a31-ui-b68-ci-review.json",
- "status": "Both exact heads green, Greptile5/5 and zero unresolved threads; excludes later startup-stage diagnostics."
- },
- "staging19FreshClaude": {
- "taskId": "c4aaef65-6d52-478d-9e1d-43a3acd0ab6a",
- "runId": "fccc253e-ae3c-40d1-9950-f5702d17369b",
- "startedAt": "2026-10-11T04:35:33Z",
- "servingSource": "05a1d1f2172261066ca53d3776f798c3073fc49f",
- "status": "in progress: Preparing provider pack for first use",
- "persistentProofIndependentRead": {
- "at": "2026-10-11T04:37:13Z",
- "size": 25,
- "sha256": "e646d151756f1efdb9e19d99a2a0971810468087c457fa458f1311c42ef07424"
- }
- },
- "startupStageDiagnostics": {
- "core": "28d3fc1b65",
- "combined": "b698f54966638f99e7f3a0ef56c53563da12f47a",
- "stagingCandidate": "81108b27be3de129adcbc5e58522994ba514a19e",
- "behavior": "Closed admission-stage names and bounded elapsed milliseconds use existing diagnostic channel; timeout retains last non-cleanup stage. No deadline or lifecycle changes.",
- "validation": "Rust10/10 real timeout/cleanup/privacy cases; host54/54 including observer failure isolation; TypeScript, entrypoint build and independent review passed.",
- "liveValidation": "Pending matched local artifact build and fresh task."
- },
- "localArtifactSelectionCorrection": {
- "receipt": "local-artifact-selection-correction.json",
- "scope": "Local40/local41 requests did not select the built diagnostics; failure outcomes remain valid for the old selected artifacts.",
- "repair": "Changed exactly two saved test-drive .env paths; other bytes and DB preserved. Graceful local42 restart; fresh BOA19 now verifies actual selection.",
- "requestedNewRunnerSha256": "366a0fe12a39a6be773540369cd577810590d1b0d03491e834b414575087a3c9",
- "requestedNewPackDigest": "sha256:af875f72dbce8bf9f1bb2cce962e8380d5b23dd72fb98c84d04e949d9665c719"
- },
- "staging19LiveEvidence": {
- "receipt": "staging19-live-evidence.json",
- "nativeClaude": "fresh and warm passed; same recorded runner identity, child processes restart",
- "nativeCodex": "saved-task continuation, computer use and warm HMR passed with exact process/session equality",
- "browser": "Heading0450; draftkeep-this-unsaved-draft-boat-0449 and page-session1791694134833 retained; direct desktop mouse and keyboard input observed",
- "source": "05a1d1f2172261066ca53d3776f798c3073fc49f",
- "limits": "Not legacy qualification or proof of old quarantined Claude recovery; see receipt."
- },
- "local41BroadChecks": {
- "source": "b698f54966638f99e7f3a0ef56c53563da12f47a",
- "recursiveTypecheck": "passed with verified registry access after sandbox registry fetch failed",
- "build": "passed",
- "scope": "These are source/build checks, not proof of remote artifact selection."
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging-11-legacy-regression.json b/doc/plans/assets/2026-10-10-boat/evidence/staging-11-legacy-regression.json
deleted file mode 100644
index f1a53cb9e8d..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging-11-legacy-regression.json
+++ /dev/null
@@ -1,74 +0,0 @@
-{
- "schemaVersion": 1,
- "servingSource": "2df40da4587725571f94b20806b0da154418d774",
- "runtimeCanonicalSource": "3673939bed4cb85f20d142f950547e3a60502bca",
- "submittedThrough": "ordinary browser task follow-up",
- "observedAt": "2026-10-10T21:30:07.746728+00:00",
- "status": "passed",
- "scope": "Two ordinary legacy CLI follow-ups on serving2df40da; not a full final-source acceptance pass.",
- "naturalCleanup": {
- "observedAt": "2026-10-10T21:30:07.746728+00:00",
- "state": "archived",
- "snapshotsPreserved": true,
- "stopId": "stop_23f9f3d30edcffdb",
- "stopStatus": "completed",
- "stopCompletedAt": "2026-10-10T21:23:43.156Z",
- "manualStopRequired": false
- },
- "results": {
- "legacyClaude": {
- "status": "succeeded",
- "expectedProofSha256": "ec9169f87b99329a3a24fe194d2cff1a43fb29ef8374d1317ccc28bb83be0ddc",
- "runId": "8efa7432-a76e-4f1c-88f8-01319de12d9b",
- "startedAt": "2026-10-10T21:21:53Z",
- "finishedAt": "2026-10-10T21:23:29Z",
- "timestampPrecision": "Run audit timestamps shown to nearest second",
- "persistentAgentInstructionsRead": true,
- "proofHashUnchanged": true,
- "observedProofSha256": "ec9169f87b99329a3a24fe194d2cff1a43fb29ef8374d1317ccc28bb83be0ddc",
- "helperDisposition": "done",
- "recoveryRunRequired": false,
- "operationalSkill": {
- "name": "paperclip",
- "receipt": "Launching skill: paperclip"
- },
- "helperCompletedAt": "2026-10-10T21:23:15.588Z",
- "displayInconsistency": "Task activity labeled the final helper stopped; run audit contained its successful complete helper response and the run succeeded.",
- "helperRuntimeFailure": false
- },
- "legacyCodex": {
- "status": "succeeded",
- "expectedProofSha256": "ff52207bcf705181af4a476c243d121f2e95d011f172899c19b08758695c4627",
- "runId": "29b92e02-7a58-4849-bdd3-f01a7b932ddb",
- "startedAt": "2026-10-10T21:21:37Z",
- "finishedAt": "2026-10-10T21:23:29Z",
- "timestampPrecision": "Run audit timestamps shown to nearest second",
- "persistentAgentInstructionsRead": true,
- "proofHashUnchanged": true,
- "observedProofSha256": "ff52207bcf705181af4a476c243d121f2e95d011f172899c19b08758695c4627",
- "helperDisposition": "done",
- "recoveryRunRequired": false,
- "helperExitCode": 0,
- "helperArgumentCorrection": "First invocation used wrong arguments; model corrected to --issue-id and --status done, then helper exited0."
- }
- },
- "limitations": [
- "Staging73b2 legacy follow-up failures remain historical failures, not retroactively passed.",
- "Serving2df40da excludes the later isolated viewer-disconnect fix in canonical2ef1772/core754a4e.",
- "Staging HMR remains unverified after browser navigation was blocked; independent mouse input remains unverified."
- ],
- "existingAgentCliUiGuard": {
- "scope": "Read-only inspection of existing staging Boat agents; no settings saved and no probes invoked.",
- "servingSource": "2df40da4587725571f94b20806b0da154418d774",
- "legacyCodex": {
- "boatSelected": true,
- "onlyEngineOption": "Codex CLI",
- "selected": "Codex CLI"
- },
- "legacyClaude": {
- "boatSelected": true,
- "onlyEngineOption": "Claude CLI",
- "selected": "Claude CLI"
- }
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging-73b2-acceptance.json b/doc/plans/assets/2026-10-10-boat/evidence/staging-73b2-acceptance.json
deleted file mode 100644
index 40469fd8291..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging-73b2-acceptance.json
+++ /dev/null
@@ -1,126 +0,0 @@
-{
- "recordedAt": "2026-10-10T20:31:42.798774+00:00",
- "servingSource": "73b2f86de841a90afc2232211510f689f5b9ca8c",
- "deployment": {
- "number": 10,
- "verifiedReadyAt": "2026-10-10T19:57:55.477Z",
- "evidence": "Official deploy monitor completed required workflow/result validation; optional job-step display alone tolerated API quota failures."
- },
- "onboarding": {
- "result": "passed",
- "freshAgents": 4,
- "paths": [
- "native Codex",
- "native Claude",
- "legacy CLI Codex",
- "legacy CLI Claude"
- ],
- "auth": "Explicit saved API accounts; global account defaults unchanged",
- "evidence": "Coordinating agent browser observations and source-specific onboarding screenshots"
- },
- "simpleJobs": {
- "fourFirstProofJobs": "passed",
- "distinctPersistentHomes": "reported and observed through task outputs",
- "nativeCodex": {
- "status": "succeeded",
- "runId": "d5329ab4-f399-4646-851f-dac13003b3ce",
- "proofUtc": "2026-10-10T20:04:32Z",
- "proofSha256": "f9253e57dadaefe9276e99a9cd0cb9fad68d2704dd820b61e026edf6e6527c46"
- },
- "legacyFollowups": {
- "fileReadAndMatchingHash": "passed",
- "completeProductFlow": "not yet passed",
- "limitation": "Legacy CLI prompts use controller-local instruction paths; Claude user-only settings exclude project skills under add-dir. Remote instruction paths and isolated user-config skill discovery are under correction.",
- "claudeAutomaticRecovery": "Settled in the UI at20:29; not accepted as a clean prompt/task-disposition flow."
- }
- },
- "nativeClaude": {
- "cold": {
- "runIdPrefix": "5ad6043e",
- "status": "succeeded",
- "uiDuration": "8m56s"
- },
- "warm": {
- "runIdPrefix": "59b64809",
- "status": "succeeded",
- "uiDuration": "1m50s",
- "reportedReceiptUtc": "2026-10-10T20:17:18Z"
- },
- "processComparison": {
- "coldObservedAt": "2026-10-10T20:14:26.928470+00:00",
- "warmObservedAt": "2026-10-10T20:16:49.674569+00:00",
- "sameBoot": true,
- "sameRunner": true,
- "runner": {
- "pid": 116722,
- "name": "paperclip-runne",
- "startTicks": 118156
- }
- },
- "idle": {
- "observedAt": "2026-10-10T20:22:53.636719+00:00",
- "ownedProcessCount": 0,
- "ownedSocketCount": 0,
- "limit": "Direct process disappearance confirmed; no staging database retirement/checkpoint receipt exported."
- },
- "ordinaryPostIdle": {
- "status": "passed",
- "uiRunStatus": "succeeded",
- "runId": "2e3e9afc-25e1-4154-933c-b8af546e1cf5",
- "createdAt": "2026-10-10T20:23:14Z",
- "proofCommandAt": "2026-10-10T20:29:16Z",
- "completedUiMinuteUtc": "2026-10-10T20:29Z",
- "exactTerminalAuditTimestamp": "2026-10-10T20:29:35Z",
- "duration": "6m21s",
- "proofSha256": "e646d151756f1efdb9e19d99a2a0971810468087c457fa458f1311c42ef07424",
- "proofHashUnchanged": true,
- "hostnameChanged": true,
- "sameLogicalSession": true,
- "logicalSessionId": "0f6c2d42-c542-4755-bd98-8b179916de17",
- "processObservedAt": "2026-10-10T20:29:40.363647+00:00",
- "ownerId": "57bf329f-a347-4005-9cdf-32ff3ee7db59",
- "runner": {
- "pid": 59818,
- "startTicks": 46749,
- "runnerId": "8f01922e-ccaa-4739-a54a-9281c0c48e88"
- },
- "listenerPort": 16128,
- "bootId": "69d70480-2a33-46e6-86e7-a550d986851e",
- "newBoot": true,
- "earlierSetupOwner": "266448a9-08aa-4b79-9eff-492c27999b86",
- "limit": "Earlier266448a9 was scoped preparation, possibly file-operation ownership; it is not classified as a failed runner lease. Provider was idle after successful return, not archived; final staging cleanup remains outstanding.",
- "completedAt": "2026-10-10T20:29:35Z",
- "durationSeconds": 381,
- "providerRetainedStop": {
- "id": "stop_0d795f9039998542",
- "status": "completed",
- "endedAt": "2026-10-10T20:23:54.124Z"
- },
- "providerStateAfterReturn": "idle"
- },
- "limit": "Runner continuity is verified; Claude subprocess PID continuity is not claimed."
- },
- "nativeCodex": {
- "computerUse": "passed via agent tools and visible desktop",
- "humanKeyboard": "passed via normal embedded viewer keyboard events",
- "viteListener": "verified within exact owned runner slice",
- "stagingHmr": "blocked",
- "stagingHmrBlocker": "IAB ERR_BLOCKED_BY_CLIENT on generated preview link; browser/environment clarification pending. No URL workaround used.",
- "idle": {
- "observedAt": "2026-10-10T20:22:02.139368+00:00",
- "ownedProcessCount": 0,
- "ownedSocketCount": 0
- },
- "initialWarmReuse": "not claimed; first task and subsequent development turn used replacement owners"
- },
- "viewerExpiry": {
- "local30": "passed per coordinating browser observation",
- "staging": "passed per coordinating browser observation"
- },
- "remaining": [
- "Correct and requalify legacy managed instruction-path and task disposition flow",
- "Complete staging Vite HMR through an authorized functioning browser",
- "Requalify relevant behavior on the final deployed source"
- ],
- "limit": "Staging 73b2 acceptance is partial. Later source builds are not deployed acceptance evidence."
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging-compat-final-proof.json b/doc/plans/assets/2026-10-10-boat/evidence/staging-compat-final-proof.json
deleted file mode 100644
index 23e66e70787..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging-compat-final-proof.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "checkedAt": "2026-10-10T19:33:20.825628+00:00",
- "head": "73b2f86de841a90afc2232211510f689f5b9ca8c",
- "runtimeCandidate": "ac09d6ecce2809ed1ad6541d2908e713c543b39f",
- "runtimeTreeEquivalent": true,
- "differencesOnlyMigrationLineage": true,
- "changedPaths": [
- "packages/db/src/migrations/0331_next_emma_frost.sql",
- "packages/db/src/migrations/0332_confused_doctor_strange.sql",
- "packages/db/src/migrations/meta/0331_snapshot.json",
- "packages/db/src/migrations/meta/0332_snapshot.json",
- "packages/db/src/migrations/meta/_journal.json"
- ],
- "workingTreeClean": true,
- "limit": "Pre-deployment tree proof; this receipt does not assert deployment or runtime task completion."
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging-compat-manifest-proof.json b/doc/plans/assets/2026-10-10-boat/evidence/staging-compat-manifest-proof.json
deleted file mode 100644
index f37836ad75b..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging-compat-manifest-proof.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "checkedAt": "2026-10-10T19:33:20.731Z",
- "comparison": "forward",
- "oldCount": 330,
- "targetCount": 331,
- "exactOldPrefix": true,
- "appended": [
- {
- "name": "0332_confused_doctor_strange.sql",
- "sha256": "e8ed246f9302b0ade81c143ce373d108a4e131b844644eaba3f957d99a36e94f",
- "journalSha256": "d5a05dbcea328a252cf66898feb062561d4b2b6556319cb94ca624aa1743e23a"
- }
- ],
- "oldDigest": "c00e92d3dd973b8c56e8c6a5c5cc442242b8dcf5ebd45ff8e6fddbd32d706f65",
- "targetDigest": "18aeeb43811212a01fccfa738dc165641674b38dbc9cdbcad5d5cf209e7fce13",
- "limit": "Strict forward comparison preserves applied migration prefix; future staging deployments must retain that compatible lineage. Canonical PR history is unchanged."
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging-compat-schema-proof.json b/doc/plans/assets/2026-10-10-boat/evidence/staging-compat-schema-proof.json
deleted file mode 100644
index 12a40aa37ef..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging-compat-schema-proof.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "checkedAt": "2026-10-10T19:30:59.762Z",
- "schemaEqual": true,
- "mismatchedSections": [],
- "sectionCounts": {
- "columns": 3883,
- "constraints": 3742,
- "enums": 0,
- "extensions": 3,
- "functions": 49,
- "indexes": 1134,
- "policies": 0,
- "relations": 283,
- "sequences": 5,
- "triggers": 7,
- "views": 0
- },
- "schemaSha256": "8ab1335c13dd976757f66586f7cd943a4ae5a6ed6de041c39bf29da902c072ec",
- "migrationHashCountsEqual": true,
- "boatMigrationCount": 1,
- "upstreamMigrationCount": 1
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging-deploy-11-verified.json b/doc/plans/assets/2026-10-10-boat/evidence/staging-deploy-11-verified.json
deleted file mode 100644
index bcc6f796811..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging-deploy-11-verified.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "checkedAt": "2026-10-10T21:20:39.509Z",
- "requestedSha": "2df40da4587725571f94b20806b0da154418d774",
- "servingSha": "2df40da4587725571f94b20806b0da154418d774",
- "status": "succeeded",
- "verification": "verified",
- "environment": "staging",
- "deployment": 11,
- "verifiedAtReported": "2026-10-10T21:20:11Z",
- "scope": "Serving-source verification; subsequent corrected legacy task passes are recorded separately in staging-11-legacy-regression.json. Canonical2ef1772/core754a4e include a later isolated viewer fix not present here."
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging-deploy-9-assessment.json b/doc/plans/assets/2026-10-10-boat/evidence/staging-deploy-9-assessment.json
deleted file mode 100644
index 775a60dfdf4..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging-deploy-9-assessment.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "recordedAt": "2026-10-10T19:28:18.914032+00:00",
- "candidateSha": "b375f4655706d89c816613a591ee366ba4e4d7ba",
- "result": "preflight_failed",
- "providerDeploymentStarted": false,
- "servingSha": "8f11a70b3347d289ea25df5ba2d5c151fc1d5256",
- "reason": "Strict migration preflight rejected a changed applied prefix before provider deployment started.",
- "recovery": "Separate source-only staging lineage preserves applied prefix and appends unchanged upstream SQL; no database history rewrite, reset, or guard bypass."
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging-migration-0333-proof.json b/doc/plans/assets/2026-10-10-boat/evidence/staging-migration-0333-proof.json
deleted file mode 100644
index a4e9e8bf130..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging-migration-0333-proof.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "stageJournalPrefixByteValuesUnchanged": true,
- "appliedSqlAndSnapshotFilesUnchanged": true,
- "prunedHistoricalSnapshot": [
- "meta/0322_snapshot.json"
- ],
- "newJournal": {
- "idx": 333,
- "version": "7",
- "when": 1791694801825,
- "tag": "0333_furry_butterfly",
- "breakpoints": true
- },
- "newSnapshotPrevId": "d863f835-b38f-4555-ba6c-2661a8ca05e7",
- "onlySchemaDelta": [
- "public.agent_wakeup_requests"
- ],
- "newIndex": "agent_wakeup_requests_question_response_history_idx",
- "newSqlByteIdenticalToUpstream": true,
- "commit": "d50dd0f49befcbe53875ad3acad9a39381f4a89b",
- "worktreeClean": true,
- "canonicalUiComparison": "0421a3b8c027c60af6b754980bf2eef02d895e8f",
- "runtimeDifferencesExcludingMigrationHistory": [
- "packages/db/src/client.ts: stage migration filename",
- "packages/db/src/question-response-history-migration.test.ts: stage migration filename"
- ],
- "validation": {
- "officialPnpmGenerate": true,
- "numberingAndSafety": true,
- "dbTypecheck": true,
- "snapshotDrift": "1 passed",
- "concurrentIndexDatabaseTest": "1 skipped: embedded PostgreSQL unavailable",
- "noDatabaseApplied": true
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging19-live-evidence.json b/doc/plans/assets/2026-10-10-boat/evidence/staging19-live-evidence.json
deleted file mode 100644
index 97972ac0191..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging19-live-evidence.json
+++ /dev/null
@@ -1,278 +0,0 @@
-{
- "schema": "boat.staging.qualification.evidence.v1",
- "recordedAt": "2026-10-11T04:53:42.241714+00:00",
- "source": {
- "deployment": 19,
- "commit": "05a1d1f2172261066ca53d3776f798c3073fc49f",
- "servingVerifiedAt": "2026-10-11T04:34:10.638Z",
- "servingEvidence": "parent deployment verification"
- },
- "method": "Read-only guarded provider GET and checkpoint/process/proof inspection through existing product-authorized live transport; browser observations supplied by parent UI owner.",
- "sandboxId": "bx_b8sawfyp",
- "nativeClaude": {
- "freshRunId": "fccc253e-ae3c-40d1-9950-f5702d17369b",
- "warmRunId": "d2a655c3-d063-4d14-8cef-bffddc9dc4e8",
- "freshResult": "parent observed Done and expected proof hash",
- "warmResult": "parent observed Done and expected proof hash",
- "normalizedSessionId": "a0a4daec-b1c7-46b5-bf46-5ee135c7a89f",
- "runnerInstanceId": "08aecb64-98cb-45d2-934a-b5c01e02843a",
- "samePhysicalRunnerAcrossTurns": true,
- "physicalRunner": {
- "pid": 56659,
- "startTicks": 89960,
- "ownerId": "b27a94e1-6ce9-4520-baff-7841391dc3cc"
- },
- "bootId": "741e97d8-a0c8-42e1-9993-22c923586a2b",
- "providerKind": "acpx",
- "providerAgent": "claude",
- "providerPack": {
- "descriptorDigest": "sha256:b882ca8a8abfa51f3977d1aa6f4f2e5028ba1fd947a5df520e180ac41ce4ea35",
- "manifestDigest": "sha256:b882ca8a8abfa51f3977d1aa6f4f2e5028ba1fd947a5df520e180ac41ce4ea35",
- "manifestMtime": 1791692348,
- "matchesDescriptor": true
- },
- "warmProviderIdentity": {
- "normalizedSessionId": "a0a4daec-b1c7-46b5-bf46-5ee135c7a89f",
- "agentSessionId": "a4575f37-96c3-4539-ae13-e61e48072cc1"
- },
- "settlement": {
- "at": "2026-10-11T04:50:07.640012+00:00",
- "runner": {
- "schema": "paperclip.runner.durable.state.v1",
- "lifecycle": "ready",
- "runId": "d2a655c3-d063-4d14-8cef-bffddc9dc4e8",
- "normalizedSessionId": "a0a4daec-b1c7-46b5-bf46-5ee135c7a89f",
- "runnerInstanceId": "08aecb64-98cb-45d2-934a-b5c01e02843a",
- "environmentLeaseId": "fccc253e-ae3c-40d1-9950-f5702d17369b",
- "outboxCount": 0,
- "pendingTerminalDeliveryIsNull": true
- },
- "providerLifecycle": "session_open"
- },
- "proof": {
- "relativeName": "boat-final-proof.txt",
- "exists": true,
- "bytes": 25,
- "sha256": "e646d151756f1efdb9e19d99a2a0971810468087c457fa458f1311c42ef07424"
- },
- "proofUnchanged": true,
- "limits": [
- "Fresh receipt did not capture provider agentSessionId; no fresh-to-warm provider-ID equality claim.",
- "Claude child processes restarted between turns, while the same runner process persisted.",
- "Existing old quarantined Claude session recovery remains unproven; this is a new task fresh/warm qualification."
- ],
- "configuredWarmPolicy": {
- "mode": "warm_session",
- "idleTimeoutMs": 300000,
- "source": "Parent read staging Claude Harness / Runtime \u2192 Advanced Run Policy in browser; Save disabled and no edits.",
- "observedAtApprox": "2026-10-11T04:58:00Z",
- "limit": "Configured duration observed; exact per-owner retirement timestamp not observed."
- }
- },
- "nativeCodex": {
- "baselineRunId": "2c82ba9f-4057-4980-9bb7-ae2b57537cbb",
- "warmRunId": "681a1e2d-9222-4329-951f-e47402b92f4d",
- "sameSavedNormalizedSession": true,
- "sameSavedProviderThread": true,
- "normalizedSessionId": "06496696-b312-4268-ac40-66770aaa6f1a",
- "providerThreadId": "01a12881-5d3b-72a0-b4c3-d993f5b089e1",
- "runnerInstanceId": "0005a613-101d-475f-9409-8b8e8b87e9ce",
- "sameBoot": true,
- "beforeAt": "2026-10-11T04:50:17.279304+00:00",
- "afterAt": "2026-10-11T04:52:55.640187+00:00",
- "beforeProcesses": [
- {
- "pid": 71407,
- "startTicks": 111251,
- "name": "paperclip-runne",
- "ownerId": "5c5cab5b-2b91-4c10-825c-6138323b2d9e"
- },
- {
- "pid": 71618,
- "startTicks": 111380,
- "name": "MainThread",
- "ownerId": "5c5cab5b-2b91-4c10-825c-6138323b2d9e"
- },
- {
- "pid": 71630,
- "startTicks": 111382,
- "name": "codex",
- "ownerId": "5c5cab5b-2b91-4c10-825c-6138323b2d9e"
- },
- {
- "pid": 71703,
- "startTicks": 111394,
- "name": "cua-driver",
- "ownerId": "5c5cab5b-2b91-4c10-825c-6138323b2d9e"
- },
- {
- "pid": 72707,
- "startTicks": 112522,
- "name": "npm run dev",
- "ownerId": "5c5cab5b-2b91-4c10-825c-6138323b2d9e"
- },
- {
- "pid": 72723,
- "startTicks": 112531,
- "name": "sh",
- "ownerId": "5c5cab5b-2b91-4c10-825c-6138323b2d9e"
- },
- {
- "pid": 72724,
- "startTicks": 112531,
- "name": "MainThread",
- "ownerId": "5c5cab5b-2b91-4c10-825c-6138323b2d9e"
- },
- {
- "pid": 72741,
- "startTicks": 112542,
- "name": "esbuild",
- "ownerId": "5c5cab5b-2b91-4c10-825c-6138323b2d9e"
- }
- ],
- "afterProcesses": [
- {
- "pid": 71407,
- "startTicks": 111251,
- "name": "paperclip-runne",
- "ownerId": "5c5cab5b-2b91-4c10-825c-6138323b2d9e"
- },
- {
- "pid": 71618,
- "startTicks": 111380,
- "name": "MainThread",
- "ownerId": "5c5cab5b-2b91-4c10-825c-6138323b2d9e"
- },
- {
- "pid": 71630,
- "startTicks": 111382,
- "name": "codex",
- "ownerId": "5c5cab5b-2b91-4c10-825c-6138323b2d9e"
- },
- {
- "pid": 71703,
- "startTicks": 111394,
- "name": "cua-driver",
- "ownerId": "5c5cab5b-2b91-4c10-825c-6138323b2d9e"
- },
- {
- "pid": 72707,
- "startTicks": 112522,
- "name": "npm run dev",
- "ownerId": "5c5cab5b-2b91-4c10-825c-6138323b2d9e"
- },
- {
- "pid": 72723,
- "startTicks": 112531,
- "name": "sh",
- "ownerId": "5c5cab5b-2b91-4c10-825c-6138323b2d9e"
- },
- {
- "pid": 72724,
- "startTicks": 112531,
- "name": "MainThread",
- "ownerId": "5c5cab5b-2b91-4c10-825c-6138323b2d9e"
- },
- {
- "pid": 72741,
- "startTicks": 112542,
- "name": "esbuild",
- "ownerId": "5c5cab5b-2b91-4c10-825c-6138323b2d9e"
- }
- ],
- "sameRunnerCodexVitePidStartTicks": true,
- "proofSha256": "f9253e57dadaefe9276e99a9cd0cb9fad68d2704dd820b61e026edf6e6527c46",
- "proofUnchanged": true,
- "settlement": {
- "sessionDirectory": "0cde904493e0fc88dd1a6d75bf64f68a9fe5a800a1636273861bb7c13bfcd0e4",
- "runnerMtime": 1791694285.527042,
- "runner": {
- "schema": "paperclip.runner.durable.state.v1",
- "lifecycle": "ready",
- "runId": "681a1e2d-9222-4329-951f-e47402b92f4d",
- "normalizedSessionId": "06496696-b312-4268-ac40-66770aaa6f1a",
- "runnerInstanceId": "0005a613-101d-475f-9409-8b8e8b87e9ce",
- "environmentLeaseId": "5957cc86-4533-49e5-a2af-0edbc79a472f",
- "outboxCount": 0,
- "pendingTerminalDeliveryIsNull": true
- },
- "providerMtime": 1791694284.8010337,
- "provider": {
- "schema": "paperclip.runner.codex-provider-state.v1",
- "lifecycle": "session_open",
- "threadId": "01a12881-5d3b-72a0-b4c3-d993f5b089e1",
- "activeProviderTurnId": null,
- "completedTurnAuthoritative": true
- }
- },
- "vitePort": 5173,
- "vitePid": 72724
- },
- "browserObservations": {
- "source": "parent direct UI observations, not inferred from agent claims",
- "hmr": {
- "result": "PASS",
- "headingBefore": "Boat staging warm HMR confirmed 0216",
- "headingAfterMarker": "0450",
- "draftBeforeAndAfter": "keep-this-unsaved-draft-boat-0449",
- "pageSessionBeforeAndAfter": "1791694134833",
- "noPageReloadObserved": true
- },
- "agentComputerUse": {
- "result": "PASS",
- "observation": "Parent full-size provider desktop viewer visually confirmed actual example.com page after native Codex computer use. Narrow embedded scaling initially appeared misleading."
- },
- "humanDesktopInput": {
- "result": "PASS",
- "observation": "Parent direct desktop viewer used mouse and keyboard; entered text was aboat.",
- "limits": "Ctrl+A selection behavior not proven; this does not establish embedded-frame keyboard focus behavior."
- }
- },
- "limits": [
- "This receipt does not qualify legacy Claude or legacy Codex on deployment19.",
- "Sibling-stop isolation remains unproven by this receipt.",
- "No source edits or lifecycle mutations were performed by the evidence observer."
- ],
- "evidence": [
- {
- "file": "retry-staging-19-nativeclaude-live.json",
- "sha256": "2362dd0b0a726c1c0338705a746212a3cd2f63ed7d88b7058ed39cdf3f97e997"
- },
- {
- "file": "retry-staging-19-nativeclaude-warm.json",
- "sha256": "56c680e55cd45a29a6a61962c7ca4bb37b5ac407708fa570d399399d6aab76f2"
- },
- {
- "file": "retry-staging-19-nativeclaude-settled.json",
- "sha256": "07643a3f181ec2ae0478d5d0ea7a02abe419b3baae4dc228308e1327b17611aa"
- },
- {
- "file": "retry-staging-19-nativecodex-baseline.json",
- "sha256": "25177d4d52e35820633ebcc0a0ca23b47816f6651d9a45410c3309a683d10281"
- },
- {
- "file": "retry-staging-19-nativecodex-hmr-settled.json",
- "sha256": "199fb3f8c9814c00314f7dca7f4fc74fbff62d56ed803f8795d29d49da4c8090"
- },
- {
- "file": "retry-staging-19-postviewer-status.json",
- "sha256": "338fa665c8abcf5c4a2ed1d52c82b56e8ac9da1f7bfa069ccafcaa6feee76528"
- },
- {
- "file": "retry-staging-19-postviewer-owners.json",
- "sha256": "04bac3dacc8ed1f777cd3462f391a31c6e6fe64a00a64f8eb2ef87430a14bf93"
- }
- ],
- "postViewerCleanup": {
- "viewerClosedAtApprox": "2026-10-11T04:53:00Z",
- "viewerClosureSource": "parent normal UI action",
- "providerArchivedObservedAt": "2026-10-11T04:57:18.185Z",
- "stopId": "stop_5213e39a6e6a9578",
- "stopCompletedAt": "2026-10-11T04:56:59.592Z",
- "guestReadSkippedAfterArchive": true,
- "limits": [
- "Exact separate Claude and Codex owner retirement timestamps were not observed.",
- "Do not infer Codex timeout from the Claude configuration."
- ]
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging20-21-rollout-interruption.json b/doc/plans/assets/2026-10-10-boat/evidence/staging20-21-rollout-interruption.json
deleted file mode 100644
index 32d07a94cf3..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging20-21-rollout-interruption.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "schema": "boat.staging.rollout-boundary.evidence.v1",
- "recordedAt": "2026-10-11T05:53:53.206638+00:00",
- "result": "NOT_PASSED",
- "reason": "Live preview and heading-only warm HMR attempt overlapped deployment21 rollout and browser availability failure.",
- "sourceBoundary": {
- "lastVerifiedSource": "d50dd0f49befcbe53875ad3acad9a39381f4a89b",
- "deployment21RolloutEnteredAt": "2026-10-11T05:51:52Z",
- "deployment21ServingVerification": "pending"
- },
- "savedTaskId": "7d3472d4-461f-44ce-90ed-139e878df200",
- "checkpointRunId": "07d05df1-1d0b-4bb9-8cb5-c174eb157f61",
- "checkpointObservedAt": "2026-10-11T05:53:07.951839Z",
- "checkpointLifecycle": "suspended",
- "ownedNativeProcessCount": 0,
- "ownedListenerCount": 0,
- "savedNormalizedSessionId": "06496696-b312-4268-ac40-66770aaa6f1a",
- "savedProviderThreadId": "01a12881-5d3b-72a0-b4c3-d993f5b089e1",
- "proofSha256": "f9253e57dadaefe9276e99a9cd0cb9fad68d2704dd820b61e026edf6e6527c46",
- "browserBaseline": {
- "observedAtApprox": "2026-10-11T05:53:00Z",
- "heading": "Boat staging warm HMR confirmed0450",
- "unsavedDraft": "keep-this-unsaved-draft-boat-0553",
- "pageSession": "1791697955761",
- "reportedListenerPid": 57260,
- "listenerPidIndependentlyObserved": false
- },
- "headingOnlyPromptTarget": "Boat warm HMR verified0553",
- "browserFailure": {
- "observedAtApprox": "2026-10-11T05:54:00Z",
- "taskError": "Request failed: 404",
- "previewError": "ERR_BLOCKED_BY_CLIENT"
- },
- "limits": [
- "No warm HMR pass or same-process reuse is established.",
- "Runner retirement cause is not independently established; temporal overlap with rollout is observed.",
- "No manual wake, restart, or browser safety bypass was performed."
- ],
- "evidence": {
- "name": "retry-staging-20-21-nativecodex-vite-baseline.json",
- "sha256": "dc376b8a8374a9b4b58f0ff3f180143c7df64848e83231b5d748ebef739e9d9a"
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging20-live-evidence.json b/doc/plans/assets/2026-10-10-boat/evidence/staging20-live-evidence.json
deleted file mode 100644
index 9243073a39a..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging20-live-evidence.json
+++ /dev/null
@@ -1,197 +0,0 @@
-{
- "schema": "boat.staging.qualification.evidence.v1",
- "recordedAt": "2026-10-11T05:52:48.242139+00:00",
- "status": "partial_current_source_qualification",
- "source": {
- "deployment": 20,
- "commit": "d50dd0f49befcbe53875ad3acad9a39381f4a89b",
- "servingVerifiedAt": "2026-10-11T05:29:33.577Z",
- "verification": "verified"
- },
- "scope": {
- "sandboxId": "bx_b8sawfyp",
- "companyId": "76e38a59-75e7-5ff8-a4bf-ebb78a7b8ebe",
- "environmentId": "8c78970d-76b4-42e5-b45e-eca4deb85a67"
- },
- "transientAvailability": {
- "result": "recovered_through_normal_browser_retry",
- "parentObserved": "Tenant unavailable immediately after rollout; normal browser reload/Try again recovered before tasks were submitted.",
- "publicCheckAt": "2026-10-11T05:31:29.903423Z",
- "publicRootStatus": 200,
- "unauthenticatedHealthStatus": 401,
- "unauthenticatedHealthCode": "tenant_session_required",
- "limit": "Public response proved edge availability only. A tenant crash or underlying cause was not established."
- },
- "legacyClaude": {
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "taskId": "8a437e8b-3a17-4ec6-8bda-9aab1c067c29",
- "runId": "13dfc336-45de-41c3-9909-4f276a0b6a7b",
- "sessionId": "36c9f2e2-86fa-4a79-9b17-9ebc07f271de",
- "startedAt": "2026-10-11T05:32:31Z",
- "finishedAt": "2026-10-11T05:34:52Z",
- "status": "succeeded",
- "taskStatus": "done",
- "workspaceFinalize": "succeeded",
- "proofSha256": "ec9169f87b99329a3a24fe194d2cff1a43fb29ef8374d1317ccc28bb83be0ddc",
- "proofObservedAt": "2026-10-11T05:33:08.003383Z",
- "proofUnchanged": true,
- "agentInstructionsReadObserved": true,
- "paperclipSkillLoadedObserved": true,
- "recoveryRunRequired": false,
- "helperEvidence": {
- "initialPathAttemptFailed": true,
- "correctedToInstalledSkillRelativeHelperInSameRun": true,
- "toolCardLabel": "stopped",
- "exitCode": null,
- "limit": "The tool card label is ambiguous; overall run and task completion passed without a separate Claude recovery run."
- }
- },
- "legacyCodex": {
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "taskId": "612d0551-2947-435e-9b7d-d64dc584a41a",
- "initialFailedRunIdPrefix": "2b0176be",
- "automaticRecoveryRunIdPrefix": "f090825c",
- "automaticRecoveryResponseLiteral": "$comment",
- "passingRunId": "80abe3ed-5d63-4971-a94c-86f6ce0b166d",
- "startedAt": "2026-10-11T05:37:47Z",
- "finishedAt": "2026-10-11T05:39:40Z",
- "status": "guided_followup_succeeded",
- "taskStatus": "done",
- "workspaceFinalize": "succeeded",
- "providerSessionChanged": true,
- "proofSha256": "ff52207bcf705181af4a476c243d121f2e95d011f172899c19b08758695c4627",
- "proofObservedAt": "2026-10-11T05:33:08.003383Z",
- "proofUnchanged": true,
- "helperEvidence": {
- "initialIncorrectAgentHomeRelativePathFailed": true,
- "guidedFollowupReadInstalledSkillAndResolvedHelperRelativeToIt": true,
- "toolCardLabel": "Running a command \u00b7 stopped",
- "exitCode": null,
- "overallRunSucceeded": true,
- "limit": "Expanded command resolved the actual owner-scoped installed skill helper. The tool card does not establish a helper exit code."
- },
- "limits": [
- "Passing attempt was an explicit guided followup; the initial completion failure and automatic recovery remain recorded.",
- "Provider session changed, so no saved-provider-session equality claim."
- ]
- },
- "nativeCodex": {
- "agentId": "d7a6fbcf-b0aa-4449-bdc0-875cbdf2a246",
- "taskId": "7d3472d4-461f-44ce-90ed-139e878df200",
- "runId": "eaf9f507-61fd-4ca3-9dc9-a5af24804d01",
- "parentSubmissionAtApprox": "2026-10-11T05:41:00Z",
- "parentReportedCompletedAtApprox": "2026-10-11T05:44:00Z",
- "taskDisposition": "blocked_for_browser_check",
- "checkpointObservedAt": "2026-10-11T05:48:00.358633+00:00",
- "checkpoint": {
- "runnerLifecycle": "ready",
- "providerLifecycle": "session_open",
- "outboxCount": 0,
- "pendingTerminalDeliveryIsNull": true,
- "completedTurnAuthoritative": true,
- "normalizedSessionId": "06496696-b312-4268-ac40-66770aaa6f1a",
- "runnerInstanceId": "0005a613-101d-475f-9409-8b8e8b87e9ce",
- "providerThreadId": "01a12881-5d3b-72a0-b4c3-d993f5b089e1"
- },
- "savedSessionRetained": true,
- "ownerId": "51f56658-94a9-4600-a6c8-25d0cfc694ee",
- "bootId": "c6a9890c-b025-4ae1-837f-148704d2d7b5",
- "processes": [
- {
- "role": "runner",
- "pid": 29661,
- "startTicks": 24260
- },
- {
- "role": "codex",
- "pid": 29877,
- "startTicks": 24424
- },
- {
- "role": "computer_use_driver",
- "pid": 29947,
- "startTicks": 24434
- },
- {
- "role": "vite",
- "pid": 30319,
- "startTicks": 25461
- }
- ],
- "proofSha256": "f9253e57dadaefe9276e99a9cd0cb9fad68d2704dd820b61e026edf6e6527c46",
- "proofUnchanged": true,
- "vitePort": 5173,
- "providerPackDigest": null,
- "providerPackLimit": "No provider-package digest was exposed by the bounded native process-path observation.",
- "computerUse": {
- "actualToolsObserved": [
- "launch_app",
- "bring_to_front",
- "click",
- "hotkey",
- "type_text",
- "press_key",
- "get_window_state"
- ],
- "desktopVisualResult": "PASS",
- "visualObservedAtApprox": "2026-10-11T05:49:00Z",
- "parentObservation": "Normal Computer Connect showed Chrome displaying example.com; parent captured a screenshot."
- },
- "preview": {
- "result": "NOT_PASSED",
- "parentObservedAtApprox": "2026-10-11T05:50:00Z",
- "error": "Preview owner is not live",
- "parentInterpretation": "The five-minute warm interval had expired before the preview click.",
- "limit": "No live preview or hot-reload pass is claimed on deployment20."
- },
- "ordinaryFollowup": {
- "submittedAtApprox": "2026-10-11T05:50:00Z",
- "purpose": "Restart existing Vite server within normal bounded runner lifetime.",
- "lastParentObservedStatus": "running",
- "runId": null,
- "result": "pending"
- }
- },
- "evidenceSemantics": {
- "browserAndRunAudit": "Parent observed the normal UI; guest observer independently read scoped proof hashes and checkpoint/process metadata.",
- "runAuditTimePrecision": "Nearest second as shown by the run audit. Times marked Approx come from parent observations.",
- "observerActions": "Read-only; no lifecycle extension, wake, mutation, or manual fixture changes.",
- "legacyProcessObserverCorrection": "Initial native-service-only matching omitted legacy command services. Corrected owner-slice matching observed the legacy Codex owner; initial empty process samples are inconclusive."
- },
- "remainingLimits": [
- "Deployment20 native preview/HMR has not passed.",
- "Native Claude fresh/warm evidence remains on deployment19, not repeated here.",
- "Sibling-stop isolation is not proved by this receipt.",
- "Deployment21 work is a separate source boundary."
- ],
- "receipts": [
- {
- "name": "staging-deploy-20-result.json",
- "sha256": "d9ca59f8c8c625470ae5dae954e3f75ae331ec30e754da2f4dc5b2e6930c7928"
- },
- {
- "name": "retry-staging-20-public-health.json",
- "sha256": "12c2e103c2e8049224aa7d0cffd0007f8a941fe7b4b0239efbe5bcc1a4d2b270"
- },
- {
- "name": "retry-staging-20-legacy-active.json",
- "sha256": "af1e012913a431335c061ead3887850496aae5142f78700d83d53475e50beba8"
- },
- {
- "name": "retry-staging-20-legacy-helpers.json",
- "sha256": "c7bb40393194f746d06f00032e6f58723c4a35c2ee1b38c2273cb41a750eb81b"
- },
- {
- "name": "retry-staging-20-legacy-helpers-corrected.json",
- "sha256": "415ce14bc9e064e1564af9648d79e7e9f7688a07e8fcfbd187ce4ccd3aca5a0b"
- },
- {
- "name": "retry-staging-20-nativecodex-active.json",
- "sha256": "2db5abefc52ffe68a4fb33c2cce3370f4a9fbe6a85703b0479db04a33ebd0e30"
- },
- {
- "name": "retry-staging-20-nativecodex-settled.json",
- "sha256": "0d5884671ec2c6068995f34489cf7e9f3236bb6cf62461a479ea6efead5bcd34"
- }
- ]
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging21-controller-cleanup.json b/doc/plans/assets/2026-10-10-boat/evidence/staging21-controller-cleanup.json
deleted file mode 100644
index d7e93990dbb..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging21-controller-cleanup.json
+++ /dev/null
@@ -1,439 +0,0 @@
-{
- "schema": "boat.staging.controller-diagnostics.evidence.v1",
- "extractedAt": "2026-10-11T06:18:07.315407+00:00",
- "method": "Decoded quoted DOM generic values as JSON strings, concatenated terminal wrap fragments, and parsed the unique complete diagnostic JSON object. No source values were inferred.",
- "sourceCaptureTimes": "Neither source output contains a diagnostic/browser capture timestamp. File modification timestamps are metadata only.",
- "sources": [
- {
- "name": "staging21-controller-console-read.txt",
- "sha256": "11d7402666ecc2aaf7ccdb2ac0432c80384ef48f79bd34f53010a60f6eddbe42",
- "bytes": 6085,
- "captureTimeInContent": null,
- "sourceFileModifiedAt": "2026-10-11T06:13:12.104224+00:00",
- "sourceFileModifiedAtMeaning": "Filesystem metadata only; not asserted as browser or diagnostic capture time."
- },
- {
- "name": "staging21-controller-db-read.txt",
- "sha256": "cf52d75e892051a675e486a16e248e99cdf4e501ce937af45bae4047bed455bd",
- "bytes": 8431,
- "captureTimeInContent": null,
- "sourceFileModifiedAt": "2026-10-11T06:15:45.651326+00:00",
- "sourceFileModifiedAtMeaning": "Filesystem metadata only; not asserted as browser or diagnostic capture time."
- },
- {
- "name": "staging21-controller-db-read-2.txt",
- "sha256": "615d51f4695377d3a7532272312c4463cd3c63a2990c197599cc766519ec752e",
- "bytes": 8790,
- "captureTimeInContent": null,
- "sourceFileModifiedAt": "2026-10-11T06:16:56.588468+00:00",
- "sourceFileModifiedAtMeaning": "Filesystem metadata only; not asserted as browser or diagnostic capture time."
- }
- ],
- "scope": {
- "normalizedSessionId": "06496696-b312-4268-ac40-66770aaa6f1a",
- "runId": "d8aa39b4-b792-44c5-91d5-e88f7258e1e5",
- "followingAttemptRunIds": [
- "47d76138-3533-4904-9285-0b3d873ea3bb",
- "ddce73cb-d592-4007-8b16-5c011945d681"
- ]
- },
- "currentControllerObservation": {
- "baseExists": true,
- "matchingStateCount": 1,
- "stateKey": "b4e89cdf379be2fef8dc8a3df1a3e1e9a7965cf26425305506b68ecb9e45a70c",
- "schema": "paperclip.runner.durable.control-plane-state.v1",
- "identity": {
- "runId": "d8aa39b4-b792-44c5-91d5-e88f7258e1e5",
- "normalizedSessionId": "06496696-b312-4268-ac40-66770aaa6f1a",
- "runnerInstanceId": "0005a613-101d-475f-9409-8b8e8b87e9ce",
- "environmentLeaseId": "5957cc86-4533-49e5-a2af-0edbc79a472f"
- },
- "controllerEpochFieldPresent": false,
- "pendingWarmTransitionPresent": false,
- "commands": [
- {
- "controllerSeq": 1,
- "status": "completed",
- "type": "run.attach"
- },
- {
- "controllerSeq": 2,
- "status": "completed",
- "type": "session.snapshot"
- },
- {
- "controllerSeq": 3,
- "status": "completed",
- "type": "session.snapshot"
- },
- {
- "controllerSeq": 4,
- "status": "completed",
- "type": "session.goal.get"
- },
- {
- "controllerSeq": 5,
- "status": "completed",
- "type": "turn.start"
- },
- {
- "controllerSeq": 6,
- "status": "completed",
- "type": "semantic_tool.result"
- }
- ],
- "controllerLocalRunnerState": null,
- "cleanupActivationPresent": false
- },
- "currentDatabaseObservation": {
- "source": "staging21-controller-db-read-2.txt",
- "returnedRuns": [
- {
- "id": "ddce73cb-d592-4007-8b16-5c011945d681",
- "status": "failed",
- "error_code": "adapter_failed",
- "native_session_id": null,
- "runner_instance_id": null,
- "started_at": "2026-10-11T05:58:00.710Z",
- "finished_at": "2026-10-11T05:58:36.390Z",
- "issue_id": "7d3472d4-461f-44ce-90ed-139e878df200",
- "result_keys": [
- "stopReason",
- "timeoutFired",
- "timeoutSource",
- "executionRecovery",
- "timeoutConfigured",
- "effectiveTimeoutSec"
- ],
- "recovery": {
- "kind": "bootstrap",
- "providerWorkStarted": false
- },
- "knownErrorCodes": [
- "native_session_cleanup_quarantined"
- ],
- "errorCategory": "cleanup_other"
- },
- {
- "id": "47d76138-3533-4904-9285-0b3d873ea3bb",
- "status": "failed",
- "error_code": "adapter_failed",
- "native_session_id": null,
- "runner_instance_id": null,
- "started_at": "2026-10-11T05:57:25.465Z",
- "finished_at": "2026-10-11T05:57:59.611Z",
- "issue_id": "7d3472d4-461f-44ce-90ed-139e878df200",
- "result_keys": [
- "stopReason",
- "timeoutFired",
- "timeoutSource",
- "executionRecovery",
- "timeoutConfigured",
- "effectiveTimeoutSec"
- ],
- "recovery": {
- "kind": "bootstrap",
- "providerWorkStarted": false
- },
- "knownErrorCodes": [
- "native_session_cleanup_quarantined"
- ],
- "errorCategory": "cleanup_other"
- },
- {
- "id": "d8aa39b4-b792-44c5-91d5-e88f7258e1e5",
- "status": "succeeded",
- "error_code": null,
- "native_session_id": "06496696-b312-4268-ac40-66770aaa6f1a",
- "runner_instance_id": "0005a613-101d-475f-9409-8b8e8b87e9ce",
- "started_at": "2026-10-11T05:54:37.004Z",
- "finished_at": "2026-10-11T05:57:08.096Z",
- "issue_id": "7d3472d4-461f-44ce-90ed-139e878df200",
- "result_keys": [
- "summary",
- "decisionId",
- "stopReason",
- "failureCode",
- "assessmentId",
- "nativeResult",
- "timeoutFired",
- "nextAttemptAt",
- "timeoutSource",
- "nativeTerminal",
- "configFreshness",
- "instructionSave",
- "issueStatusAfter",
- "finalizationPhase",
- "issueStatusBefore",
- "timeoutConfigured",
- "statusVersionAfter",
- "effectiveTimeoutSec",
- "originalFailureCode",
- "prpRunTerminalState",
- "statusVersionBefore",
- "verificationCaveats",
- "planSynchronizations",
- "presentationDecision",
- "prpTurnTerminalState",
- "authoritativeDecision",
- "finalizationReasonCode",
- "workspaceFinalizeStatus",
- "ignoredAttentionRequests",
- "finalizationPolicyVersion",
- "prpReportedWorkDisposition",
- "externalChatReviewPresentation"
- ],
- "recovery": {
- "kind": null,
- "providerWorkStarted": null
- },
- "knownErrorCodes": [],
- "errorCategory": null
- }
- ],
- "returnedFinalizations": [
- {
- "runId": "d8aa39b4-b792-44c5-91d5-e88f7258e1e5",
- "phase": "committed",
- "failureCode": null,
- "recoveryState": null,
- "detailKeys": [],
- "knownCauseCodes": [],
- "history": []
- }
- ],
- "leases": [
- {
- "id": "98118809-b4b5-4424-a415-115139bb4920",
- "status": "failed",
- "cleanup_status": "success",
- "heartbeat_run_id": "ddce73cb-d592-4007-8b16-5c011945d681",
- "acquired_at": "2026-10-11T05:58:09.958Z",
- "released_at": "2026-10-11T05:58:39.619Z",
- "updated_at": "2026-10-11T05:58:39.619Z",
- "owner": {
- "ownerId": "e6a15939-7665-4c3d-9ae1-933d8fcd2c01",
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "generation": 1
- }
- },
- {
- "id": "599bd9a8-0257-4089-8c5d-4cb01240fab2",
- "status": "failed",
- "cleanup_status": "success",
- "heartbeat_run_id": "47d76138-3533-4904-9285-0b3d873ea3bb",
- "acquired_at": "2026-10-11T05:57:33.665Z",
- "released_at": "2026-10-11T05:58:03.414Z",
- "updated_at": "2026-10-11T05:58:03.414Z",
- "owner": {
- "ownerId": "1605dd13-3314-4df3-80d5-783eb501fc21",
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "generation": 1
- }
- },
- {
- "id": "55b1b69c-3254-4f6c-902e-ed12148c1386",
- "status": "released",
- "cleanup_status": "success",
- "heartbeat_run_id": "d8aa39b4-b792-44c5-91d5-e88f7258e1e5",
- "acquired_at": "2026-10-11T05:54:45.660Z",
- "released_at": "2026-10-11T05:58:36.264Z",
- "updated_at": "2026-10-11T05:58:36.264Z",
- "owner": {
- "ownerId": "7d485ed0-d46e-4b35-a652-e7ac24514549",
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "generation": 1
- }
- }
- ],
- "owners": [
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "id": "7d485ed0-d46e-4b35-a652-e7ac24514549",
- "generation": 1,
- "phase": "retired",
- "runId": "d8aa39b4-b792-44c5-91d5-e88f7258e1e5",
- "deadline": null,
- "retirementDeadline": null,
- "admittedAt": "2026-10-11T05:54:39.805Z",
- "processBindingRecorded": true
- },
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "id": "1605dd13-3314-4df3-80d5-783eb501fc21",
- "generation": 1,
- "phase": "retired",
- "runId": "47d76138-3533-4904-9285-0b3d873ea3bb",
- "deadline": null,
- "retirementDeadline": null,
- "admittedAt": "2026-10-11T05:57:28.028Z",
- "processBindingRecorded": false
- },
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "id": "e6a15939-7665-4c3d-9ae1-933d8fcd2c01",
- "generation": 1,
- "phase": "retired",
- "runId": "ddce73cb-d592-4007-8b16-5c011945d681",
- "deadline": null,
- "retirementDeadline": null,
- "admittedAt": "2026-10-11T05:58:04.340Z",
- "processBindingRecorded": false
- }
- ]
- },
- "interpretationLimits": [
- "The controller diagnostic returned one matching identity bound to the preceding successful heading run; all six returned commands are completed and no pending warm transition is recorded.",
- "No controllerEpoch field was returned. This is not an epoch value of zero or null.",
- "The controller-local runner-state result is null. This does not establish absence of the remote Boat guest checkpoint.",
- "All three returned owners are retired with null current deadlines. The preceding owner retains a process binding object; that historical binding is not evidence that its OS process is alive.",
- "The two following failed leases both report successful cleanup and owners with no process binding. This does not explain the initiating native-session cleanup quarantine.",
- "No failure code, cause code, recovery state, or recovery history was returned for the successful preceding finalization. No initiating quarantine cause is established.",
- "The second exact-scope query returns all three runs. The first query returned only the successful heading run; its narrower result must not be used to infer missing failed-run rows.",
- "Both failed-run rows have error_code adapter_failed, knownErrorCodes containing native_session_cleanup_quarantined, recovery kind bootstrap, providerWorkStarted false, and diagnostic errorCategory cleanup_other. cleanup_other is the diagnostic output category, not a more specific native error code.",
- "The preceding heading lease reports released_at05:58:36.264Z. This is its recorded final release time, not proof of when its process stopped or the initiating quarantine cause."
- ],
- "networkDatabaseBrowserOrGuestActionsPerformedByExtractor": false,
- "earlierDatabaseObservation": {
- "returnedRuns": [
- {
- "id": "d8aa39b4-b792-44c5-91d5-e88f7258e1e5",
- "status": "succeeded",
- "error_code": null,
- "native_session_id": "06496696-b312-4268-ac40-66770aaa6f1a",
- "runner_instance_id": "0005a613-101d-475f-9409-8b8e8b87e9ce",
- "started_at": "2026-10-11T05:54:37.004Z",
- "finished_at": "2026-10-11T05:57:08.096Z",
- "recovery": {
- "kind": null,
- "providerWorkStarted": null
- }
- }
- ],
- "returnedFinalizations": [
- {
- "runId": "d8aa39b4-b792-44c5-91d5-e88f7258e1e5",
- "phase": "committed",
- "failureCode": null,
- "recoveryState": null,
- "detailKeys": [],
- "knownCauseCodes": [],
- "history": []
- }
- ],
- "leases": [
- {
- "id": "98118809-b4b5-4424-a415-115139bb4920",
- "status": "failed",
- "cleanup_status": "success",
- "heartbeat_run_id": "ddce73cb-d592-4007-8b16-5c011945d681",
- "owner": {
- "ownerId": "e6a15939-7665-4c3d-9ae1-933d8fcd2c01",
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "generation": 1
- }
- },
- {
- "id": "599bd9a8-0257-4089-8c5d-4cb01240fab2",
- "status": "failed",
- "cleanup_status": "success",
- "heartbeat_run_id": "47d76138-3533-4904-9285-0b3d873ea3bb",
- "owner": {
- "ownerId": "1605dd13-3314-4df3-80d5-783eb501fc21",
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "generation": 1
- }
- },
- {
- "id": "55b1b69c-3254-4f6c-902e-ed12148c1386",
- "status": "released",
- "cleanup_status": "success",
- "heartbeat_run_id": "d8aa39b4-b792-44c5-91d5-e88f7258e1e5",
- "owner": {
- "ownerId": "7d485ed0-d46e-4b35-a652-e7ac24514549",
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "generation": 1
- }
- }
- ],
- "owners": [
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "id": "7d485ed0-d46e-4b35-a652-e7ac24514549",
- "generation": 1,
- "phase": "retired",
- "runId": "d8aa39b4-b792-44c5-91d5-e88f7258e1e5",
- "deadline": null,
- "retirementDeadline": null,
- "processBindingRecorded": true
- },
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "id": "1605dd13-3314-4df3-80d5-783eb501fc21",
- "generation": 1,
- "phase": "retired",
- "runId": "47d76138-3533-4904-9285-0b3d873ea3bb",
- "deadline": null,
- "retirementDeadline": null,
- "processBindingRecorded": false
- },
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "id": "e6a15939-7665-4c3d-9ae1-933d8fcd2c01",
- "generation": 1,
- "phase": "retired",
- "runId": "ddce73cb-d592-4007-8b16-5c011945d681",
- "deadline": null,
- "retirementDeadline": null,
- "processBindingRecorded": false
- }
- ]
- },
- "recordedTimeline": [
- {
- "kind": "run",
- "runId": "d8aa39b4-b792-44c5-91d5-e88f7258e1e5",
- "startedAt": "2026-10-11T05:54:37.004Z",
- "finishedAt": "2026-10-11T05:57:08.096Z",
- "status": "succeeded"
- },
- {
- "kind": "run",
- "runId": "47d76138-3533-4904-9285-0b3d873ea3bb",
- "startedAt": "2026-10-11T05:57:25.465Z",
- "finishedAt": "2026-10-11T05:57:59.611Z",
- "status": "failed"
- },
- {
- "kind": "run",
- "runId": "ddce73cb-d592-4007-8b16-5c011945d681",
- "startedAt": "2026-10-11T05:58:00.710Z",
- "finishedAt": "2026-10-11T05:58:36.390Z",
- "status": "failed"
- },
- {
- "kind": "lease",
- "runId": "d8aa39b4-b792-44c5-91d5-e88f7258e1e5",
- "leaseId": "55b1b69c-3254-4f6c-902e-ed12148c1386",
- "acquiredAt": "2026-10-11T05:54:45.660Z",
- "releasedAt": "2026-10-11T05:58:36.264Z",
- "cleanupStatus": "success"
- },
- {
- "kind": "lease",
- "runId": "47d76138-3533-4904-9285-0b3d873ea3bb",
- "leaseId": "599bd9a8-0257-4089-8c5d-4cb01240fab2",
- "acquiredAt": "2026-10-11T05:57:33.665Z",
- "releasedAt": "2026-10-11T05:58:03.414Z",
- "cleanupStatus": "success"
- },
- {
- "kind": "lease",
- "runId": "ddce73cb-d592-4007-8b16-5c011945d681",
- "leaseId": "98118809-b4b5-4424-a415-115139bb4920",
- "acquiredAt": "2026-10-11T05:58:09.958Z",
- "releasedAt": "2026-10-11T05:58:39.619Z",
- "cleanupStatus": "success"
- }
- ]
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging21-live-evidence.json b/doc/plans/assets/2026-10-10-boat/evidence/staging21-live-evidence.json
deleted file mode 100644
index 540dc185f82..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging21-live-evidence.json
+++ /dev/null
@@ -1,116 +0,0 @@
-{
- "schema": "boat.staging.qualification.evidence.v1",
- "recordedAt": "2026-10-11T06:04:27.886191+00:00",
- "source": {
- "deployment": 21,
- "commit": "388a16905b5d1924ce88a1fe550d0f65ebbaf00e",
- "verifiedAt": "2026-10-11T05:54:57.175Z"
- },
- "status": "native_vite_restart_failed_cleanup_quarantine",
- "nativeCodex": {
- "taskId": "7d3472d4-461f-44ce-90ed-139e878df200",
- "proofSha256": "f9253e57dadaefe9276e99a9cd0cb9fad68d2704dd820b61e026edf6e6527c46",
- "proofUnchanged": true,
- "persistedHeadingTurn": {
- "requestReplayed": false,
- "parentObservedResultAtApprox": "2026-10-11T05:57:00Z",
- "reason": "No Vite listener available; no edit performed.",
- "hmrPassed": false,
- "runId": "d8aa39b4-b792-44c5-91d5-e88f7258e1e5",
- "startedAt": "2026-10-11T05:54:37Z",
- "finishedAt": "2026-10-11T05:57:08Z",
- "runStatus": "succeeded",
- "taskDisposition": "blocked",
- "workspaceFinalize": "succeeded",
- "sourceBoundary": "Run started before official deployment21 serving verification at05:54:57; it spans the rollout boundary."
- },
- "transitionalSample": {
- "observedAt": "2026-10-11T05:56:20.207928Z",
- "nativeOwnedProcesses": 0,
- "nativeOwnedListeners": 0,
- "savedRunnerCheckpointPresent": false,
- "savedProviderCheckpointPresent": true,
- "savedProviderThreadId": "01a12881-5d3b-72a0-b4c3-d993f5b089e1",
- "interpretation": "In-flight preparation observation only; no corruption claim."
- },
- "normalViteRestartFollowup": {
- "parentSubmittedAtApprox": "2026-10-11T05:57:00Z",
- "timeoutSettingsChanged": false,
- "firstAttempt": {
- "runId": "47d76138-3533-4904-9285-0b3d873ea3bb",
- "startedAt": "2026-10-11T05:57:25Z",
- "finishedAt": "2026-10-11T05:57:59Z",
- "status": "failed",
- "errorCode": "native_session_cleanup_quarantined",
- "failurePhase": "bootstrap",
- "providerWorkStarted": false,
- "timeoutFired": false,
- "effectiveTimeoutSec": 0,
- "observedRunEventTypes": [
- "started",
- "native_session_cleanup_quarantined"
- ]
- },
- "automaticAttempt": {
- "runId": "ddce73cb-d592-4007-8b16-5c011945d681",
- "startedAt": "2026-10-11T05:58:00Z",
- "finishedAt": "2026-10-11T05:58:36Z",
- "status": "failed",
- "errorCode": "native_session_cleanup_quarantined"
- },
- "result": "failed_before_provider_work"
- },
- "postFailureObservation": {
- "at": "2026-10-11T06:00:45.856001Z",
- "bootId": "c6a9890c-b025-4ae1-837f-148704d2d7b5",
- "nativeOwnedProcesses": 0,
- "nativeOwnedListeners": 0,
- "runnerCheckpointPresent": true,
- "checkpointRunId": "d8aa39b4-b792-44c5-91d5-e88f7258e1e5",
- "runnerLifecycle": "ready",
- "providerLifecycle": "session_open",
- "outboxCount": 0,
- "pendingTerminalDeliveryIsNull": true,
- "completedTurnAuthoritative": true,
- "savedNormalizedSessionId": "06496696-b312-4268-ac40-66770aaa6f1a",
- "savedProviderThreadId": "01a12881-5d3b-72a0-b4c3-d993f5b089e1",
- "proofUnchanged": true
- }
- },
- "receipts": [
- {
- "name": "staging-deploy-21-result.json",
- "sha256": "38b8a3a4dbe1554466043dbdbf8d163b8a7d4d64d2eb389bdeaf79966b1a6aec"
- },
- {
- "name": "retry-staging-21-provider-baseline.json",
- "sha256": "bcf15979a0e4fbccad59ea8583d905f7a8b12607d7ff1639682e2ec191646828"
- },
- {
- "name": "retry-staging-21-nativecodex-persisted-heading.json",
- "sha256": "8a21fc9d7c5169209d9eada4070c84bf7d2ddbf1c95c5845d96825918fda89ef"
- },
- {
- "name": "retry-staging-21-nativecodex-quarantine.json",
- "sha256": "95cd02ed158098140478f85bb5fd86e78fb9b0cb1ed155aec3eae9192a4c9fc6"
- }
- ],
- "limits": [
- "No inference is made about the initiating cleanup/retirement cause.",
- "The heading turn succeeded at run level but left the task blocked because Vite was unavailable; no HMR edit was performed.",
- "Both subsequent Vite-restart attempts failed cleanup quarantine; no native preview/HMR pass is claimed.",
- "Additional fence inspection was stopped by provider guard after normal viewer unmount. No retry, reset, or manual wake occurred."
- ],
- "viewerLifecycle": {
- "parentNavigatedAwayAtApprox": "2026-10-11T06:00:00Z",
- "viewerUnmount": "normal_navigation",
- "laterGuestDiagnostic": "blocked_by_provider_state_guard",
- "guestReadAfterBlockedGuard": false,
- "manualWakeOrReset": false
- },
- "evidenceAttribution": {
- "runAudit": "Exact run IDs and timestamps from parent UI audit, relayed by quarantine diagnosis worker; audit precision nearest second.",
- "guestEvidence": "Independent guarded read-only checkpoint/process/proof observations.",
- "cleanupCause": "Exact initiating cleanup or retirement error remains unavailable. Prior heading stderr exposed no quarantine reason."
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging22-live-evidence.json b/doc/plans/assets/2026-10-10-boat/evidence/staging22-live-evidence.json
deleted file mode 100644
index e6ded4bb3a6..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging22-live-evidence.json
+++ /dev/null
@@ -1,364 +0,0 @@
-{
- "schemaVersion": 1,
- "recordedAt": "2026-10-11T07:08:10.911066+00:00",
- "source": {
- "deployment": 22,
- "servingCommit": "92be5d8596fd457d624280e49dd18b122ca82ee7",
- "verifiedAt": "2026-10-11T06:55:24.595Z",
- "status": "succeeded",
- "verification": "verified"
- },
- "scope": {
- "sandboxId": "bx_b8sawfyp",
- "companyId": "76e38a59-75e7-5ff8-a4bf-ebb78a7b8ebe",
- "environmentId": "8c78970d-76b4-42e5-b45e-eca4deb85a67",
- "agentId": "d7a6fbcf-b0aa-4449-bdc0-875cbdf2a246",
- "taskId": "7d3472d4-461f-44ce-90ed-139e878df200"
- },
- "results": {
- "ordinarySavedContinuation": {
- "status": "passed",
- "runId": "2d067f32-3614-41eb-8f6d-670502aff86c",
- "observedAt": "2026-10-11T07:01:34.625704+00:00",
- "normalizedSessionId": "06496696-b312-4268-ac40-66770aaa6f1a",
- "logicalRunnerId": "0005a613-101d-475f-9409-8b8e8b87e9ce",
- "providerThreadId": "01a12881-5d3b-72a0-b4c3-d993f5b089e1",
- "matchesPreviouslyRecordedSavedIdentity": true,
- "proofSha256": "f9253e57dadaefe9276e99a9cd0cb9fad68d2704dd820b61e026edf6e6527c46",
- "proofBytes": 24,
- "proofMatchesOriginal": true,
- "runnerLifecycle": "ready",
- "providerLifecycle": "session_open",
- "outboxCount": 0,
- "pendingTerminalDeliveryIsNull": true,
- "completedTurnAuthoritative": true,
- "controllerDeploymentRecovery": "Ordinary same-task continuation after controlled deployment22 preserved the original saved identities and proof; no manual task/session reset was used.",
- "limit": "This is controlled-deployment recovery, not an active controller-crash test. The initiating deployment21 cleanup-quarantine cause remains unknown."
- },
- "warmHmr": {
- "status": "passed",
- "runId": "9cc22b3c-ba7d-4f01-bb5a-7367349f68aa",
- "beforeObservedAt": "2026-10-11T07:01:34.625704+00:00",
- "afterObservedAt": "2026-10-11T07:03:36.891899+00:00",
- "sameProcessIdentities": true,
- "sameBoot": true,
- "bootId": "91790981-bff6-43a8-8f82-ef7d4c397df8",
- "ownerId": "f414c237-68a1-4451-9545-dd8342865c04",
- "processes": [
- {
- "role": "runner",
- "pid": 30593,
- "startTicks": 33571
- },
- {
- "role": "codex",
- "pid": 30796,
- "startTicks": 33705
- },
- {
- "role": "computer_use_driver",
- "pid": 30866,
- "startTicks": 33714
- },
- {
- "role": "vite",
- "pid": 31815,
- "startTicks": 34936
- }
- ],
- "sameNormalizedSession": true,
- "sameLogicalRunner": true,
- "sameProviderThread": true,
- "proofUnchanged": true,
- "vitePort": 5173,
- "vitePid": 31815,
- "postTurnRunnerLifecycle": "ready",
- "postTurnProviderLifecycle": "session_open",
- "postTurnOutboxCount": 0,
- "postTurnPendingTerminalDeliveryIsNull": true,
- "postTurnCompletedTurnAuthoritative": true,
- "browserObservation": {
- "source": "Parent normal browser observation and before/after screenshots",
- "observedAtApprox": "2026-10-11T07:03:15Z",
- "headingBeforeSuffix": "0450",
- "headingAfterSuffix": "0702",
- "unsavedDraftBeforeAndAfter": "staging22 unsaved draft 0702",
- "pageSessionBeforeAndAfter": "1791702073810",
- "reloadPerformed": false
- }
- },
- "computerNavigation": {
- "status": "failed_to_reach_target",
- "runId": "2d067f32-3614-41eb-8f6d-670502aff86c",
- "target": "https://example.com/",
- "parentVisualObservation": "Connected desktop showed Chrome New Tab with malformed omnibox suggestion; the agent reported navigation failure.",
- "actualToolCallsObserved": true,
- "exactTranscriptThreadId": "01a12881-5d3b-72a0-b4c3-d993f5b089e1",
- "transcriptTimeRange": [
- "2026-10-11T06:55:00Z",
- "2026-10-11T07:01:00Z"
- ],
- "inputSummary": [
- {
- "timestamp": "2026-10-11T06:58:48.249Z",
- "tool": "launch_app",
- "arguments": {
- "name": "Google Chrome"
- }
- },
- {
- "timestamp": "2026-10-11T06:58:53.945Z",
- "tool": "bring_to_front",
- "arguments": {
- "pid": 31558,
- "window_id": 29360131
- }
- },
- {
- "timestamp": "2026-10-11T06:58:53.947Z",
- "tool": "click",
- "arguments": {
- "pid": 31558,
- "window_id": 29360131,
- "x": 210,
- "y": 50,
- "delivery_mode": "foreground"
- }
- },
- {
- "timestamp": "2026-10-11T06:58:54.053Z",
- "tool": "hotkey",
- "arguments": {
- "pid": 31558,
- "window_id": 29360131,
- "keys": [
- "ctrl",
- "l"
- ],
- "delivery_mode": "foreground",
- "x": 210,
- "y": 50
- }
- },
- {
- "timestamp": "2026-10-11T06:58:54.056Z",
- "tool": "hotkey",
- "arguments": {
- "pid": 31558,
- "window_id": 29360131,
- "keys": [
- "ctrl",
- "a"
- ],
- "delivery_mode": "foreground",
- "x": 210,
- "y": 50
- }
- },
- {
- "timestamp": "2026-10-11T06:58:54.066Z",
- "tool": "press_key",
- "arguments": {
- "pid": 31558,
- "window_id": 29360131,
- "key": "BACKSPACE",
- "delivery_mode": "foreground"
- }
- },
- {
- "timestamp": "2026-10-11T06:58:58.831Z",
- "tool": "type_text",
- "arguments": {
- "pid": 31558,
- "window_id": 29360131,
- "x": 210,
- "y": 50,
- "text": "https://example.com/",
- "delivery_mode": "foreground"
- }
- },
- {
- "timestamp": "2026-10-11T06:58:58.833Z",
- "tool": "press_key",
- "arguments": {
- "pid": 31558,
- "window_id": 29360131,
- "key": "ENTER",
- "delivery_mode": "foreground"
- }
- },
- {
- "timestamp": "2026-10-11T06:59:09.016Z",
- "tool": "get_window_state",
- "arguments": {
- "pid": 31558,
- "window_id": 29360131,
- "include_screenshot": true,
- "max_elements": 200,
- "max_depth": 8
- }
- },
- {
- "timestamp": "2026-10-11T06:59:38.075Z",
- "tool": "bring_to_front",
- "arguments": {
- "pid": 31558,
- "window_id": 29360131
- }
- },
- {
- "timestamp": "2026-10-11T06:59:40.727Z",
- "tool": "click",
- "arguments": {
- "pid": 31558,
- "window_id": 29360131,
- "x": 194,
- "y": 50,
- "delivery_mode": "foreground"
- }
- },
- {
- "timestamp": "2026-10-11T06:59:43.716Z",
- "tool": "hotkey",
- "arguments": {
- "pid": 31558,
- "window_id": 29360131,
- "keys": [
- "ctrl",
- "l"
- ],
- "delivery_mode": "foreground"
- }
- },
- {
- "timestamp": "2026-10-11T06:59:46.100Z",
- "tool": "hotkey",
- "arguments": {
- "pid": 31558,
- "window_id": 29360131,
- "keys": [
- "ctrl",
- "a"
- ],
- "delivery_mode": "foreground"
- }
- },
- {
- "timestamp": "2026-10-11T06:59:47.901Z",
- "tool": "press_key",
- "arguments": {
- "pid": 31558,
- "window_id": 29360131,
- "key": "BACKSPACE",
- "delivery_mode": "foreground"
- }
- },
- {
- "timestamp": "2026-10-11T06:59:49.856Z",
- "tool": "type_text",
- "arguments": {
- "pid": 31558,
- "window_id": 29360131,
- "text": "https://example.com/",
- "delivery_mode": "foreground"
- }
- },
- {
- "timestamp": "2026-10-11T06:59:52.223Z",
- "tool": "press_key",
- "arguments": {
- "pid": 31558,
- "window_id": 29360131,
- "key": "ENTER",
- "delivery_mode": "foreground"
- }
- },
- {
- "timestamp": "2026-10-11T07:00:00.468Z",
- "tool": "get_window_state",
- "arguments": {
- "pid": 31558,
- "window_id": 29360131,
- "include_screenshot": true
- }
- }
- ],
- "hotkeySchemaObservation": {
- "at": "2026-10-11T07:07:05.335650+00:00",
- "initializeSucceeded": true,
- "toolsListSucceeded": true,
- "inputActionsRequested": false,
- "documentedExample": [
- "ctrl",
- "c"
- ],
- "actualHotkeys": [
- [
- "ctrl",
- "l"
- ],
- [
- "ctrl",
- "a"
- ]
- ],
- "lowercaseModifierAdvertisedValid": true,
- "foregroundModeAllowed": true,
- "optionalCoordinatesAdvertisedForFocus": true
- },
- "limits": [
- "Correct target text and advertised-valid lowercase hotkeys were sent. The exact driver or focus failure is not established.",
- "The second navigation attempt sent calls sequentially several seconds apart, so the first tightly grouped calls alone do not explain all observed failure.",
- "Actual computer-tool invocation is proved; successful navigation is not claimed for this source."
- ]
- }
- },
- "viewerLifecycle": {
- "normalCloseAt": "2026-10-11T07:03:59Z",
- "source": "parent normal UI closure",
- "postCloseArchiveStatus": "not_observed_in_this_receipt"
- },
- "evidenceCollection": {
- "processAndCheckpointMethod": "Guarded read-only provider status and scoped guest metadata under the existing product-authorized runner.",
- "inputDiagnosisMethod": "Exact saved provider thread; only computer-tool inputs inside the current run time window, followed by installed-driver MCP tools/list. No computer input actions issued by the observer.",
- "observerLifecycleMutation": false,
- "observerSourceEdits": false,
- "guestReadsStoppedAfterSchema": true
- },
- "limitations": [
- "Staging21 quarantine initiating cause remains unknown.",
- "This receipt does not repeat all four runtime qualifications on deployment22.",
- "Sibling-stop isolation and post-viewer normal archive are not proved here.",
- "Configured warm expiry timestamp was not exposed by the guest checkpoint."
- ],
- "evidence": [
- {
- "name": "staging-deploy-22-result.json",
- "sha256": "ead8a73e2962ae0df086dad7abd9d43a4b257c1d4597b0b49c8babb1564847df"
- },
- {
- "name": "retry-staging-22-nativecodex-baseline.json",
- "sha256": "eba1d355e26b6f93f98a15c36759ce2f9075073e8b816bdc0be74897637ebc96"
- },
- {
- "name": "retry-staging-22-nativecodex-hmr-settled.json",
- "sha256": "37131bc94b52a9fc7aeeee52e8fe1a6816cd12c68fb947dafdc91f34a82588a4"
- },
- {
- "name": "retry-staging-22-computer-inputs-filesystem.json",
- "sha256": "4013f380975fe925b64d18e9502058e274479195b3c1f1cfa5ed44e0714f47be"
- },
- {
- "name": "retry-staging-22-hotkey-schema.json",
- "sha256": "73af47e83a5fab0df16f67bc707f5eb99561f27293a84d6658a110a18e5c3e89"
- },
- {
- "name": "staging22-hmr-before.png",
- "sha256": "4e2178e2ddd2ff5a53d071a94ed22440e10e9e89a2a761dcadde8e2c8bd86be3"
- },
- {
- "name": "staging22-hmr-after.png",
- "sha256": "eaabee0be9a4325e24ec9cf1134d252e5246292e8b185c35bd39531e8fd3546f"
- }
- ]
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging23-live-evidence.json b/doc/plans/assets/2026-10-10-boat/evidence/staging23-live-evidence.json
deleted file mode 100644
index ac7749bfeb3..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging23-live-evidence.json
+++ /dev/null
@@ -1,1602 +0,0 @@
-{
- "schema": "paperclip.boat.staging23.qualification.v1",
- "updatedAt": "2026-10-11T07:54:50.642994+00:00",
- "deployment": {
- "sha": "a5ed24f7eeb50abd35375c6b1864bb424fe699b3",
- "status": "succeeded",
- "verification": "verified",
- "checkedAt": "2026-10-11T07:22:18.985Z"
- },
- "nativeCodex": {
- "savedContinuation": "passed",
- "warmHmr": "passed",
- "baseline": {
- "at": "2026-10-11T07:30:42.135071+00:00",
- "bootId": "bdd96fe5-ad33-442b-a8ef-41192d70e4e1",
- "checkpoints": [
- {
- "sessionDirectory": "0cde904493e0fc88dd1a6d75bf64f68a9fe5a800a1636273861bb7c13bfcd0e4",
- "runnerMtime": 1791703671.0638313,
- "runner": {
- "schema": "paperclip.runner.durable.state.v1",
- "lifecycle": "ready",
- "runId": "88eba408-6e54-49b4-bb2c-08feb1412aff",
- "normalizedSessionId": "06496696-b312-4268-ac40-66770aaa6f1a",
- "runnerInstanceId": "0005a613-101d-475f-9409-8b8e8b87e9ce",
- "environmentLeaseId": "5957cc86-4533-49e5-a2af-0edbc79a472f",
- "outboxCount": 0,
- "pendingTerminalDeliveryIsNull": true
- },
- "provider": {
- "schema": "paperclip.runner.codex-provider-state.v1",
- "lifecycle": "session_open",
- "threadId": "01a12881-5d3b-72a0-b4c3-d993f5b089e1",
- "providerSessionId": "01a12881-5d3b-72a0-b4c3-d993f5b089e1",
- "activeProviderTurnId": null,
- "completedTurnAuthoritative": true
- },
- "providerIdentity": {},
- "providerMtime": 1791703669.507835
- }
- ],
- "proof": {
- "bytes": 24,
- "sha256": "f9253e57dadaefe9276e99a9cd0cb9fad68d2704dd820b61e026edf6e6527c46"
- },
- "processes": [
- {
- "agentId": "d7a6fbcf-b0aa-4449-bdc0-875cbdf2a246",
- "ownerId": "25064bec-e959-4a4c-92ee-1a5f02953217",
- "pid": 49056,
- "ppid": 1347,
- "startTicks": 66535,
- "name": "paperclip-runne",
- "role": "runner",
- "runnerInstanceId": "0005a613-101d-475f-9409-8b8e8b87e9ce"
- },
- {
- "agentId": "d7a6fbcf-b0aa-4449-bdc0-875cbdf2a246",
- "ownerId": "25064bec-e959-4a4c-92ee-1a5f02953217",
- "pid": 49239,
- "ppid": 49056,
- "startTicks": 66641,
- "name": "MainThread",
- "role": "other"
- },
- {
- "agentId": "d7a6fbcf-b0aa-4449-bdc0-875cbdf2a246",
- "ownerId": "25064bec-e959-4a4c-92ee-1a5f02953217",
- "pid": 49248,
- "ppid": 49239,
- "startTicks": 66642,
- "name": "codex",
- "role": "codex"
- },
- {
- "agentId": "d7a6fbcf-b0aa-4449-bdc0-875cbdf2a246",
- "ownerId": "25064bec-e959-4a4c-92ee-1a5f02953217",
- "pid": 49320,
- "ppid": 49248,
- "startTicks": 66648,
- "name": "cua-driver",
- "role": "other"
- },
- {
- "agentId": "d7a6fbcf-b0aa-4449-bdc0-875cbdf2a246",
- "ownerId": "25064bec-e959-4a4c-92ee-1a5f02953217",
- "pid": 49968,
- "ppid": 1347,
- "startTicks": 67455,
- "name": "npm run dev",
- "role": "other"
- },
- {
- "agentId": "d7a6fbcf-b0aa-4449-bdc0-875cbdf2a246",
- "ownerId": "25064bec-e959-4a4c-92ee-1a5f02953217",
- "pid": 50084,
- "ppid": 49968,
- "startTicks": 67464,
- "name": "sh",
- "role": "other"
- },
- {
- "agentId": "d7a6fbcf-b0aa-4449-bdc0-875cbdf2a246",
- "ownerId": "25064bec-e959-4a4c-92ee-1a5f02953217",
- "pid": 50085,
- "ppid": 50084,
- "startTicks": 67465,
- "name": "MainThread",
- "role": "other"
- },
- {
- "agentId": "d7a6fbcf-b0aa-4449-bdc0-875cbdf2a246",
- "ownerId": "25064bec-e959-4a4c-92ee-1a5f02953217",
- "pid": 50096,
- "ppid": 50085,
- "startTicks": 67478,
- "name": "esbuild",
- "role": "other"
- }
- ],
- "listeners": null
- },
- "after": {
- "at": "2026-10-11T07:34:09.531471+00:00",
- "bootId": "bdd96fe5-ad33-442b-a8ef-41192d70e4e1",
- "checkpoints": [
- {
- "sessionDirectory": "0cde904493e0fc88dd1a6d75bf64f68a9fe5a800a1636273861bb7c13bfcd0e4",
- "runnerMtime": 1791704009.3492494,
- "runner": {
- "schema": "paperclip.runner.durable.state.v1",
- "lifecycle": "ready",
- "runId": "fa59de83-dfb2-4073-bcf4-0e48eebfcbaa",
- "normalizedSessionId": "06496696-b312-4268-ac40-66770aaa6f1a",
- "runnerInstanceId": "0005a613-101d-475f-9409-8b8e8b87e9ce",
- "environmentLeaseId": "5957cc86-4533-49e5-a2af-0edbc79a472f",
- "outboxCount": 0,
- "pendingTerminalDeliveryIsNull": true
- },
- "provider": {
- "schema": "paperclip.runner.codex-provider-state.v1",
- "lifecycle": "session_open",
- "threadId": "01a12881-5d3b-72a0-b4c3-d993f5b089e1",
- "providerSessionId": "01a12881-5d3b-72a0-b4c3-d993f5b089e1",
- "activeProviderTurnId": null,
- "completedTurnAuthoritative": true
- },
- "providerIdentity": {},
- "providerMtime": 1791704008.0162494
- }
- ],
- "proof": {
- "bytes": 24,
- "sha256": "f9253e57dadaefe9276e99a9cd0cb9fad68d2704dd820b61e026edf6e6527c46"
- },
- "processes": [
- {
- "agentId": "d7a6fbcf-b0aa-4449-bdc0-875cbdf2a246",
- "ownerId": "25064bec-e959-4a4c-92ee-1a5f02953217",
- "pid": 49056,
- "ppid": 1347,
- "startTicks": 66535,
- "name": "paperclip-runne",
- "role": "runner",
- "runnerInstanceId": "0005a613-101d-475f-9409-8b8e8b87e9ce"
- },
- {
- "agentId": "d7a6fbcf-b0aa-4449-bdc0-875cbdf2a246",
- "ownerId": "25064bec-e959-4a4c-92ee-1a5f02953217",
- "pid": 49239,
- "ppid": 49056,
- "startTicks": 66641,
- "name": "MainThread",
- "role": "other"
- },
- {
- "agentId": "d7a6fbcf-b0aa-4449-bdc0-875cbdf2a246",
- "ownerId": "25064bec-e959-4a4c-92ee-1a5f02953217",
- "pid": 49248,
- "ppid": 49239,
- "startTicks": 66642,
- "name": "codex",
- "role": "codex"
- },
- {
- "agentId": "d7a6fbcf-b0aa-4449-bdc0-875cbdf2a246",
- "ownerId": "25064bec-e959-4a4c-92ee-1a5f02953217",
- "pid": 49320,
- "ppid": 49248,
- "startTicks": 66648,
- "name": "cua-driver",
- "role": "other"
- },
- {
- "agentId": "d7a6fbcf-b0aa-4449-bdc0-875cbdf2a246",
- "ownerId": "25064bec-e959-4a4c-92ee-1a5f02953217",
- "pid": 49968,
- "ppid": 1347,
- "startTicks": 67455,
- "name": "npm run dev",
- "role": "other"
- },
- {
- "agentId": "d7a6fbcf-b0aa-4449-bdc0-875cbdf2a246",
- "ownerId": "25064bec-e959-4a4c-92ee-1a5f02953217",
- "pid": 50084,
- "ppid": 49968,
- "startTicks": 67464,
- "name": "sh",
- "role": "other"
- },
- {
- "agentId": "d7a6fbcf-b0aa-4449-bdc0-875cbdf2a246",
- "ownerId": "25064bec-e959-4a4c-92ee-1a5f02953217",
- "pid": 50085,
- "ppid": 50084,
- "startTicks": 67465,
- "name": "MainThread",
- "role": "vite"
- },
- {
- "agentId": "d7a6fbcf-b0aa-4449-bdc0-875cbdf2a246",
- "ownerId": "25064bec-e959-4a4c-92ee-1a5f02953217",
- "pid": 50096,
- "ppid": 50085,
- "startTicks": 67478,
- "name": "esbuild",
- "role": "other"
- }
- ],
- "listeners": [
- {
- "port": 16130,
- "pids": [
- 49056
- ]
- },
- {
- "port": 5173,
- "pids": [
- 50085
- ]
- }
- ]
- },
- "browserObservation": {
- "source": "parent normal browser observation",
- "atApprox": "2026-10-11T07:33:00Z",
- "headingBeforeSuffix": "0702",
- "headingAfterSuffix": "0733",
- "unsavedInputBeforeAndAfter": "staging23 unsaved draft 0732",
- "pageSessionBeforeAndAfter": "1791703891136",
- "reloadObserved": false,
- "screenshots": [
- "staging23-hmr-before.png",
- "staging23-hmr-after.png"
- ]
- }
- },
- "nativeClaude": {
- "taskId": "a8540855-db23-4749-94f0-09a071fe79e8",
- "status": "cold task passed; two ordinary-followup attempts failed before provider work",
- "noObserverProviderPackOrExecutableReads": true,
- "coldRunId": "05bf7b34-a838-4294-86e8-3b7d6f9243e6",
- "parentObservedCompletionApprox": "2026-10-11T07:35:00Z",
- "preparationDurationMs": 563312,
- "checkpointObservationAt": "2026-10-11T07:37:33.088898+00:00",
- "checkpoints": [
- {
- "sessionDirectory": "e12bb3d5b86c9a831b0331b0073449ae3b7feb0b772fb08707bf67893129f458",
- "runnerMtime": 1791704102.1462276,
- "runner": {
- "schema": "paperclip.runner.durable.state.v1",
- "lifecycle": "ready",
- "runId": "05bf7b34-a838-4294-86e8-3b7d6f9243e6",
- "normalizedSessionId": "96c45220-685a-4d20-a295-c58d69d42421",
- "runnerInstanceId": "ad9293b8-ac62-4e82-aadc-caa26db2b9da",
- "environmentLeaseId": "05bf7b34-a838-4294-86e8-3b7d6f9243e6",
- "outboxCount": 0,
- "pendingTerminalDeliveryIsNull": true
- },
- "provider": {
- "schema": "paperclip.runner.acpx-provider-state.v3",
- "lifecycle": "session_open"
- },
- "providerIdentity": {
- "normalizedSessionId": "96c45220-685a-4d20-a295-c58d69d42421",
- "agentSessionId": "f94bea1d-9b98-4381-b397-e6af00526f97"
- },
- "providerMtime": 1791704101.8362277
- }
- ],
- "proof": {
- "bytes": 25,
- "sha256": "e646d151756f1efdb9e19d99a2a0971810468087c457fa458f1311c42ef07424"
- },
- "logicalRunnerProcessMatches": [],
- "processReuse": "not proven; no matching process in observation",
- "postFailureObservation": {
- "at": "2026-10-11T07:39:49.620407+00:00",
- "checkpoints": [
- {
- "sessionDirectory": "e12bb3d5b86c9a831b0331b0073449ae3b7feb0b772fb08707bf67893129f458",
- "runnerMtime": 1791704102.1462276,
- "runner": {
- "schema": "paperclip.runner.durable.state.v1",
- "lifecycle": "ready",
- "runId": "05bf7b34-a838-4294-86e8-3b7d6f9243e6",
- "normalizedSessionId": "96c45220-685a-4d20-a295-c58d69d42421",
- "runnerInstanceId": "ad9293b8-ac62-4e82-aadc-caa26db2b9da",
- "environmentLeaseId": "05bf7b34-a838-4294-86e8-3b7d6f9243e6",
- "processedCommandStatuses": [
- {
- "commandId": "command_lab_7928053b0c29459fb68bbb51c696c060",
- "status": "completed",
- "controllerSeq": 3
- },
- {
- "commandId": "command_prp_00000001",
- "status": "completed",
- "controllerSeq": 1
- },
- {
- "commandId": "command_prp_00000002",
- "status": "completed",
- "controllerSeq": 2
- },
- {
- "commandId": "command_tool_e6d9d3517f2ae3f6ffe74ddd1d59bdee",
- "status": "completed",
- "controllerSeq": 4
- },
- {
- "commandId": "command_tool_ec6eb756ed8b3c6f953f28535f13d0a6",
- "status": "completed",
- "controllerSeq": 5
- }
- ],
- "warmTransitionPresent": false,
- "pendingProviderCleanupPresent": false,
- "outboxCount": 0,
- "pendingTerminalDeliveryIsNull": true
- },
- "provider": {
- "schema": "paperclip.runner.acpx-provider-state.v3",
- "lifecycle": "session_open"
- },
- "providerIdentity": {
- "normalizedSessionId": "96c45220-685a-4d20-a295-c58d69d42421",
- "agentSessionId": "f94bea1d-9b98-4381-b397-e6af00526f97"
- },
- "providerMtime": 1791704101.8362277
- }
- ],
- "proof": {
- "bytes": 25,
- "sha256": "e646d151756f1efdb9e19d99a2a0971810468087c457fa458f1311c42ef07424"
- },
- "logicalRunnerProcessMatches": []
- },
- "failureCause": "The scoped controller audit confirms quarantine on attempted session_close before close started; initiating cleanup failure remains unknown.",
- "failedFollowupAttempts": [
- {
- "role": "ordinary_followup",
- "runId": "134a15f6-b450-4297-811d-320e201edea3",
- "status": "failed",
- "startedAt": "2026-10-11T07:36:40.046Z",
- "finishedAt": "2026-10-11T07:37:15.868Z",
- "nativeSessionId": null,
- "runnerInstanceId": null,
- "knownErrorCodes": [
- "native_session_cleanup_quarantined"
- ],
- "providerWorkStarted": false,
- "providerWorkStartedSource": "parent run audit"
- },
- {
- "role": "automatic_retry",
- "runId": "37b729e3-4344-46a7-931d-9e5161d16b88",
- "status": "failed",
- "startedAt": "2026-10-11T07:37:17.231Z",
- "finishedAt": "2026-10-11T07:37:53.162Z",
- "nativeSessionId": null,
- "runnerInstanceId": null,
- "knownErrorCodes": [
- "native_session_cleanup_quarantined"
- ],
- "providerWorkStarted": false,
- "providerWorkStartedSource": "parent run audit"
- }
- ],
- "retryOrder": "proven: primary134a15f6-b450-4297-811d-320e201edea3 then automatic37b729e3-4344-46a7-931d-9e5161d16b88",
- "retainedCheckpointConclusion": "Checkpoint still bound to successful cold run, unchanged mtime and original identity; no actual runner matched. This does not identify the initiating cleanup failure.",
- "coldRunControlPlane": {
- "id": "05bf7b34-a838-4294-86e8-3b7d6f9243e6",
- "status": "succeeded",
- "startedAt": "2026-10-11T07:23:32.216Z",
- "finishedAt": "2026-10-11T07:35:05.235Z",
- "nativeSessionId": "96c45220-685a-4d20-a295-c58d69d42421",
- "runnerInstanceId": "ad9293b8-ac62-4e82-aadc-caa26db2b9da",
- "knownErrorCodes": []
- },
- "controllerAudit": {
- "source": "parent read-only Railway console query; wrapped DOM fragments decoded offline",
- "sourceSha256": "32a0b2f3698be155b011b6977bf1b32befda3936914440d19bc3c72b6fd3a553",
- "observedAt": "2026-10-11T07:42:41.347Z",
- "runs": [
- {
- "id": "37b729e3-4344-46a7-931d-9e5161d16b88",
- "status": "failed",
- "startedAt": "2026-10-11T07:37:17.231Z",
- "finishedAt": "2026-10-11T07:37:53.162Z",
- "nativeSessionId": null,
- "runnerInstanceId": null,
- "knownErrorCodes": [
- "native_session_cleanup_quarantined"
- ]
- },
- {
- "id": "134a15f6-b450-4297-811d-320e201edea3",
- "status": "failed",
- "startedAt": "2026-10-11T07:36:40.046Z",
- "finishedAt": "2026-10-11T07:37:15.868Z",
- "nativeSessionId": null,
- "runnerInstanceId": null,
- "knownErrorCodes": [
- "native_session_cleanup_quarantined"
- ]
- },
- {
- "id": "05bf7b34-a838-4294-86e8-3b7d6f9243e6",
- "status": "succeeded",
- "startedAt": "2026-10-11T07:23:32.216Z",
- "finishedAt": "2026-10-11T07:35:05.235Z",
- "nativeSessionId": "96c45220-685a-4d20-a295-c58d69d42421",
- "runnerInstanceId": "ad9293b8-ac62-4e82-aadc-caa26db2b9da",
- "knownErrorCodes": []
- }
- ],
- "events": [
- {
- "runId": "05bf7b34-a838-4294-86e8-3b7d6f9243e6",
- "seq": "239",
- "createdAt": "2026-10-11T07:37:15.764Z",
- "phase": "session_close",
- "closeState": "not_started",
- "failureCode": "native_session_cleanup_quarantined",
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ownerId": "76bcfda3-200a-4b46-a394-b7bcee9ad6bf",
- "normalizedSessionId": "96c45220-685a-4d20-a295-c58d69d42421",
- "runnerInstanceId": "ad9293b8-ac62-4e82-aadc-caa26db2b9da",
- "preparingRunId": "134a15f6-b450-4297-811d-320e201edea3",
- "ownerGeneration": 1
- },
- {
- "runId": "05bf7b34-a838-4294-86e8-3b7d6f9243e6",
- "seq": "240",
- "createdAt": "2026-10-11T07:37:53.057Z",
- "phase": "session_close",
- "closeState": "not_started",
- "failureCode": "native_session_cleanup_quarantined",
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ownerId": "76bcfda3-200a-4b46-a394-b7bcee9ad6bf",
- "normalizedSessionId": "96c45220-685a-4d20-a295-c58d69d42421",
- "runnerInstanceId": "ad9293b8-ac62-4e82-aadc-caa26db2b9da",
- "preparingRunId": "37b729e3-4344-46a7-931d-9e5161d16b88",
- "ownerGeneration": 1
- }
- ],
- "leases": [
- {
- "id": "37cf27bd-fa9e-48aa-bdc2-620405d761aa",
- "status": "released",
- "cleanupStatus": null,
- "runId": "05bf7b34-a838-4294-86e8-3b7d6f9243e6",
- "acquiredAt": "2026-10-11T07:23:55.867Z",
- "releasedAt": "2026-10-11T07:37:53.037Z",
- "owner": {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ownerId": "76bcfda3-200a-4b46-a394-b7bcee9ad6bf"
- },
- "ownerGeneration": 1
- },
- {
- "id": "7cb74570-6fdb-421c-9743-b82d3411c848",
- "status": "failed",
- "cleanupStatus": null,
- "runId": "37b729e3-4344-46a7-931d-9e5161d16b88",
- "acquiredAt": "2026-10-11T07:37:27.084Z",
- "releasedAt": "2026-10-11T07:37:57.484Z",
- "owner": {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ownerId": "bef0cf91-5a02-4e26-9b1f-ae020e4cfaa0"
- },
- "ownerGeneration": 1
- },
- {
- "id": "c754b049-0ec4-48b3-8cf6-7944889a4f64",
- "status": "failed",
- "cleanupStatus": null,
- "runId": "134a15f6-b450-4297-811d-320e201edea3",
- "acquiredAt": "2026-10-11T07:36:49.524Z",
- "releasedAt": "2026-10-11T07:37:20.253Z",
- "owner": {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ownerId": "269eab27-c054-4f7e-a3cb-db126961b90d"
- },
- "ownerGeneration": 1
- }
- ],
- "owners": [
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "id": "76bcfda3-200a-4b46-a394-b7bcee9ad6bf",
- "runId": "05bf7b34-a838-4294-86e8-3b7d6f9243e6",
- "generation": 1,
- "phase": "retired",
- "deadlinePresent": false,
- "retirementDeadlinePresent": false,
- "processBindingPresent": true
- },
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "id": "269eab27-c054-4f7e-a3cb-db126961b90d",
- "runId": "134a15f6-b450-4297-811d-320e201edea3",
- "generation": 1,
- "phase": "retired",
- "deadlinePresent": false,
- "retirementDeadlinePresent": false,
- "processBindingPresent": false
- },
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "id": "bef0cf91-5a02-4e26-9b1f-ae020e4cfaa0",
- "runId": "37b729e3-4344-46a7-931d-9e5161d16b88",
- "generation": 1,
- "phase": "retired",
- "deadlinePresent": false,
- "retirementDeadlinePresent": false,
- "processBindingPresent": false
- }
- ],
- "controller": {
- "baseExists": true,
- "matches": [
- {
- "stateKey": "b5b48dd57274ee4d07bbb46e9b2fd1cfe2f2eae816a5e642d3804e3abfae72e8",
- "identity": {
- "runId": "05bf7b34-a838-4294-86e8-3b7d6f9243e6",
- "normalizedSessionId": "96c45220-685a-4d20-a295-c58d69d42421",
- "runnerInstanceId": "ad9293b8-ac62-4e82-aadc-caa26db2b9da",
- "environmentLeaseId": "05bf7b34-a838-4294-86e8-3b7d6f9243e6"
- },
- "pendingWarmTransitionPresent": false,
- "commands": [
- {
- "controllerSeq": 1,
- "status": "completed",
- "type": "run.prepare"
- },
- {
- "controllerSeq": 2,
- "status": "completed",
- "type": null
- },
- {
- "controllerSeq": 3,
- "status": "completed",
- "type": "turn.start"
- },
- {
- "controllerSeq": 4,
- "status": "completed",
- "type": "semantic_tool.result"
- },
- {
- "controllerSeq": 5,
- "status": "completed",
- "type": "semantic_tool.result"
- },
- {
- "controllerSeq": 6,
- "status": "pending",
- "type": null
- },
- {
- "controllerSeq": 7,
- "status": "pending",
- "type": null
- }
- ],
- "runnerPresent": false,
- "runnerLifecycle": null,
- "cleanupActivationPresent": false
- }
- ]
- },
- "interpretation": [
- "Both retirement diagnostics are attached to the successful cold run and name their distinct preparing followup run.",
- "Both show session_close / not_started / native_session_cleanup_quarantined; they do not expose the initiating cleanup cause.",
- "All three owner rows are retired at observedAt. Cold owner processBindingPresent=true is retained binding metadata, not current OS liveness.",
- "Controller identity remains bound to cold run; no pending warm transition or cleanup activation was returned.",
- "Controller commands6 and7 are pending with type=null in the scoped query; their command types are not inferred.",
- "Controller runnerPresent=false describes the controller-local read and does not contradict the separately observed remote guest checkpoint.",
- "Lease cleanupStatus=null is unknown, not successful cleanup."
- ]
- },
- "expandedControllerAudit": {
- "sourceCaptureTime": null,
- "sourceCaptureTimeLimitation": "Leading JSON containing observedAt is truncated in supplied console DOM.",
- "sourceSha256": "30a7b6d3ac8dbc36fa79c715ae4a530d102f5cef3130784a0d8325d08929ca61",
- "leases": [
- {
- "id": "37cf27bd-fa9e-48aa-bdc2-620405d761aa",
- "status": "released",
- "cleanupStatus": "success",
- "runId": "05bf7b34-a838-4294-86e8-3b7d6f9243e6",
- "acquiredAt": "2026-10-11T07:23:55.867Z",
- "releasedAt": "2026-10-11T07:37:53.037Z",
- "lastUsedAt": "2026-10-11T07:37:53.037Z",
- "expiresAt": null,
- "updatedAt": "2026-10-11T07:37:53.037Z",
- "failureReason": "orphaned_active_lease_recovered",
- "failureReasonPresent": true,
- "owner": {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ownerId": "76bcfda3-200a-4b46-a394-b7bcee9ad6bf"
- },
- "ownerGeneration": 1
- },
- {
- "id": "7cb74570-6fdb-421c-9743-b82d3411c848",
- "status": "failed",
- "cleanupStatus": "success",
- "runId": "37b729e3-4344-46a7-931d-9e5161d16b88",
- "acquiredAt": "2026-10-11T07:37:27.084Z",
- "releasedAt": "2026-10-11T07:37:57.484Z",
- "lastUsedAt": "2026-10-11T07:37:57.484Z",
- "expiresAt": null,
- "updatedAt": "2026-10-11T07:37:57.484Z",
- "failureReason": null,
- "failureReasonPresent": false,
- "owner": {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ownerId": "bef0cf91-5a02-4e26-9b1f-ae020e4cfaa0"
- },
- "ownerGeneration": 1
- },
- {
- "id": "c754b049-0ec4-48b3-8cf6-7944889a4f64",
- "status": "failed",
- "cleanupStatus": "success",
- "runId": "134a15f6-b450-4297-811d-320e201edea3",
- "acquiredAt": "2026-10-11T07:36:49.524Z",
- "releasedAt": "2026-10-11T07:37:20.253Z",
- "lastUsedAt": "2026-10-11T07:37:20.253Z",
- "expiresAt": null,
- "updatedAt": "2026-10-11T07:37:20.253Z",
- "failureReason": null,
- "failureReasonPresent": false,
- "owner": {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ownerId": "269eab27-c054-4f7e-a3cb-db126961b90d"
- },
- "ownerGeneration": 1
- }
- ],
- "owners": [
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "id": "76bcfda3-200a-4b46-a394-b7bcee9ad6bf",
- "runId": "05bf7b34-a838-4294-86e8-3b7d6f9243e6",
- "generation": 1,
- "phase": "retired",
- "computerUpdatedAt": "2026-10-11T07:52:13.023Z",
- "admittedAt": "2026-10-11T07:23:35.263Z",
- "deadline": null,
- "absoluteDeadline": null,
- "retirementDeadline": null,
- "processBindingPresent": true,
- "processBootId": "bdd96fe5-ad33-442b-a8ef-41192d70e4e1",
- "processLaunchGeneration": 1
- },
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "id": "269eab27-c054-4f7e-a3cb-db126961b90d",
- "runId": "134a15f6-b450-4297-811d-320e201edea3",
- "generation": 1,
- "phase": "retired",
- "computerUpdatedAt": "2026-10-11T07:52:13.023Z",
- "admittedAt": "2026-10-11T07:36:43.840Z",
- "deadline": null,
- "absoluteDeadline": null,
- "retirementDeadline": null,
- "processBindingPresent": false,
- "processBootId": null,
- "processLaunchGeneration": null
- },
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "id": "bef0cf91-5a02-4e26-9b1f-ae020e4cfaa0",
- "runId": "37b729e3-4344-46a7-931d-9e5161d16b88",
- "generation": 1,
- "phase": "retired",
- "computerUpdatedAt": "2026-10-11T07:52:13.023Z",
- "admittedAt": "2026-10-11T07:37:20.596Z",
- "deadline": null,
- "absoluteDeadline": null,
- "retirementDeadline": null,
- "processBindingPresent": false,
- "processBootId": null,
- "processLaunchGeneration": null
- }
- ],
- "controller": {
- "baseExists": true,
- "matches": [
- {
- "stateKey": "b5b48dd57274ee4d07bbb46e9b2fd1cfe2f2eae816a5e642d3804e3abfae72e8",
- "identity": {
- "runId": "05bf7b34-a838-4294-86e8-3b7d6f9243e6",
- "normalizedSessionId": "96c45220-685a-4d20-a295-c58d69d42421",
- "runnerInstanceId": "ad9293b8-ac62-4e82-aadc-caa26db2b9da",
- "environmentLeaseId": "05bf7b34-a838-4294-86e8-3b7d6f9243e6"
- },
- "pendingWarmTransitionPresent": false,
- "commands": [
- {
- "controllerSeq": 1,
- "issuedAt": "2026-10-11T07:24:53.199Z",
- "status": "completed",
- "type": "run.prepare"
- },
- {
- "controllerSeq": 2,
- "issuedAt": "2026-10-11T07:24:53.210Z",
- "status": "completed",
- "type": "session.open"
- },
- {
- "controllerSeq": 3,
- "issuedAt": "2026-10-11T07:34:39.704Z",
- "status": "completed",
- "type": "turn.start"
- },
- {
- "controllerSeq": 4,
- "issuedAt": "2026-10-11T07:34:47.899Z",
- "status": "completed",
- "type": "semantic_tool.result"
- },
- {
- "controllerSeq": 5,
- "issuedAt": "2026-10-11T07:34:57.352Z",
- "status": "completed",
- "type": "semantic_tool.result"
- },
- {
- "controllerSeq": 6,
- "issuedAt": "2026-10-11T07:37:13.812Z",
- "status": "pending",
- "type": "runner.drain"
- },
- {
- "controllerSeq": 7,
- "issuedAt": "2026-10-11T07:37:18.815Z",
- "status": "pending",
- "type": "runner.suspend"
- }
- ],
- "runnerPresent": false,
- "runnerLifecycle": null,
- "cleanupActivationPresent": false
- }
- ]
- },
- "findings": [
- "Expanded query returns cleanupStatus=success on all three leases; earlier whole query returned null and remains preserved.",
- "Cold lease failureReason=orphaned_active_lease_recovered; all three expiresAt values are null.",
- "Cold owner has historical process binding bootbdd96fe5 and launch generation1. This does not prove current liveness.",
- "Controller sequence6 runner.drain issued07:37:13.812Z is pending; sequence7 runner.suspend issued07:37:18.815Z is pending.",
- "No initiating reaper event or exact runner retirement timestamp is exposed by these fields."
- ]
- }
- },
- "legacy": {
- "codex": {
- "status": "parent UI pass; authoritative run ID pending",
- "proofSha256": "ff52207bcf705181af4a476c243d121f2e95d011f172899c19b08758695c4627",
- "reportedTime": "2026-10-11T07:25:37Z"
- },
- "claude": {
- "status": "parent UI pass; authoritative run ID pending",
- "proofSha256": "ec9169f87b99329a3a24fe194d2cff1a43fb29ef8374d1317ccc28bb83be0ddc",
- "reportedTime": "2026-10-11T07:26:02Z",
- "guestHashIndependentlyMatchedAt": "2026-10-11T07:25:57.043797Z"
- }
- },
- "computerUse": {
- "navigation": "Initial attempt failed; focused window-target followup passed",
- "calls": [
- {
- "timestamp": "2026-10-11T07:26:56.047Z",
- "toolName": "launch_app",
- "callId": "call_hnLCSf0NrRBWA528d92IGIq4",
- "arguments": {
- "name": "Google Chrome"
- },
- "argumentKeys": [
- "name"
- ]
- },
- {
- "timestamp": "2026-10-11T07:27:07.016Z",
- "toolName": "type_text",
- "callId": "call_yZz1AMZIiOdSMjmLSXGYgK0k",
- "arguments": {
- "target": {
- "kind": "desktop",
- "display_id": "primary"
- },
- "session": "staging23",
- "scope": "desktop",
- "delivery_mode": "foreground",
- "text": "https://example.com/"
- },
- "argumentKeys": [
- "delivery_mode",
- "scope",
- "session",
- "target",
- "text"
- ]
- },
- {
- "timestamp": "2026-10-11T07:27:10.439Z",
- "toolName": "click",
- "callId": "call_eQ2PaHHhoem0pst5L1D0ZwxM",
- "arguments": {
- "target": {
- "kind": "desktop",
- "display_id": "primary"
- },
- "session": "staging23",
- "scope": "desktop",
- "delivery_mode": "foreground",
- "x": 304,
- "y": 110
- },
- "argumentKeys": [
- "delivery_mode",
- "scope",
- "session",
- "target",
- "x",
- "y"
- ]
- },
- {
- "timestamp": "2026-10-11T07:27:15.593Z",
- "toolName": "click",
- "callId": "call_EOUYONE3aN6Je2AoOlE9deR7",
- "arguments": {
- "pid": 51803,
- "window_id": 29360131,
- "x": 314,
- "y": 616,
- "delivery_mode": "foreground"
- },
- "argumentKeys": [
- "delivery_mode",
- "pid",
- "window_id",
- "x",
- "y"
- ]
- },
- {
- "timestamp": "2026-10-11T07:27:22.548Z",
- "toolName": "get_window_state",
- "callId": "call_WN3lcT9fa6vwSi4LJt7vTa8P",
- "arguments": {
- "pid": 51803,
- "window_id": 29360131,
- "include_screenshot": true
- },
- "argumentKeys": [
- "include_screenshot",
- "pid",
- "screenshot_out_file",
- "window_id"
- ]
- }
- ],
- "outputs": [
- {
- "timestamp": "2026-10-11T07:26:58.232Z",
- "callId": "call_hnLCSf0NrRBWA528d92IGIq4",
- "outputSha256": "d556ec13509d26d5717e5d976bd287d951f6edd682b963e753cdd22ee4c2cf95",
- "errorTexts": []
- },
- {
- "timestamp": "2026-10-11T07:27:07.052Z",
- "callId": "call_yZz1AMZIiOdSMjmLSXGYgK0k",
- "outputSha256": "953bef781d5d1f3e4df953654337fbaef6d898f1774de67b9cdeff84bb6bc201",
- "errorTexts": [
- "Wall time: 0.0046 seconds\nOutput:\n{\"code\":\"invalid_action_target\"}"
- ]
- },
- {
- "timestamp": "2026-10-11T07:27:10.523Z",
- "callId": "call_eQ2PaHHhoem0pst5L1D0ZwxM",
- "outputSha256": "9f351bd46c8ae1dd867e865dab8d536285e027dbe286b5fb80fe4d08082f7b90",
- "errorTexts": [
- "Wall time: 0.0044 seconds\nOutput:\n{\"code\":\"invalid_action_target\"}"
- ]
- },
- {
- "timestamp": "2026-10-11T07:27:15.864Z",
- "callId": "call_EOUYONE3aN6Je2AoOlE9deR7",
- "outputSha256": "a171dfbee6948d512e37f18e95bece3afc2f39ece4022885ac589fc37419999a",
- "errorTexts": []
- },
- {
- "timestamp": "2026-10-11T07:27:23.037Z",
- "callId": "call_WN3lcT9fa6vwSi4LJt7vTa8P",
- "outputSha256": "6c86b74b951c85058dd835d90d82934bbc47c9ecf6454e1f455f5798b87fc538",
- "errorTexts": []
- }
- ],
- "desktopObservation": {
- "at": "2026-10-11T07:33:48.963059+00:00",
- "originalRunnerAlive": true,
- "desktopProcesses": [
- {
- "pid": 18232,
- "name": "Xorg",
- "state": "S",
- "ppid": 18211,
- "startTicks": 49450
- },
- {
- "pid": 18826,
- "name": "cua-driver",
- "state": "S",
- "ppid": 1347,
- "startTicks": 49525
- },
- {
- "pid": 49320,
- "name": "cua-driver",
- "state": "S",
- "ppid": 49248,
- "startTicks": 66648
- },
- {
- "pid": 51803,
- "name": "chrome",
- "state": "S",
- "ppid": 18826,
- "startTicks": 68659
- }
- ],
- "x11DisplaySocketNames": [
- "X0"
- ],
- "initializeSucceeded": true,
- "toolsListSucceeded": true
- },
- "schemaFinding": "Installed click/type_text schemas advertise target kind desktop with display_id primary and scope desktop; recorded calls returned invalid_action_target.",
- "humanEmbeddedInput": "inconclusive: embedded automation had no visible effect; normal direct viewer mouse input passed",
- "limits": [
- "No computer-input actions performed by evidence observer.",
- "Process liveness does not prove stream freshness or input delivery.",
- "Per-window click had no captured error but navigation was not achieved.",
- "Schema-valid MCP desktop request rejection is separate from successful human direct-viewer input."
- ],
- "humanDirectViewer": {
- "status": "passed by parent normal browser observation",
- "atApprox": "2026-10-11T07:37:00Z",
- "action": "First shortcut click focused; second click navigated Chrome to Example Domain."
- },
- "retainedWindowGeometry": "not collected: first attempt skipped after original runner retirement; explicitly authorized viewer-based attempt later blocked by provider not-settled guard before guest execution",
- "sourceOnlyAssessment": {
- "advertisedTarget": {
- "kind": "desktop",
- "display_id": "primary"
- },
- "advertisedScope": "desktop",
- "advertisedDeliveryMode": "foreground",
- "actualRejectedTools": [
- "type_text",
- "click"
- ],
- "actualErrorCode": "invalid_action_target",
- "conclusion": "Recorded target shape is advertised by the installed driver; source evidence does not justify calling it invalid model syntax or changing the Paperclip adapter. Human direct-viewer mouse success is a separate input path.",
- "windowClickCausality": "Unresolved: recorded click used pid51803/window29360131 at314,616; bounds/focus metadata was not collected. No returned error was captured, but navigation was not achieved.",
- "nextOrdinaryCodexInstruction": "Use only the installed computer tools. Obtain a fresh list_windows and get_window_state for Chrome. Record its current pid, window_id, bounds and screenshot dimensions. Use the fresh window target or matching element_token, not the desktop target, for this diagnostic attempt. Click the visible empty omnibox once, capture state, and if it only focuses the window click it again and capture state. Then type https://example.com/ and press ENTER in separate sequential foreground calls. Capture state after each step. Report exact errors and stop on rejection; do not claim navigation unless the final screenshot visibly shows Example Domain at the expected URL. Do not use browser automation, HTTP navigation, or shell-driven input as a substitute.",
- "whatThisWouldProve": "A successful sequence would qualify the agent window-input path and distinguish initial focus from a rejected desktop-target path. Failure with fresh coordinates and per-step screenshots would narrow the first ineffective operation; it would not by itself prove a Paperclip defect.",
- "followupExecution": "Focused window-target retry completed successfully; see focusedFollowup."
- },
- "focusedFollowup": {
- "status": "passed",
- "runId": "c829fe63-06a1-4061-80aa-046c33d6971e",
- "sourceSha": "a5ed24f7eeb50abd35375c6b1864bb424fe699b3",
- "normalSubmission": true,
- "targetUrl": "https://example.org/",
- "activeObservation": {
- "at": "2026-10-11T07:52:13.320742+00:00",
- "bootId": "ee38a1fc-ed8d-4a39-a731-8b1f4c953acf",
- "checkpoints": [
- {
- "sessionDirectory": "0cde904493e0fc88dd1a6d75bf64f68a9fe5a800a1636273861bb7c13bfcd0e4",
- "runnerMtime": 1791705131,
- "runner": {
- "schema": "paperclip.runner.durable.state.v1",
- "lifecycle": "ready",
- "runId": "c829fe63-06a1-4061-80aa-046c33d6971e",
- "normalizedSessionId": "06496696-b312-4268-ac40-66770aaa6f1a",
- "runnerInstanceId": "0005a613-101d-475f-9409-8b8e8b87e9ce",
- "environmentLeaseId": "5957cc86-4533-49e5-a2af-0edbc79a472f",
- "outboxCount": 0,
- "pendingTerminalDeliveryIsNull": true
- },
- "provider": {
- "schema": "paperclip.runner.codex-provider-state.v1",
- "lifecycle": "turn_active",
- "threadId": "01a12881-5d3b-72a0-b4c3-d993f5b089e1",
- "providerSessionId": "01a12881-5d3b-72a0-b4c3-d993f5b089e1",
- "activeProviderTurnId": "01a129f2-3520-7fc1-8baf-6ccd4183c6b5",
- "completedTurnAuthoritative": false
- },
- "providerIdentity": {},
- "providerMtime": 1791705131
- }
- ],
- "proof": {
- "bytes": 24,
- "sha256": "f9253e57dadaefe9276e99a9cd0cb9fad68d2704dd820b61e026edf6e6527c46"
- },
- "processes": [
- {
- "agentId": "d7a6fbcf-b0aa-4449-bdc0-875cbdf2a246",
- "ownerId": "a64439d8-ea3a-479b-a825-f2cc848cd1c8",
- "pid": 30560,
- "ppid": 1321,
- "startTicks": 35548,
- "name": "paperclip-runne",
- "role": "runner",
- "runnerInstanceId": "0005a613-101d-475f-9409-8b8e8b87e9ce"
- },
- {
- "agentId": "d7a6fbcf-b0aa-4449-bdc0-875cbdf2a246",
- "ownerId": "a64439d8-ea3a-479b-a825-f2cc848cd1c8",
- "pid": 30753,
- "ppid": 30560,
- "startTicks": 35740,
- "name": "MainThread",
- "role": "other"
- },
- {
- "agentId": "d7a6fbcf-b0aa-4449-bdc0-875cbdf2a246",
- "ownerId": "a64439d8-ea3a-479b-a825-f2cc848cd1c8",
- "pid": 30762,
- "ppid": 30753,
- "startTicks": 35742,
- "name": "codex",
- "role": "codex"
- },
- {
- "agentId": "d7a6fbcf-b0aa-4449-bdc0-875cbdf2a246",
- "ownerId": "a64439d8-ea3a-479b-a825-f2cc848cd1c8",
- "pid": 30836,
- "ppid": 30762,
- "startTicks": 35753,
- "name": "cua-driver",
- "role": "other"
- }
- ]
- },
- "completedObservation": {
- "at": "2026-10-11T07:54:13.981336+00:00",
- "bootId": "ee38a1fc-ed8d-4a39-a731-8b1f4c953acf",
- "checkpoints": [
- {
- "sessionDirectory": "0cde904493e0fc88dd1a6d75bf64f68a9fe5a800a1636273861bb7c13bfcd0e4",
- "runnerMtime": 1791705190.4749508,
- "runner": {
- "schema": "paperclip.runner.durable.state.v1",
- "lifecycle": "ready",
- "runId": "c829fe63-06a1-4061-80aa-046c33d6971e",
- "normalizedSessionId": "06496696-b312-4268-ac40-66770aaa6f1a",
- "runnerInstanceId": "0005a613-101d-475f-9409-8b8e8b87e9ce",
- "environmentLeaseId": "5957cc86-4533-49e5-a2af-0edbc79a472f",
- "outboxCount": 0,
- "pendingTerminalDeliveryIsNull": true
- },
- "provider": {
- "schema": "paperclip.runner.codex-provider-state.v1",
- "lifecycle": "session_open",
- "threadId": "01a12881-5d3b-72a0-b4c3-d993f5b089e1",
- "providerSessionId": "01a12881-5d3b-72a0-b4c3-d993f5b089e1",
- "activeProviderTurnId": null,
- "completedTurnAuthoritative": true
- },
- "providerIdentity": {},
- "providerMtime": 1791705189.957951
- }
- ],
- "proof": {
- "bytes": 24,
- "sha256": "f9253e57dadaefe9276e99a9cd0cb9fad68d2704dd820b61e026edf6e6527c46"
- },
- "processes": [
- {
- "agentId": "d7a6fbcf-b0aa-4449-bdc0-875cbdf2a246",
- "ownerId": "a64439d8-ea3a-479b-a825-f2cc848cd1c8",
- "pid": 30560,
- "ppid": 1321,
- "startTicks": 35548,
- "name": "paperclip-runne",
- "role": "runner",
- "runnerInstanceId": "0005a613-101d-475f-9409-8b8e8b87e9ce"
- },
- {
- "agentId": "d7a6fbcf-b0aa-4449-bdc0-875cbdf2a246",
- "ownerId": "a64439d8-ea3a-479b-a825-f2cc848cd1c8",
- "pid": 30753,
- "ppid": 30560,
- "startTicks": 35740,
- "name": "MainThread",
- "role": "other"
- },
- {
- "agentId": "d7a6fbcf-b0aa-4449-bdc0-875cbdf2a246",
- "ownerId": "a64439d8-ea3a-479b-a825-f2cc848cd1c8",
- "pid": 30762,
- "ppid": 30753,
- "startTicks": 35742,
- "name": "codex",
- "role": "codex"
- },
- {
- "agentId": "d7a6fbcf-b0aa-4449-bdc0-875cbdf2a246",
- "ownerId": "a64439d8-ea3a-479b-a825-f2cc848cd1c8",
- "pid": 30836,
- "ppid": 30762,
- "startTicks": 35753,
- "name": "cua-driver",
- "role": "other"
- }
- ]
- },
- "computerCalls": [
- {
- "timestamp": "2026-10-11T07:51:46.419Z",
- "toolName": "list_windows",
- "callId": "call_1iF2QnUw4514fTIQOU14MB7S",
- "arguments": {
- "on_screen_only": true
- },
- "argumentKeys": [
- "on_screen_only"
- ]
- },
- {
- "timestamp": "2026-10-11T07:51:48.931Z",
- "toolName": "launch_app",
- "callId": "call_w8GncZDpRdk4avTGJa1X2olU",
- "arguments": {
- "name": "Google Chrome"
- },
- "argumentKeys": [
- "name"
- ]
- },
- {
- "timestamp": "2026-10-11T07:51:52.534Z",
- "toolName": "get_window_state",
- "callId": "call_6MsIYt6wYzhYzUdoHtsoFRZY",
- "arguments": {
- "pid": 31439,
- "window_id": 29360131,
- "include_screenshot": true
- },
- "argumentKeys": [
- "include_screenshot",
- "pid",
- "screenshot_out_file",
- "window_id"
- ]
- },
- {
- "timestamp": "2026-10-11T07:51:58.559Z",
- "toolName": "click",
- "callId": "call_XmchYVHohvtcvoOm4ggnDmoI",
- "arguments": {
- "pid": 31439,
- "window_id": 29360131,
- "x": 271,
- "y": 61,
- "delivery_mode": "foreground"
- },
- "argumentKeys": [
- "delivery_mode",
- "pid",
- "window_id",
- "x",
- "y"
- ]
- },
- {
- "timestamp": "2026-10-11T07:52:02.146Z",
- "toolName": "get_window_state",
- "callId": "call_JNWVMlTPzjMGRCxHjJMf2Fbs",
- "arguments": {
- "pid": 31439,
- "window_id": 29360131,
- "include_screenshot": true
- },
- "argumentKeys": [
- "include_screenshot",
- "pid",
- "screenshot_out_file",
- "window_id"
- ]
- },
- {
- "timestamp": "2026-10-11T07:52:08.203Z",
- "toolName": "hotkey",
- "callId": "call_noyrGC0LgprEz2jSACAbwNgr",
- "arguments": {
- "pid": 31439,
- "window_id": 29360131,
- "keys": [
- "ctrl",
- "a"
- ],
- "delivery_mode": "foreground"
- },
- "argumentKeys": [
- "delivery_mode",
- "keys",
- "pid",
- "window_id"
- ]
- },
- {
- "timestamp": "2026-10-11T07:52:11.208Z",
- "toolName": "get_window_state",
- "callId": "call_i35OxpjUGXg6WnzeuC4y9QDm",
- "arguments": {
- "pid": 31439,
- "window_id": 29360131,
- "include_screenshot": true
- },
- "argumentKeys": [
- "include_screenshot",
- "pid",
- "screenshot_out_file",
- "window_id"
- ]
- },
- {
- "timestamp": "2026-10-11T07:52:17.256Z",
- "toolName": "type_text",
- "callId": "call_nKRLY1kv8Za3HoN5MCAFmuiw",
- "arguments": {
- "pid": 31439,
- "window_id": 29360131,
- "text": "https://example.org/",
- "delivery_mode": "foreground"
- },
- "argumentKeys": [
- "delivery_mode",
- "pid",
- "text",
- "window_id"
- ]
- },
- {
- "timestamp": "2026-10-11T07:52:25.655Z",
- "toolName": "get_window_state",
- "callId": "call_g5tDKNPjMdbhNajen9vxX1ZC",
- "arguments": {
- "pid": 31439,
- "window_id": 29360131,
- "include_screenshot": true
- },
- "argumentKeys": [
- "include_screenshot",
- "pid",
- "screenshot_out_file",
- "window_id"
- ]
- },
- {
- "timestamp": "2026-10-11T07:52:32.051Z",
- "toolName": "press_key",
- "callId": "call_tmLNBcurM8GbTAFUNwUL4mn2",
- "arguments": {
- "pid": 31439,
- "window_id": 29360131,
- "key": "ENTER",
- "delivery_mode": "foreground"
- },
- "argumentKeys": [
- "delivery_mode",
- "key",
- "pid",
- "window_id"
- ]
- },
- {
- "timestamp": "2026-10-11T07:52:40.201Z",
- "toolName": "get_window_state",
- "callId": "call_W1dVn5nCOW9gEuHjJGJQLjke",
- "arguments": {
- "pid": 31439,
- "window_id": 29360131,
- "include_screenshot": true
- },
- "argumentKeys": [
- "include_screenshot",
- "pid",
- "screenshot_out_file",
- "window_id"
- ]
- }
- ],
- "computerOutputs": [
- {
- "timestamp": "2026-10-11T07:51:46.601Z",
- "callId": "call_1iF2QnUw4514fTIQOU14MB7S",
- "outputSha256": "d1bc54bc389bf69fb3753de41c9e850fa1507933ae81f240a4785fc1b908cbc3",
- "errorTexts": [],
- "geometryAndStatus": [
- {
- "path": "result.windows[0].bounds.height",
- "value": 40
- },
- {
- "path": "result.windows[0].bounds.width",
- "value": 1920
- },
- {
- "path": "result.windows[0].bounds.x",
- "value": 0
- },
- {
- "path": "result.windows[0].bounds.y",
- "value": 0
- },
- {
- "path": "result.windows[0].height",
- "value": 40
- },
- {
- "path": "result.windows[0].pid",
- "value": 17651
- },
- {
- "path": "result.windows[0].width",
- "value": 1920
- },
- {
- "path": "result.windows[0].window_id",
- "value": 2097154
- },
- {
- "path": "result.windows[0].x",
- "value": 0
- },
- {
- "path": "result.windows[0].y",
- "value": 0
- },
- {
- "path": "result.windows[1].bounds.height",
- "value": 76
- },
- {
- "path": "result.windows[1].bounds.width",
- "value": 264
- },
- {
- "path": "result.windows[1].bounds.x",
- "value": 828
- },
- {
- "path": "result.windows[1].bounds.y",
- "value": 988
- },
- {
- "path": "result.windows[1].height",
- "value": 76
- },
- {
- "path": "result.windows[1].pid",
- "value": 17651
- },
- {
- "path": "result.windows[1].width",
- "value": 264
- },
- {
- "path": "result.windows[1].window_id",
- "value": 2097155
- },
- {
- "path": "result.windows[1].x",
- "value": 828
- },
- {
- "path": "result.windows[1].y",
- "value": 988
- }
- ]
- },
- {
- "timestamp": "2026-10-11T07:51:49.869Z",
- "callId": "call_w8GncZDpRdk4avTGJa1X2olU",
- "outputSha256": "babe41f31a3cc43ae3d3ac7cac574107873dd138950fcc9bc4bf5d222b34a4db",
- "errorTexts": [],
- "geometryAndStatus": [
- {
- "path": "result.active",
- "value": false
- },
- {
- "path": "result.pid",
- "value": 31439
- },
- {
- "path": "result.windows[0].bounds.height",
- "value": 920
- },
- {
- "path": "result.windows[0].bounds.width",
- "value": 945
- },
- {
- "path": "result.windows[0].bounds.x",
- "value": 10
- },
- {
- "path": "result.windows[0].bounds.y",
- "value": 50
- },
- {
- "path": "result.windows[0].height",
- "value": 920
- },
- {
- "path": "result.windows[0].pid",
- "value": 31439
- },
- {
- "path": "result.windows[0].width",
- "value": 945
- },
- {
- "path": "result.windows[0].window_id",
- "value": 29360131
- },
- {
- "path": "result.windows[0].x",
- "value": 10
- },
- {
- "path": "result.windows[0].y",
- "value": 50
- }
- ]
- },
- {
- "timestamp": "2026-10-11T07:51:53.085Z",
- "callId": "call_6MsIYt6wYzhYzUdoHtsoFRZY",
- "outputSha256": "6268f002a18b6132ffda0450b00993a069a779a44cd238b0f03748037f915f30",
- "errorTexts": [],
- "geometryAndStatus": [
- {
- "path": "result.pid",
- "value": 31439
- },
- {
- "path": "result.window_id",
- "value": 29360131
- }
- ]
- },
- {
- "timestamp": "2026-10-11T07:51:58.621Z",
- "callId": "call_XmchYVHohvtcvoOm4ggnDmoI",
- "outputSha256": "5fbe8c1d5733f12211071276b589fe936b751ee10b885104494f88d54d3a7708",
- "errorTexts": [],
- "geometryAndStatus": []
- },
- {
- "timestamp": "2026-10-11T07:52:02.627Z",
- "callId": "call_JNWVMlTPzjMGRCxHjJMf2Fbs",
- "outputSha256": "854538496fee58d47d36e3880b63cc2a23d1cdb1a09ba4b06d7f3252fd395f06",
- "errorTexts": [],
- "geometryAndStatus": [
- {
- "path": "result.pid",
- "value": 31439
- },
- {
- "path": "result.window_id",
- "value": 29360131
- }
- ]
- },
- {
- "timestamp": "2026-10-11T07:52:08.252Z",
- "callId": "call_noyrGC0LgprEz2jSACAbwNgr",
- "outputSha256": "f72128a9c233e806d4e3acd84b3fa3b3965321dc0ae1e3cda31f40ec896f7add",
- "errorTexts": [],
- "geometryAndStatus": []
- },
- {
- "timestamp": "2026-10-11T07:52:11.693Z",
- "callId": "call_i35OxpjUGXg6WnzeuC4y9QDm",
- "outputSha256": "a0af6562c36a8bdd2df434d3ef5dd66120dfb9c1e9b4bae911ac0dbdb238b4f9",
- "errorTexts": [],
- "geometryAndStatus": [
- {
- "path": "result.pid",
- "value": 31439
- },
- {
- "path": "result.window_id",
- "value": 29360131
- }
- ]
- },
- {
- "timestamp": "2026-10-11T07:52:17.828Z",
- "callId": "call_nKRLY1kv8Za3HoN5MCAFmuiw",
- "outputSha256": "43fc4a57beb2c333e800d249b44d389915829da97ac492acfcba2e76e115eedd",
- "errorTexts": [],
- "geometryAndStatus": []
- },
- {
- "timestamp": "2026-10-11T07:52:26.380Z",
- "callId": "call_g5tDKNPjMdbhNajen9vxX1ZC",
- "outputSha256": "b0f4b8d6ef79c72b945bb1ffe94362d33c557ff129b19aa49cd321301bb9650d",
- "errorTexts": [],
- "geometryAndStatus": [
- {
- "path": "result.pid",
- "value": 31439
- },
- {
- "path": "result.window_id",
- "value": 29360131
- }
- ]
- },
- {
- "timestamp": "2026-10-11T07:52:32.418Z",
- "callId": "call_tmLNBcurM8GbTAFUNwUL4mn2",
- "outputSha256": "38b208b4bfca47ffc7a73b871091bedb80648bac530cbad7bff5506b49ba6d6c",
- "errorTexts": [],
- "geometryAndStatus": []
- },
- {
- "timestamp": "2026-10-11T07:52:41.091Z",
- "callId": "call_W1dVn5nCOW9gEuHjJGJQLjke",
- "outputSha256": "8cd57d1d6eff6a50ab785a0f6ffb54ccd1bbfe556db2dfe77297998be088cdae",
- "errorTexts": [],
- "geometryAndStatus": [
- {
- "path": "result.pid",
- "value": 31439
- },
- {
- "path": "result.window_id",
- "value": 29360131
- }
- ]
- }
- ],
- "independentBrowserProof": {
- "source": "parent normal Computer Connect; no human desktop input between agent completion and proof",
- "atApprox": "2026-10-11T07:54:00Z",
- "omnibox": "example.org",
- "visibleTitle": "Example Domain",
- "visibleContent": "Example Domain documentation page",
- "screenshot": "staging23-native-computer-example-org.png"
- },
- "finding": "Fresh window target, observed coordinates, and sequential foreground click/Ctrl+A/type/ENTER navigated successfully. This qualifies the agent window-input path; it does not resolve the earlier advertised desktop-target rejection.",
- "observerInputActions": false
- }
- },
- "limits": [
- "Initiating staging21 quarantine cause remains unknown.",
- "No post-close retirement result yet.",
- "Legacy exact run IDs/outcomes awaiting parent authoritative audit."
- ]
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging25-after-viewer-archive.json b/doc/plans/assets/2026-10-10-boat/evidence/staging25-after-viewer-archive.json
deleted file mode 100644
index 1ae4f47e5d9..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging25-after-viewer-archive.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "observedAt": "2026-10-11T09:29:27.922Z",
- "providerId": "bx_b8sawfyp",
- "guestRead": false,
- "state": "archived",
- "health": "ok",
- "stop": {
- "id": "stop_9f0e7ef12facc7db",
- "status": "completed",
- "timestamps": {
- "endedAt": "2026-10-11T09:26:11.064Z"
- },
- "errorPresent": false
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging25-claude-cold.json b/doc/plans/assets/2026-10-10-boat/evidence/staging25-claude-cold.json
deleted file mode 100644
index 4a02516145c..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging25-claude-cold.json
+++ /dev/null
@@ -1,130 +0,0 @@
-{
- "observedAt": "2026-10-11T08:54:40.494Z",
- "phase": "cold_complete",
- "guestReads": false,
- "providerCalls": false,
- "expectedIdentity": {
- "normalizedSessionId": "b51c2928-9079-4199-950d-54873f6b64a2",
- "runnerInstanceId": "87a56307-c73f-4f3e-8ca4-8a3ead06991b"
- },
- "finalizations": [
- {
- "runId": "44ab09ac-7e47-4874-aa1c-d9002b7eb810",
- "committed": true,
- "createdAt": "2026-10-11T08:46:59.253Z",
- "updatedAt": "2026-10-11T08:54:01.386Z"
- }
- ],
- "taskSessions": [
- {
- "lastRunId": "44ab09ac-7e47-4874-aa1c-d9002b7eb810",
- "displayId": "c478cd86-10ea-492a-8f90-d77194548192",
- "ids": {
- "sessionId": "b51c2928-9079-4199-950d-54873f6b64a2"
- },
- "updatedAt": "2026-10-11T08:54:04.460Z"
- }
- ],
- "runs": [
- {
- "id": "44ab09ac-7e47-4874-aa1c-d9002b7eb810",
- "status": "succeeded",
- "startedAt": "2026-10-11T08:45:59.559Z",
- "finishedAt": "2026-10-11T08:54:02.138Z",
- "nativeSessionId": "b51c2928-9079-4199-950d-54873f6b64a2",
- "runnerInstanceId": "87a56307-c73f-4f3e-8ca4-8a3ead06991b",
- "matchesOriginalNativeSession": true,
- "matchesOriginalLogicalRunner": true,
- "knownErrorCodes": []
- }
- ],
- "events": [],
- "leases": [
- {
- "id": "3d7fc96b-2c33-42e7-9aa8-f1a5aacc7e4f",
- "status": "retained",
- "cleanupStatus": "success",
- "runId": "44ab09ac-7e47-4874-aa1c-d9002b7eb810",
- "acquiredAt": "2026-10-11T08:46:08.665Z",
- "releasedAt": null,
- "lastUsedAt": "2026-10-11T08:54:04.584Z",
- "expiresAt": null,
- "updatedAt": "2026-10-11T08:54:04.584Z",
- "failureReason": null,
- "failureReasonPresent": false,
- "owner": {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ownerId": "edc2d145-bbdc-4ae1-a191-0b3d5b88eb70"
- },
- "ownerGeneration": 1
- }
- ],
- "owners": [
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "id": "edc2d145-bbdc-4ae1-a191-0b3d5b88eb70",
- "runId": "44ab09ac-7e47-4874-aa1c-d9002b7eb810",
- "generation": 1,
- "phase": "warm",
- "computerUpdatedAt": "2026-10-11T08:54:40.413Z",
- "admittedAt": "2026-10-11T08:46:02.637Z",
- "deadline": "2026-10-11T08:59:00.473Z",
- "absoluteDeadline": null,
- "retirementDeadline": null,
- "processBindingPresent": true,
- "processBootId": "082f50cb-7577-45e3-89d2-e20f650f482c",
- "processLaunchGeneration": 1
- }
- ],
- "controller": {
- "baseExists": true,
- "matches": [
- {
- "stateKey": "f246fd1e3148b1edeb3c18521b97c9fa886873bfe6cac2ae099442411cb3a9fd",
- "identity": {
- "runId": "44ab09ac-7e47-4874-aa1c-d9002b7eb810",
- "normalizedSessionId": "b51c2928-9079-4199-950d-54873f6b64a2",
- "runnerInstanceId": "87a56307-c73f-4f3e-8ca4-8a3ead06991b",
- "environmentLeaseId": "44ab09ac-7e47-4874-aa1c-d9002b7eb810"
- },
- "pendingWarmTransitionPresent": false,
- "commands": [
- {
- "controllerSeq": 1,
- "issuedAt": "2026-10-11T08:47:04.935Z",
- "status": "completed",
- "type": "run.prepare"
- },
- {
- "controllerSeq": 2,
- "issuedAt": "2026-10-11T08:47:04.942Z",
- "status": "completed",
- "type": "session.open"
- },
- {
- "controllerSeq": 3,
- "issuedAt": "2026-10-11T08:53:34.747Z",
- "status": "completed",
- "type": "turn.start"
- },
- {
- "controllerSeq": 4,
- "issuedAt": "2026-10-11T08:53:45.536Z",
- "status": "completed",
- "type": "semantic_tool.result"
- },
- {
- "controllerSeq": 5,
- "issuedAt": "2026-10-11T08:53:53.729Z",
- "status": "completed",
- "type": "semantic_tool.result"
- }
- ],
- "runnerPresent": false,
- "runnerLifecycle": null,
- "cleanupActivationRelativePath": "f246fd1e3148b1edeb3c18521b97c9fa886873bfe6cac2ae099442411cb3a9fd/cleanup-activation.json",
- "cleanupActivationPresent": false
- }
- ]
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging25-claude-idle-deadline.json b/doc/plans/assets/2026-10-10-boat/evidence/staging25-claude-idle-deadline.json
deleted file mode 100644
index 801fe315a11..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging25-claude-idle-deadline.json
+++ /dev/null
@@ -1,159 +0,0 @@
-{
- "observedAt": "2026-10-11T09:01:52.004Z",
- "phase": "idle_deadline",
- "guestReads": false,
- "providerCalls": false,
- "expectedIdentity": {
- "normalizedSessionId": "b51c2928-9079-4199-950d-54873f6b64a2",
- "runnerInstanceId": "87a56307-c73f-4f3e-8ca4-8a3ead06991b"
- },
- "finalizations": [
- {
- "runId": "c8a2cb85-5815-4db7-af7a-964febd37985",
- "committed": true,
- "createdAt": "2026-10-11T08:56:16.012Z",
- "updatedAt": "2026-10-11T08:56:44.223Z"
- },
- {
- "runId": "44ab09ac-7e47-4874-aa1c-d9002b7eb810",
- "committed": true,
- "createdAt": "2026-10-11T08:46:59.253Z",
- "updatedAt": "2026-10-11T08:55:37.299Z"
- }
- ],
- "taskSessions": [
- {
- "lastRunId": "c8a2cb85-5815-4db7-af7a-964febd37985",
- "displayId": "c478cd86-10ea-492a-8f90-d77194548192",
- "ids": {
- "sessionId": "b51c2928-9079-4199-950d-54873f6b64a2"
- },
- "updatedAt": "2026-10-11T08:56:47.661Z"
- }
- ],
- "runs": [
- {
- "id": "c8a2cb85-5815-4db7-af7a-964febd37985",
- "status": "succeeded",
- "startedAt": "2026-10-11T08:55:06.793Z",
- "finishedAt": "2026-10-11T08:56:44.725Z",
- "nativeSessionId": "b51c2928-9079-4199-950d-54873f6b64a2",
- "runnerInstanceId": "87a56307-c73f-4f3e-8ca4-8a3ead06991b",
- "matchesOriginalNativeSession": true,
- "matchesOriginalLogicalRunner": true,
- "knownErrorCodes": []
- },
- {
- "id": "44ab09ac-7e47-4874-aa1c-d9002b7eb810",
- "status": "succeeded",
- "startedAt": "2026-10-11T08:45:59.559Z",
- "finishedAt": "2026-10-11T08:54:02.138Z",
- "nativeSessionId": "b51c2928-9079-4199-950d-54873f6b64a2",
- "runnerInstanceId": "87a56307-c73f-4f3e-8ca4-8a3ead06991b",
- "matchesOriginalNativeSession": true,
- "matchesOriginalLogicalRunner": true,
- "knownErrorCodes": []
- }
- ],
- "events": [],
- "leases": [
- {
- "id": "3d7fc96b-2c33-42e7-9aa8-f1a5aacc7e4f",
- "status": "released",
- "cleanupStatus": "success",
- "runId": "44ab09ac-7e47-4874-aa1c-d9002b7eb810",
- "acquiredAt": "2026-10-11T08:46:08.665Z",
- "releasedAt": "2026-10-11T08:55:18.624Z",
- "lastUsedAt": "2026-10-11T08:54:04.584Z",
- "expiresAt": null,
- "updatedAt": "2026-10-11T08:55:18.624Z",
- "failureReason": null,
- "failureReasonPresent": false,
- "owner": {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ownerId": "edc2d145-bbdc-4ae1-a191-0b3d5b88eb70"
- },
- "ownerGeneration": 1
- },
- {
- "id": "0b3980c3-fd99-4d25-ab3f-b21bfecffbac",
- "status": "retained",
- "cleanupStatus": "success",
- "runId": "c8a2cb85-5815-4db7-af7a-964febd37985",
- "acquiredAt": "2026-10-11T08:55:18.631Z",
- "releasedAt": null,
- "lastUsedAt": "2026-10-11T08:56:47.873Z",
- "expiresAt": null,
- "updatedAt": "2026-10-11T08:56:47.873Z",
- "failureReason": null,
- "failureReasonPresent": false,
- "owner": {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ownerId": "edc2d145-bbdc-4ae1-a191-0b3d5b88eb70"
- },
- "ownerGeneration": 2
- }
- ],
- "owners": [
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "id": "edc2d145-bbdc-4ae1-a191-0b3d5b88eb70",
- "runId": "c8a2cb85-5815-4db7-af7a-964febd37985",
- "generation": 2,
- "phase": "retiring",
- "computerUpdatedAt": "2026-10-11T09:01:43.631Z",
- "admittedAt": "2026-10-11T08:55:10.159Z",
- "deadline": "2026-10-11T09:01:43.598Z",
- "absoluteDeadline": null,
- "retirementDeadline": "2026-10-11T09:02:13.598Z",
- "processBindingPresent": true,
- "processBootId": "082f50cb-7577-45e3-89d2-e20f650f482c",
- "processLaunchGeneration": 1
- }
- ],
- "controller": {
- "baseExists": true,
- "matches": [
- {
- "stateKey": "f246fd1e3148b1edeb3c18521b97c9fa886873bfe6cac2ae099442411cb3a9fd",
- "identity": {
- "runId": "c8a2cb85-5815-4db7-af7a-964febd37985",
- "normalizedSessionId": "b51c2928-9079-4199-950d-54873f6b64a2",
- "runnerInstanceId": "87a56307-c73f-4f3e-8ca4-8a3ead06991b",
- "environmentLeaseId": "44ab09ac-7e47-4874-aa1c-d9002b7eb810"
- },
- "pendingWarmTransitionPresent": false,
- "commands": [
- {
- "controllerSeq": 1,
- "issuedAt": "2026-10-11T08:56:23.821Z",
- "status": "completed",
- "type": "turn.start"
- },
- {
- "controllerSeq": 2,
- "issuedAt": "2026-10-11T08:56:37.830Z",
- "status": "completed",
- "type": "semantic_tool.result"
- },
- {
- "controllerSeq": 3,
- "issuedAt": "2026-10-11T09:01:45.041Z",
- "status": "completed",
- "type": "runner.drain"
- },
- {
- "controllerSeq": 4,
- "issuedAt": "2026-10-11T09:01:45.191Z",
- "status": "completed",
- "type": "runner.suspend"
- }
- ],
- "runnerPresent": false,
- "runnerLifecycle": null,
- "cleanupActivationRelativePath": "f246fd1e3148b1edeb3c18521b97c9fa886873bfe6cac2ae099442411cb3a9fd/cleanup-activation.json",
- "cleanupActivationPresent": false
- }
- ]
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging25-claude-post-idle-failed.json b/doc/plans/assets/2026-10-10-boat/evidence/staging25-claude-post-idle-failed.json
deleted file mode 100644
index bb7d53f7151..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging25-claude-post-idle-failed.json
+++ /dev/null
@@ -1,119 +0,0 @@
-{
- "observedAt": "2026-10-11T09:16:07.015Z",
- "phase": "post_idle_observation",
- "guestReads": false,
- "providerCalls": false,
- "expectedIdentity": {
- "normalizedSessionId": "b51c2928-9079-4199-950d-54873f6b64a2",
- "runnerInstanceId": "87a56307-c73f-4f3e-8ca4-8a3ead06991b"
- },
- "finalizations": [
- {
- "runId": "200a0a90-1eef-4471-87f4-4b0b84d07ac4",
- "committed": false,
- "createdAt": "2026-10-11T09:09:44.366Z",
- "updatedAt": "2026-10-11T09:12:33.245Z"
- }
- ],
- "taskSessions": [
- {
- "lastRunId": "200a0a90-1eef-4471-87f4-4b0b84d07ac4",
- "displayId": "c478cd86-10ea-492a-8f90-d77194548192",
- "ids": {
- "sessionId": "b51c2928-9079-4199-950d-54873f6b64a2"
- },
- "updatedAt": "2026-10-11T09:14:24.036Z"
- }
- ],
- "runs": [
- {
- "id": "200a0a90-1eef-4471-87f4-4b0b84d07ac4",
- "status": "failed",
- "startedAt": "2026-10-11T09:08:21.214Z",
- "finishedAt": "2026-10-11T09:14:22.845Z",
- "nativeSessionId": "b51c2928-9079-4199-950d-54873f6b64a2",
- "runnerInstanceId": "87a56307-c73f-4f3e-8ca4-8a3ead06991b",
- "matchesOriginalNativeSession": true,
- "matchesOriginalLogicalRunner": true,
- "knownErrorCodes": [
- "runner_state_identity_mismatch",
- "authority_indeterminate"
- ]
- }
- ],
- "events": [],
- "leases": [
- {
- "id": "7d2d5ae1-9921-4ad0-96de-96f28c28cd84",
- "status": "released",
- "cleanupStatus": "success",
- "runId": "200a0a90-1eef-4471-87f4-4b0b84d07ac4",
- "acquiredAt": "2026-10-11T09:08:50.663Z",
- "releasedAt": "2026-10-11T09:14:24.257Z",
- "lastUsedAt": "2026-10-11T09:14:24.257Z",
- "expiresAt": null,
- "updatedAt": "2026-10-11T09:14:24.257Z",
- "failureReason": null,
- "failureReasonPresent": false,
- "owner": {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ownerId": "bf8f2984-0904-4c40-aebb-922be5a109e4"
- },
- "ownerGeneration": 1
- },
- {
- "id": "3e082d36-f8bc-4658-8a25-fef23c68da0c",
- "status": "released",
- "cleanupStatus": "success",
- "runId": "200a0a90-1eef-4471-87f4-4b0b84d07ac4",
- "acquiredAt": "2026-10-11T09:13:40.928Z",
- "releasedAt": "2026-10-11T09:14:25.825Z",
- "lastUsedAt": "2026-10-11T09:14:25.825Z",
- "expiresAt": null,
- "updatedAt": "2026-10-11T09:14:25.825Z",
- "failureReason": null,
- "failureReasonPresent": false,
- "owner": {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ownerId": "344a11d7-cb0c-4885-b2cc-44616c3d8e70"
- },
- "ownerGeneration": 1
- }
- ],
- "owners": [
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "id": "bf8f2984-0904-4c40-aebb-922be5a109e4",
- "runId": "200a0a90-1eef-4471-87f4-4b0b84d07ac4",
- "generation": 1,
- "phase": "retired",
- "computerUpdatedAt": "2026-10-11T09:15:53.851Z",
- "admittedAt": "2026-10-11T09:08:24.052Z",
- "deadline": null,
- "absoluteDeadline": null,
- "retirementDeadline": null,
- "processBindingPresent": true,
- "processBootId": "0af282ac-33e8-44b7-8ac4-998c596076d1",
- "processLaunchGeneration": 1
- },
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "id": "344a11d7-cb0c-4885-b2cc-44616c3d8e70",
- "runId": "200a0a90-1eef-4471-87f4-4b0b84d07ac4",
- "generation": 1,
- "phase": "retired",
- "computerUpdatedAt": "2026-10-11T09:15:53.851Z",
- "admittedAt": "2026-10-11T09:12:35.832Z",
- "deadline": null,
- "absoluteDeadline": null,
- "retirementDeadline": null,
- "processBindingPresent": false,
- "processBootId": null,
- "processLaunchGeneration": null
- }
- ],
- "controller": {
- "baseExists": true,
- "matches": []
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging25-claude-retired.json b/doc/plans/assets/2026-10-10-boat/evidence/staging25-claude-retired.json
deleted file mode 100644
index fdac15ef548..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging25-claude-retired.json
+++ /dev/null
@@ -1,159 +0,0 @@
-{
- "observedAt": "2026-10-11T09:03:06.976Z",
- "phase": "idle_deadline",
- "guestReads": false,
- "providerCalls": false,
- "expectedIdentity": {
- "normalizedSessionId": "b51c2928-9079-4199-950d-54873f6b64a2",
- "runnerInstanceId": "87a56307-c73f-4f3e-8ca4-8a3ead06991b"
- },
- "finalizations": [
- {
- "runId": "c8a2cb85-5815-4db7-af7a-964febd37985",
- "committed": true,
- "createdAt": "2026-10-11T08:56:16.012Z",
- "updatedAt": "2026-10-11T08:56:44.223Z"
- },
- {
- "runId": "44ab09ac-7e47-4874-aa1c-d9002b7eb810",
- "committed": true,
- "createdAt": "2026-10-11T08:46:59.253Z",
- "updatedAt": "2026-10-11T08:55:37.299Z"
- }
- ],
- "taskSessions": [
- {
- "lastRunId": "c8a2cb85-5815-4db7-af7a-964febd37985",
- "displayId": "c478cd86-10ea-492a-8f90-d77194548192",
- "ids": {
- "sessionId": "b51c2928-9079-4199-950d-54873f6b64a2"
- },
- "updatedAt": "2026-10-11T08:56:47.661Z"
- }
- ],
- "runs": [
- {
- "id": "c8a2cb85-5815-4db7-af7a-964febd37985",
- "status": "succeeded",
- "startedAt": "2026-10-11T08:55:06.793Z",
- "finishedAt": "2026-10-11T08:56:44.725Z",
- "nativeSessionId": "b51c2928-9079-4199-950d-54873f6b64a2",
- "runnerInstanceId": "87a56307-c73f-4f3e-8ca4-8a3ead06991b",
- "matchesOriginalNativeSession": true,
- "matchesOriginalLogicalRunner": true,
- "knownErrorCodes": []
- },
- {
- "id": "44ab09ac-7e47-4874-aa1c-d9002b7eb810",
- "status": "succeeded",
- "startedAt": "2026-10-11T08:45:59.559Z",
- "finishedAt": "2026-10-11T08:54:02.138Z",
- "nativeSessionId": "b51c2928-9079-4199-950d-54873f6b64a2",
- "runnerInstanceId": "87a56307-c73f-4f3e-8ca4-8a3ead06991b",
- "matchesOriginalNativeSession": true,
- "matchesOriginalLogicalRunner": true,
- "knownErrorCodes": []
- }
- ],
- "events": [],
- "leases": [
- {
- "id": "3d7fc96b-2c33-42e7-9aa8-f1a5aacc7e4f",
- "status": "released",
- "cleanupStatus": "success",
- "runId": "44ab09ac-7e47-4874-aa1c-d9002b7eb810",
- "acquiredAt": "2026-10-11T08:46:08.665Z",
- "releasedAt": "2026-10-11T08:55:18.624Z",
- "lastUsedAt": "2026-10-11T08:54:04.584Z",
- "expiresAt": null,
- "updatedAt": "2026-10-11T08:55:18.624Z",
- "failureReason": null,
- "failureReasonPresent": false,
- "owner": {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ownerId": "edc2d145-bbdc-4ae1-a191-0b3d5b88eb70"
- },
- "ownerGeneration": 1
- },
- {
- "id": "0b3980c3-fd99-4d25-ab3f-b21bfecffbac",
- "status": "released",
- "cleanupStatus": "success",
- "runId": "c8a2cb85-5815-4db7-af7a-964febd37985",
- "acquiredAt": "2026-10-11T08:55:18.631Z",
- "releasedAt": "2026-10-11T09:01:55.747Z",
- "lastUsedAt": "2026-10-11T09:01:55.747Z",
- "expiresAt": null,
- "updatedAt": "2026-10-11T09:01:55.747Z",
- "failureReason": null,
- "failureReasonPresent": false,
- "owner": {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ownerId": "edc2d145-bbdc-4ae1-a191-0b3d5b88eb70"
- },
- "ownerGeneration": 2
- }
- ],
- "owners": [
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "id": "edc2d145-bbdc-4ae1-a191-0b3d5b88eb70",
- "runId": "c8a2cb85-5815-4db7-af7a-964febd37985",
- "generation": 2,
- "phase": "retired",
- "computerUpdatedAt": "2026-10-11T09:02:53.853Z",
- "admittedAt": "2026-10-11T08:55:10.159Z",
- "deadline": null,
- "absoluteDeadline": null,
- "retirementDeadline": null,
- "processBindingPresent": true,
- "processBootId": "082f50cb-7577-45e3-89d2-e20f650f482c",
- "processLaunchGeneration": 1
- }
- ],
- "controller": {
- "baseExists": true,
- "matches": [
- {
- "stateKey": "f246fd1e3148b1edeb3c18521b97c9fa886873bfe6cac2ae099442411cb3a9fd",
- "identity": {
- "runId": "c8a2cb85-5815-4db7-af7a-964febd37985",
- "normalizedSessionId": "b51c2928-9079-4199-950d-54873f6b64a2",
- "runnerInstanceId": "87a56307-c73f-4f3e-8ca4-8a3ead06991b",
- "environmentLeaseId": "44ab09ac-7e47-4874-aa1c-d9002b7eb810"
- },
- "pendingWarmTransitionPresent": false,
- "commands": [
- {
- "controllerSeq": 1,
- "issuedAt": "2026-10-11T08:56:23.821Z",
- "status": "completed",
- "type": "turn.start"
- },
- {
- "controllerSeq": 2,
- "issuedAt": "2026-10-11T08:56:37.830Z",
- "status": "completed",
- "type": "semantic_tool.result"
- },
- {
- "controllerSeq": 3,
- "issuedAt": "2026-10-11T09:01:45.041Z",
- "status": "completed",
- "type": "runner.drain"
- },
- {
- "controllerSeq": 4,
- "issuedAt": "2026-10-11T09:01:45.191Z",
- "status": "completed",
- "type": "runner.suspend"
- }
- ],
- "runnerPresent": false,
- "runnerLifecycle": null,
- "cleanupActivationRelativePath": "f246fd1e3148b1edeb3c18521b97c9fa886873bfe6cac2ae099442411cb3a9fd/cleanup-activation.json",
- "cleanupActivationPresent": false
- }
- ]
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging25-claude-same-run-recovery.json b/doc/plans/assets/2026-10-10-boat/evidence/staging25-claude-same-run-recovery.json
deleted file mode 100644
index 342651c06d8..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging25-claude-same-run-recovery.json
+++ /dev/null
@@ -1,169 +0,0 @@
-{
- "observedAt": "2026-10-11T09:13:46.862Z",
- "phase": "post_idle_observation",
- "guestReads": false,
- "providerCalls": false,
- "expectedIdentity": {
- "normalizedSessionId": "b51c2928-9079-4199-950d-54873f6b64a2",
- "runnerInstanceId": "87a56307-c73f-4f3e-8ca4-8a3ead06991b"
- },
- "finalizations": [
- {
- "runId": "200a0a90-1eef-4471-87f4-4b0b84d07ac4",
- "committed": false,
- "createdAt": "2026-10-11T09:09:44.366Z",
- "updatedAt": "2026-10-11T09:12:33.245Z"
- }
- ],
- "taskSessions": [
- {
- "lastRunId": "c8a2cb85-5815-4db7-af7a-964febd37985",
- "displayId": "c478cd86-10ea-492a-8f90-d77194548192",
- "ids": {
- "sessionId": "b51c2928-9079-4199-950d-54873f6b64a2"
- },
- "updatedAt": "2026-10-11T09:11:16.729Z"
- }
- ],
- "runs": [
- {
- "id": "200a0a90-1eef-4471-87f4-4b0b84d07ac4",
- "status": "running",
- "startedAt": "2026-10-11T09:08:21.214Z",
- "finishedAt": null,
- "nativeSessionId": "b51c2928-9079-4199-950d-54873f6b64a2",
- "runnerInstanceId": "87a56307-c73f-4f3e-8ca4-8a3ead06991b",
- "matchesOriginalNativeSession": true,
- "matchesOriginalLogicalRunner": true,
- "knownErrorCodes": []
- }
- ],
- "events": [],
- "leases": [
- {
- "id": "7d2d5ae1-9921-4ad0-96de-96f28c28cd84",
- "status": "active",
- "cleanupStatus": null,
- "runId": "200a0a90-1eef-4471-87f4-4b0b84d07ac4",
- "acquiredAt": "2026-10-11T09:08:50.663Z",
- "releasedAt": null,
- "lastUsedAt": "2026-10-11T09:08:50.728Z",
- "expiresAt": null,
- "updatedAt": "2026-10-11T09:08:50.728Z",
- "failureReason": null,
- "failureReasonPresent": false,
- "owner": {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ownerId": "bf8f2984-0904-4c40-aebb-922be5a109e4"
- },
- "ownerGeneration": 1
- },
- {
- "id": "3e082d36-f8bc-4658-8a25-fef23c68da0c",
- "status": "active",
- "cleanupStatus": null,
- "runId": "200a0a90-1eef-4471-87f4-4b0b84d07ac4",
- "acquiredAt": "2026-10-11T09:13:40.928Z",
- "releasedAt": null,
- "lastUsedAt": "2026-10-11T09:13:41.036Z",
- "expiresAt": null,
- "updatedAt": "2026-10-11T09:13:41.036Z",
- "failureReason": null,
- "failureReasonPresent": false,
- "owner": {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ownerId": "344a11d7-cb0c-4885-b2cc-44616c3d8e70"
- },
- "ownerGeneration": 1
- }
- ],
- "owners": [
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "id": "bf8f2984-0904-4c40-aebb-922be5a109e4",
- "runId": "200a0a90-1eef-4471-87f4-4b0b84d07ac4",
- "generation": 1,
- "phase": "retired",
- "computerUpdatedAt": "2026-10-11T09:13:46.012Z",
- "admittedAt": "2026-10-11T09:08:24.052Z",
- "deadline": null,
- "absoluteDeadline": null,
- "retirementDeadline": null,
- "processBindingPresent": true,
- "processBootId": "0af282ac-33e8-44b7-8ac4-998c596076d1",
- "processLaunchGeneration": 1
- },
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "id": "344a11d7-cb0c-4885-b2cc-44616c3d8e70",
- "runId": "200a0a90-1eef-4471-87f4-4b0b84d07ac4",
- "generation": 1,
- "phase": "active",
- "computerUpdatedAt": "2026-10-11T09:13:46.012Z",
- "admittedAt": "2026-10-11T09:12:35.832Z",
- "deadline": null,
- "absoluteDeadline": null,
- "retirementDeadline": null,
- "processBindingPresent": false,
- "processBootId": null,
- "processLaunchGeneration": null
- }
- ],
- "controller": {
- "baseExists": true,
- "matches": [
- {
- "stateKey": "f246fd1e3148b1edeb3c18521b97c9fa886873bfe6cac2ae099442411cb3a9fd",
- "identity": {
- "runId": "200a0a90-1eef-4471-87f4-4b0b84d07ac4",
- "normalizedSessionId": "b51c2928-9079-4199-950d-54873f6b64a2",
- "runnerInstanceId": "87a56307-c73f-4f3e-8ca4-8a3ead06991b",
- "environmentLeaseId": "44ab09ac-7e47-4874-aa1c-d9002b7eb810"
- },
- "pendingWarmTransitionPresent": false,
- "commands": [
- {
- "controllerSeq": 1,
- "issuedAt": "2026-10-11T09:10:49.283Z",
- "status": "completed",
- "type": "run.attach"
- },
- {
- "controllerSeq": 2,
- "issuedAt": "2026-10-11T09:11:15.941Z",
- "status": "completed",
- "type": "session.snapshot"
- },
- {
- "controllerSeq": 3,
- "issuedAt": "2026-10-11T09:11:16.101Z",
- "status": "completed",
- "type": "session.snapshot"
- },
- {
- "controllerSeq": 4,
- "issuedAt": "2026-10-11T09:11:16.339Z",
- "status": "failed",
- "type": "turn.start"
- },
- {
- "controllerSeq": 5,
- "issuedAt": "2026-10-11T09:11:46.347Z",
- "status": "completed",
- "type": "runner.drain"
- },
- {
- "controllerSeq": 6,
- "issuedAt": "2026-10-11T09:11:50.099Z",
- "status": "completed",
- "type": "runner.suspend"
- }
- ],
- "runnerPresent": false,
- "runnerLifecycle": null,
- "cleanupActivationRelativePath": "f246fd1e3148b1edeb3c18521b97c9fa886873bfe6cac2ae099442411cb3a9fd/cleanup-activation.json",
- "cleanupActivationPresent": false
- }
- ]
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging25-claude-warm-retained.json b/doc/plans/assets/2026-10-10-boat/evidence/staging25-claude-warm-retained.json
deleted file mode 100644
index ed59ccba54c..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging25-claude-warm-retained.json
+++ /dev/null
@@ -1,147 +0,0 @@
-{
- "observedAt": "2026-10-11T08:59:33.019Z",
- "phase": "warm_complete",
- "guestReads": false,
- "providerCalls": false,
- "expectedIdentity": {
- "normalizedSessionId": "b51c2928-9079-4199-950d-54873f6b64a2",
- "runnerInstanceId": "87a56307-c73f-4f3e-8ca4-8a3ead06991b"
- },
- "finalizations": [
- {
- "runId": "c8a2cb85-5815-4db7-af7a-964febd37985",
- "committed": true,
- "createdAt": "2026-10-11T08:56:16.012Z",
- "updatedAt": "2026-10-11T08:56:44.223Z"
- },
- {
- "runId": "44ab09ac-7e47-4874-aa1c-d9002b7eb810",
- "committed": true,
- "createdAt": "2026-10-11T08:46:59.253Z",
- "updatedAt": "2026-10-11T08:55:37.299Z"
- }
- ],
- "taskSessions": [
- {
- "lastRunId": "c8a2cb85-5815-4db7-af7a-964febd37985",
- "displayId": "c478cd86-10ea-492a-8f90-d77194548192",
- "ids": {
- "sessionId": "b51c2928-9079-4199-950d-54873f6b64a2"
- },
- "updatedAt": "2026-10-11T08:56:47.661Z"
- }
- ],
- "runs": [
- {
- "id": "c8a2cb85-5815-4db7-af7a-964febd37985",
- "status": "succeeded",
- "startedAt": "2026-10-11T08:55:06.793Z",
- "finishedAt": "2026-10-11T08:56:44.725Z",
- "nativeSessionId": "b51c2928-9079-4199-950d-54873f6b64a2",
- "runnerInstanceId": "87a56307-c73f-4f3e-8ca4-8a3ead06991b",
- "matchesOriginalNativeSession": true,
- "matchesOriginalLogicalRunner": true,
- "knownErrorCodes": []
- },
- {
- "id": "44ab09ac-7e47-4874-aa1c-d9002b7eb810",
- "status": "succeeded",
- "startedAt": "2026-10-11T08:45:59.559Z",
- "finishedAt": "2026-10-11T08:54:02.138Z",
- "nativeSessionId": "b51c2928-9079-4199-950d-54873f6b64a2",
- "runnerInstanceId": "87a56307-c73f-4f3e-8ca4-8a3ead06991b",
- "matchesOriginalNativeSession": true,
- "matchesOriginalLogicalRunner": true,
- "knownErrorCodes": []
- }
- ],
- "events": [],
- "leases": [
- {
- "id": "3d7fc96b-2c33-42e7-9aa8-f1a5aacc7e4f",
- "status": "released",
- "cleanupStatus": "success",
- "runId": "44ab09ac-7e47-4874-aa1c-d9002b7eb810",
- "acquiredAt": "2026-10-11T08:46:08.665Z",
- "releasedAt": "2026-10-11T08:55:18.624Z",
- "lastUsedAt": "2026-10-11T08:54:04.584Z",
- "expiresAt": null,
- "updatedAt": "2026-10-11T08:55:18.624Z",
- "failureReason": null,
- "failureReasonPresent": false,
- "owner": {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ownerId": "edc2d145-bbdc-4ae1-a191-0b3d5b88eb70"
- },
- "ownerGeneration": 1
- },
- {
- "id": "0b3980c3-fd99-4d25-ab3f-b21bfecffbac",
- "status": "retained",
- "cleanupStatus": "success",
- "runId": "c8a2cb85-5815-4db7-af7a-964febd37985",
- "acquiredAt": "2026-10-11T08:55:18.631Z",
- "releasedAt": null,
- "lastUsedAt": "2026-10-11T08:56:47.873Z",
- "expiresAt": null,
- "updatedAt": "2026-10-11T08:56:47.873Z",
- "failureReason": null,
- "failureReasonPresent": false,
- "owner": {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ownerId": "edc2d145-bbdc-4ae1-a191-0b3d5b88eb70"
- },
- "ownerGeneration": 2
- }
- ],
- "owners": [
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "id": "edc2d145-bbdc-4ae1-a191-0b3d5b88eb70",
- "runId": "c8a2cb85-5815-4db7-af7a-964febd37985",
- "generation": 2,
- "phase": "warm",
- "computerUpdatedAt": "2026-10-11T08:59:23.834Z",
- "admittedAt": "2026-10-11T08:55:10.159Z",
- "deadline": "2026-10-11T09:01:43.598Z",
- "absoluteDeadline": null,
- "retirementDeadline": null,
- "processBindingPresent": true,
- "processBootId": "082f50cb-7577-45e3-89d2-e20f650f482c",
- "processLaunchGeneration": 1
- }
- ],
- "controller": {
- "baseExists": true,
- "matches": [
- {
- "stateKey": "f246fd1e3148b1edeb3c18521b97c9fa886873bfe6cac2ae099442411cb3a9fd",
- "identity": {
- "runId": "c8a2cb85-5815-4db7-af7a-964febd37985",
- "normalizedSessionId": "b51c2928-9079-4199-950d-54873f6b64a2",
- "runnerInstanceId": "87a56307-c73f-4f3e-8ca4-8a3ead06991b",
- "environmentLeaseId": "44ab09ac-7e47-4874-aa1c-d9002b7eb810"
- },
- "pendingWarmTransitionPresent": false,
- "commands": [
- {
- "controllerSeq": 1,
- "issuedAt": "2026-10-11T08:56:23.821Z",
- "status": "completed",
- "type": "turn.start"
- },
- {
- "controllerSeq": 2,
- "issuedAt": "2026-10-11T08:56:37.830Z",
- "status": "completed",
- "type": "semantic_tool.result"
- }
- ],
- "runnerPresent": false,
- "runnerLifecycle": null,
- "cleanupActivationRelativePath": "f246fd1e3148b1edeb3c18521b97c9fa886873bfe6cac2ae099442411cb3a9fd/cleanup-activation.json",
- "cleanupActivationPresent": false
- }
- ]
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging25-claude-warm.json b/doc/plans/assets/2026-10-10-boat/evidence/staging25-claude-warm.json
deleted file mode 100644
index bf818e16f36..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging25-claude-warm.json
+++ /dev/null
@@ -1,147 +0,0 @@
-{
- "observedAt": "2026-10-11T08:56:56.348Z",
- "phase": "warm_complete",
- "guestReads": false,
- "providerCalls": false,
- "expectedIdentity": {
- "normalizedSessionId": "b51c2928-9079-4199-950d-54873f6b64a2",
- "runnerInstanceId": "87a56307-c73f-4f3e-8ca4-8a3ead06991b"
- },
- "finalizations": [
- {
- "runId": "c8a2cb85-5815-4db7-af7a-964febd37985",
- "committed": true,
- "createdAt": "2026-10-11T08:56:16.012Z",
- "updatedAt": "2026-10-11T08:56:44.223Z"
- },
- {
- "runId": "44ab09ac-7e47-4874-aa1c-d9002b7eb810",
- "committed": true,
- "createdAt": "2026-10-11T08:46:59.253Z",
- "updatedAt": "2026-10-11T08:55:37.299Z"
- }
- ],
- "taskSessions": [
- {
- "lastRunId": "c8a2cb85-5815-4db7-af7a-964febd37985",
- "displayId": "c478cd86-10ea-492a-8f90-d77194548192",
- "ids": {
- "sessionId": "b51c2928-9079-4199-950d-54873f6b64a2"
- },
- "updatedAt": "2026-10-11T08:56:47.661Z"
- }
- ],
- "runs": [
- {
- "id": "c8a2cb85-5815-4db7-af7a-964febd37985",
- "status": "succeeded",
- "startedAt": "2026-10-11T08:55:06.793Z",
- "finishedAt": "2026-10-11T08:56:44.725Z",
- "nativeSessionId": "b51c2928-9079-4199-950d-54873f6b64a2",
- "runnerInstanceId": "87a56307-c73f-4f3e-8ca4-8a3ead06991b",
- "matchesOriginalNativeSession": true,
- "matchesOriginalLogicalRunner": true,
- "knownErrorCodes": []
- },
- {
- "id": "44ab09ac-7e47-4874-aa1c-d9002b7eb810",
- "status": "succeeded",
- "startedAt": "2026-10-11T08:45:59.559Z",
- "finishedAt": "2026-10-11T08:54:02.138Z",
- "nativeSessionId": "b51c2928-9079-4199-950d-54873f6b64a2",
- "runnerInstanceId": "87a56307-c73f-4f3e-8ca4-8a3ead06991b",
- "matchesOriginalNativeSession": true,
- "matchesOriginalLogicalRunner": true,
- "knownErrorCodes": []
- }
- ],
- "events": [],
- "leases": [
- {
- "id": "3d7fc96b-2c33-42e7-9aa8-f1a5aacc7e4f",
- "status": "released",
- "cleanupStatus": "success",
- "runId": "44ab09ac-7e47-4874-aa1c-d9002b7eb810",
- "acquiredAt": "2026-10-11T08:46:08.665Z",
- "releasedAt": "2026-10-11T08:55:18.624Z",
- "lastUsedAt": "2026-10-11T08:54:04.584Z",
- "expiresAt": null,
- "updatedAt": "2026-10-11T08:55:18.624Z",
- "failureReason": null,
- "failureReasonPresent": false,
- "owner": {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ownerId": "edc2d145-bbdc-4ae1-a191-0b3d5b88eb70"
- },
- "ownerGeneration": 1
- },
- {
- "id": "0b3980c3-fd99-4d25-ab3f-b21bfecffbac",
- "status": "retained",
- "cleanupStatus": "success",
- "runId": "c8a2cb85-5815-4db7-af7a-964febd37985",
- "acquiredAt": "2026-10-11T08:55:18.631Z",
- "releasedAt": null,
- "lastUsedAt": "2026-10-11T08:56:47.873Z",
- "expiresAt": null,
- "updatedAt": "2026-10-11T08:56:47.873Z",
- "failureReason": null,
- "failureReasonPresent": false,
- "owner": {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ownerId": "edc2d145-bbdc-4ae1-a191-0b3d5b88eb70"
- },
- "ownerGeneration": 2
- }
- ],
- "owners": [
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "id": "edc2d145-bbdc-4ae1-a191-0b3d5b88eb70",
- "runId": "c8a2cb85-5815-4db7-af7a-964febd37985",
- "generation": 2,
- "phase": "warm",
- "computerUpdatedAt": "2026-10-11T08:56:53.825Z",
- "admittedAt": "2026-10-11T08:55:10.159Z",
- "deadline": "2026-10-11T09:01:43.598Z",
- "absoluteDeadline": null,
- "retirementDeadline": null,
- "processBindingPresent": true,
- "processBootId": "082f50cb-7577-45e3-89d2-e20f650f482c",
- "processLaunchGeneration": 1
- }
- ],
- "controller": {
- "baseExists": true,
- "matches": [
- {
- "stateKey": "f246fd1e3148b1edeb3c18521b97c9fa886873bfe6cac2ae099442411cb3a9fd",
- "identity": {
- "runId": "c8a2cb85-5815-4db7-af7a-964febd37985",
- "normalizedSessionId": "b51c2928-9079-4199-950d-54873f6b64a2",
- "runnerInstanceId": "87a56307-c73f-4f3e-8ca4-8a3ead06991b",
- "environmentLeaseId": "44ab09ac-7e47-4874-aa1c-d9002b7eb810"
- },
- "pendingWarmTransitionPresent": false,
- "commands": [
- {
- "controllerSeq": 1,
- "issuedAt": "2026-10-11T08:56:23.821Z",
- "status": "completed",
- "type": "turn.start"
- },
- {
- "controllerSeq": 2,
- "issuedAt": "2026-10-11T08:56:37.830Z",
- "status": "completed",
- "type": "semantic_tool.result"
- }
- ],
- "runnerPresent": false,
- "runnerLifecycle": null,
- "cleanupActivationRelativePath": "f246fd1e3148b1edeb3c18521b97c9fa886873bfe6cac2ae099442411cb3a9fd/cleanup-activation.json",
- "cleanupActivationPresent": false
- }
- ]
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging25-concurrent-admission-failure.json b/doc/plans/assets/2026-10-10-boat/evidence/staging25-concurrent-admission-failure.json
deleted file mode 100644
index 031ea300c39..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging25-concurrent-admission-failure.json
+++ /dev/null
@@ -1,80 +0,0 @@
-{
- "observedAt": "2026-10-11T08:40:08.148Z",
- "source": "staging25_scoped_read_only",
- "companyId": "76e38a59-75e7-5ff8-a4bf-ebb78a7b8ebe",
- "runs": [
- {
- "runId": "c990ff5f-ae69-4926-b5ea-71bbbb382ab1",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "taskId": "612d0551-2947-435e-9b7d-d64dc584a41a",
- "runtime": "legacy_codex",
- "status": "failed",
- "startedAt": "2026-10-11T08:37:19.742Z",
- "finishedAt": "2026-10-11T08:37:23.634Z",
- "errorCode": "setup_failed",
- "categories": [
- "boat_http_409",
- "acquire_lease_failed"
- ],
- "nativeSessionId": null,
- "runnerInstanceId": null
- },
- {
- "runId": "de6f59a8-ef38-479f-bd8a-1704814f3a90",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "taskId": "8a437e8b-3a17-4ec6-8bda-9aab1c067c29",
- "runtime": "legacy_claude",
- "status": "running",
- "startedAt": "2026-10-11T08:37:20.179Z",
- "finishedAt": null,
- "errorCode": null,
- "categories": [],
- "nativeSessionId": null,
- "runnerInstanceId": null
- }
- ],
- "leases": [
- {
- "id": "56fd38f2-3764-447b-ba4a-062f7dc3a3b3",
- "runId": "de6f59a8-ef38-479f-bd8a-1704814f3a90",
- "status": "active",
- "cleanupStatus": null,
- "acquiredAt": "2026-10-11T08:37:35.437Z",
- "releasedAt": null,
- "expiresAt": null,
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ownerId": "79063572-f609-411c-87df-318ca970cd58",
- "generation": 1
- }
- ],
- "owners": [
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ledgerStatus": "attached",
- "actionPresent": false,
- "ownerId": "0fbe8abf-e62a-4aa2-886e-d21d8710c5f1",
- "runId": "c990ff5f-ae69-4926-b5ea-71bbbb382ab1",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "generation": 1,
- "phase": "retired",
- "admittedAt": "2026-10-11T08:37:22.972Z",
- "deadline": null,
- "retirementDeadline": null,
- "processBindingPresent": false
- },
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ledgerStatus": "attached",
- "actionPresent": false,
- "ownerId": "79063572-f609-411c-87df-318ca970cd58",
- "runId": "de6f59a8-ef38-479f-bd8a-1704814f3a90",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "generation": 1,
- "phase": "active",
- "admittedAt": "2026-10-11T08:37:22.988Z",
- "deadline": null,
- "retirementDeadline": null,
- "processBindingPresent": false
- }
- ]
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging25-deployment.json b/doc/plans/assets/2026-10-10-boat/evidence/staging25-deployment.json
deleted file mode 100644
index a08ad674bb3..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging25-deployment.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "version": 1,
- "requestId": "4a5c6a84-f7f1-461e-97c1-0d18f7c8f092",
- "sha": "ca07557247533531b85045a1dc20c231dc9cd1de",
- "stage": "deploy",
- "hostname": "boat.staging.paperclip.app",
- "environment": "staging",
- "status": "succeeded",
- "verification": "verified",
- "appVersion": "sha-ca07557247533531b85045a1dc20c231dc9cd1de-cloud",
- "targetStackId": "stack-pool-474c42a4b545",
- "campaignUrl": "https://admin-staging.paperclip.app/admin/fleet/campaigns/fleet-campaign-1791706429458",
- "checkedAt": "2026-10-11T08:36:19.883Z"
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging25-embedded-input.json b/doc/plans/assets/2026-10-10-boat/evidence/staging25-embedded-input.json
deleted file mode 100644
index 50fd827eb60..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging25-embedded-input.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "observedBeforeUtc": "2026-10-11T09:26:18Z",
- "source": "ca07557247533531b85045a1dc20c231dc9cd1de",
- "issue": "BOA-2",
- "scenario": "normal Computer Connect after prior native lifecycle settled; independent human input check",
- "result": "inconclusive_input",
- "desktopRendered": true,
- "inputAttempts": [
- "native click observed Chrome dock icon; iframe focus but no visible launch",
- "frame-scoped video click",
- "frame-scoped video press timed out",
- "native Control+Alt+t; no visible terminal",
- "held native dock click; no visible launch"
- ],
- "limits": [
- "No remote input success is claimed",
- "No second viewer or direct guest probe was used",
- "Desktop clock updated, so visible stream was not a single stale screenshot"
- ],
- "cleanup": "normal Close Computer completed before observation timestamp"
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging25-natural-archive.json b/doc/plans/assets/2026-10-10-boat/evidence/staging25-natural-archive.json
deleted file mode 100644
index 57756254cd7..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging25-natural-archive.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "observedAt": "2026-10-11T09:08:14.797Z",
- "providerId": "bx_b8sawfyp",
- "guestRead": false,
- "state": "archived",
- "health": "ok",
- "stop": {
- "id": "stop_e59cc46f2f38f505",
- "status": "completed",
- "timestamps": {
- "endedAt": "2026-10-11T09:07:15.943Z"
- },
- "errorPresent": false
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging25-sibling-after-controller.json b/doc/plans/assets/2026-10-10-boat/evidence/staging25-sibling-after-controller.json
deleted file mode 100644
index 9abc482fde2..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging25-sibling-after-controller.json
+++ /dev/null
@@ -1,167 +0,0 @@
-{
- "observedAt": "2026-10-11T08:56:15.380Z",
- "source": "staging25_scoped_read_only",
- "companyId": "76e38a59-75e7-5ff8-a4bf-ebb78a7b8ebe",
- "runs": [
- {
- "runId": "3f718fd1-1049-4200-bca8-8b2ac377791d",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "taskId": "612d0551-2947-435e-9b7d-d64dc584a41a",
- "runtime": "legacy_codex",
- "status": "cancelled",
- "startedAt": "2026-10-11T08:54:01.791Z",
- "finishedAt": "2026-10-11T08:55:49.300Z",
- "errorCode": "cancelled",
- "categories": [],
- "nativeSessionId": null,
- "runnerInstanceId": null
- },
- {
- "runId": "297bbc52-a529-4906-88cd-7d398ba0a6c3",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "taskId": "612d0551-2947-435e-9b7d-d64dc584a41a",
- "runtime": "legacy_codex",
- "status": "succeeded",
- "startedAt": "2026-10-11T08:46:47.397Z",
- "finishedAt": "2026-10-11T08:53:49.542Z",
- "errorCode": null,
- "categories": [],
- "nativeSessionId": null,
- "runnerInstanceId": null
- },
- {
- "runId": "f4881989-1914-49c7-837c-d68a2cbb4302",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "taskId": "8a437e8b-3a17-4ec6-8bda-9aab1c067c29",
- "runtime": "legacy_claude",
- "status": "running",
- "startedAt": "2026-10-11T08:53:12.664Z",
- "finishedAt": null,
- "errorCode": null,
- "categories": [],
- "nativeSessionId": null,
- "runnerInstanceId": null
- },
- {
- "runId": "0514f033-343e-48d8-8a07-1d489967e7de",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "taskId": "8a437e8b-3a17-4ec6-8bda-9aab1c067c29",
- "runtime": "legacy_claude",
- "status": "succeeded",
- "startedAt": "2026-10-11T08:42:24.042Z",
- "finishedAt": "2026-10-11T08:49:33.046Z",
- "errorCode": null,
- "categories": [],
- "nativeSessionId": null,
- "runnerInstanceId": null
- }
- ],
- "leases": [
- {
- "id": "4d2f0d98-8bf4-4060-a296-de6d99537409",
- "runId": "297bbc52-a529-4906-88cd-7d398ba0a6c3",
- "status": "released",
- "cleanupStatus": "success",
- "acquiredAt": "2026-10-11T08:46:58.559Z",
- "releasedAt": "2026-10-11T08:53:55.194Z",
- "expiresAt": null,
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ownerId": "6ca5df91-0846-4b4c-b2fd-bd86775ffd72",
- "generation": 1
- },
- {
- "id": "ad470c50-2de0-484d-aab6-c981129af98a",
- "runId": "f4881989-1914-49c7-837c-d68a2cbb4302",
- "status": "active",
- "cleanupStatus": null,
- "acquiredAt": "2026-10-11T08:53:22.410Z",
- "releasedAt": null,
- "expiresAt": null,
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "generation": 1
- },
- {
- "id": "861dfa16-c7fe-4b97-9834-b9ce434817f1",
- "runId": "3f718fd1-1049-4200-bca8-8b2ac377791d",
- "status": "expired",
- "cleanupStatus": "success",
- "acquiredAt": "2026-10-11T08:54:11.766Z",
- "releasedAt": "2026-10-11T08:56:12.648Z",
- "expiresAt": null,
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "generation": 1
- },
- {
- "id": "5264773c-f991-4fb3-a0d4-1a7dca7d44d8",
- "runId": "0514f033-343e-48d8-8a07-1d489967e7de",
- "status": "released",
- "cleanupStatus": "success",
- "acquiredAt": "2026-10-11T08:42:32.959Z",
- "releasedAt": "2026-10-11T08:49:39.320Z",
- "expiresAt": null,
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ownerId": "031244f8-812a-43bf-bdc3-a0be83425b0f",
- "generation": 1
- }
- ],
- "owners": [
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ledgerStatus": "attached",
- "actionPresent": false,
- "ownerId": "031244f8-812a-43bf-bdc3-a0be83425b0f",
- "runId": "0514f033-343e-48d8-8a07-1d489967e7de",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "generation": 1,
- "phase": "retired",
- "admittedAt": "2026-10-11T08:42:27.173Z",
- "deadline": null,
- "retirementDeadline": null,
- "processBindingPresent": false
- },
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ledgerStatus": "attached",
- "actionPresent": false,
- "ownerId": "6ca5df91-0846-4b4c-b2fd-bd86775ffd72",
- "runId": "297bbc52-a529-4906-88cd-7d398ba0a6c3",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "generation": 1,
- "phase": "retired",
- "admittedAt": "2026-10-11T08:46:53.031Z",
- "deadline": null,
- "retirementDeadline": null,
- "processBindingPresent": false
- },
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ledgerStatus": "attached",
- "actionPresent": false,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "runId": "f4881989-1914-49c7-837c-d68a2cbb4302",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "generation": 1,
- "phase": "active",
- "admittedAt": "2026-10-11T08:53:16.520Z",
- "deadline": null,
- "retirementDeadline": null,
- "processBindingPresent": false
- },
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ledgerStatus": "attached",
- "actionPresent": false,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "runId": "3f718fd1-1049-4200-bca8-8b2ac377791d",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "generation": 1,
- "phase": "retired",
- "admittedAt": "2026-10-11T08:54:05.018Z",
- "deadline": null,
- "retirementDeadline": null,
- "processBindingPresent": false
- }
- ]
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging25-sibling-after-stop-early.json b/doc/plans/assets/2026-10-10-boat/evidence/staging25-sibling-after-stop-early.json
deleted file mode 100644
index 42d6f7cf850..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging25-sibling-after-stop-early.json
+++ /dev/null
@@ -1,586 +0,0 @@
-{
- "observedAt": "2026-10-11T08:55:56.765Z",
- "providerId": "bx_b8sawfyp",
- "providerObserved": {
- "state": "idle",
- "health": "ok",
- "stopStatus": "completed"
- },
- "guestRead": true,
- "exitCode": 0,
- "timedOut": false,
- "data": {
- "at": "2026-10-11T08:55:59.176738+00:00",
- "bootId": "082f50cb-7577-45e3-89d2-e20f650f482c",
- "processes": [
- {
- "pid": 177566,
- "parentPid": 1319,
- "name": "MainThread",
- "state": "S",
- "startTicks": 125182,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "runtime": "legacy_claude"
- },
- {
- "pid": 178326,
- "parentPid": 1319,
- "name": "python3",
- "state": "S",
- "startTicks": 125685,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "runtime": "legacy_claude",
- "foregroundJobMatch": false
- },
- {
- "pid": 178334,
- "parentPid": 178326,
- "name": "bash",
- "state": "S",
- "startTicks": 125688,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "runtime": "legacy_claude"
- },
- {
- "pid": 178337,
- "parentPid": 178334,
- "name": "bash",
- "state": "S",
- "startTicks": 125688,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "runtime": "legacy_claude"
- },
- {
- "pid": 178338,
- "parentPid": 178334,
- "name": "tee",
- "state": "S",
- "startTicks": 125688,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "runtime": "legacy_claude"
- },
- {
- "pid": 178339,
- "parentPid": 178337,
- "name": "bash",
- "state": "S",
- "startTicks": 125688,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "runtime": "legacy_claude"
- },
- {
- "pid": 178340,
- "parentPid": 178337,
- "name": "tee",
- "state": "S",
- "startTicks": 125688,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "runtime": "legacy_claude"
- },
- {
- "pid": 178341,
- "parentPid": 178339,
- "name": "claude",
- "state": "S",
- "startTicks": 125688,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "runtime": "legacy_claude"
- },
- {
- "pid": 181156,
- "parentPid": 178341,
- "name": "bash",
- "state": "S",
- "startTicks": 127354,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "runtime": "legacy_claude"
- },
- {
- "pid": 181157,
- "parentPid": 181156,
- "name": "python3",
- "state": "S",
- "startTicks": 127354,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "runtime": "legacy_claude",
- "foregroundJobMatch": true,
- "expectedDurationSeconds": 600,
- "processAgeSeconds": 75.33
- },
- {
- "pid": 187290,
- "parentPid": 1319,
- "name": "MainThread",
- "state": "S",
- "startTicks": 130872,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "runtime": "legacy_codex"
- },
- {
- "pid": 188759,
- "parentPid": 1319,
- "name": "python3",
- "state": "S",
- "startTicks": 131474,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "runtime": "legacy_codex",
- "foregroundJobMatch": false
- },
- {
- "pid": 188780,
- "parentPid": 188759,
- "name": "bash",
- "state": "S",
- "startTicks": 131476,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "runtime": "legacy_codex"
- },
- {
- "pid": 188783,
- "parentPid": 188780,
- "name": "bash",
- "state": "S",
- "startTicks": 131477,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "runtime": "legacy_codex"
- },
- {
- "pid": 188784,
- "parentPid": 188780,
- "name": "tee",
- "state": "S",
- "startTicks": 131477,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "runtime": "legacy_codex"
- },
- {
- "pid": 188785,
- "parentPid": 188783,
- "name": "bash",
- "state": "S",
- "startTicks": 131477,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "runtime": "legacy_codex"
- },
- {
- "pid": 188786,
- "parentPid": 188783,
- "name": "tee",
- "state": "S",
- "startTicks": 131477,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "runtime": "legacy_codex"
- },
- {
- "pid": 188787,
- "parentPid": 188785,
- "name": "MainThread",
- "state": "S",
- "startTicks": 131477,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "runtime": "legacy_codex"
- },
- {
- "pid": 188795,
- "parentPid": 188787,
- "name": "codex",
- "state": "S",
- "startTicks": 131479,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "runtime": "legacy_codex"
- },
- {
- "pid": 189945,
- "parentPid": 188795,
- "name": "python3",
- "state": "S",
- "startTicks": 131927,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "runtime": "legacy_codex",
- "foregroundJobMatch": true,
- "expectedDurationSeconds": 600,
- "processAgeSeconds": 29.6
- }
- ],
- "expectedChecks": [
- {
- "pid": 177566,
- "startTicks": 125182,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "sameBoot": true,
- "exists": true,
- "exactIdentityAlive": true,
- "current": {
- "pid": 177566,
- "parentPid": 1319,
- "name": "MainThread",
- "state": "S",
- "startTicks": 125182,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163"
- }
- },
- {
- "pid": 178326,
- "startTicks": 125685,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "sameBoot": true,
- "exists": true,
- "exactIdentityAlive": true,
- "current": {
- "pid": 178326,
- "parentPid": 1319,
- "name": "python3",
- "state": "S",
- "startTicks": 125685,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163"
- }
- },
- {
- "pid": 178334,
- "startTicks": 125688,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "sameBoot": true,
- "exists": true,
- "exactIdentityAlive": true,
- "current": {
- "pid": 178334,
- "parentPid": 178326,
- "name": "bash",
- "state": "S",
- "startTicks": 125688,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163"
- }
- },
- {
- "pid": 178337,
- "startTicks": 125688,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "sameBoot": true,
- "exists": true,
- "exactIdentityAlive": true,
- "current": {
- "pid": 178337,
- "parentPid": 178334,
- "name": "bash",
- "state": "S",
- "startTicks": 125688,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163"
- }
- },
- {
- "pid": 178338,
- "startTicks": 125688,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "sameBoot": true,
- "exists": true,
- "exactIdentityAlive": true,
- "current": {
- "pid": 178338,
- "parentPid": 178334,
- "name": "tee",
- "state": "S",
- "startTicks": 125688,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163"
- }
- },
- {
- "pid": 178339,
- "startTicks": 125688,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "sameBoot": true,
- "exists": true,
- "exactIdentityAlive": true,
- "current": {
- "pid": 178339,
- "parentPid": 178337,
- "name": "bash",
- "state": "S",
- "startTicks": 125688,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163"
- }
- },
- {
- "pid": 178340,
- "startTicks": 125688,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "sameBoot": true,
- "exists": true,
- "exactIdentityAlive": true,
- "current": {
- "pid": 178340,
- "parentPid": 178337,
- "name": "tee",
- "state": "S",
- "startTicks": 125688,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163"
- }
- },
- {
- "pid": 178341,
- "startTicks": 125688,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "sameBoot": true,
- "exists": true,
- "exactIdentityAlive": true,
- "current": {
- "pid": 178341,
- "parentPid": 178339,
- "name": "claude",
- "state": "S",
- "startTicks": 125688,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163"
- }
- },
- {
- "pid": 181156,
- "startTicks": 127354,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "sameBoot": true,
- "exists": true,
- "exactIdentityAlive": true,
- "current": {
- "pid": 181156,
- "parentPid": 178341,
- "name": "bash",
- "state": "S",
- "startTicks": 127354,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163"
- }
- },
- {
- "pid": 181157,
- "startTicks": 127354,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "sameBoot": true,
- "exists": true,
- "exactIdentityAlive": true,
- "current": {
- "pid": 181157,
- "parentPid": 181156,
- "name": "python3",
- "state": "S",
- "startTicks": 127354,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163"
- }
- },
- {
- "pid": 187290,
- "startTicks": 130872,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "sameBoot": true,
- "exists": true,
- "exactIdentityAlive": true,
- "current": {
- "pid": 187290,
- "parentPid": 1319,
- "name": "MainThread",
- "state": "S",
- "startTicks": 130872,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8"
- }
- },
- {
- "pid": 188759,
- "startTicks": 131474,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "sameBoot": true,
- "exists": true,
- "exactIdentityAlive": true,
- "current": {
- "pid": 188759,
- "parentPid": 1319,
- "name": "python3",
- "state": "S",
- "startTicks": 131474,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8"
- }
- },
- {
- "pid": 188780,
- "startTicks": 131476,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "sameBoot": true,
- "exists": true,
- "exactIdentityAlive": true,
- "current": {
- "pid": 188780,
- "parentPid": 188759,
- "name": "bash",
- "state": "S",
- "startTicks": 131476,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8"
- }
- },
- {
- "pid": 188783,
- "startTicks": 131477,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "sameBoot": true,
- "exists": true,
- "exactIdentityAlive": true,
- "current": {
- "pid": 188783,
- "parentPid": 188780,
- "name": "bash",
- "state": "S",
- "startTicks": 131477,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8"
- }
- },
- {
- "pid": 188784,
- "startTicks": 131477,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "sameBoot": true,
- "exists": true,
- "exactIdentityAlive": true,
- "current": {
- "pid": 188784,
- "parentPid": 188780,
- "name": "tee",
- "state": "S",
- "startTicks": 131477,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8"
- }
- },
- {
- "pid": 188785,
- "startTicks": 131477,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "sameBoot": true,
- "exists": true,
- "exactIdentityAlive": true,
- "current": {
- "pid": 188785,
- "parentPid": 188783,
- "name": "bash",
- "state": "S",
- "startTicks": 131477,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8"
- }
- },
- {
- "pid": 188786,
- "startTicks": 131477,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "sameBoot": true,
- "exists": true,
- "exactIdentityAlive": true,
- "current": {
- "pid": 188786,
- "parentPid": 188783,
- "name": "tee",
- "state": "S",
- "startTicks": 131477,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8"
- }
- },
- {
- "pid": 188787,
- "startTicks": 131477,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "sameBoot": true,
- "exists": true,
- "exactIdentityAlive": true,
- "current": {
- "pid": 188787,
- "parentPid": 188785,
- "name": "MainThread",
- "state": "S",
- "startTicks": 131477,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8"
- }
- },
- {
- "pid": 188795,
- "startTicks": 131479,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "sameBoot": true,
- "exists": true,
- "exactIdentityAlive": true,
- "current": {
- "pid": 188795,
- "parentPid": 188787,
- "name": "codex",
- "state": "S",
- "startTicks": 131479,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8"
- }
- },
- {
- "pid": 189945,
- "startTicks": 131927,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "sameBoot": true,
- "exists": true,
- "exactIdentityAlive": true,
- "current": {
- "pid": 189945,
- "parentPid": 188795,
- "name": "python3",
- "state": "S",
- "startTicks": 131927,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8"
- }
- }
- ],
- "proofs": [
- {
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "runtime": "legacy_codex",
- "relativeName": "boat-final-proof.txt",
- "read": true,
- "bytes": 24,
- "sha256": "ff52207bcf705181af4a476c243d121f2e95d011f172899c19b08758695c4627"
- },
- {
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "runtime": "legacy_claude",
- "relativeName": "boat-final-proof.txt",
- "read": true,
- "bytes": 25,
- "sha256": "ec9169f87b99329a3a24fe194d2cff1a43fb29ef8374d1317ccc28bb83be0ddc"
- }
- ]
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging25-sibling-before.json b/doc/plans/assets/2026-10-10-boat/evidence/staging25-sibling-before.json
deleted file mode 100644
index 6c9f341177d..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging25-sibling-before.json
+++ /dev/null
@@ -1,245 +0,0 @@
-{
- "observedAt": "2026-10-11T08:55:28.062Z",
- "providerId": "bx_b8sawfyp",
- "providerObserved": {
- "state": "idle",
- "health": "ok",
- "stopStatus": "completed"
- },
- "guestRead": true,
- "exitCode": 0,
- "timedOut": false,
- "data": {
- "at": "2026-10-11T08:55:30.475080+00:00",
- "bootId": "082f50cb-7577-45e3-89d2-e20f650f482c",
- "processes": [
- {
- "pid": 177566,
- "parentPid": 1319,
- "name": "MainThread",
- "state": "S",
- "startTicks": 125182,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "runtime": "legacy_claude"
- },
- {
- "pid": 178326,
- "parentPid": 1319,
- "name": "python3",
- "state": "S",
- "startTicks": 125685,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "runtime": "legacy_claude",
- "foregroundJobMatch": false
- },
- {
- "pid": 178334,
- "parentPid": 178326,
- "name": "bash",
- "state": "S",
- "startTicks": 125688,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "runtime": "legacy_claude"
- },
- {
- "pid": 178337,
- "parentPid": 178334,
- "name": "bash",
- "state": "S",
- "startTicks": 125688,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "runtime": "legacy_claude"
- },
- {
- "pid": 178338,
- "parentPid": 178334,
- "name": "tee",
- "state": "S",
- "startTicks": 125688,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "runtime": "legacy_claude"
- },
- {
- "pid": 178339,
- "parentPid": 178337,
- "name": "bash",
- "state": "S",
- "startTicks": 125688,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "runtime": "legacy_claude"
- },
- {
- "pid": 178340,
- "parentPid": 178337,
- "name": "tee",
- "state": "S",
- "startTicks": 125688,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "runtime": "legacy_claude"
- },
- {
- "pid": 178341,
- "parentPid": 178339,
- "name": "claude",
- "state": "S",
- "startTicks": 125688,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "runtime": "legacy_claude"
- },
- {
- "pid": 181156,
- "parentPid": 178341,
- "name": "bash",
- "state": "S",
- "startTicks": 127354,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "runtime": "legacy_claude"
- },
- {
- "pid": 181157,
- "parentPid": 181156,
- "name": "python3",
- "state": "S",
- "startTicks": 127354,
- "ownerId": "eb0f40f6-f16f-4e17-b887-de8e2db37163",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "runtime": "legacy_claude",
- "foregroundJobMatch": true,
- "expectedDurationSeconds": 600,
- "processAgeSeconds": 46.63
- },
- {
- "pid": 187290,
- "parentPid": 1319,
- "name": "MainThread",
- "state": "S",
- "startTicks": 130872,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "runtime": "legacy_codex"
- },
- {
- "pid": 188759,
- "parentPid": 1319,
- "name": "python3",
- "state": "S",
- "startTicks": 131474,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "runtime": "legacy_codex",
- "foregroundJobMatch": false
- },
- {
- "pid": 188780,
- "parentPid": 188759,
- "name": "bash",
- "state": "S",
- "startTicks": 131476,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "runtime": "legacy_codex"
- },
- {
- "pid": 188783,
- "parentPid": 188780,
- "name": "bash",
- "state": "S",
- "startTicks": 131477,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "runtime": "legacy_codex"
- },
- {
- "pid": 188784,
- "parentPid": 188780,
- "name": "tee",
- "state": "S",
- "startTicks": 131477,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "runtime": "legacy_codex"
- },
- {
- "pid": 188785,
- "parentPid": 188783,
- "name": "bash",
- "state": "S",
- "startTicks": 131477,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "runtime": "legacy_codex"
- },
- {
- "pid": 188786,
- "parentPid": 188783,
- "name": "tee",
- "state": "S",
- "startTicks": 131477,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "runtime": "legacy_codex"
- },
- {
- "pid": 188787,
- "parentPid": 188785,
- "name": "MainThread",
- "state": "S",
- "startTicks": 131477,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "runtime": "legacy_codex"
- },
- {
- "pid": 188795,
- "parentPid": 188787,
- "name": "codex",
- "state": "S",
- "startTicks": 131479,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "runtime": "legacy_codex"
- },
- {
- "pid": 189945,
- "parentPid": 188795,
- "name": "python3",
- "state": "S",
- "startTicks": 131927,
- "ownerId": "382edf5c-aeec-4ce2-89b9-a4cdde9687d8",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "runtime": "legacy_codex",
- "foregroundJobMatch": true,
- "expectedDurationSeconds": 600,
- "processAgeSeconds": 0.9
- }
- ],
- "expectedChecks": [],
- "proofs": [
- {
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "runtime": "legacy_codex",
- "relativeName": "boat-final-proof.txt",
- "read": true,
- "bytes": 24,
- "sha256": "ff52207bcf705181af4a476c243d121f2e95d011f172899c19b08758695c4627"
- },
- {
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "runtime": "legacy_claude",
- "relativeName": "boat-final-proof.txt",
- "read": true,
- "bytes": 25,
- "sha256": "ec9169f87b99329a3a24fe194d2cff1a43fb29ef8374d1317ccc28bb83be0ddc"
- }
- ]
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging26-deployment.json b/doc/plans/assets/2026-10-10-boat/evidence/staging26-deployment.json
deleted file mode 100644
index 7b24e694567..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging26-deployment.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "version": 1,
- "requestId": "14f4fbec-0bf7-4e7c-b287-f565d83c69a7",
- "sha": "d5bce13cca01732105df15487000a260ae3c973c",
- "stage": "deploy",
- "hostname": "boat.staging.paperclip.app",
- "environment": "staging",
- "status": "succeeded",
- "verification": "verified",
- "appVersion": "sha-d5bce13cca01732105df15487000a260ae3c973c-cloud",
- "targetStackId": "stack-pool-474c42a4b545",
- "campaignUrl": "https://admin-staging.paperclip.app/admin/fleet/campaigns/fleet-campaign-1791706429498",
- "checkedAt": "2026-10-11T09:41:21.624Z"
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging26-legacy-admission-active.json b/doc/plans/assets/2026-10-10-boat/evidence/staging26-legacy-admission-active.json
deleted file mode 100644
index 5d7f25467d3..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging26-legacy-admission-active.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
- "observedAt": "2026-10-11T09:44:53.764Z",
- "source": "staging26_simultaneous_legacy_read_only",
- "companyId": "76e38a59-75e7-5ff8-a4bf-ebb78a7b8ebe",
- "runs": [
- {
- "runId": "73bc6d17-4d37-4a59-a72d-d82b4b420191",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "taskId": "612d0551-2947-435e-9b7d-d64dc584a41a",
- "runtime": "legacy_codex",
- "status": "running",
- "startedAt": "2026-10-11T09:43:05.427Z",
- "finishedAt": null,
- "errorCode": null,
- "categories": [],
- "nativeSessionId": null,
- "runnerInstanceId": null
- },
- {
- "runId": "e3daa441-de0c-4de6-946a-e6d024d8893d",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "taskId": "8a437e8b-3a17-4ec6-8bda-9aab1c067c29",
- "runtime": "legacy_claude",
- "status": "running",
- "startedAt": "2026-10-11T09:43:05.362Z",
- "finishedAt": null,
- "errorCode": null,
- "categories": [],
- "nativeSessionId": null,
- "runnerInstanceId": null
- }
- ],
- "leases": [
- {
- "id": "1b463e96-a333-430e-932e-412432886039",
- "runId": "73bc6d17-4d37-4a59-a72d-d82b4b420191",
- "status": "active",
- "cleanupStatus": null,
- "acquiredAt": "2026-10-11T09:43:29.192Z",
- "releasedAt": null,
- "expiresAt": null,
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ownerId": "59b07669-f13b-4b28-a215-a9bc71c9e66b",
- "generation": 1
- },
- {
- "id": "93f7f9a3-8bee-403f-b37c-bafa423b019d",
- "runId": "e3daa441-de0c-4de6-946a-e6d024d8893d",
- "status": "active",
- "cleanupStatus": null,
- "acquiredAt": "2026-10-11T09:43:28.522Z",
- "releasedAt": null,
- "expiresAt": null,
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ownerId": "5595da57-5265-4a14-ae50-2d01eccfba66",
- "generation": 1
- }
- ],
- "owners": [
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ledgerStatus": "attached",
- "actionPresent": false,
- "ownerId": "5595da57-5265-4a14-ae50-2d01eccfba66",
- "runId": "e3daa441-de0c-4de6-946a-e6d024d8893d",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "generation": 1,
- "phase": "active",
- "admittedAt": "2026-10-11T09:43:09.824Z",
- "deadline": null,
- "retirementDeadline": null,
- "processBindingPresent": false
- },
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ledgerStatus": "attached",
- "actionPresent": false,
- "ownerId": "59b07669-f13b-4b28-a215-a9bc71c9e66b",
- "runId": "73bc6d17-4d37-4a59-a72d-d82b4b420191",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "generation": 1,
- "phase": "active",
- "admittedAt": "2026-10-11T09:43:09.866Z",
- "deadline": null,
- "retirementDeadline": null,
- "processBindingPresent": false
- }
- ]
-}
\ No newline at end of file
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging26-legacy-admission-initial.json b/doc/plans/assets/2026-10-10-boat/evidence/staging26-legacy-admission-initial.json
deleted file mode 100644
index 57c6bcaf920..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging26-legacy-admission-initial.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{
- "observedAt": "2026-10-11T09:43:24.761Z",
- "source": "staging26_simultaneous_legacy_read_only",
- "companyId": "76e38a59-75e7-5ff8-a4bf-ebb78a7b8ebe",
- "runs": [
- {
- "runId": "73bc6d17-4d37-4a59-a72d-d82b4b420191",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "taskId": "612d0551-2947-435e-9b7d-d64dc584a41a",
- "runtime": "legacy_codex",
- "status": "running",
- "startedAt": "2026-10-11T09:43:05.427Z",
- "finishedAt": null,
- "errorCode": null,
- "categories": [],
- "nativeSessionId": null,
- "runnerInstanceId": null
- },
- {
- "runId": "e3daa441-de0c-4de6-946a-e6d024d8893d",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "taskId": "8a437e8b-3a17-4ec6-8bda-9aab1c067c29",
- "runtime": "legacy_claude",
- "status": "running",
- "startedAt": "2026-10-11T09:43:05.362Z",
- "finishedAt": null,
- "errorCode": null,
- "categories": [],
- "nativeSessionId": null,
- "runnerInstanceId": null
- }
- ],
- "leases": [],
- "owners": [
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ledgerStatus": "attached",
- "actionPresent": false,
- "ownerId": "5595da57-5265-4a14-ae50-2d01eccfba66",
- "runId": "e3daa441-de0c-4de6-946a-e6d024d8893d",
- "agentId": "644df48a-6c38-4bfb-8f8e-1dec3253ee55",
- "generation": 1,
- "phase": "starting",
- "admittedAt": "2026-10-11T09:43:09.824Z",
- "deadline": "2026-10-11T09:45:09.824Z",
- "retirementDeadline": null,
- "processBindingPresent": false
- },
- {
- "computerId": "6d53efb3-5b96-4694-a1c1-9746dc8278f0",
- "ledgerStatus": "attached",
- "actionPresent": false,
- "ownerId": "59b07669-f13b-4b28-a215-a9bc71c9e66b",
- "runId": "73bc6d17-4d37-4a59-a72d-d82b4b420191",
- "agentId": "d227579b-7543-4c8c-94aa-9dfea261fa16",
- "generation": 1,
- "phase": "starting",
- "admittedAt": "2026-10-11T09:43:09.866Z",
- "deadline": "2026-10-11T09:45:09.866Z",
- "retirementDeadline": null,
- "processBindingPresent": false
- }
- ]
-}
\ No newline at end of file
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging27-archived-baseline.json b/doc/plans/assets/2026-10-10-boat/evidence/staging27-archived-baseline.json
deleted file mode 100644
index 1aee19e83b1..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging27-archived-baseline.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "observedAt": "2026-10-11T10:20:02.306Z",
- "providerId": "bx_b8sawfyp",
- "guestRead": false,
- "state": "archived",
- "health": "ok",
- "stop": {
- "id": "stop_d2a44f9dc5cd34b0",
- "status": "completed",
- "timestamps": {
- "endedAt": "2026-10-11T09:45:31.444Z"
- },
- "errorPresent": false
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging27-deployment.json b/doc/plans/assets/2026-10-10-boat/evidence/staging27-deployment.json
deleted file mode 100644
index 9246134d409..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging27-deployment.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "version": 1,
- "requestId": "b40e35f8-5769-48c6-a8cc-24eecca4ed14",
- "sha": "2605a03f00bc3d7decc8b8d5549ee06f8d77ae85",
- "stage": "deploy",
- "hostname": "boat.staging.paperclip.app",
- "environment": "staging",
- "status": "succeeded",
- "verification": "verified",
- "appVersion": "sha-2605a03f00bc3d7decc8b8d5549ee06f8d77ae85-cloud",
- "targetStackId": "stack-pool-474c42a4b545",
- "campaignUrl": "https://admin-staging.paperclip.app/admin/fleet/campaigns/fleet-campaign-1791706429524",
- "checkedAt": "2026-10-11T10:19:12.318Z"
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/staging28-archived-baseline.json b/doc/plans/assets/2026-10-10-boat/evidence/staging28-archived-baseline.json
deleted file mode 100644
index 64851a9edd7..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/staging28-archived-baseline.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "observedAt": "2026-10-11T11:26:59.499Z",
- "providerId": "bx_b8sawfyp",
- "guestRead": false,
- "state": "archived",
- "health": "ok",
- "stop": {
- "id": "stop_21187fe0821d8731",
- "status": "completed",
- "timestamps": {
- "endedAt": "2026-10-11T10:51:02.840Z"
- },
- "errorPresent": false
- }
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/upload-warm-owner-corrections.json b/doc/plans/assets/2026-10-10-boat/evidence/upload-warm-owner-corrections.json
deleted file mode 100644
index ee24f5616f2..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/upload-warm-owner-corrections.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "recordedAt": "2026-10-11T08:21:25.647229+00:00",
- "source": {
- "upload": "8198c9a571ea24aedc32040d0ebae90535694421",
- "warmOwner": "d14578ad13e681cd5dde0025061c8b1493b0aed1",
- "moduleBoundary": "086a9dbbd870b631f8b5d70c04acceededb943e3",
- "combined": "2a5eca4220bb9050a024d833480287b8296ce2b3",
- "stagingCandidate": "ca07557247533531b85045a1dc20c231dc9cd1de",
- "localServing": "ecc9b2fa9fe28d214d5c6b9db82b46cf19ba22cc"
- },
- "upload": {
- "regression": "two simultaneous transfers rejected under old queue-inclusive command deadlines; both complete byte-identically with shared per-machine slots",
- "boundaryTestsPassed": 150,
- "focusedTestsPassed": 28,
- "adapterAndServerTypecheck": "passed",
- "independentReview": "no actionable findings",
- "limits": "Unrelated bulk contention or stalled active SSH can still hit unchanged active-command deadlines; live retry not qualified."
- },
- "warmOwner": {
- "redCases": 2,
- "finalTestsPassed": 33,
- "skipped": 0,
- "serverTypecheck": "passed",
- "independentReview": "approved after correcting independent launch/owner generation assumption",
- "protected": "exact company/environment/agent/run/owner/generation binding with valid process metadata and bounded warm deadline/grace",
- "cleanupPreserved": "expired or mismatched authority; concurrent retention CAS",
- "causalBoundary": "Staging audit proves orphan sweep participated; deterministic test reproduces premature reclamation. Historical physical retirement time is unavailable."
- },
- "moduleBoundary": {
- "oldHeadPolicyChecks": "failed on direct domain import; preserved",
- "correction": "use existing public computers module entry point",
- "moduleGate": "passed",
- "reaperTestsPassed": 33,
- "serverTypecheck": "passed"
- },
- "live": {
- "local47": "Failed before provider at08:11:43.478: upload capacity timeout while active chunks retained slots. No provider-pack progress, runner connections or provider events. Scheduling fix alone not qualified.",
- "deployment24": "local official-helper process interrupted before rollout; preview build may finish; staging unchanged",
- "deployment25": "Official immutable image build in progress; not verified serving",
- "acceptance": "incomplete"
- },
- "constraints": [
- "No master merge",
- "No forced provider stop",
- "No quarantine/checkpoint/cache reset",
- "No migration history rewrite",
- "Warm timeout and existing shutdown grace unchanged"
- ]
-}
diff --git a/doc/plans/assets/2026-10-10-boat/evidence/vite-warm-hmr.json b/doc/plans/assets/2026-10-10-boat/evidence/vite-warm-hmr.json
deleted file mode 100644
index 919afb110c5..00000000000
--- a/doc/plans/assets/2026-10-10-boat/evidence/vite-warm-hmr.json
+++ /dev/null
@@ -1,143 +0,0 @@
-{
- "controllerSource": "85746677ff25431430698cb310ace0cb5d4b8ccc",
- "uiSource": "76a499cc54",
- "result": "passed",
- "browser": {
- "beforeHeading": "Boat final baseline",
- "afterHeading": "Boat final hot reload passed",
- "unsavedDraftUnchanged": true,
- "pageSessionBefore": "1791653071067",
- "pageSessionAfter": "1791653071067",
- "noNavigationOrRefresh": true
- },
- "before": {
- "runId": "a0c4b001-7ef1-4514-a825-5af6e1b6bc87",
- "checkedAt": "2026-10-10T17:20:28.301686+00:00",
- "ownerGeneration": "2",
- "launchGeneration": 1,
- "retired": false,
- "unit": {
- "MainPID": "102185",
- "ActiveState": "active",
- "SubState": "running"
- },
- "processes": [
- {
- "pid": 102185,
- "name": "paperclip-runne",
- "startTicks": "99556"
- },
- {
- "pid": 102588,
- "name": "MainThread",
- "startTicks": "99828"
- },
- {
- "pid": 102597,
- "name": "codex",
- "startTicks": "99830"
- },
- {
- "pid": 120796,
- "name": "npm run dev --h",
- "startTicks": "114027"
- },
- {
- "pid": 120854,
- "name": "sh",
- "startTicks": "114033"
- },
- {
- "pid": 120855,
- "name": "MainThread",
- "startTicks": "114033"
- }
- ],
- "checkpoints": [
- {
- "schema": "paperclip.runner.durable.state.v1",
- "lifecycle": "ready",
- "runId": "a0c4b001-7ef1-4514-a825-5af6e1b6bc87",
- "normalizedSessionId": "2d3e7aaf-ae2f-410a-a753-a05ff006e96f",
- "activeTurnId": null,
- "pendingTerminalDelivery": false
- },
- {
- "schema": "paperclip.runner.codex-provider-state.v1",
- "lifecycle": "session_open",
- "runId": null,
- "normalizedSessionId": null,
- "activeTurnId": null,
- "pendingTerminalDelivery": false
- }
- ]
- },
- "after": {
- "runId": "bab92953-5089-48d4-9873-d7af0080b7a7",
- "checkedAt": "2026-10-10T17:26:19.704645+00:00",
- "ownerGeneration": "4",
- "launchGeneration": 1,
- "retired": false,
- "unit": {
- "MainPID": "102185",
- "ActiveState": "active",
- "SubState": "running"
- },
- "processes": [
- {
- "pid": 102185,
- "name": "paperclip-runne",
- "startTicks": "99556"
- },
- {
- "pid": 102588,
- "name": "MainThread",
- "startTicks": "99828"
- },
- {
- "pid": 102597,
- "name": "codex",
- "startTicks": "99830"
- },
- {
- "pid": 120796,
- "name": "npm run dev --h",
- "startTicks": "114027"
- },
- {
- "pid": 120854,
- "name": "sh",
- "startTicks": "114033"
- },
- {
- "pid": 120855,
- "name": "MainThread",
- "startTicks": "114033"
- }
- ],
- "checkpoints": [
- {
- "schema": "paperclip.runner.durable.state.v1",
- "lifecycle": "ready",
- "runId": "bab92953-5089-48d4-9873-d7af0080b7a7",
- "normalizedSessionId": "2d3e7aaf-ae2f-410a-a753-a05ff006e96f",
- "activeTurnId": null,
- "pendingTerminalDelivery": false
- },
- {
- "schema": "paperclip.runner.codex-provider-state.v1",
- "lifecycle": "session_open",
- "runId": null,
- "normalizedSessionId": null,
- "activeTurnId": null,
- "pendingTerminalDelivery": false
- }
- ]
- },
- "viteListenerPid": 120855,
- "unchangedProcessIdentities": true,
- "limitations": [
- "The earlier nohup-only launch lost its listener and is excluded. This successful launch used a detached session within the runner-owned slice.",
- "Browser no-navigation observation is from the recorded manual acceptance journey, not inferred from process IDs."
- ]
-}
diff --git a/doc/plans/assets/2026-10-10-boat/experimental-toggle.jpg b/doc/plans/assets/2026-10-10-boat/experimental-toggle.jpg
deleted file mode 100644
index 2ca5f60a535..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/experimental-toggle.jpg and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local-31-human-keyboard.jpg b/doc/plans/assets/2026-10-10-boat/local-31-human-keyboard.jpg
deleted file mode 100644
index 20eb92883b5..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local-31-human-keyboard.jpg and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local-32-legacy-claude-fixed.jpg b/doc/plans/assets/2026-10-10-boat/local-32-legacy-claude-fixed.jpg
deleted file mode 100644
index ceef999d7ea..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local-32-legacy-claude-fixed.jpg and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local-32-legacy-codex-fixed.jpg b/doc/plans/assets/2026-10-10-boat/local-32-legacy-codex-fixed.jpg
deleted file mode 100644
index 6f1066353ef..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local-32-legacy-codex-fixed.jpg and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local-36-restart-retained.png b/doc/plans/assets/2026-10-10-boat/local-36-restart-retained.png
deleted file mode 100644
index 18f60ab6d34..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local-36-restart-retained.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local-37-claude-resume-failed.png b/doc/plans/assets/2026-10-10-boat/local-37-claude-resume-failed.png
deleted file mode 100644
index 5e1135c5b27..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local-37-claude-resume-failed.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local-42-claude-warm-proof.png b/doc/plans/assets/2026-10-10-boat/local-42-claude-warm-proof.png
deleted file mode 100644
index 9aa42579fed..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local-42-claude-warm-proof.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local-44-claude-post-idle-failure.png b/doc/plans/assets/2026-10-10-boat/local-44-claude-post-idle-failure.png
deleted file mode 100644
index 983a5993132..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local-44-claude-post-idle-failure.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local-44-claude-warm-proof.png b/doc/plans/assets/2026-10-10-boat/local-44-claude-warm-proof.png
deleted file mode 100644
index aa67fe1d90e..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local-44-claude-warm-proof.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local38-paused-wait-corrected.png b/doc/plans/assets/2026-10-10-boat/local38-paused-wait-corrected.png
deleted file mode 100644
index f7d79f499e6..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local38-paused-wait-corrected.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local38-paused-wait.png b/doc/plans/assets/2026-10-10-boat/local38-paused-wait.png
deleted file mode 100644
index 82be60b66e3..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local38-paused-wait.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local38-pending-wait.png b/doc/plans/assets/2026-10-10-boat/local38-pending-wait.png
deleted file mode 100644
index 334c72d6cf1..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local38-pending-wait.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local39-direct-desktop-input.png b/doc/plans/assets/2026-10-10-boat/local39-direct-desktop-input.png
deleted file mode 100644
index fa77e1c19ce..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local39-direct-desktop-input.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local39-pause-resume-proof.png b/doc/plans/assets/2026-10-10-boat/local39-pause-resume-proof.png
deleted file mode 100644
index fec09fdf507..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local39-pause-resume-proof.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local45-claude-post-idle-failure.png b/doc/plans/assets/2026-10-10-boat/local45-claude-post-idle-failure.png
deleted file mode 100644
index 6cb917ecb26..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local45-claude-post-idle-failure.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local45-claude-warm-proof.png b/doc/plans/assets/2026-10-10-boat/local45-claude-warm-proof.png
deleted file mode 100644
index 40da305c2e0..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local45-claude-warm-proof.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local46-upload-failure.png b/doc/plans/assets/2026-10-10-boat/local46-upload-failure.png
deleted file mode 100644
index 5c6fefdbf81..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local46-upload-failure.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local47-upload-capacity-failure.png b/doc/plans/assets/2026-10-10-boat/local47-upload-capacity-failure.png
deleted file mode 100644
index f21e6332815..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local47-upload-capacity-failure.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local48-claude-cold.png b/doc/plans/assets/2026-10-10-boat/local48-claude-cold.png
deleted file mode 100644
index 0ded01e8005..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local48-claude-cold.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local48-claude-warm.png b/doc/plans/assets/2026-10-10-boat/local48-claude-warm.png
deleted file mode 100644
index 09d585b9e41..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local48-claude-warm.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local48-post-idle-failed.png b/doc/plans/assets/2026-10-10-boat/local48-post-idle-failed.png
deleted file mode 100644
index cb22f7531a9..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local48-post-idle-failed.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local49-claude-cold.png b/doc/plans/assets/2026-10-10-boat/local49-claude-cold.png
deleted file mode 100644
index 78aff39561d..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local49-claude-cold.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local49-claude-warm.png b/doc/plans/assets/2026-10-10-boat/local49-claude-warm.png
deleted file mode 100644
index 0caa273926b..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local49-claude-warm.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local49-post-idle-failed.png b/doc/plans/assets/2026-10-10-boat/local49-post-idle-failed.png
deleted file mode 100644
index efe236832c1..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local49-post-idle-failed.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local50-claude-cold.png b/doc/plans/assets/2026-10-10-boat/local50-claude-cold.png
deleted file mode 100644
index 2c50e47a61e..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local50-claude-cold.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local50-claude-post-idle.png b/doc/plans/assets/2026-10-10-boat/local50-claude-post-idle.png
deleted file mode 100644
index 80380e29a23..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local50-claude-post-idle.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local50-claude-warm.png b/doc/plans/assets/2026-10-10-boat/local50-claude-warm.png
deleted file mode 100644
index d4915f09c0e..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local50-claude-warm.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local51-claude-cold.png b/doc/plans/assets/2026-10-10-boat/local51-claude-cold.png
deleted file mode 100644
index 69d9e2d7cdd..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local51-claude-cold.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local51-claude-post-idle.png b/doc/plans/assets/2026-10-10-boat/local51-claude-post-idle.png
deleted file mode 100644
index 027ab58e63d..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local51-claude-post-idle.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/local51-claude-warm.png b/doc/plans/assets/2026-10-10-boat/local51-claude-warm.png
deleted file mode 100644
index 21d31ab0fb1..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/local51-claude-warm.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/native-claude-warm.jpg b/doc/plans/assets/2026-10-10-boat/native-claude-warm.jpg
deleted file mode 100644
index b0516d6cf3f..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/native-claude-warm.jpg and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/native-desktop-final-local.jpg b/doc/plans/assets/2026-10-10-boat/native-desktop-final-local.jpg
deleted file mode 100644
index 61c70a04655..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/native-desktop-final-local.jpg and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/native-desktop-keyboard.jpg b/doc/plans/assets/2026-10-10-boat/native-desktop-keyboard.jpg
deleted file mode 100644
index 698186e12b4..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/native-desktop-keyboard.jpg and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/native-vite-after.jpg b/doc/plans/assets/2026-10-10-boat/native-vite-after.jpg
deleted file mode 100644
index dfa6c9ac0a5..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/native-vite-after.jpg and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/native-vite-before.jpg b/doc/plans/assets/2026-10-10-boat/native-vite-before.jpg
deleted file mode 100644
index 23a7dd09254..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/native-vite-before.jpg and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/native-vite-final-after.jpg b/doc/plans/assets/2026-10-10-boat/native-vite-final-after.jpg
deleted file mode 100644
index 1801e344cd5..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/native-vite-final-after.jpg and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/native-vite-final-before.jpg b/doc/plans/assets/2026-10-10-boat/native-vite-final-before.jpg
deleted file mode 100644
index a9ec08bacf5..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/native-vite-final-before.jpg and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging-11-legacy-claude-complete.jpg b/doc/plans/assets/2026-10-10-boat/staging-11-legacy-claude-complete.jpg
deleted file mode 100644
index ac7dc0e8ab9..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging-11-legacy-claude-complete.jpg and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging-11-legacy-codex-complete.jpg b/doc/plans/assets/2026-10-10-boat/staging-11-legacy-codex-complete.jpg
deleted file mode 100644
index 267eb9d261d..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging-11-legacy-codex-complete.jpg and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging-13-direct-desktop-input.png b/doc/plans/assets/2026-10-10-boat/staging-13-direct-desktop-input.png
deleted file mode 100644
index 25bedb95791..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging-13-direct-desktop-input.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging-14-hmr-full-warm-after.png b/doc/plans/assets/2026-10-10-boat/staging-14-hmr-full-warm-after.png
deleted file mode 100644
index e1ba97e5ab9..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging-14-hmr-full-warm-after.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging-14-hmr-rebaseline.png b/doc/plans/assets/2026-10-10-boat/staging-14-hmr-rebaseline.png
deleted file mode 100644
index 21371bf8b46..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging-14-hmr-rebaseline.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging-15-corrected-artifact-visible.png b/doc/plans/assets/2026-10-10-boat/staging-15-corrected-artifact-visible.png
deleted file mode 100644
index d1b27a913b9..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging-15-corrected-artifact-visible.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging-19-claude-warm-proof.png b/doc/plans/assets/2026-10-10-boat/staging-19-claude-warm-proof.png
deleted file mode 100644
index fc630a75e03..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging-19-claude-warm-proof.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging-19-direct-desktop-input.png b/doc/plans/assets/2026-10-10-boat/staging-19-direct-desktop-input.png
deleted file mode 100644
index 7d3385f147c..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging-19-direct-desktop-input.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging-19-hmr-after.png b/doc/plans/assets/2026-10-10-boat/staging-19-hmr-after.png
deleted file mode 100644
index 1b3325bdf81..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging-19-hmr-after.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging-19-hmr-before.png b/doc/plans/assets/2026-10-10-boat/staging-19-hmr-before.png
deleted file mode 100644
index 8fc2a42445f..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging-19-hmr-before.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging-20-hmr-before.png b/doc/plans/assets/2026-10-10-boat/staging-20-hmr-before.png
deleted file mode 100644
index 0855f5008c1..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging-20-hmr-before.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging-20-legacy-claude-proof.png b/doc/plans/assets/2026-10-10-boat/staging-20-legacy-claude-proof.png
deleted file mode 100644
index e209e0cbcfd..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging-20-legacy-claude-proof.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging-20-legacy-codex-proof.png b/doc/plans/assets/2026-10-10-boat/staging-20-legacy-codex-proof.png
deleted file mode 100644
index 1238222fc7e..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging-20-legacy-codex-proof.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging-20-native-computer.png b/doc/plans/assets/2026-10-10-boat/staging-20-native-computer.png
deleted file mode 100644
index d30fa3b12b7..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging-20-native-computer.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging-21-native-quarantine.png b/doc/plans/assets/2026-10-10-boat/staging-21-native-quarantine.png
deleted file mode 100644
index c33c10ab0d9..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging-21-native-quarantine.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging-73b2-human-keyboard.jpg b/doc/plans/assets/2026-10-10-boat/staging-73b2-human-keyboard.jpg
deleted file mode 100644
index ac6a368e192..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging-73b2-human-keyboard.jpg and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging-73b2-native-claude-post-idle.jpg b/doc/plans/assets/2026-10-10-boat/staging-73b2-native-claude-post-idle.jpg
deleted file mode 100644
index c92c7009739..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging-73b2-native-claude-post-idle.jpg and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging-environment-attached.jpg b/doc/plans/assets/2026-10-10-boat/staging-environment-attached.jpg
deleted file mode 100644
index ac204830d4b..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging-environment-attached.jpg and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging-feature-campaign.jpg b/doc/plans/assets/2026-10-10-boat/staging-feature-campaign.jpg
deleted file mode 100644
index b06789bbded..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging-feature-campaign.jpg and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging22-hmr-after.png b/doc/plans/assets/2026-10-10-boat/staging22-hmr-after.png
deleted file mode 100644
index ec1278e6d6c..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging22-hmr-after.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging22-hmr-before.png b/doc/plans/assets/2026-10-10-boat/staging22-hmr-before.png
deleted file mode 100644
index bad75a66d5a..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging22-hmr-before.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging23-direct-desktop-mouse.png b/doc/plans/assets/2026-10-10-boat/staging23-direct-desktop-mouse.png
deleted file mode 100644
index d7b9fce088a..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging23-direct-desktop-mouse.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging23-hmr-after.png b/doc/plans/assets/2026-10-10-boat/staging23-hmr-after.png
deleted file mode 100644
index 5b629dd8669..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging23-hmr-after.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging23-hmr-before.png b/doc/plans/assets/2026-10-10-boat/staging23-hmr-before.png
deleted file mode 100644
index ac203ff0f1c..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging23-hmr-before.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging23-legacy-claude.png b/doc/plans/assets/2026-10-10-boat/staging23-legacy-claude.png
deleted file mode 100644
index 29e1a95b3dc..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging23-legacy-claude.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging23-legacy-codex.png b/doc/plans/assets/2026-10-10-boat/staging23-legacy-codex.png
deleted file mode 100644
index c77c38d43ff..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging23-legacy-codex.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging23-native-claude-cold.png b/doc/plans/assets/2026-10-10-boat/staging23-native-claude-cold.png
deleted file mode 100644
index 5aabd189fff..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging23-native-claude-cold.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging23-native-claude-followup-failed.png b/doc/plans/assets/2026-10-10-boat/staging23-native-claude-followup-failed.png
deleted file mode 100644
index 575d226c05c..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging23-native-claude-followup-failed.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging23-native-computer-example-org.png b/doc/plans/assets/2026-10-10-boat/staging23-native-computer-example-org.png
deleted file mode 100644
index d657508b090..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging23-native-computer-example-org.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging25-codex-setup-409.png b/doc/plans/assets/2026-10-10-boat/staging25-codex-setup-409.png
deleted file mode 100644
index 44cccec1478..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging25-codex-setup-409.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging25-codex-stopped.png b/doc/plans/assets/2026-10-10-boat/staging25-codex-stopped.png
deleted file mode 100644
index 6cb0d9e606c..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging25-codex-stopped.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging25-embedded-input-inconclusive.png b/doc/plans/assets/2026-10-10-boat/staging25-embedded-input-inconclusive.png
deleted file mode 100644
index 33558f5039f..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging25-embedded-input-inconclusive.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging25-native-claude-cold.png b/doc/plans/assets/2026-10-10-boat/staging25-native-claude-cold.png
deleted file mode 100644
index 876e0957c04..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging25-native-claude-cold.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging25-native-claude-post-idle-failed.png b/doc/plans/assets/2026-10-10-boat/staging25-native-claude-post-idle-failed.png
deleted file mode 100644
index ac295ec837c..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging25-native-claude-post-idle-failed.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging25-native-claude-warm.png b/doc/plans/assets/2026-10-10-boat/staging25-native-claude-warm.png
deleted file mode 100644
index 1da68dd193f..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging25-native-claude-warm.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging25-sibling-survived-complete.png b/doc/plans/assets/2026-10-10-boat/staging25-sibling-survived-complete.png
deleted file mode 100644
index 82a98ee74c7..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging25-sibling-survived-complete.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging26-legacy-claude-result.png b/doc/plans/assets/2026-10-10-boat/staging26-legacy-claude-result.png
deleted file mode 100644
index 8100fdc75c3..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging26-legacy-claude-result.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging26-legacy-codex-result.png b/doc/plans/assets/2026-10-10-boat/staging26-legacy-codex-result.png
deleted file mode 100644
index a302b9291ac..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging26-legacy-codex-result.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging27-claude-cold.png b/doc/plans/assets/2026-10-10-boat/staging27-claude-cold.png
deleted file mode 100644
index 67b532ae334..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging27-claude-cold.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging27-claude-post-failed.png b/doc/plans/assets/2026-10-10-boat/staging27-claude-post-failed.png
deleted file mode 100644
index e95423fc60a..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging27-claude-post-failed.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging27-claude-warm.png b/doc/plans/assets/2026-10-10-boat/staging27-claude-warm.png
deleted file mode 100644
index 6d8f13524a1..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging27-claude-warm.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging28-claude-cold.png b/doc/plans/assets/2026-10-10-boat/staging28-claude-cold.png
deleted file mode 100644
index a2ead661d73..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging28-claude-cold.png and /dev/null differ
diff --git a/doc/plans/assets/2026-10-10-boat/staging28-claude-warm.png b/doc/plans/assets/2026-10-10-boat/staging28-claude-warm.png
deleted file mode 100644
index 8b6b5c17e18..00000000000
Binary files a/doc/plans/assets/2026-10-10-boat/staging28-claude-warm.png and /dev/null differ