Update VERSION to 0.2.0 and mark settings cascade complete in roadmap
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
12
ROADMAP.md
12
ROADMAP.md
@@ -1,6 +1,6 @@
|
|||||||
# Switchboard Core — Roadmap
|
# 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
|
Fork of chat-switchboard, gutted to a pure extension platform. All AI/chat
|
||||||
features removed from the kernel. What remains is the minimum viable
|
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
|
- **Realtime**: WebSocket hub, presence, multi-replica HA
|
||||||
- **Ops**: audit log, notifications, maintenance goroutine
|
- **Ops**: audit log, notifications, maintenance goroutine
|
||||||
|
|
||||||
### Phase 0 (in progress)
|
### Phase 0 (complete)
|
||||||
|
|
||||||
| Step | Status | Description |
|
| Step | Status | Description |
|
||||||
|------|--------|-------------|
|
|------|--------|-------------|
|
||||||
@@ -39,7 +39,7 @@ SDK stabilization, and the first rebuilt extension (tasks).
|
|||||||
| Step | Status | Description |
|
| Step | Status | Description |
|
||||||
|------|--------|-------------|
|
|------|--------|-------------|
|
||||||
| Admin → RBAC group | ✅ | `surface.admin.access` permission + Admins system group replaces `role == "admin"` checks. Admin bypass removed from permission middleware. |
|
| 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 |
|
| ICD (API contract) | 🔲 | OpenAPI spec from registered routes, kernel-only endpoint docs |
|
||||||
| Trigger system | 🔲 | Time (cron), webhook (inbound HTTP), event (bus subscription) |
|
| 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 |
|
| 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
|
- **Event bus subscriptions**: extensions register match expressions at install time
|
||||||
- **Task extension**: first proof-of-concept — full task system rebuilt as a
|
- **Task extension**: first proof-of-concept — full task system rebuilt as a
|
||||||
Starlark extension using triggers + ext_data + notifications
|
Starlark extension using triggers + ext_data + notifications
|
||||||
- **Settings override model**: RBAC controls scope auth (admin → global,
|
- ~~**Settings override model**~~: ✅ shipped with settings cascade above
|
||||||
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.
|
|
||||||
- **Default surface routing**: `/` redirects to configurable default surface.
|
- **Default surface routing**: `/` redirects to configurable default surface.
|
||||||
No surfaces installed → admin surface is default. First surface installed
|
No surfaces installed → admin surface is default. First surface installed
|
||||||
becomes default. Changeable in admin settings.
|
becomes default. Changeable in admin settings.
|
||||||
|
|||||||
Reference in New Issue
Block a user