Revert #1111: ACPX resume fails because Claude transcript is per-run (REN-563) #1113

Merged
Ghost merged 1 commits from atlas/ren-563-revert-1111 into master 2026-10-03 20:09:34 +00:00

What

Reverts #1111 (3f3305cf): removes ren-563-acpx-managed-home-fingerprint.patch and its README paragraph.

Why

#1111 made the ACPX session fingerprint stable, so the engine now resumes the previous Claude session. But the Claude transcript lives in the per-run CLAUDE_CONFIG_DIR (/tmp/paperclip-ai-*/provider/projects/...), and the server deletes it after each run. For persistent sessions acpx 0.12.0 uses resumePolicy: same-session-only, so the turn throws SessionResumeRequiredError ("Persistent ACP session 8cb37320 could not be resumed: Resource not found") instead of starting a fresh session. Run 12a2a911 failed this way. Every second run of a Claude agent on the same card fails once before the retry. Before #1111 the mismatch quietly started a fresh session.

Verified

prepare.sh applies the remaining 3 patches cleanly. The image goes back to the state before #1111 (build.1791047004).

Revert

Revert this PR (re-applies #1111). Do not do that until the transcript is persisted across runs (REN-563 fix-forward).

Merging restarts the Paperclip server. Home Assistant is not touched.

🤖 Generated with Claude Code

## What Reverts #1111 (3f3305cf): removes `ren-563-acpx-managed-home-fingerprint.patch` and its README paragraph. ## Why #1111 made the ACPX session fingerprint stable, so the engine now resumes the previous Claude session. But the Claude transcript lives in the per-run `CLAUDE_CONFIG_DIR` (`/tmp/paperclip-ai-*/provider/projects/...`), and the server deletes it after each run. For persistent sessions acpx 0.12.0 uses `resumePolicy: same-session-only`, so the turn throws `SessionResumeRequiredError` ("Persistent ACP session 8cb37320 could not be resumed: Resource not found") instead of starting a fresh session. Run 12a2a911 failed this way. Every second run of a Claude agent on the same card fails once before the retry. Before #1111 the mismatch quietly started a fresh session. ## Verified `prepare.sh` applies the remaining 3 patches cleanly. The image goes back to the state before #1111 (build.1791047004). ## Revert Revert this PR (re-applies #1111). Do not do that until the transcript is persisted across runs (REN-563 fix-forward). Merging restarts the Paperclip server. Home Assistant is not touched. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Ghost added 1 commit 2026-10-03 20:08:42 +00:00
Revert "paperclip: keep per-run managed AI home out of ACPX session fingerprint (REN-563)"
ci/woodpecker/pr/pr-review Pipeline was successful
ci/woodpecker/pr/ci-scripts-test Pipeline was successful
f68ac16137
This reverts #1111 (3f3305cf). With the fingerprint stable, the ACPX engine
now resumes the previous Claude session, but the Claude transcript lives in
the per-run CLAUDE_CONFIG_DIR, which the server deletes after each run. acpx
uses resumePolicy same-session-only for persistent sessions, so the turn
fails ("Persistent ACP session ... could not be resumed: Resource not
found") instead of falling back to a fresh session (run 12a2a911).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Ghost approved these changes 2026-10-03 20:09:33 +00:00
Ghost left a comment

Approved on f68ac16137. Checked: diff vs master removes only the REN-563 patch and README paragraph (2 files, -83); ci/ tree equals 3f3305cf^1 (pre-#1111) exactly. Premise: run 12a2a911 failed 20:05Z with 'Persistent ACP session ... could not be resumed', the only such failure, after #1111 merged 19:09Z. Restarts Paperclip only; HA untouched; revertable.

Approved on f68ac16137f75c6a9c5b57ba5380b1bfcfa335a3. Checked: diff vs master removes only the REN-563 patch and README paragraph (2 files, -83); ci/ tree equals 3f3305cf^1 (pre-#1111) exactly. Premise: run 12a2a911 failed 20:05Z with 'Persistent ACP session ... could not be resumed', the only such failure, after #1111 merged 19:09Z. Restarts Paperclip only; HA untouched; revertable.
Ghost merged commit a0ed9c0d17 into master 2026-10-03 20:09:34 +00:00
review-bot left a comment
Member

🤖 Automated review — model CLI default (complexity: unknown), commit f68ac16137f75c6a9c5b57ba5380b1bfcfa335a3.

Advisory review by the review-bot pipeline. It never approves; a human merges. Push new commits to get a fresh review.


Summary

Pure revert of #1111 (REN-563): removes ci/images/paperclip/ren-563-acpx-managed-home-fingerprint.patch (which normalized the per-run managed-AI home paths out of the ACPX session fingerprint) and the matching README paragraph. Rationale given is sound and externally falsifiable: ren-563-acpx-managed-home-fingerprint.patch made the fingerprint stable across runs, but the Claude transcript it then tries to resume lives under the per-run CLAUDE_CONFIG_DIR, which the server deletes after each run — so resume throws SessionResumeRequiredError instead of silently starting fresh. The diff is clean and complete; no blocking issues.

🟡 Suggestions

  • None — this is a minimal, self-contained revert with no net new logic to review.

🟢 Nits

  • ci/images/paperclip/README.md:29 previously said "No upstream PR yet; rename the patch to pr-<n>-… once there is one," about the now-removed patch — that sentence is correctly deleted along with the rest of the paragraph, nothing stale left behind.

Tests

No tests included or needed: this removes a patch file and a docs paragraph; prepare.sh applies *.patch via a glob (ci/images/paperclip/prepare.sh:16), so no explicit patch list needed updating, and the deleted patch's own test (execute.test.ts) goes with it. Confirmed no other file in the repo references the removed patch, REN-563, managedAiSessionFingerprintConfig, or <managed-ai-home> placeholders — the revert leaves nothing dangling.

Recommendation

Looks reasonable — no blocking issues; comments above are optional.

🤖 **Automated review** — model `CLI default` (complexity: unknown), commit `f68ac16137f75c6a9c5b57ba5380b1bfcfa335a3`. > Advisory review by the `review-bot` pipeline. It never approves; a human merges. Push new commits to get a fresh review. --- ## Summary Pure revert of #1111 (REN-563): removes `ci/images/paperclip/ren-563-acpx-managed-home-fingerprint.patch` (which normalized the per-run managed-AI home paths out of the ACPX session fingerprint) and the matching README paragraph. Rationale given is sound and externally falsifiable: `ren-563-acpx-managed-home-fingerprint.patch` made the fingerprint stable across runs, but the Claude transcript it then tries to resume lives under the per-run `CLAUDE_CONFIG_DIR`, which the server deletes after each run — so resume throws `SessionResumeRequiredError` instead of silently starting fresh. The diff is clean and complete; no blocking issues. ## 🟡 Suggestions - None — this is a minimal, self-contained revert with no net new logic to review. ## 🟢 Nits - `ci/images/paperclip/README.md:29` previously said "No upstream PR yet; rename the patch to `pr-<n>-…` once there is one," about the now-removed patch — that sentence is correctly deleted along with the rest of the paragraph, nothing stale left behind. ## Tests No tests included or needed: this removes a patch file and a docs paragraph; `prepare.sh` applies `*.patch` via a glob (`ci/images/paperclip/prepare.sh:16`), so no explicit patch list needed updating, and the deleted patch's own test (`execute.test.ts`) goes with it. Confirmed no other file in the repo references the removed patch, `REN-563`, `managedAiSessionFingerprintConfig`, or `<managed-ai-home>` placeholders — the revert leaves nothing dangling. ## Recommendation Looks reasonable — no blocking issues; comments above are optional. <!-- pr-review:sha=f68ac16137f75c6a9c5b57ba5380b1bfcfa335a3 -->
Sign in to join this conversation.