Skip to content

[Feat] Keep private Sessions out of shared memory - #2637

Draft
roomote-roomote[bot] wants to merge 1 commit into
roomote/private-sessions-01-accessfrom
roomote/private-sessions-02-brain-guard
Draft

roomote-roomote[bot] wants to merge 1 commit into
roomote/private-sessions-01-accessfrom
roomote/private-sessions-02-brain-guard

Conversation

@roomote-roomote

@roomote-roomote roomote-roomote Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

​Opened on behalf of @daniel-lxs. Follow up by mentioning @roomote-roomote, in the web UI, or in Telegram.

What changed

  • Exclude private tasks and conversations from automatic Brain enqueue, explicit saves, retries, resets, backfill, PR-driven requeue, and both drainers.
  • Keep read-only Brain access while removing synthesize and private query/result persistence; deny external shared-memory MCPs.

Why this change was made

Every producer and drainer must reject private content so retries and explicit tools cannot copy it into shared memory.

Impact

Shared Brain behavior remains unchanged; private state is still dark in this stack step.

Related PRs

@roomote-community

roomote-community Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

1 issue outstanding. See task

  • Propagate parent Session privacy into attached Fast conversations so private Sessions cannot reach shared-memory paths.

Reviewed 060a229

if (reasoningEffort === undefined)
reasoningEffort = session.reasoningEffort;
const availableIntegrations = selectFastRoomoteChannelTools({
currentSessionPrivacy = session.privacy ?? 'shared';

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the Fast conversation's privacy, not the parent sessions row. A Fast conversation attached to a private Session is inserted with its default shared privacy, and attachFastConversationToSession only sets the foreign key. That leaves the integration filtering/audit redaction disabled and lets save_memory enqueue content for a private Session. Propagate the parent Session privacy when binding, or resolve the bound Session's privacy here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant