From 731a9fa624e67900e07d9028ec63a83a67838995 Mon Sep 17 00:00:00 2001 From: Dotta Date: Sun, 11 Oct 2026 09:38:38 -0500 Subject: [PATCH] Record reviewed Boat corrections and final integration checks Co-Authored-By: Paperclip --- doc/plans/2026-10-10-boat-validation.md | 8 ++ .../review-corrections-verification.json | 115 ++++++++++++++++++ 2 files changed, 123 insertions(+) create mode 100644 doc/plans/assets/2026-10-10-boat/evidence/review-corrections-verification.json diff --git a/doc/plans/2026-10-10-boat-validation.md b/doc/plans/2026-10-10-boat-validation.md index 9b14dc0eb3f..c4a7ca5912e 100644 --- a/doc/plans/2026-10-10-boat-validation.md +++ b/doc/plans/2026-10-10-boat-validation.md @@ -4,6 +4,14 @@ 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. +## Review corrections integrated (2026-10-11 14:39 UTC) + +Core `f527d43a68` includes the reviewed task-claim, empty-directory and viewer-preparation corrections. The exact merged core passed 252 focused cases across seven files and normal server typecheck; staging `c91eab5d07` passed 267 across eight files and server typecheck, with no skips. All 338 staging migration blobs remain unchanged. Combined `795f8e1b73` passed full workspace typecheck and build. [Grouped, source-bound verification](assets/2026-10-10-boat/evidence/review-corrections-verification.json). The earlier red/green runs overlap these integration runs and are not summed. + +The stack now contains 5 fixture, 77 runtime, 96 core and 80 UI files before this evidence update. Runtime `0c4bb6fa57` received a fresh 5/5 review; its remaining CI was still running at this observation. Core and UI require new exact-head checks. Earlier UI `f6f42a8df0` failed a chat integration shard; a narrow clean reproduction passed both selected cases, but the CI failure cause remains unproven. + +Deployment30 is rolling out `c2861407ff` with independent-file packaging and ordered retirement. It is not yet verified serving. Full Claude cold/warm/archive/saved-resume acceptance remains pending. The next staging candidate `c91eab5d07` adds the latest review corrections; its preview image is building without changing the running controller. Nothing is merged to master. + ## Current source boundary (2026-10-11 14:12 UTC) **The live independent-file control passed; full Claude package acceptance is still pending.** The four-file experiment ran on unchanged staging29 source `05f3725af838b5a074707df1d6ed1e193bdfe49e`. After normal warm timeout and completed archive, the same saved Codex task read each file once through the unchanged bounded-read guard. The hardlinked control reproduced **nlink 1→2 / LINK_COUNT rejection**. Both independent files passed with unchanged hashes and nlink 1. Their permitted second read verified the same bytes after ctime changed. The complete tool-output JSON was verified against its persisted SHA-256; the stored 4096-byte prefix alone was insufficient. diff --git a/doc/plans/assets/2026-10-10-boat/evidence/review-corrections-verification.json b/doc/plans/assets/2026-10-10-boat/evidence/review-corrections-verification.json new file mode 100644 index 00000000000..6d1c4406ce5 --- /dev/null +++ b/doc/plans/assets/2026-10-10-boat/evidence/review-corrections-verification.json @@ -0,0 +1,115 @@ +{ + "capturedAt": "2026-10-11T14:36:20.613777+00:00", + "heads": { + "runtime": "0c4bb6fa57bb7c5c3090291617e5b95d93d77a92", + "core": "f527d43a68ed111d7e8a846d2b4de90f85d61556", + "ui": "795f8e1b73332b118558e267069eab3db4bbc91d" + }, + "stackDiffCounts": { + "fixture": 5, + "runtime": 77, + "core": 96, + "ui": 80 + }, + "testGroups": [ + { + "name": "P2 empty directories and viewer preparation", + "source": "6cfdcbb659ba82da5aeccbdc14c3eb092766c6bf", + "focusedPassed": 134, + "adjacentPassed": 91, + "groupTotal": 225, + "redFailures": { + "directories": 2, + "viewer": 4 + }, + "serverTypecheck": "passed", + "independentReview": "approved by live_state_probe", + "receipt": "computer-empty-directories-viewer-preparation-verification.json" + }, + { + "name": "P1 stale task-lock recovery", + "source": "182131171db66fa3864706787cdeca50375eddc3", + "passed": 75, + "redFailures": 2, + "serverTypecheck": "passed", + "independentReview": "approved by live_state_probe", + "receipt": "computer-wait-stale-lock-verification.json" + }, + { + "name": "Prerequisite contract merge", + "source": "bc3e2407cd1a60dafc002f6baa2303d02e682cc9", + "passed": 143, + "serverTypecheck": "passed", + "receipt": "computer-wait-stale-lock-verification.json", + "overlap": "Includes P1/retry coverage; do not add to the preceding75." + } + ], + "aggregatePolicy": "No stack-wide total is asserted.225 is only the disjoint134+91 P2 suites, not a whole-repository pass.75 and143 overlap.", + "limits": [ + "Historical full Darwin command remains failed:34914passed/24failed/338skipped; not rerun as a whole.", + "Full production Claude cold/warm/archive/saved-resume qualification remains pending.", + "Exact-head CI and fresh Greptile reviews remain pending.", + "Draft files only; no PR posting, git edits, push or deployment." + ], + "drafts": [ + "pr15813-review-corrections-draft.md", + "pr15804-review-corrections-draft.md" + ], + "finalIntegration": { + "coreHead": "f527d43a68ed111d7e8a846d2b4de90f85d61556", + "stagingHead": "c91eab5d0716f269091c30f024b043af5d98a540", + "prerequisiteHead": "0c4bb6fa57bb7c5c3090291617e5b95d93d77a92", + "coreChangedFiles": 96, + "stagingMigrationBase": "05f3725af838b5a074707df1d6ed1e193bdfe49e", + "migrationBlobCountBefore": 338, + "migrationBlobCountAfter": 338, + "migrationBlobsIdentical": true, + "changedMigrationPaths": [], + "worktreeStatus": { + "core": "", + "staging": "" + }, + "verification": { + "core": { + "testsPassed": 252, + "testFilesPassed": 7, + "testsFailed": 0, + "testsSkipped": 0, + "testExitCode": 0, + "testLog": "final-core-f527-integration.log", + "normalServerTypecheckExitCode": 0, + "typecheckLog": "final-core-f527-tsc.log", + "finalHead": "f527d43a68ed111d7e8a846d2b4de90f85d61556", + "finalWorktreeStatus": "" + }, + "staging": { + "testsPassed": 267, + "testFilesPassed": 8, + "testsFailed": 0, + "testsSkipped": 0, + "testExitCode": 0, + "testLog": "final-stage-c91-integration.log", + "normalServerTypecheckExitCode": 0, + "typecheckLog": "final-stage-c91-tsc.log", + "finalHead": "c91eab5d0716f269091c30f024b043af5d98a540", + "finalWorktreeStatus": "" + } + }, + "scope": "Boat adapter and computer lifecycle service, persistent home seeding, native recovery lifecycle, computer-wait retry and stale-lock sweep, computer routes (plus staging route-selection suite).", + "databaseSafety": "Only isolated boat_wait_test_UUID databases on the task-owned PostgreSQL instance; each tree used its own migration registry. No product database access or provider/guest operations.", + "qualificationLimit": "Focused integration and normal server typecheck only. No broad full-suite rerun, deployment, push, or live acceptance claim." + }, + "combinedTypecheck": { + "source": "795f8e1b73332b118558e267069eab3db4bbc91d", + "command": "pnpm -r typecheck", + "exitCode": 0, + "log": "combined-795f-typecheck-network.log", + "sandboxAttempt": "Registry signature lookup could not reach registry; normal network-enabled retry passed without bypass." + }, + "combinedBuild": { + "source": "795f8e1b73332b118558e267069eab3db4bbc91d", + "command": "pnpm build", + "exitCode": 0, + "log": "combined-795f-build.log" + } +}