From 45c1a3c633f87bfa5a67893fad2b73c817be750f Mon Sep 17 00:00:00 2001 From: RCLL Date: Mon, 24 Aug 2026 08:28:28 +0300 Subject: [PATCH] chore: default bank rcll-main, announce it, move split tool out of the root MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The default memory bank becomes 'rcll-main'. hindsight-mempalace-mcp@1.0.0 (published, ~145 downloads/month) defaulted to 'mempalace-main', so an install that never set the variable and switches packages would open a different, empty bank. MEMPALACE_BANK is still honoured, and when neither variable is set the server now prints which bank it picked and how to keep reading the old one, instead of choosing silently. rcll-split.py moves to scripts/ — it documents how the fork series was built, which is not a root-level artifact of the product. --- FORK.md | 2 +- mcp-server/README.md | 12 +++++++++++- mcp-server/server.js | 20 ++++++++++++++------ rcll-split.py => scripts/rcll-split.py | 0 server.json | 4 ++-- 5 files changed, 28 insertions(+), 10 deletions(-) rename rcll-split.py => scripts/rcll-split.py (100%) diff --git a/FORK.md b/FORK.md index ac69352f..62e8f137 100644 --- a/FORK.md +++ b/FORK.md @@ -50,7 +50,7 @@ point, not ours. **Our real patch is 32 files.** ### How the split was verified -The series was not hand-sorted. `/root/rcll-split.py` decomposes the +The series was not hand-sorted. [`scripts/rcll-split.py`](scripts/rcll-split.py) decomposes the base→snapshot diff to **line granularity** — hunks are too coarse, because the two largest are single appended blocks containing more than one feature — then classifies every edit and materialises each stage by content. diff --git a/mcp-server/README.md b/mcp-server/README.md index cbb9d070..493d1083 100644 --- a/mcp-server/README.md +++ b/mcp-server/README.md @@ -48,7 +48,17 @@ Add to `~/.claude/mcp.json`: | Variable | Default | Description | |----------|---------|-------------| | `RCLL_URL` | `http://127.0.0.1:5100` | RCLL backend base URL | -| `RCLL_BANK` | `mempalace-main` | Default memory bank ID. The default keeps the pre-rebrand value on purpose, so an install that never set it stays on the same bank after upgrading. Set it explicitly. | +| `RCLL_BANK` | `rcll-main` | Default memory bank ID. Set it explicitly. | + +### Migrating from `hindsight-mempalace-mcp` + +That package defaulted to bank `mempalace-main`. `rcll-mcp` defaults to `rcll-main`, +so an install that never set the variable would open a different, empty bank — which +reads as "the update erased my memory". It does not: the old bank is still there. + +Set `RCLL_BANK=mempalace-main` to keep reading it, or move the contents into a new +bank first. When `RCLL_BANK` and `MEMPALACE_BANK` are both unset, the server prints +which bank it defaulted to on stderr rather than picking one silently. ### Deprecated (still read, with a notice on stderr) diff --git a/mcp-server/server.js b/mcp-server/server.js index 83cb5107..8f4e7c6f 100644 --- a/mcp-server/server.js +++ b/mcp-server/server.js @@ -53,12 +53,20 @@ function envWithFallback(current, legacy) { const RCLL_URL = envWithFallback(...LEGACY_ENV[0]) || 'http://127.0.0.1:5100'; const RCLL_BASE = `${RCLL_URL}/v1/default/banks`; -// The default bank literal deliberately stays 'mempalace-main': that is the value -// hindsight-mempalace-mcp@1.0.0 shipped with, so anyone who never set the env var is -// already living in that bank. Renaming the default would silently drop them into an -// empty bank on upgrade and read as "the update erased my memory". -// Drop this at the 60-day mark, together with the legacy image alias. -const DEFAULT_BANK = envWithFallback(...LEGACY_ENV[1]) || 'mempalace-main'; +// The default bank is 'rcll-main'. The pre-rebrand package +// hindsight-mempalace-mcp@1.0.0 defaulted to 'mempalace-main', so an install that +// never set the env var and switches packages would land in a different, empty bank. +// That reads as "the update erased my memory", so we say it out loud instead of +// guessing: the legacy env var is still honoured, and defaulting is announced. +const LEGACY_DEFAULT_BANK = 'mempalace-main'; +const DEFAULT_BANK = envWithFallback(...LEGACY_ENV[1]) || 'rcll-main'; +if (!process.env.RCLL_BANK && !process.env.MEMPALACE_BANK) { + console.error( + `rcll-mcp: RCLL_BANK is unset, using '${DEFAULT_BANK}'. ` + + `Coming from hindsight-mempalace-mcp? Your memory is in '${LEGACY_DEFAULT_BANK}' — ` + + `set RCLL_BANK=${LEGACY_DEFAULT_BANK} to keep reading it.` + ); +} // --- RCLL HTTP client --- diff --git a/rcll-split.py b/scripts/rcll-split.py similarity index 100% rename from rcll-split.py rename to scripts/rcll-split.py diff --git a/server.json b/server.json index 898e0987..ff357380 100644 --- a/server.json +++ b/server.json @@ -27,9 +27,9 @@ }, { "name": "RCLL_BANK", - "description": "Default memory bank ID for retain/recall. The pre-rebrand variable MEMPALACE_BANK is still read as a fallback; see mcp-server/README.md.", + "description": "Default memory bank ID for retain/recall. The pre-rebrand variable MEMPALACE_BANK is still read as a fallback. Migrating from hindsight-mempalace-mcp? Set this to mempalace-main to keep reading your existing bank; see mcp-server/README.md.", "isRequired": false, - "default": "mempalace-main" + "default": "rcll-main" } ] }