From 4843e96d0a29afc36b313983d41b0a06246748c0 Mon Sep 17 00:00:00 2001 From: caddi-ci-cd Date: Wed, 1 Jul 2026 17:34:59 +0900 Subject: [PATCH] chore(claude-code): drop opinionated bankMission/retainMission defaults (#2492) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The bundled settings.json shipped non-empty bankMission/retainMission defaults, so a default install stamped a generic persona onto a bank on first touch — the trigger for the mission-clobber reported in #2492. Blank both (matching the internal config.py defaults: "" and null) so the plugin only seeds missions the user explicitly configures. Behaviour is unchanged when the fields are empty: bank.py already treats an empty/None mission as opt-out and sends nothing. This is the defaults-removal half of #2492, kept separate from the server-aware seeding fix so each can be adopted independently. Co-Authored-By: Claude Opus 4.8 (1M context) --- hindsight-integrations/claude-code/CHANGELOG.md | 5 +++++ hindsight-integrations/claude-code/README.md | 4 ++-- hindsight-integrations/claude-code/settings.json | 4 ++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/hindsight-integrations/claude-code/CHANGELOG.md b/hindsight-integrations/claude-code/CHANGELOG.md index 216ace8069..31848cdf23 100644 --- a/hindsight-integrations/claude-code/CHANGELOG.md +++ b/hindsight-integrations/claude-code/CHANGELOG.md @@ -21,6 +21,11 @@ - Tags that resolve to an empty namespace content (e.g. `"user:"` when `HINDSIGHT_USER_ID` is unset) are now dropped from retain requests. Previously such tags were sent as-is. Tags without `:` are unaffected. +- The bundled `settings.json` no longer ships opinionated `bankMission` / + `retainMission` defaults; both are now empty (matching the internal config + defaults). The plugin only seeds missions you explicitly configure, so a + default install never stamps a generic persona onto a bank. Set these + fields to opt into seeding. See #2492. ## [0.1.0] - 2025-03-23 diff --git a/hindsight-integrations/claude-code/README.md b/hindsight-integrations/claude-code/README.md index 916719aca3..24bb3a49bf 100644 --- a/hindsight-integrations/claude-code/README.md +++ b/hindsight-integrations/claude-code/README.md @@ -205,8 +205,8 @@ A **bank** is an isolated memory store — like a separate "brain." These settin | Setting | Env Var | Default | Description | |---------|---------|---------|-------------| | `bankId` | `HINDSIGHT_BANK_ID` | `"claude_code"` | The bank ID to use when `dynamicBankId` is `false`. All sessions share this single bank. | -| `bankMission` | `HINDSIGHT_BANK_MISSION` | generic assistant prompt | A short description of the agent's identity and purpose. Sent to Hindsight when creating or updating the bank, and used during recall to contextualize results. | -| `retainMission` | — | extraction prompt | Instructions for the fact extraction LLM — tells it *what* to extract from conversations (e.g. "Extract technical decisions and user preferences"). | +| `bankMission` | `HINDSIGHT_BANK_MISSION` | `""` (unset) | A short description of the agent's identity and purpose (the bank's reflect mission). Empty by default so the plugin does not stamp a generic persona; set it to seed a mission onto the bank. | +| `retainMission` | — | `null` (unset) | Instructions for the fact extraction LLM — tells it *what* to extract from conversations (e.g. "Extract technical decisions and user preferences"). Empty by default; set it to seed a retain mission onto the bank. | | `dynamicBankId` | `HINDSIGHT_DYNAMIC_BANK_ID` | `false` | When `true`, the plugin derives a unique bank ID from context fields (see `dynamicBankGranularity`), giving each combination its own isolated memory. | | `dynamicBankGranularity` | — | `["agent", "project"]` | Which context fields to combine when building a dynamic bank ID. Available fields: `agent` (agent name), `project` (working directory), `session` (session ID), `channel` (channel ID), `user` (user ID). | | `bankIdPrefix` | — | `""` | A string prepended to all bank IDs — both static and dynamic. Useful for namespacing (e.g. `"prod"` or `"staging"`). | diff --git a/hindsight-integrations/claude-code/settings.json b/hindsight-integrations/claude-code/settings.json index 7c91f55b12..d6fba9775d 100644 --- a/hindsight-integrations/claude-code/settings.json +++ b/hindsight-integrations/claude-code/settings.json @@ -1,8 +1,8 @@ { "hindsightApiUrl": "", "bankId": "claude_code", - "bankMission": "You are a Claude Code AI assistant. Focus on technical discussions, decisions, and context relevant to the user's projects.", - "retainMission": "Extract technical decisions, architectural choices, user preferences, project context, and people/tool relationships. Ignore routine greetings and transient operational details.", + "bankMission": "", + "retainMission": null, "autoRecall": true, "autoRetain": true, "retainMode": "full-session",