[Feat] Add private per-user personalization - #2482
Conversation
|
No code issues found. See task
Reviewed 6aaa95d |
|
Resolved the reset-boundary finding in |
…er-personalization-3lx9n3gs2o2om
|
Resolved the persistence-outcome finding in |
What changed
Why this change was made
Roomote should adapt to each teammate without turning personal preferences into deployment-shared memory or task metadata. The implementation treats personalization as a dedicated private data class rather than relying on prompt instructions or transcript visibility alone.
Impact
Users can edit or reset their own guidance and keep it active while disabling new learning. Conversational confirmations now reflect whether the update was actually saved, declined after opt-out, or failed during persistence. Reset blocks immediate inferred reconstruction; a new explicit preference, non-empty manual save, or explicit learning re-enable safely starts post-reset inference again. Other members and admins cannot access another user's personalization through normal UI or API paths; private context is excluded from persisted task prompts, shared transcripts, summaries, Brain ingestion, and ordinary tool output. Deployment operators and configured infrastructure, model, backup, and retention systems remain outside that application-level privacy boundary.
Focused database, web settings, Fast prompt/service, task dequeue/resume, API authorization, worker tool, and transcript-scrubbing tests pass. Affected package typechecks, repository pre-push lint/type/knip gates, docs validation, and
git diff --checkalso pass.