diff --git a/packages/editor/css/main.css b/packages/editor/css/main.css
index b73cea3..f88b9d1 100644
--- a/packages/editor/css/main.css
+++ b/packages/editor/css/main.css
@@ -1,5 +1,5 @@
/* ==========================================
- Switchboard Core — Editor Surface (v0.25.0)
+ Armature — Editor Surface (v0.25.0)
==========================================
Replaces editor-mode.css for the pane-based editor.
Covers: topbar, bootstrap, and component-specific
diff --git a/packages/icd-test-runner/js/framework.js b/packages/icd-test-runner/js/framework.js
index e1f738b..e0db74d 100644
--- a/packages/icd-test-runner/js/framework.js
+++ b/packages/icd-test-runner/js/framework.js
@@ -270,7 +270,7 @@
function getAuthTokenFromStorage() {
var env = (T.base || '').replace(/^\//, '') || 'default';
- var keys = ['sb_auth_' + env, 'sb_auth', 'sb_token'];
+ var keys = ['arm_auth_' + env, 'arm_auth', 'arm_token'];
for (var i = 0; i < keys.length; i++) {
try {
var raw = localStorage.getItem(keys[i]);
diff --git a/packages/sdk-test-runner/js/framework.js b/packages/sdk-test-runner/js/framework.js
index 0d9bce4..a9a30b3 100644
--- a/packages/sdk-test-runner/js/framework.js
+++ b/packages/sdk-test-runner/js/framework.js
@@ -141,7 +141,7 @@
function _readToken() {
var env = (T.base || '').replace(/^\//, '') || 'default';
- var keys = ['sb_auth_' + env, 'sb_auth', 'sb_token'];
+ var keys = ['arm_auth_' + env, 'arm_auth', 'arm_token'];
for (var i = 0; i < keys.length; i++) {
try {
var raw = localStorage.getItem(keys[i]);
diff --git a/packages/webhook-notifier/script.star b/packages/webhook-notifier/script.star
index f6b3fdb..4b91d4b 100644
--- a/packages/webhook-notifier/script.star
+++ b/packages/webhook-notifier/script.star
@@ -21,7 +21,7 @@ def on_fire(ctx):
resp = http.post(url, body=payload, headers={
"Content-Type": "application/json",
- "X-Switchboard-Event": data.get("event_name", "workflow.notify"),
+ "X-Armature-Event": data.get("event_name", "workflow.notify"),
})
# Log the delivery
diff --git a/server/database/migrations/postgres/001_core.sql b/server/database/migrations/postgres/001_core.sql
index 0c4a924..86ab283 100644
--- a/server/database/migrations/postgres/001_core.sql
+++ b/server/database/migrations/postgres/001_core.sql
@@ -1,5 +1,5 @@
-- ==========================================
--- Switchboard Core — 001 Core
+-- Armature — 001 Core
-- ==========================================
-- Users, auth, platform policies, global settings, presence, OIDC.
-- ==========================================
@@ -89,7 +89,7 @@ CREATE TABLE IF NOT EXISTS global_settings (
INSERT INTO global_settings (key, value) VALUES
('registration', '{"enabled": true}'::jsonb),
- ('site', '{"name": "Switchboard Core", "tagline": "Extension Platform"}'::jsonb),
+ ('site', '{"name": "Armature", "tagline": "Extension Platform"}'::jsonb),
('banner', '{"enabled": false, "text": "", "bg": "#007a33", "fg": "#ffffff"}'::jsonb)
ON CONFLICT (key) DO NOTHING;
diff --git a/server/database/migrations/postgres/002_teams.sql b/server/database/migrations/postgres/002_teams.sql
index 5c95adf..5795690 100644
--- a/server/database/migrations/postgres/002_teams.sql
+++ b/server/database/migrations/postgres/002_teams.sql
@@ -1,5 +1,5 @@
-- ==========================================
--- Switchboard Core — 002 Teams & Access Control
+-- Armature — 002 Teams & Access Control
-- ==========================================
CREATE TABLE IF NOT EXISTS teams (
diff --git a/server/database/migrations/postgres/003_packages.sql b/server/database/migrations/postgres/003_packages.sql
index 3ecca0d..5e063bf 100644
--- a/server/database/migrations/postgres/003_packages.sql
+++ b/server/database/migrations/postgres/003_packages.sql
@@ -1,5 +1,5 @@
-- ==========================================
--- Switchboard Core — 003 Packages & Extensions
+-- Armature — 003 Packages & Extensions
-- ==========================================
CREATE TABLE IF NOT EXISTS packages (
diff --git a/server/database/migrations/postgres/004_connections.sql b/server/database/migrations/postgres/004_connections.sql
index 1697937..6623d86 100644
--- a/server/database/migrations/postgres/004_connections.sql
+++ b/server/database/migrations/postgres/004_connections.sql
@@ -1,5 +1,5 @@
-- ==========================================
--- Switchboard Core — 004 Connections & Dependencies
+-- Armature — 004 Connections & Dependencies
-- ==========================================
CREATE TABLE IF NOT EXISTS ext_connections (
diff --git a/server/database/migrations/postgres/005_notifications.sql b/server/database/migrations/postgres/005_notifications.sql
index 490066f..898bc75 100644
--- a/server/database/migrations/postgres/005_notifications.sql
+++ b/server/database/migrations/postgres/005_notifications.sql
@@ -1,5 +1,5 @@
-- ==========================================
--- Switchboard Core — 005 Notifications
+-- Armature — 005 Notifications
-- ==========================================
CREATE TABLE IF NOT EXISTS notifications (
diff --git a/server/database/migrations/postgres/006_audit.sql b/server/database/migrations/postgres/006_audit.sql
index ec979f6..fa3b8f4 100644
--- a/server/database/migrations/postgres/006_audit.sql
+++ b/server/database/migrations/postgres/006_audit.sql
@@ -1,5 +1,5 @@
-- ==========================================
--- Switchboard Core — 006 Audit
+-- Armature — 006 Audit
-- ==========================================
CREATE TABLE IF NOT EXISTS audit_log (
diff --git a/server/database/migrations/postgres/007_workflows.sql b/server/database/migrations/postgres/007_workflows.sql
index fabbe83..f1a5c8f 100644
--- a/server/database/migrations/postgres/007_workflows.sql
+++ b/server/database/migrations/postgres/007_workflows.sql
@@ -1,5 +1,5 @@
-- ==========================================
--- Switchboard Core — 007 Workflows
+-- Armature — 007 Workflows
-- ==========================================
-- Workflow definitions, stages, version snapshots.
-- v0.3.0: persona_id + history_mode dropped (chat vestiges).
diff --git a/server/database/migrations/postgres/009_ha.sql b/server/database/migrations/postgres/009_ha.sql
index 7288df4..c62febf 100644
--- a/server/database/migrations/postgres/009_ha.sql
+++ b/server/database/migrations/postgres/009_ha.sql
@@ -1,5 +1,5 @@
-- ==========================================
--- Switchboard Core — 009 Multi-Replica HA
+-- Armature — 009 Multi-Replica HA
-- ==========================================
CREATE TABLE IF NOT EXISTS ws_tickets (
diff --git a/server/database/migrations/postgres/011_triggers.sql b/server/database/migrations/postgres/011_triggers.sql
index 275d791..bc32310 100644
--- a/server/database/migrations/postgres/011_triggers.sql
+++ b/server/database/migrations/postgres/011_triggers.sql
@@ -1,5 +1,5 @@
-- ==========================================
--- Switchboard Core — 011 Triggers & Scheduled Tasks
+-- Armature — 011 Triggers & Scheduled Tasks
-- ==========================================
-- ── Extension Triggers (event + webhook) ──────
diff --git a/server/database/migrations/sqlite/001_core.sql b/server/database/migrations/sqlite/001_core.sql
index 7eb52e5..2040b45 100644
--- a/server/database/migrations/sqlite/001_core.sql
+++ b/server/database/migrations/sqlite/001_core.sql
@@ -1,5 +1,5 @@
-- ==========================================
--- Switchboard Core — 001 Core (SQLite)
+-- Armature — 001 Core (SQLite)
-- ==========================================
PRAGMA journal_mode = WAL;
@@ -69,7 +69,7 @@ CREATE TABLE IF NOT EXISTS global_settings (
INSERT OR IGNORE INTO global_settings (key, value) VALUES
('registration', '{"enabled": true}'),
- ('site', '{"name": "Switchboard Core", "tagline": "Extension Platform"}'),
+ ('site', '{"name": "Armature", "tagline": "Extension Platform"}'),
('banner', '{"enabled": false, "text": "", "bg": "#007a33", "fg": "#ffffff"}');
CREATE TABLE IF NOT EXISTS user_presence (
diff --git a/server/database/migrations/sqlite/002_teams.sql b/server/database/migrations/sqlite/002_teams.sql
index 2490e03..e9489c7 100644
--- a/server/database/migrations/sqlite/002_teams.sql
+++ b/server/database/migrations/sqlite/002_teams.sql
@@ -1,5 +1,5 @@
-- ==========================================
--- Switchboard Core — 002 Teams & Access Control (SQLite)
+-- Armature — 002 Teams & Access Control (SQLite)
-- ==========================================
CREATE TABLE IF NOT EXISTS teams (
diff --git a/server/database/migrations/sqlite/003_packages.sql b/server/database/migrations/sqlite/003_packages.sql
index 96556dc..bd33bd7 100644
--- a/server/database/migrations/sqlite/003_packages.sql
+++ b/server/database/migrations/sqlite/003_packages.sql
@@ -1,5 +1,5 @@
-- ==========================================
--- Switchboard Core — 003 Packages & Extensions (SQLite)
+-- Armature — 003 Packages & Extensions (SQLite)
-- ==========================================
CREATE TABLE IF NOT EXISTS packages (
diff --git a/server/database/migrations/sqlite/004_connections.sql b/server/database/migrations/sqlite/004_connections.sql
index 802e0ce..da5f7bd 100644
--- a/server/database/migrations/sqlite/004_connections.sql
+++ b/server/database/migrations/sqlite/004_connections.sql
@@ -1,5 +1,5 @@
-- ==========================================
--- Switchboard Core — 004 Connections & Dependencies (SQLite)
+-- Armature — 004 Connections & Dependencies (SQLite)
-- ==========================================
CREATE TABLE IF NOT EXISTS ext_connections (
diff --git a/server/database/migrations/sqlite/005_notifications.sql b/server/database/migrations/sqlite/005_notifications.sql
index 8f23407..04a317d 100644
--- a/server/database/migrations/sqlite/005_notifications.sql
+++ b/server/database/migrations/sqlite/005_notifications.sql
@@ -1,5 +1,5 @@
-- ==========================================
--- Switchboard Core — 005 Notifications (SQLite)
+-- Armature — 005 Notifications (SQLite)
-- ==========================================
CREATE TABLE IF NOT EXISTS notifications (
diff --git a/server/database/migrations/sqlite/006_audit.sql b/server/database/migrations/sqlite/006_audit.sql
index c738a3c..d7e7c7e 100644
--- a/server/database/migrations/sqlite/006_audit.sql
+++ b/server/database/migrations/sqlite/006_audit.sql
@@ -1,5 +1,5 @@
-- ==========================================
--- Switchboard Core — 006 Audit (SQLite)
+-- Armature — 006 Audit (SQLite)
-- ==========================================
CREATE TABLE IF NOT EXISTS audit_log (
diff --git a/server/database/migrations/sqlite/007_workflows.sql b/server/database/migrations/sqlite/007_workflows.sql
index 772295e..62543fe 100644
--- a/server/database/migrations/sqlite/007_workflows.sql
+++ b/server/database/migrations/sqlite/007_workflows.sql
@@ -1,5 +1,5 @@
-- ==========================================
--- Switchboard Core — 007 Workflows (SQLite)
+-- Armature — 007 Workflows (SQLite)
-- ==========================================
-- v0.3.0: persona_id + history_mode dropped (chat vestiges).
-- transition_rules → stage_config, stage_mode modernized.
diff --git a/server/database/migrations/sqlite/009_ha.sql b/server/database/migrations/sqlite/009_ha.sql
index 25cd56f..c73776f 100644
--- a/server/database/migrations/sqlite/009_ha.sql
+++ b/server/database/migrations/sqlite/009_ha.sql
@@ -1,5 +1,5 @@
-- ==========================================
--- Switchboard Core — 009 Multi-Replica HA (SQLite)
+-- Armature — 009 Multi-Replica HA (SQLite)
-- ==========================================
CREATE TABLE IF NOT EXISTS ws_tickets (
diff --git a/server/database/migrations/sqlite/011_triggers.sql b/server/database/migrations/sqlite/011_triggers.sql
index df2f09f..0667372 100644
--- a/server/database/migrations/sqlite/011_triggers.sql
+++ b/server/database/migrations/sqlite/011_triggers.sql
@@ -1,5 +1,5 @@
-- ==========================================
--- Switchboard Core — 011 Triggers & Scheduled Tasks (SQLite)
+-- Armature — 011 Triggers & Scheduled Tasks (SQLite)
-- ==========================================
-- ── Extension Triggers (event + webhook) ──────
diff --git a/server/handlers/auth.go b/server/handlers/auth.go
index 8195be5..62a9ed5 100644
--- a/server/handlers/auth.go
+++ b/server/handlers/auth.go
@@ -153,8 +153,8 @@ func (h *AuthHandler) Logout(c *gin.Context) {
h.uekCache.Evict(userID.(string))
}
- // Clear the sb_token cookie so SSR middleware doesn't trust a stale token
- c.SetCookie("sb_token", "", -1, "/", "", false, false)
+ // Clear the arm_token cookie so SSR middleware doesn't trust a stale token
+ c.SetCookie("arm_token", "", -1, "/", "", false, false)
c.JSON(http.StatusOK, gin.H{"message": "logged out"})
}
@@ -287,7 +287,7 @@ func (h *AuthHandler) OIDCCallback(c *gin.Context) {
userJSON, _ := json.Marshal(tokens["user"])
// Set page-auth cookie too (for SSR middleware)
- c.SetCookie("sb_token", accessToken, 900, "/", "", false, false)
+ c.SetCookie("arm_token", accessToken, 900, "/", "", false, false)
// Base64-encode the token payload for the fragment
payload := fmt.Sprintf(`{"access_token":"%s","refresh_token":"%s","user":%s}`,
diff --git a/server/middleware/auth.go b/server/middleware/auth.go
index 8891f16..518fc1e 100644
--- a/server/middleware/auth.go
+++ b/server/middleware/auth.go
@@ -142,11 +142,11 @@ func parseAndValidateJWT(tokenString string, jwtSecret string) (*Claims, bool) {
return claims, true
}
-// UserIDFromCookie extracts the user ID from the sb_token cookie without
+// UserIDFromCookie extracts the user ID from the arm_token cookie without
// requiring authentication. Returns "" if no valid token is found.
// Used by unauthenticated routes that want optional user context.
func UserIDFromCookie(c *gin.Context, jwtSecret string) string {
- cookie, err := c.Cookie("sb_token")
+ cookie, err := c.Cookie("arm_token")
if err != nil || cookie == "" {
return ""
}
diff --git a/server/middleware/page_auth.go b/server/middleware/page_auth.go
index 30bd339..973e842 100644
--- a/server/middleware/page_auth.go
+++ b/server/middleware/page_auth.go
@@ -17,7 +17,7 @@ import (
// Unlike Auth() which returns 401 JSON for API calls, this redirects
// to the login page — appropriate for browser navigation.
//
-// Token is read from the "sb_token" cookie (set by the login page JS)
+// Token is read from the "arm_token" cookie (set by the login page JS)
// since page requests don't have Authorization headers.
func AuthOrRedirect(cfg *config.Config, users store.UserStore, cache *UserStatusCache) gin.HandlerFunc {
loginPath := cfg.BasePath + "/login"
@@ -32,7 +32,7 @@ func AuthOrRedirect(cfg *config.Config, users store.UserStore, cache *UserStatus
// Try cookie first (set by login page), then Authorization header,
// then query param (for edge cases)
tokenString := ""
- if cookie, err := c.Cookie("sb_token"); err == nil && cookie != "" {
+ if cookie, err := c.Cookie("arm_token"); err == nil && cookie != "" {
tokenString = cookie
}
if tokenString == "" {
@@ -109,7 +109,7 @@ func OptionalAuth(cfg *config.Config, users store.UserStore, cache *UserStatusCa
}
tokenString := ""
- if cookie, err := c.Cookie("sb_token"); err == nil && cookie != "" {
+ if cookie, err := c.Cookie("arm_token"); err == nil && cookie != "" {
tokenString = cookie
}
if tokenString == "" {
diff --git a/server/pages/templates/base.html b/server/pages/templates/base.html
index 83e150b..85de449 100644
--- a/server/pages/templates/base.html
+++ b/server/pages/templates/base.html
@@ -38,10 +38,10 @@