docs: record local Boat lifecycle pass and staging resume failure

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
DottaandPaperclip committed 2026-10-11 06:55:24 -05:00
1 parent 4d2a2394bc
commit 7b6cef9e6b
17 files changed
+912 -6

No files matched your search

+32 -6
View File
@@ -2,19 +2,19 @@
**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.
## Current source boundary (2026-10-11 10:53 UTC)
## Current source boundary (2026-10-11 11:54 UTC)
| Surface | Source and evidence |
| --- | --- |
| Combined implementation | `dc6ac92f7e`, with code at `4809c1b724`: 53 successful checks, fresh review 5/5, no pending or failed checks and no unresolved threads at 10:09 UTC. Includes the reviewed dependency-loader correction and the disconnect warning after panel closure. |
| Core branch | `8e8999d681b42a19bfee2540c4345193f29f31ca`: 54 successful checks, four skips, fresh review 5/5 and no unresolved threads. One serialized invite test passed its single rerun with unchanged source and timeout. |
| Verified staging source | Deployment27 verified `2605a03f00bc3d7decc8b8d5549ee06f8d77ae85` at 10:19:12.318 UTC. Saved Codex execution, agent computer use, generated preview, state-preserving warm HMR and natural process cleanup passed. Claude cold and warm passed; its saved post-idle continuation failed before provider task work. |
| Local corrected-package qualification | Compatible controller `049c57f64c9addb1ae45132626cf800d1ea41a95` and immutable pack `sha256:f6fbd13c71cdaf93060a7c240cbce1c8dfce2aefe5669db27d254b3b95dfb0a0` passed cold, warm, natural archive, first-attempt saved-session continuation and final natural archive. |
| Combined implementation | Current head `4d2a2394bc` includes the reviewed closed module-fence diagnostic and committed live evidence; its CI is green: 54 passed, fresh review 5/5 and no unresolved threads at 11:16 UTC. Previous head `dc6ac92f7e` had 53 successful checks, fresh review 5/5 and no unresolved threads at 10:09 UTC. |
| Core branch | Current head `8f62eef8f13e199f7a98d8a9ec27d617385e6fde` adds closed module-fence diagnostics; focused checks passed and full CI is green: 54 passed, four skips, fresh review 5/5 and no unresolved threads at 11:16 UTC. Previous head `8e8999d681` had 54 successful checks, four skips, fresh review 5/5 and no unresolved threads. Its serialized invite test passed one rerun with unchanged source and timeout. |
| Verified staging source | Deployment28 verified `70fb0988c0aa760f9c84818aaf3fabbc339854b7` at 11:26:28.642 UTC; its cold and warm turns passed; after natural archive, its saved post-idle continuation failed before task work. Both owners retired and Boat archived automatically. Deployment27 verified `2605a03f00bc3d7decc8b8d5549ee06f8d77ae85` at 10:19:12.318 UTC. Saved Codex execution, agent computer use, generated preview, state-preserving warm HMR and natural process cleanup passed. Claude cold and warm passed; its saved post-idle continuation failed before provider task work. |
| Local corrected-package qualification | Local51 also passed the full lifecycle with the same Node, sidecar and production-lock bytes as staging28, although the package closure differs. Its final archive completed at 11:38:23.197. Earlier compatible controller `049c57f64c9addb1ae45132626cf800d1ea41a95` and immutable pack `sha256:f6fbd13c71cdaf93060a7c240cbce1c8dfce2aefe5669db27d254b3b95dfb0a0` passed cold, warm, natural archive, first-attempt saved-session continuation and final natural archive. |
| Carried source-specific evidence | Deployment26 passed simultaneous legacy admission from archive. Deployment25 passed embedded human mouse/keyboard control in Chrome and exact Codex child cancellation while its Claude sibling remained alive and completed. Earlier local checks cover file editing, detach/reconnect and company boundaries. Orderly restart has bounded observations, not a successful crash-recovery journey. These were not rerun for the later dependency-loader and viewer-warning changes. |
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).
[Green CI and review receipt](assets/2026-10-10-boat/evidence/ci-8e8999-dc6ac9-passed.json), [verified deployment27](assets/2026-10-10-boat/evidence/staging27-deployment.json), [current staging 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](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)
@@ -46,6 +46,32 @@ Production pack `152fcacb` and locally passing `f6fbd13c` have identical sidecar
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).
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 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).
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).
## 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).
## Staging28 post-idle failed; diagnostic loss reproduced (2026-10-11 11:54 UTC)
After the configured warm deadline, Boat stop `stop_990c545c65e555b7` completed at 11:43:20.046 and a provider-only read confirmed archived/healthy state. Ordinary same-task continuation `63b2f385` began at 11:43:56.790, retaining native `5d865ee5`, logical `2ef31e15`, provider `27eb5608` and immutable production pack `9f153a9a`. New owner `4c19a5b1` used boot `e6b172e1`, launch generation1. Its first `turn.start` failed at 11:46:16 with **agent_startup_unverified_module**, admission stage `turn_ownership_verified`, elapsed3745ms. No task work completed.
Automatic recovery ended failed at 11:47:52.806 with `runner_state_identity_mismatch` and `authority_indeterminate`. Both owners retired; Boat stop `stop_8f2b6820c48fafc1` completed at 11:48:05.525 and the provider was independently observed archived/healthy. No guest read, forced stop or saved-session reset was used. The UI displays “The runner stopped (adapter_failed).” [Failed task](assets/2026-10-10-boat/staging28-claude-post-failed.png), [scoped lifecycle and failure receipt](assets/2026-10-10-boat/evidence/staging28-post-idle-failure.json).
Both deployed diagnostic components are present: the sidecar feature check passed, and the controller's packaged Rust binary SHA-256 `0b53f9aa1b478f0d7aadc9c9326f96820c574ba90efc21aea9acf714c446ef06` contains the new module-fence markers with no remote-binary override. The lowercase-correct receipt parser still found no narrow reason. Offline reproduction identified a separate reporting defect: ACPX summarizes stderr by collapsing whitespace, while the new parser expects a newline after the reason. The same error retains its reason before summarization and loses it afterward. A bounded marker correction is being prepared; this explains missing diagnostics, **not the underlying live module rejection**. Staging acceptance remains incomplete.
## 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).
@@ -0,0 +1,202 @@
{
"checkedAt": "2026-10-11T11:16:42.570796+00:00",
"prs": [
{
"pr": 15813,
"head": "8f62eef8f13e199f7a98d8a9ec27d617385e6fde",
"reviewHead": "8f62eef8f13e199f7a98d8a9ec27d617385e6fde",
"mergeable": "CONFLICTING",
"counts": {
"SKIPPED": 4,
"SUCCESS": 54
},
"failures": [],
"focusChecks": [
{
"__typename": "CheckRun",
"completedAt": "2026-10-11T11:06:27Z",
"conclusion": "SUCCESS",
"detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38134080354/job/114454272483",
"name": "ci / e2e shard (8/8)",
"startedAt": "2026-10-11T11:02:34Z",
"status": "COMPLETED",
"workflowName": "PR"
},
{
"__typename": "CheckRun",
"completedAt": "2026-10-11T11:13:13Z",
"conclusion": "SUCCESS",
"detailsUrl": "https://app.greptile.com/paperclip-org-3/github/paperclipai/paperclip/-/pull/15813",
"name": "Greptile Review",
"startedAt": "2026-10-11T11:02:01Z",
"status": "COMPLETED",
"workflowName": ""
}
],
"pending": [],
"unresolved": [],
"moreThreads": false,
"greptileSummary": [
{
"url": "https://github.com/paperclipai/paperclip/pull/15813#issuecomment-6099291617",
"updatedAt": "2026-10-11T11:13:19Z",
"reviewedCommits": [
"8f62eef8f13e199f7a98d8a9ec27d617385e6fde"
],
"score": [
"5"
]
}
]
},
{
"pr": 15804,
"head": "4d2a2394bc029be56263e30c3254080c09be29d3",
"reviewHead": "4d2a2394bc029be56263e30c3254080c09be29d3",
"mergeable": "MERGEABLE",
"counts": {
"CANCELLED": 10,
"SUCCESS": 54
},
"failures": [
{
"__typename": "CheckRun",
"completedAt": "2026-10-11T11:01:57Z",
"conclusion": "CANCELLED",
"detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38134079660/job/114454248692",
"name": "ci / Select trusted runner",
"startedAt": "2026-10-11T11:01:56Z",
"status": "COMPLETED",
"workflowName": "PR"
},
{
"__typename": "CheckRun",
"completedAt": "2026-10-11T11:01:57Z",
"conclusion": "CANCELLED",
"detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38134079660/job/114454253235",
"name": "ci / policy",
"startedAt": "2026-10-11T11:01:57Z",
"status": "COMPLETED",
"workflowName": "PR"
},
{
"__typename": "CheckRun",
"completedAt": "2026-10-11T11:01:57Z",
"conclusion": "CANCELLED",
"detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38134079660/job/114454253514",
"name": "ci / Typecheck + Release Registry",
"startedAt": "2026-10-11T11:01:57Z",
"status": "COMPLETED",
"workflowName": "PR"
},
{
"__typename": "CheckRun",
"completedAt": "2026-10-11T11:01:57Z",
"conclusion": "CANCELLED",
"detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38134079660/job/114454253556",
"name": "ci / General tests (${{ matrix.group_label }})",
"startedAt": "2026-10-11T11:01:57Z",
"status": "COMPLETED",
"workflowName": "PR"
},
{
"__typename": "CheckRun",
"completedAt": "2026-10-11T11:01:57Z",
"conclusion": "CANCELLED",
"detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38134079660/job/114454253012",
"name": "ci / Docker context integrity",
"startedAt": "2026-10-11T11:01:57Z",
"status": "COMPLETED",
"workflowName": "PR"
},
{
"__typename": "CheckRun",
"completedAt": "2026-10-11T11:01:57Z",
"conclusion": "CANCELLED",
"detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38134079660/job/114454253652",
"name": "ci / Verify Paperclip Runner (${{ matrix.lane_label }})",
"startedAt": "2026-10-11T11:01:57Z",
"status": "COMPLETED",
"workflowName": "PR"
},
{
"__typename": "CheckRun",
"completedAt": "2026-10-11T11:01:57Z",
"conclusion": "CANCELLED",
"detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38134079660/job/114454253357",
"name": "ci / Build",
"startedAt": "2026-10-11T11:01:57Z",
"status": "COMPLETED",
"workflowName": "PR"
},
{
"__typename": "CheckRun",
"completedAt": "2026-10-11T11:01:57Z",
"conclusion": "CANCELLED",
"detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38134079660/job/114454253409",
"name": "ci / Verify serialized server suites (${{ matrix.shard_label }})",
"startedAt": "2026-10-11T11:01:57Z",
"status": "COMPLETED",
"workflowName": "PR"
},
{
"__typename": "CheckRun",
"completedAt": "2026-10-11T11:01:57Z",
"conclusion": "CANCELLED",
"detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38134079660/job/114454253366",
"name": "ci / Canary Dry Run",
"startedAt": "2026-10-11T11:01:57Z",
"status": "COMPLETED",
"workflowName": "PR"
},
{
"__typename": "CheckRun",
"completedAt": "2026-10-11T11:01:57Z",
"conclusion": "CANCELLED",
"detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38134079660/job/114454253227",
"name": "ci / e2e shard (${{ matrix.shard_label }})",
"startedAt": "2026-10-11T11:01:57Z",
"status": "COMPLETED",
"workflowName": "PR"
}
],
"focusChecks": [
{
"__typename": "CheckRun",
"completedAt": "2026-10-11T11:06:35Z",
"conclusion": "SUCCESS",
"detailsUrl": "https://github.com/paperclipai/paperclip/actions/runs/38134080049/job/114454273660",
"name": "ci / e2e shard (8/8)",
"startedAt": "2026-10-11T11:02:44Z",
"status": "COMPLETED",
"workflowName": "PR"
},
{
"__typename": "CheckRun",
"completedAt": "2026-10-11T11:09:50Z",
"conclusion": "SUCCESS",
"detailsUrl": "https://app.greptile.com/paperclip-org-3/github/paperclipai/paperclip/-/pull/15804",
"name": "Greptile Review",
"startedAt": "2026-10-11T11:02:02Z",
"status": "COMPLETED",
"workflowName": ""
}
],
"pending": [],
"unresolved": [],
"moreThreads": false,
"greptileSummary": [
{
"url": "https://github.com/paperclipai/paperclip/pull/15804#issuecomment-6098591173",
"updatedAt": "2026-10-11T11:09:57Z",
"reviewedCommits": [
"4d2a2394bc029be56263e30c3254080c09be29d3"
],
"score": [
"5"
]
}
]
}
]
}
@@ -0,0 +1,13 @@
{
"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."
}
@@ -0,0 +1,253 @@
{
"schema": "boat-local-lifecycle-proof/v1",
"proofFiles": [
{
"name": "boat-final-claude.txt",
"sha256": "14fa23911a1a95ede22a93f43fc027934b20a1ba497f8e6120abc8769498e124"
},
{
"name": "boat-claude-framing-proof.txt",
"sha256": "afaf525f4bf0c38614c5df0cf97140e7d1bf9cad96faa293e2317dc82116af4a"
}
],
"observerPolicy": "Controller logs, local database and provider status only. No guest reads, manual wake, or executable prewarming during this lifecycle.",
"manualReset": false,
"oldImmutablePacksChanged": false,
"capturedAt": "2026-10-11T11:39:16.800965+00:00",
"fixture": "local51 / BOA-25",
"controllerSource": "4d8b1cb179681d2bbfb16b42b4def81cb95107ac",
"providerPack": {
"source": "8f62eef8f13e199f7a98d8a9ec27d617385e6fde",
"digest": "sha256:8567c47c5da670735643e47e45abbafeb2626098b3a30d4c86dbf7c40c1d100c",
"hasClosedModuleFenceDiagnostics": true,
"hasDependencyCtimeRereadFix": true
},
"runnerArtifact": {
"source": "8f62eef8f13e199f7a98d8a9ec27d617385e6fde",
"sha256": "52fad9d1a6548d7fca3e009c3a87e063ec19c9619229ea3568a40a14fcf68c06",
"proof": "Selected immutable artifact; no guest executable hash probe."
},
"nodeRuntime": {
"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."
},
"upload": {
"diagnosticsEnabled": true,
"phaseCounts": {
"chunk_queued": 301,
"upload_admitted": 301,
"ssh_spawned": 301,
"chunk_completed": 301
},
"packMiB": 1167,
"startedAt": "2026-10-11T11:11:33.452Z",
"completedAt": "2026-10-11T11:19:05.742Z",
"maxQueuedAndActiveMs": 107094
},
"nativeSessionId": "fb8d0432-f85e-4533-bb14-4461d8e65920",
"logicalRunnerId": "e0d157dc-4816-4314-ab01-2e71b92fbe46",
"providerSessionId": "1dfe4ace-a703-40ba-99fb-0bb7c059cbeb",
"warmOwner": {
"id": "8c126cce-f2e7-4c20-92a0-cd93204f2601",
"kind": "runner",
"phase": "warm",
"runId": "7c09cbc4-04a6-4cc8-9673-64716742dee1",
"deadline": "2026-10-11T11:28:17.491Z",
"generation": 2,
"process": {
"nonce": "fe875706-ddb6-4652-b702-d6c4af40c4a0",
"bootId": "96680642-5598-42f4-a057-63c1a6c84809",
"unitName": "paperclip-8c126cce-f2e7-4c20-92a0-cd93204f2601.service",
"launchGeneration": 1
}
},
"proofEvidence": "Parent observed both original hashes in actual browser tool output: cold host box-node-123acd24eda11a17 UTC11:20:34; warm same host UTC11:22:59; post-idle new host box-node-b24a7a5a2a0aebba UTC11:32:19. All hashes exactly match proofFiles.",
"naturalArchive": {
"status": "completed",
"warmDeadline": "2026-10-11T11:28:17.491Z",
"noLiveOwnersObservedAt": "2026-10-11T11:29:01.268Z",
"providerObservedAt": "2026-10-11T11:29:01.886Z",
"providerState": "archived",
"providerHealth": "ok",
"stopId": "stop_e3ce2575e3599273",
"stopCompletedAt": "2026-10-11T11:28:47.697Z",
"guestReads": false
},
"postIdle": {
"id": "cc7ecb89-1406-446b-820f-2ac1f355bb13",
"status": "succeeded",
"started_at": "2026-10-11T11:29:21.616Z",
"finished_at": "2026-10-11T11:32:48.617Z",
"native_session_id": "fb8d0432-f85e-4533-bb14-4461d8e65920",
"runner_instance_id": "e0d157dc-4816-4314-ab01-2e71b92fbe46",
"session_id_before": "1dfe4ace-a703-40ba-99fb-0bb7c059cbeb",
"session_id_after": "1dfe4ace-a703-40ba-99fb-0bb7c059cbeb",
"error_code": null,
"executionRecovery": null,
"firstAttemptSucceeded": true,
"retainedNativeSession": true,
"retainedProviderSession": true,
"retainedLogicalRunner": true,
"physicalOwnerChanged": true,
"bootChanged": true,
"owner": {
"id": "f40ee221-2f0f-4884-8bed-10ce2b93b8f2",
"kind": "runner",
"phase": "warm",
"runId": "cc7ecb89-1406-446b-820f-2ac1f355bb13",
"deadline": "2026-10-11T11:37:48.456Z",
"generation": 1,
"process": {
"nonce": "336ffbaf-c189-4f0c-b629-604fbfbf6954",
"bootId": "6cec8d5a-0085-4ef1-b82b-e8cba5d3152b",
"unitName": "paperclip-f40ee221-2f0f-4884-8bed-10ce2b93b8f2.service",
"launchGeneration": 1
}
},
"stages": [
{
"code": "admission_binding",
"elapsedMs": 0
},
{
"code": "admission_installation",
"elapsedMs": 1
},
{
"code": "admission_sandbox",
"elapsedMs": 1768
},
{
"code": "admission_lifetime",
"elapsedMs": 1815
},
{
"code": "admission_agent_files",
"elapsedMs": 1820
},
{
"code": "admission_skills",
"elapsedMs": 1820
},
{
"code": "admission_command",
"elapsedMs": 1830
},
{
"code": "admission_tool_bridge",
"elapsedMs": 1953
},
{
"code": "admission_handshake",
"elapsedMs": 2020
},
{
"code": "admission_verification",
"elapsedMs": 2028
},
{
"code": "admission_ready",
"elapsedMs": 2029
},
{
"code": "admission_turn_prepare",
"elapsedMs": 3194
},
{
"code": "admission_turn_spawn",
"elapsedMs": 3199
},
{
"code": "admission_turn_spawned",
"elapsedMs": 3202
},
{
"code": "admission_turn_initialize",
"elapsedMs": 3206
},
{
"code": "admission_turn_initialized",
"elapsedMs": 3478
},
{
"code": "admission_turn_session_resume",
"elapsedMs": 3479
},
{
"code": "admission_turn_session_resumed",
"elapsedMs": 4583
},
{
"code": "admission_turn_prompt_submitted",
"elapsedMs": 4626
},
{
"code": "admission_turn_ownership",
"elapsedMs": 4626
},
{
"code": "admission_turn_ownership_verified",
"elapsedMs": 4626
}
],
"closedModuleFences": [],
"connectionCount": 1,
"browserProof": {
"host": "box-node-b24a7a5a2a0aebba",
"hostUtc": "2026-10-11T11:32:19Z",
"originalHashesMatch": true,
"screenshot": "local51-claude-post-idle.png"
}
},
"cold": {
"id": "6f0e1d13-8a3f-424c-91b2-99cff411cd83",
"status": "succeeded",
"started_at": "2026-10-11T11:07:40.320Z",
"finished_at": "2026-10-11T11:20:54.857Z",
"native_session_id": "fb8d0432-f85e-4533-bb14-4461d8e65920",
"runner_instance_id": "e0d157dc-4816-4314-ab01-2e71b92fbe46",
"session_id_before": null,
"session_id_after": "1dfe4ace-a703-40ba-99fb-0bb7c059cbeb",
"error_code": null
},
"warm": {
"id": "7c09cbc4-04a6-4cc8-9673-64716742dee1",
"status": "succeeded",
"started_at": "2026-10-11T11:21:43.665Z",
"finished_at": "2026-10-11T11:23:17.562Z",
"native_session_id": "fb8d0432-f85e-4533-bb14-4461d8e65920",
"runner_instance_id": "e0d157dc-4816-4314-ab01-2e71b92fbe46",
"session_id_before": "1dfe4ace-a703-40ba-99fb-0bb7c059cbeb",
"session_id_after": "1dfe4ace-a703-40ba-99fb-0bb7c059cbeb",
"error_code": null
},
"finalArchive": {
"status": "completed",
"warmDeadline": "2026-10-11T11:37:48.456Z",
"retiringObservedAt": "2026-10-11T11:37:52.293Z",
"noLiveOwnersObservedAt": "2026-10-11T11:39:04.109Z",
"providerObservedAt": "2026-10-11T11:39:08.377Z",
"providerState": "archived",
"providerHealth": "ok",
"stopId": "stop_19831ed1d52375ae",
"stopCompletedAt": "2026-10-11T11:38:23.197Z",
"guestReads": false
},
"outcome": "passed_cold_warm_natural_archive_saved_session_restore_and_final_archive",
"stagingComparison": {
"nodeBytesEqual": true,
"productionLockBytesEqual": true,
"sidecarBytesEqual": true,
"overallPackDigestsDiffer": true,
"stagingLifecyclePassClaimed": false
}
}
@@ -0,0 +1,16 @@
{
"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
}
@@ -0,0 +1,26 @@
{
"observedAt": "2026-10-11T11:30:47.071623+00:00",
"localDigest": "sha256:8567c47c5da670735643e47e45abbafeb2626098b3a30d4c86dbf7c40c1d100c",
"stagingDigest": "sha256:9f153a9abdf9af51ae2e988d4079b3c6405723397a167ef6707a740f3074be3a",
"guestReads": false,
"comparisons": {
"nodeCommand": {
"localExpected": "sha256:7fde7b8afa198da66257f42ee2001d874c7355631e6d1579a5fb5ef1f246df4c",
"localActual": "sha256:7fde7b8afa198da66257f42ee2001d874c7355631e6d1579a5fb5ef1f246df4c",
"stagingActual": "sha256:7fde7b8afa198da66257f42ee2001d874c7355631e6d1579a5fb5ef1f246df4c",
"equal": true
},
"productionLock": {
"localExpected": "sha256:df5143e56269823c040be51a5e45bd53cadb60fecb50fb09ba2848f23e621b67",
"localActual": "sha256:df5143e56269823c040be51a5e45bd53cadb60fecb50fb09ba2848f23e621b67",
"stagingActual": "sha256:df5143e56269823c040be51a5e45bd53cadb60fecb50fb09ba2848f23e621b67",
"equal": true
},
"acpxSidecar": {
"localExpected": "sha256:c6955c81954a515e768d5dd98216b6d9087f825356d21f83c4fecbef4ff4b414",
"localActual": "sha256:c6955c81954a515e768d5dd98216b6d9087f825356d21f83c4fecbef4ff4b414",
"stagingActual": "sha256:c6955c81954a515e768d5dd98216b6d9087f825356d21f83c4fecbef4ff4b414",
"equal": true
}
}
}
@@ -0,0 +1,15 @@
{
"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
}
}
@@ -0,0 +1,59 @@
{
"observedAt": "2026-10-11T11:29:54.202Z",
"schema": "paperclip-runner/remote-provider-pack/v1",
"digest": "sha256:9f153a9abdf9af51ae2e988d4079b3c6405723397a167ef6707a740f3074be3a",
"sourceRevision": "70fb0988c0aa760f9c84818aaf3fabbc339854b7",
"target": {
"platform": "linux",
"architecture": "x64"
},
"pins": {
"nodeMinimum": "24.11.0",
"codex": "0.160.0",
"opencode": "1.18.34",
"acpx": "0.13.1",
"grok": "1.0.13",
"claudeAcp": "0.73.0",
"codexAcp": "1.6.2"
},
"distDigest": "sha256:b21d5793a177edd72d46446e21d82a9cbb209fe1b8ca911bae4f4f0c66bf639a",
"bridgeDigest": "sha256:9cf3ab7716a4ca0333a56952f85f374a679fafe415f6e8fb632eede15386177f",
"claudeProfileDigest": "sha256:9d73d1f0f121fb96cc8badb28c22d5bff02d8582eb2e40360a81c189e1b9422a",
"artifacts": {
"nodeCommand": {
"expectedSha256": "sha256:7fde7b8afa198da66257f42ee2001d874c7355631e6d1579a5fb5ef1f246df4c",
"actualSha256": "sha256:7fde7b8afa198da66257f42ee2001d874c7355631e6d1579a5fb5ef1f246df4c"
},
"productionLock": {
"expectedSha256": "sha256:df5143e56269823c040be51a5e45bd53cadb60fecb50fb09ba2848f23e621b67",
"actualSha256": "sha256:df5143e56269823c040be51a5e45bd53cadb60fecb50fb09ba2848f23e621b67"
},
"acpxSidecar": {
"expectedSha256": "sha256:c6955c81954a515e768d5dd98216b6d9087f825356d21f83c4fecbef4ff4b414",
"actualSha256": "sha256:c6955c81954a515e768d5dd98216b6d9087f825356d21f83c4fecbef4ff4b414"
}
},
"packages": {
"node": {
"available": false
},
"acpx": {
"version": "0.13.1"
},
"@agentclientprotocol/claude-agent-acp": {
"version": "0.73.0"
},
"@anthropic-ai/claude-agent-sdk": {
"available": false
}
},
"loaderFeatures": {
"closedModuleFence": true,
"boundedReread": true,
"readContinuity": true,
"uidGidLinkCount": true,
"fatalImportMarker": true
},
"featureObservedAt": "2026-10-11T11:30:22.901Z",
"featureProbeCorrection": "Original probe searched the absent formatted moduleFence= string; corrected probe checks the actual bundled error.moduleFence and fixed REPEATED_CTIME enum."
}
@@ -0,0 +1,14 @@
{
"version": 1,
"requestId": "d28faf91-db3f-4a80-a28a-5a0a1c45ac2e",
"sha": "70fb0988c0aa760f9c84818aaf3fabbc339854b7",
"stage": "deploy",
"hostname": "boat.staging.paperclip.app",
"environment": "staging",
"status": "succeeded",
"verification": "verified",
"appVersion": "sha-70fb0988c0aa760f9c84818aaf3fabbc339854b7-cloud",
"targetStackId": "stack-pool-474c42a4b545",
"campaignUrl": "https://admin-staging.paperclip.app/admin/fleet/campaigns/fleet-campaign-1791706429574",
"checkedAt": "2026-10-11T11:26:28.642Z"
}
@@ -0,0 +1,210 @@
{
"source": "70fb0988c0aa760f9c84818aaf3fabbc339854b7",
"qualification": "failed",
"notes": [
"Primary turn rejected agent_startup_unverified_module before task work.",
"Final automatic recovery failure is distinct from primary failure.",
"New Rust and sidecar diagnostic markers present; specific module fence was not recovered.",
"No manual stop, guest idle probe, or session reset."
],
"idleController": {
"observedAt": "2026-10-11T11:43:37.072Z",
"phase": "idle_deadline",
"guestReads": false,
"runs": [
{
"id": "d74c8766-1361-4cf2-b08f-1ebf5c5dba7a",
"status": "succeeded",
"startedAt": "2026-10-11T11:36:29.715Z",
"finishedAt": "2026-10-11T11:38:00.342Z",
"nativeSessionId": "5d865ee5-21bd-4566-bc47-0e29a8c3bda5",
"runnerInstanceId": "2ef31e15-7486-4ea5-a721-bbc00d8e7051",
"matchesOriginalNativeSession": true,
"matchesOriginalLogicalRunner": true,
"moduleFences": [],
"knownErrorCodes": []
},
{
"id": "1d103c90-4ceb-4ba9-9a10-60f61a2947b6",
"status": "succeeded",
"startedAt": "2026-10-11T11:27:14.807Z",
"finishedAt": "2026-10-11T11:35:25.146Z",
"nativeSessionId": "5d865ee5-21bd-4566-bc47-0e29a8c3bda5",
"runnerInstanceId": "2ef31e15-7486-4ea5-a721-bbc00d8e7051",
"matchesOriginalNativeSession": true,
"matchesOriginalLogicalRunner": true,
"moduleFences": [],
"knownErrorCodes": []
}
],
"taskSessions": [
{
"lastRunId": "d74c8766-1361-4cf2-b08f-1ebf5c5dba7a",
"displayId": "27eb5608-f9cd-4cb5-87a1-6d56a0a6ae3c",
"ids": {
"sessionId": "5d865ee5-21bd-4566-bc47-0e29a8c3bda5"
},
"updatedAt": "2026-10-11T11:38:02.428Z"
}
],
"owners": [
{
"id": "c0a3782c-e5dc-452f-a8c8-0a496747d80e",
"phase": "retired",
"deadline": null,
"boot": "8598895f-5a2c-4962-925b-b5d1776e52d4",
"launch": 1
}
],
"controller": [
{
"stateKey": "078f065734698e80f04582c216b2eece5739cbcda27e6c04e565f17c175972db",
"pack": "sha256:9f153a9abdf9af51ae2e988d4079b3c6405723397a167ef6707a740f3074be3a",
"commands": [
{
"controllerSeq": 1,
"moduleFences": [],
"issuedAt": "2026-10-11T11:37:36.503Z",
"status": "completed",
"type": "turn.start"
},
{
"controllerSeq": 2,
"moduleFences": [],
"issuedAt": "2026-10-11T11:37:53.565Z",
"status": "completed",
"type": "semantic_tool.result"
},
{
"controllerSeq": 3,
"moduleFences": [],
"issuedAt": "2026-10-11T11:43:00.645Z",
"status": "completed",
"type": "runner.drain"
},
{
"controllerSeq": 4,
"moduleFences": [],
"issuedAt": "2026-10-11T11:43:00.778Z",
"status": "completed",
"type": "runner.suspend"
}
],
"runnerPresent": false,
"lifecycle": null
}
]
},
"archivedBeforeResume": {
"observedAt": "2026-10-11T11:43:21.994Z",
"providerId": "bx_b8sawfyp",
"guestRead": false,
"state": "archived",
"health": "ok",
"stop": {
"id": "stop_990c545c65e555b7",
"status": "completed",
"timestamps": {
"endedAt": "2026-10-11T11:43:20.046Z"
},
"errorPresent": false
}
},
"primaryFailure": {
"observedAt": "2026-10-11T11:47:42.539Z",
"guestReads": false,
"commands": [
{
"seq": 4,
"status": "failed",
"moduleFences": [],
"classifications": [
"agent_startup_unverified_module"
],
"stage": "turn_ownership_verified",
"elapsedMs": 3745
}
]
},
"finalOutcome": {
"observedAt": "2026-10-11T11:51:49.284Z",
"phase": "post_idle_observation",
"guestReads": false,
"runs": [
{
"id": "63b2f385-cd6b-4779-bdcc-78a38b39af4a",
"providerBefore": "27eb5608-f9cd-4cb5-87a1-6d56a0a6ae3c",
"providerAfter": "27eb5608-f9cd-4cb5-87a1-6d56a0a6ae3c",
"recoveryPresent": false,
"status": "failed",
"startedAt": "2026-10-11T11:43:56.790Z",
"finishedAt": "2026-10-11T11:47:52.806Z",
"nativeSessionId": "5d865ee5-21bd-4566-bc47-0e29a8c3bda5",
"runnerInstanceId": "2ef31e15-7486-4ea5-a721-bbc00d8e7051",
"matchesOriginalNativeSession": true,
"matchesOriginalLogicalRunner": true,
"moduleFences": [],
"knownErrorCodes": [
"runner_state_identity_mismatch",
"authority_indeterminate"
]
}
],
"taskSessions": [
{
"lastRunId": "63b2f385-cd6b-4779-bdcc-78a38b39af4a",
"displayId": "27eb5608-f9cd-4cb5-87a1-6d56a0a6ae3c",
"ids": {
"sessionId": "5d865ee5-21bd-4566-bc47-0e29a8c3bda5"
},
"updatedAt": "2026-10-11T11:47:53.652Z"
}
],
"owners": [
{
"id": "4c19a5b1-b6aa-4cfb-aea2-ad3455428b40",
"phase": "retired",
"deadline": null,
"boot": "e6b172e1-51ca-44ff-8f53-ffa9756c3075",
"launch": 1
},
{
"id": "cdfc1fe4-f120-4ec7-8417-5a0c9b66313a",
"phase": "retired",
"deadline": null,
"boot": null,
"launch": null
}
],
"controller": []
},
"finalArchive": {
"observedAt": "2026-10-11T11:52:15.921Z",
"providerId": "bx_b8sawfyp",
"guestRead": false,
"state": "archived",
"health": "ok",
"stop": {
"id": "stop_8f2b6820c48fafc1",
"status": "completed",
"timestamps": {
"endedAt": "2026-10-11T11:48:05.525Z"
},
"errorPresent": false
}
},
"deployedRunner": {
"observedAt": "2026-10-11T11:52:31.724Z",
"guestReads": false,
"overridePresent": false,
"binaries": [
{
"path": "/app/packages/paperclip-runner/dist/bin/paperclip-runnerd",
"sha256": "0b53f9aa1b478f0d7aadc9c9326f96820c574ba90efc21aea9acf714c446ef06",
"bytes": 37633472,
"moduleFenceMarker": true,
"repeatedCtimeMarker": true
}
]
}
}
@@ -0,0 +1,72 @@
{
"observedAt": "2026-10-11T11:38:35.471Z",
"phase": "warm_complete",
"guestReads": false,
"runs": [
{
"id": "d74c8766-1361-4cf2-b08f-1ebf5c5dba7a",
"status": "succeeded",
"startedAt": "2026-10-11T11:36:29.715Z",
"finishedAt": "2026-10-11T11:38:00.342Z",
"nativeSessionId": "5d865ee5-21bd-4566-bc47-0e29a8c3bda5",
"runnerInstanceId": "2ef31e15-7486-4ea5-a721-bbc00d8e7051",
"matchesOriginalNativeSession": true,
"matchesOriginalLogicalRunner": true,
"moduleFences": [],
"knownErrorCodes": []
},
{
"id": "1d103c90-4ceb-4ba9-9a10-60f61a2947b6",
"status": "succeeded",
"startedAt": "2026-10-11T11:27:14.807Z",
"finishedAt": "2026-10-11T11:35:25.146Z",
"nativeSessionId": "5d865ee5-21bd-4566-bc47-0e29a8c3bda5",
"runnerInstanceId": "2ef31e15-7486-4ea5-a721-bbc00d8e7051",
"matchesOriginalNativeSession": true,
"matchesOriginalLogicalRunner": true,
"moduleFences": [],
"knownErrorCodes": []
}
],
"taskSessions": [
{
"lastRunId": "d74c8766-1361-4cf2-b08f-1ebf5c5dba7a",
"displayId": "27eb5608-f9cd-4cb5-87a1-6d56a0a6ae3c",
"ids": {
"sessionId": "5d865ee5-21bd-4566-bc47-0e29a8c3bda5"
},
"updatedAt": "2026-10-11T11:38:02.428Z"
}
],
"owners": [
{
"id": "c0a3782c-e5dc-452f-a8c8-0a496747d80e",
"phase": "warm",
"deadline": "2026-10-11T11:42:59.271Z",
"boot": "8598895f-5a2c-4962-925b-b5d1776e52d4",
"launch": 1
}
],
"controller": [
{
"stateKey": "078f065734698e80f04582c216b2eece5739cbcda27e6c04e565f17c175972db",
"pack": "sha256:9f153a9abdf9af51ae2e988d4079b3c6405723397a167ef6707a740f3074be3a",
"commands": [
{
"controllerSeq": 1,
"issuedAt": "2026-10-11T11:37:36.503Z",
"status": "completed",
"type": "turn.start"
},
{
"controllerSeq": 2,
"issuedAt": "2026-10-11T11:37:53.565Z",
"status": "completed",
"type": "semantic_tool.result"
}
],
"runnerPresent": false,
"lifecycle": null
}
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB