Architecture: Where should T2 cross-space preferences vs per-space prefere...
Documentation for Sessions
🏗️ Architecture: Where should T2 cross-space preferences vs per-space prefere...
Date: 2026-02-05
Time: 23:03:44 UTC
Session: editor2-92.23
Agent: backend
Confidence: 93%
Status: ✅ Documented
📋 Decision Context
Question:
Where should T2 cross-space preferences vs per-space preferences live?
Task: Session 93: Builder profile vs space preferences architecture
🎯 Decision Made
Chosen:
Two separate schemas in two separate databases. BuilderProfile (ai-agents.builder_profiles, global) stores cross-space builder preferences: globalPreferences, globalTechStack, spaceIds[], behavioralSummary, subscriptionTier. One document per builder (unique userId index). SpaceAIPreferences (space-agents_{spaceId}.preferences, per-space) stores space-specific controls: allowGoldenKnowledge, allowPatternPromotion, shareAnonymousPatternsToGlobal, t3LearningEnabled, t3DataRetentionDays, allowedAICapabilities, defaultResponseStyle, domainVocabulary. One document per space (unique spaceId index).
Options Considered:
- Everything in global DB with spaceId filtering
- Cross-space in global, per-space in space DB (chosen)
- Everything in per-space DB with duplication
- Single preferences document with nested space overrides
💭 Reasoning
Builder preferences must follow the builder across all their spaces (e.g., responseStyle, technicalLevel, tech stack). These can't live in a per-space DB because they'd be duplicated and could diverge. The global ai-agents DB is the right place. Space-level AI preferences are space-specific controls set by the T2 builder about how AI behaves for T3 users in THAT space. These include GDPR settings (t3DataRetentionDays), knowledge flow controls (allowGoldenKnowledge, allowPatternPromotion), and AI capability whitelisting. They belong in the per-space DB because they're scoped to one space and should be dropped when the space is deleted.
📁 Files Involved
apis/backend-ai-api/src/app/agents/schemas/builder-profile.schema.tsapis/backend-ai-api/src/app/agents/schemas/space-ai-preferences.schema.tsapis/backend-ai-api/src/app/infrastructure/infrastructure.module.ts
🔗 Related
- Decision ID:
dev_1770332623952_cgp32an - Session: 92
- Workspace: editor2
Auto-generated by MCP Smart Consolidation