You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat(knowledge): User ownership model for chat-derived knowledge #688
Implement user ownership and sharing model for knowledge base facts derived from chat conversations.
Problem
Currently, KB facts from chats are only tagged with session_id but have no user ownership or sharing model. When a conversation is shared, there's no mechanism to share the associated knowledge. Users cannot filter "my knowledge" vs "shared with me".
user:kb:facts:{user_id} -> Set of fact IDs owned by user
user:kb:shared:{user_id} -> Set of fact IDs shared with user
kb:category:chat_knowledge -> Set of all chat-derived facts
Access Control
Owner always has access
Public facts accessible to all
Check explicit shares list
Check session-based sharing
Acceptance Criteria
Facts created from chat are automatically tagged with owner_id
Default visibility is "private"
Access control enforced on all KB queries
Redis indexes created for efficient user-based queries
Merged via PR #845. User ownership model for chat-derived knowledge: ownership.py module, 5 API endpoints (share/unshare/visibility/mine/shared-with-me), Redis indexes (user:kb:facts, user:kb:shared, kb:category:chat_knowledge), auto-tagging chat facts with owner_id, access control on queries. +1,010/-27 lines, 7 files.
Activity
feat(knowledge): implement user ownership model for chat-derived know…
merge: resolve conflict between #688 ownership and #689 sharing
feat(knowledge): implement user ownership model for chat-derived know…
mrveiss commentedon Feb 11, 2026
Merged via PR #845. User ownership model for chat-derived knowledge: ownership.py module, 5 API endpoints (share/unshare/visibility/mine/shared-with-me), Redis indexes (user:kb:facts, user:kb:shared, kb:category:chat_knowledge), auto-tagging chat facts with owner_id, access control on queries. +1,010/-27 lines, 7 files.