From 73ed3c4d3f9ceb9227f70edbb87073d5e3d5d338 Mon Sep 17 00:00:00 2001 From: r266-tech Date: Thu, 28 May 2026 16:36:33 +0800 Subject: [PATCH 1/2] docs(paperclip): document dynamicBankId / bankId / user granularity --- hindsight-docs/docs-integrations/paperclip.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/hindsight-docs/docs-integrations/paperclip.md b/hindsight-docs/docs-integrations/paperclip.md index 566b1ec16..98998b1a8 100644 --- a/hindsight-docs/docs-integrations/paperclip.md +++ b/hindsight-docs/docs-integrations/paperclip.md @@ -61,16 +61,20 @@ Memory is keyed to `companyId` + `agentId` — never to the run ID — so it acc |-------|---------|-------------| | `hindsightApiUrl` | `https://api.hindsight.vectorize.io` | Hindsight server URL (Cloud default; use `http://localhost:8888` for self-hosted) | | `hindsightApiKeyRef` | — | Paperclip secret name holding Hindsight Cloud API key | -| `bankGranularity` | `["company", "agent"]` | Memory isolation: per company+agent, per company, or per agent | +| `dynamicBankId` | `true` | When `true`, bank ID is derived from `bankGranularity`. Set `false` and provide `bankId` to share one static memory bank across agents | +| `bankId` | — | Static bank ID used when `dynamicBankId` is `false`. All agents sharing this value read/write the same memory bank | +| `bankGranularity` | `["company", "agent"]` | Memory isolation when `dynamicBankId` is `true`: per company+agent, per company, or per agent. Add `"user"` for per-user memory isolation (useful for GDPR compliance) | | `recallBudget` | `mid` | `low` = fastest, `mid` = balanced, `high` = most thorough | | `autoRetain` | `true` | Automatically retain run output after every run | ## Bank ID Format ``` -paperclip::{companyId}::{agentId} ← default (company + agent granularity) -paperclip::{companyId} ← company granularity (shared across agents) -paperclip::{agentId} ← agent granularity (agent memory across companies) +paperclip::{companyId}::{agentId} ← default (company + agent granularity) +paperclip::{companyId} ← company granularity (shared across agents) +paperclip::{agentId} ← agent granularity (agent memory across companies) +paperclip::{companyId}::{agentId}::user::{userId} ← user granularity (per-user isolation, GDPR-friendly) +{bankId} ← static shared bank (dynamicBankId = false) ``` ## Agent Tools From dff056b2df971f35deded972ae21ab3ea7373df8 Mon Sep 17 00:00:00 2001 From: r266-tech Date: Thu, 28 May 2026 16:36:34 +0800 Subject: [PATCH 2/2] docs(paperclip): mirror dynamicBankId / bankId / user granularity in integration README --- hindsight-integrations/paperclip/README.md | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/hindsight-integrations/paperclip/README.md b/hindsight-integrations/paperclip/README.md index 34c43894c..c06d3f030 100644 --- a/hindsight-integrations/paperclip/README.md +++ b/hindsight-integrations/paperclip/README.md @@ -34,18 +34,22 @@ hindsight-api | Field | Default | Description | | -------------------- | ------------------------------------ | --------------------------------------------------------------------------------- | -| `hindsightApiUrl` | `https://api.hindsight.vectorize.io` | Hindsight server URL (Cloud default; use `http://localhost:8888` for self-hosted) | -| `hindsightApiKeyRef` | — | Paperclip secret name holding Hindsight Cloud API key | -| `bankGranularity` | `["company", "agent"]` | Memory isolation: per company+agent, per company, or per agent | -| `recallBudget` | `mid` | `low` = fastest, `mid` = balanced, `high` = most thorough | -| `autoRetain` | `true` | Automatically retain run output after every run | +| `hindsightApiUrl` | `https://api.hindsight.vectorize.io` | Hindsight server URL (Cloud default; use `http://localhost:8888` for self-hosted) | +| `hindsightApiKeyRef` | — | Paperclip secret name holding Hindsight Cloud API key | +| `dynamicBankId` | `true` | When `true`, bank ID is derived from `bankGranularity`. Set `false` and provide `bankId` to share one static memory bank across agents | +| `bankId` | — | Static bank ID used when `dynamicBankId` is `false`. All agents sharing this value read/write the same memory bank | +| `bankGranularity` | `["company", "agent"]` | Memory isolation when `dynamicBankId` is `true`: per company+agent, per company, or per agent. Add `"user"` for per-user memory isolation (useful for GDPR compliance) | +| `recallBudget` | `mid` | `low` = fastest, `mid` = balanced, `high` = most thorough | +| `autoRetain` | `true` | Automatically retain run output after every run | ## Bank ID Format ``` -paperclip::{companyId}::{agentId} ← default (company + agent granularity) -paperclip::{companyId} ← company granularity (shared across agents) -paperclip::{agentId} ← agent granularity (agent memory across companies) +paperclip::{companyId}::{agentId} ← default (company + agent granularity) +paperclip::{companyId} ← company granularity (shared across agents) +paperclip::{agentId} ← agent granularity (agent memory across companies) +paperclip::{companyId}::{agentId}::user::{userId} ← user granularity (per-user isolation, GDPR-friendly) +{bankId} ← static shared bank (dynamicBankId = false) ``` ## Agent Tools