From 57aac487c5e5e27f90ec95e060a5d6d826a92582 Mon Sep 17 00:00:00 2001 From: Alexandre <44178713+alexbelgium@users.noreply.github.com> Date: Sun, 2 Aug 2026 17:55:41 +0200 Subject: [PATCH] ci: prepare Claude Desktop changelog entry --- .github/workflows/agent-claude-changelog.yml | 49 ++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 .github/workflows/agent-claude-changelog.yml diff --git a/.github/workflows/agent-claude-changelog.yml b/.github/workflows/agent-claude-changelog.yml new file mode 100644 index 0000000000..7397479cb2 --- /dev/null +++ b/.github/workflows/agent-claude-changelog.yml @@ -0,0 +1,49 @@ +name: Prepare Claude Desktop changelog + +on: + push: + branches: + - agent/claude-headroom-memory + +permissions: + contents: write + +jobs: + update-changelog: + if: github.actor != 'github-actions[bot]' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v7.0.1 + with: + ref: agent/claude-headroom-memory + fetch-depth: 0 + + - name: Prepend release note and remove this one-shot workflow + shell: bash + run: | + python3 - <<'PY' + from pathlib import Path + + path = Path("claude_desktop/CHANGELOG.md") + text = path.read_text() + marker = "## 1.38 (02-08-2026)" + if marker not in text: + entry = """## 1.38 (02-08-2026) + + - Reduce Claude Desktop add-on RAM use in three places without removing Headroom, RTK, TokenSave, Cowork, Dispatch, or the streamed desktop. Headroom's heavy HTTP proxy is no longer started at container boot: a standard-library TCP gate stays on port 8787, starts the real proxy on the first request, and stops it after 15 minutes without traffic (`HEADROOM_IDLE_TIMEOUT_SECONDS` remains overridable through `env_vars`). This releases the proxy's Python, ONNX Runtime, tokenizer, and Kompress model allocations while the add-on is idle; a later request starts a clean backend transparently. + - Prevent Headroom from loading a second Kompress model inside every Claude Desktop/Claude Code MCP process. The add-on now intercepts `headroom mcp serve` with a lightweight adapter that retains upstream MCP retrieval/statistics behavior but delegates `headroom_compress` to the shared proxy's loopback `/v1/compress` endpoint. The MCP process explicitly disables local Kompress and never imports `headroom.compress`, so only the proxy backend can own the ML runtime. + - Remove the add-on-wide `tmpfs: true` mount and undo the shared Selkies script's `/tmp/cache` redirection for this add-on. Electron/Chromium, Mesa, and application caches now live under the selected persistent home (`$HOME/.cache`) as reclaimable filesystem cache instead of RAM-backed cgroup shmem. Runtime sockets and XDG runtime state remain under `/run`. + + """ + path.write_text(entry + text) + PY + rm -f .github/workflows/agent-claude-changelog.yml + + - name: Commit changelog + shell: bash + run: | + git config user.name "github-actions[bot]" + git config user.email "41898282+github-actions[bot]@users.noreply.github.com" + git add claude_desktop/CHANGELOG.md .github/workflows/agent-claude-changelog.yml + git commit -m "docs(claude_desktop): document memory reduction" + git push origin HEAD:agent/claude-headroom-memory