Changeset 0.19.0.1 (#82)
This commit is contained in:
@@ -70,9 +70,9 @@ v0.18.0 Memory ✅ (user + persona scopes, review pipeline)
|
||||
│
|
||||
v0.18.1 Side Panel Architecture ✅ (single-slot, ctx.ui primitives, mermaid refactor)
|
||||
│
|
||||
v0.19.0 Projects / Workspaces + Notifications
|
||||
v0.19.0 Projects / Workspaces ✅ (project groups, KB resolution, drag-drop sidebar)
|
||||
│
|
||||
v0.20.0 @mention Routing + Multi-model
|
||||
v0.20.0 Notifications + @mention Routing + Multi-model
|
||||
│
|
||||
v0.21.0 Extension Surfaces + Modes (depends on CM6 from v0.17.2)
|
||||
│
|
||||
@@ -496,37 +496,52 @@ collaboration (v0.23.0) where multiple panels need simultaneous visibility.
|
||||
|
||||
---
|
||||
|
||||
## v0.19.0 — Projects / Workspaces + Notifications
|
||||
## ✅ v0.19.0 — Projects / Workspaces
|
||||
|
||||
Organizational containers that group related conversations, KBs, and
|
||||
notes into a single workspace with shared access controls. Plus the
|
||||
notification infrastructure that makes collaboration real-time.
|
||||
notes into a single workspace with shared access controls.
|
||||
|
||||
Depends on: user groups (v0.16.0), knowledge bases (v0.14.0).
|
||||
|
||||
**Data Model**
|
||||
- [ ] `projects` table: `id`, `name`, `description`, `scope` (personal, team, global), `owner_id`, `team_id`, `settings` (JSONB), `created_at`, `updated_at`
|
||||
- [ ] `project_resources` table: `project_id`, `resource_type` (channel, knowledge_base, note), `resource_id`, `added_at`
|
||||
- [ ] Projects use the same grant model (v0.16.0): team_only / global / groups
|
||||
- [x] `projects` table: `id`, `name`, `description`, `color`, `icon`, `scope` (personal/team/global), `owner_id`, `team_id`, `is_archived`, `settings` (JSONB)
|
||||
- [x] `project_channels` junction: ordered membership with UNIQUE `channel_id`, denormalized FK on `channels.project_id`
|
||||
- [x] `project_knowledge_bases` junction: with `auto_search` flag
|
||||
- [x] `project_notes` junction
|
||||
- [x] `resource_grants` CHECK extended to include `'project'`
|
||||
|
||||
**Features**
|
||||
- [ ] Channels can belong to a project (optional `project_id` FK)
|
||||
- [ ] KBs can belong to a project → auto-linked to all channels in the project
|
||||
- [ ] Notes can belong to a project → visible to all project members
|
||||
- [ ] Project-level Persona default: all new channels in the project start with this Persona
|
||||
- [ ] Project sidebar section: grouped view of conversations with folder-like nesting
|
||||
- [x] Channels can belong to a project (optional `project_id` FK)
|
||||
- [x] KBs can belong to a project → auto-linked to all channels in the project (BuildKBHint + kbsearch)
|
||||
- [x] Notes can belong to a project → auto-associated when created from project channel
|
||||
- [x] KB resolution chain: Persona → Project → Channel → Personal
|
||||
- [x] Project sidebar section: collapsible groups above time-based Recent section
|
||||
|
||||
**UI**
|
||||
- [ ] Sidebar: projects as collapsible groups above/integrated with chat history
|
||||
- [ ] Project creation dialog (name, description, default Persona, default KBs)
|
||||
- [ ] Drag channels/notes into projects
|
||||
- [ ] Folders within projects (lightweight — just a `path` column on project_resources)
|
||||
- [ ] Project settings: manage resources, access, defaults
|
||||
- [x] Sidebar: projects as collapsible groups with color dots, counts, options menu
|
||||
- [x] Right-click context menu: move chat to project / remove / create-and-assign
|
||||
- [x] Drag-and-drop channels between project groups and Recent
|
||||
- [x] New Project button in split dropdown
|
||||
- [x] Channel list `project_id` filter (`?project_id=uuid` or `?project_id=none`)
|
||||
- [x] Collapse state persisted in localStorage
|
||||
|
||||
**Enterprise Use**
|
||||
- [ ] Team admins create projects for their teams
|
||||
- [ ] Project templates: pre-configured with specific Personas, KBs, and settings
|
||||
- [ ] Cross-team projects via group grants
|
||||
**Deferred to later versions:**
|
||||
- Project creation dialog (name, description, default Persona, default KBs) — using prompt() for now
|
||||
- Project detail panel (KB + note management within a project)
|
||||
- Project-level Persona default
|
||||
- Folders within projects
|
||||
- Project templates
|
||||
- Admin-level team/global project management
|
||||
- Notifications (moved to v0.20.0)
|
||||
|
||||
---
|
||||
|
||||
## v0.20.0 — Notifications + @mention Routing + Multi-model
|
||||
|
||||
Notification infrastructure that makes collaboration real-time, plus
|
||||
the channel schema already supports multiple models — this adds routing.
|
||||
|
||||
_(Notifications shifted from v0.19.0; @mention routing shifted from v0.17.0)_
|
||||
|
||||
**Notifications**
|
||||
- [ ] `notifications` table: `id`, `user_id`, `type`, `title`, `body`, `resource_type`, `resource_id`, `is_read`, `created_at`
|
||||
@@ -540,14 +555,7 @@ Depends on: user groups (v0.16.0), knowledge bases (v0.14.0).
|
||||
- [ ] Admin settings: enable/disable email, SMTP config, default notification preferences
|
||||
- [ ] User preferences: per-type toggles (in-app, email, off)
|
||||
|
||||
---
|
||||
|
||||
## v0.20.0 — @mention Routing + Multi-model
|
||||
|
||||
The channel schema already supports multiple models. This adds routing.
|
||||
|
||||
_(Shifted from v0.17.0 — no content changes)_
|
||||
|
||||
**@mention Routing**
|
||||
- [ ] @mention parsing in messages (users and AI models)
|
||||
- [ ] Resolve mentions against `channel_models`
|
||||
- [ ] Multi-model channels: fire completions per mentioned model
|
||||
|
||||
Reference in New Issue
Block a user