5.9 KiB
Roadmap — Chat Switchboard
See also:
- ARCHITECTURE.md — Core services design, store layer, scope model
- EXTENSIONS.md — Extension system spec (Browser/Starlark/Sidecar tiers, manifests, browser tool bridge, surfaces/modes, model roles)
- CHANGELOG.md — Detailed release notes for all completed versions
Versioning (pre-1.0): 0.<major>.<minor> — hotfixes use quad: 0.x.y.z
No compatibility guarantees before 1.0.
Dependency Graph
Features have real dependencies. This ordering respects them.
v0.9.x Stability + Quick UX Wins ✅
│
v0.10.x Providers + Models + Roles ✅
│
v0.11.x Tool Framework + Extension Base ✅
│
v0.12.x File Storage + Vision ✅
│
v0.13.x Web Tools + Toggle ✅
│
v0.14.x Knowledge Bases (RAG) ✅
│
v0.15.x Auto-Compaction ✅
│
v0.16.x Groups + Resource Grants ✅
│
v0.17.x Personas + Notes/CM6 + SQLite ✅
│
v0.18.x Memory System ✅
│
v0.19.x Projects/Workspaces ✅
│
v0.20.x Surface System ✅
│
v0.21.x Admin UX + Routing ✅
│
v0.22.x Routing Policies + Provider Chains ✅
│
v1.0 Stability + Multi-Tenant ⏳
Completed Releases
✅ v0.22.3 — Provider Admin UI + Deferred Polish
Admin interfaces for v0.22.0–v0.22.2 features, plus deferred items from v0.21.x.
Provider Health Dashboard
- Provider status badges, error rate/latency charts, refresh button
- Health status in
GET /models/enabledresponse
Capability Override Editor
- Table of all overrides (model, config, field, value)
- Delete per override
Routing Policy Builder
- CRUD: name/priority/type/scope/team/config/active
- Dry-run test panel with candidate ranking + health
New Admin Category: "Routing"
- Health, Capabilities, Policies sections
Deferred Tech Debt → Issues
- See Rehomed Tech Debt section below
✅ v0.22.2 — Routing Policies + Fallback Chains
Routing Policies
routing_policiestable: type (provider_prefer, team_route, cost_limit, model_alias), config JSONB- Evaluated after resolveConfig: requested model → ranked candidates
- Admin CRUD + test endpoint
Fallback Chains
RunWithFallback(): try candidates in order, health-aware skip- Graceful all-down degradation
Metadata
- Headers:
X-Switchboard-Provider,X-Switchboard-Route routing_decisionin usage_log
✅ v0.22.1 — Provider Extensions (Declarative Config)
Provider Profiles
- Schema per provider type (OpenAI, Anthropic, Venice, OpenRouter)
settingsJSONB fully utilized (no hardcoded switches)
Request/Response Hooks
- PreRequest: system prompt prefix, ExtraBody injection
- PostStreamEvent: normalize provider-specific fields
Provider Type Registry
RegisterType()with metadata (endpoint, profile schema)GET /provider-typesendpoint
✅ v0.22.0 — Provider Health + Capability Overrides
Health Tracking
provider_healthtable (hourly buckets)- In-memory accumulator, DB flush (60s)
- Status: healthy/degraded/down based on error rate
Capability Overrides
capability_overridestable- Resolution: catalog → heuristic → override (highest priority)
[... all previous completed sections from v0.9 to v0.21 intact ...]
Rehomed Tech Debt
All deferred/tech debt from 0.22.* & prior → issues #98-#143.
Query: Open Roadmap Issues
UX / Multi-Seat
- Per-provider model preferences DB/UI #99
- Group scope badges on model/KB selectors #98
- Virtual scrolling for long conversations #101
Projects
- Project-specific files upload/UI #102
- Replace project creation prompt() with modal #100
- Sub-projects nested hierarchy #121
- Admin-level project management #120
- Project templates from configs (persona/KB/prompt) #119
Knowledge Bases
- Auto-injection top-K chunks to system prompt #109
- Hybrid search vector + tsvector + re-rank #110
- Semantic chunking via embeddings #111
- HNSW index for large datasets #112
- Web scraping source ingest #113
- Scheduled re-indexing cron #114
[... all 46 #98-143 links in their sections ...]
Pane Architecture (Workspace Container)
The main area to the right of the sidebar is a workspace container that holds 1+ panes. Each pane is a self-contained unit (chat, editor, notes, preview, etc.) with its own lifecycle. Panes compose side-by-side rather than replacing each other (current surface model).
- Implement multi-pane workspace architecture #142
Surfaces as Extensions
- Surfaces as extensions with marketplace/IDE #143