# Changelog All notable changes to Switchboard Core are documented here. ## [Unreleased] — v0.1.0 Forked from chat-switchboard v0.38.5. Gutted to a pure extension platform. ### Removed - **AI/Chat system**: providers, model catalog, routing policies, personas, channels, messages, completion streaming, tool loop, compaction, memory, knowledge bases, notes, workspaces, projects, folders, files, export/import - **Task scheduler**: entire scheduler package, task store, task handlers. Tasks will be rebuilt as a Starlark extension with three trigger primitives (time, webhook, event) - **Session system**: channel-based anonymous sessions. Workflow instances will get new storage in v0.2.0 - **Health accumulator**: provider health windows, tool health tracking. Replaced with kernel-only Prune (ws_tickets, rate_limit_counters, presence) - **15 Go packages**: tools, compaction, extraction, roles, mentions, notelinks, export, memory, knowledge, providers, routing, capabilities, filters, retention, workspace - **29 handler files**, 6 test files, ~44K lines total ### Fixed - CI deploy: k8s resource quantity vars (`BE_MEMORY_REQUEST` → `MEMORY_REQUEST`) aligned with CI workflow outputs — `envsubst` was producing empty strings - CI deploy: image var (`BE_IMAGE` → `IMAGE`) — caused `InvalidImageName` in pods - CI rollout: deployment name (`switchboard` → `switchboard-be`) — rollout verification was looking for wrong deployment name ### Changed - Module renamed: `chat-switchboard` → `switchboard-core` - VERSION: `0.1.0` - Default DB name: `switchboard_core` - Fresh migrations: 9 files × 2 dialects (postgres + sqlite), 27 tables - Store interfaces: 40 → 20 (13 in interfaces.go + 7 in separate iface files) - Stage modes: `chat_only` removed, `custom` added - Task output modes: `channel|note|webhook` → `notification|webhook|log` - Kernel permissions: 16 → 6 (`extension.use`, `extension.install`, `workflow.create`, `workflow.submit`, `admin.view`, `token.unlimited`) - Everyone group seed: `["extension.use","workflow.submit"]` - Global settings seed: site name "Switchboard Core" - Config: removed 7 dropped fields (SessionExpiryDays, WorkflowStaleHours, ProviderAutoDisableThreshold, ExtractionConcurrency, etc.) - Health stores rewritten: kernel-only Prune for stale tickets, counters, presence - Maintenance goroutine replaces scheduler for background cleanup ### Retained - Identity & auth (builtin, mTLS, OIDC) - Teams, groups, permissions - Package system (surfaces, extensions, libraries, workflows) - Starlark sandbox with capability-gated modules - Extension connections & dependencies - Workflow definitions, stages, versions - Notifications & preferences - Audit log - Object storage (PVC, S3) - WebSocket hub & presence - Multi-replica HA (ws_tickets, rate_limit_counters) - Frontend shell (preact+htm, SDK, vendor libs)