From 75a66dc6b9fa8df847d41911cb8f3b2de3ace2a6 Mon Sep 17 00:00:00 2001 From: Jeffrey Smith Date: Thu, 26 Mar 2026 17:58:20 +0000 Subject: [PATCH] Update VERSION to 0.2.0 and mark settings cascade complete in roadmap Co-Authored-By: Claude Opus 4.6 (1M context) --- ROADMAP.md | 12 ++++-------- VERSION | 2 +- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/ROADMAP.md b/ROADMAP.md index d2d7341..ad7e4e5 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -1,6 +1,6 @@ # Switchboard Core — Roadmap -## Current: v0.1.0 — The Kernel +## Current: v0.2.0 — SDK & Triggers Fork of chat-switchboard, gutted to a pure extension platform. All AI/chat features removed from the kernel. What remains is the minimum viable @@ -16,7 +16,7 @@ platform that extensions build on. - **Realtime**: WebSocket hub, presence, multi-replica HA - **Ops**: audit log, notifications, maintenance goroutine -### Phase 0 (in progress) +### Phase 0 (complete) | Step | Status | Description | |------|--------|-------------| @@ -39,7 +39,7 @@ SDK stabilization, and the first rebuilt extension (tasks). | Step | Status | Description | |------|--------|-------------| | Admin → RBAC group | ✅ | `surface.admin.access` permission + Admins system group replaces `role == "admin"` checks. Admin bypass removed from permission middleware. | -| Settings cascade | 🔲 | `user_overridable` flag, RBAC scope auth, resolution chain | +| Settings cascade | ✅ | `user_overridable` flag, three-tier resolution (global → team → user), team settings API | | ICD (API contract) | 🔲 | OpenAPI spec from registered routes, kernel-only endpoint docs | | Trigger system | 🔲 | Time (cron), webhook (inbound HTTP), event (bus subscription) | | SDK stabilization | 🔲 | `sb.slots()`, `sb.actions`, `sb.api.ext()`, `sb.storage`, theme tokens, primitive UI | @@ -49,11 +49,7 @@ SDK stabilization, and the first rebuilt extension (tasks). - **Event bus subscriptions**: extensions register match expressions at install time - **Task extension**: first proof-of-concept — full task system rebuilt as a Starlark extension using triggers + ext_data + notifications -- **Settings override model**: RBAC controls scope auth (admin → global, - team-admin → team, user → personal). `user_overridable` flag on each setting - controls whether lower scopes can override higher. Resolution order: - user → team → global (first non-null wins, walking up if overridable). - Extension manifests declare `user_overridable` per setting key. +- ~~**Settings override model**~~: ✅ shipped with settings cascade above - **Default surface routing**: `/` redirects to configurable default surface. No surfaces installed → admin surface is default. First surface installed becomes default. Changeable in admin settings. diff --git a/VERSION b/VERSION index 6e8bf73..0ea3a94 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.1.0 +0.2.0