Break v0.2.0 roadmap into subversions (0.2.1–0.2.3)
Some checks failed
CI/CD / detect-changes (pull_request) Successful in 4s
CI/CD / test-frontend (pull_request) Successful in 5s
CI/CD / test-go-pg (pull_request) Failing after 2m30s
CI/CD / test-sqlite (pull_request) Successful in 2m54s
CI/CD / build-and-deploy (pull_request) Has been skipped
Some checks failed
CI/CD / detect-changes (pull_request) Successful in 4s
CI/CD / test-frontend (pull_request) Successful in 5s
CI/CD / test-go-pg (pull_request) Failing after 2m30s
CI/CD / test-sqlite (pull_request) Successful in 2m54s
CI/CD / build-and-deploy (pull_request) Has been skipped
v0.2.0: RBAC + settings cascade (done) v0.2.1: default surface routing + ICD v0.2.2: event bus + trigger system v0.2.3: SDK stabilization + task extension Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
33
ROADMAP.md
33
ROADMAP.md
@@ -31,28 +31,39 @@ platform that extensions build on.
|
|||||||
| 9. CI/CD + Dockerfile | ✅ | Single unified image, FE/BE split removed, DB names updated, k8s var alignment fixes (resource quantities, image name, rollout deployment name) |
|
| 9. CI/CD + Dockerfile | ✅ | Single unified image, FE/BE split removed, DB names updated, k8s var alignment fixes (resource quantities, image name, rollout deployment name) |
|
||||||
| 10. Smoke test | ✅ | K8s deploy live at switchboard.gobha.ai/test, nginx BASE_PATH fixed, login→admin flow verified, branding updated |
|
| 10. Smoke test | ✅ | K8s deploy live at switchboard.gobha.ai/test, nginx BASE_PATH fixed, login→admin flow verified, branding updated |
|
||||||
|
|
||||||
## v0.2.0 — SDK & Triggers
|
## v0.2.x — SDK & Triggers
|
||||||
|
|
||||||
The contract that extensions build against. Three trigger primitives,
|
The contract that extensions build against. Three trigger primitives,
|
||||||
SDK stabilization, and the first rebuilt extension (tasks).
|
SDK stabilization, and the first rebuilt extension (tasks).
|
||||||
|
|
||||||
|
### v0.2.0 — RBAC + Settings Cascade (complete)
|
||||||
|
|
||||||
| 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, three-tier resolution (global → team → user), team settings API |
|
| Settings cascade | ✅ | `user_overridable` flag, three-tier resolution (global → team → user), team settings API |
|
||||||
|
| ~~Settings override model~~ | ✅ | Shipped with settings cascade above |
|
||||||
|
|
||||||
|
### v0.2.1 — Default Surface + ICD
|
||||||
|
|
||||||
|
| Step | Status | Description |
|
||||||
|
|------|--------|-------------|
|
||||||
|
| Default surface routing | 🔲 | `/` redirects to configurable default surface. No surfaces → admin. First install becomes default. Changeable in admin settings. |
|
||||||
| ICD (API contract) | 🔲 | OpenAPI spec from registered routes, kernel-only endpoint docs |
|
| ICD (API contract) | 🔲 | OpenAPI spec from registered routes, kernel-only endpoint docs |
|
||||||
|
|
||||||
|
### v0.2.2 — Event Bus + Triggers
|
||||||
|
|
||||||
|
| Step | Status | Description |
|
||||||
|
|------|--------|-------------|
|
||||||
|
| Event bus subscriptions | 🔲 | Extensions register match expressions at install time |
|
||||||
| Trigger system | 🔲 | Time (cron), webhook (inbound HTTP), event (bus subscription) |
|
| Trigger system | 🔲 | Time (cron), webhook (inbound HTTP), event (bus subscription) |
|
||||||
|
|
||||||
|
### v0.2.3 — SDK + Task Extension
|
||||||
|
|
||||||
|
| Step | Status | Description |
|
||||||
|
|------|--------|-------------|
|
||||||
| 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 |
|
||||||
|
| Task extension | 🔲 | First proof-of-concept — full task system rebuilt as Starlark extension using triggers + ext_data + notifications |
|
||||||
### Remaining v0.2.0 features
|
|
||||||
|
|
||||||
- **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**~~: ✅ 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.
|
|
||||||
|
|
||||||
## v0.3.0 — Editor Surface
|
## v0.3.0 — Editor Surface
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user