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.
## 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)
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>
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 master2026-10-03 20:09:34 +00:00
🤖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 -->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
What
Reverts #1111 (
3f3305cf): removesren-563-acpx-managed-home-fingerprint.patchand 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 usesresumePolicy: same-session-only, so the turn throwsSessionResumeRequiredError("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.shapplies 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
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.🤖 Automated review — model
CLI default(complexity: unknown), commitf68ac16137f75c6a9c5b57ba5380b1bfcfa335a3.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.patchmade the fingerprint stable across runs, but the Claude transcript it then tries to resume lives under the per-runCLAUDE_CONFIG_DIR, which the server deletes after each run — so resume throwsSessionResumeRequiredErrorinstead of silently starting fresh. The diff is clean and complete; no blocking issues.🟡 Suggestions
🟢 Nits
ci/images/paperclip/README.md:29previously said "No upstream PR yet; rename the patch topr-<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.shapplies*.patchvia 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.