chore: strip remaining pre-fork version references

Second pass — removes chat-switchboard version numbers from config
field docs, section headers, file headers, and test comments. These
were pre-fork version tags that don't apply to switchboard-core.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-31 12:22:27 +00:00
parent a26ad79d90
commit 31548ce801
68 changed files with 197 additions and 204 deletions

View File

@@ -490,7 +490,7 @@ func BootstrapAdmin(cfg *config.Config, s store.Stores, uekCache ...*crypto.UEKC
})
// If the actual password changed, the vault seal is stale. Probe it
// with the current password and destroy only if unwrap fails.
// Ensure handle exists (backfill for pre-v0.24.0 users)
// Ensure handle exists (backfill for users)
if existing.Handle == "" {
handle := auth.UniqueHandle(ctx, s.Users, models.HandleFromName(cfg.AdminUsername))
s.Users.Update(ctx, existing.ID, map[string]interface{}{"handle": handle})

View File

@@ -8,7 +8,7 @@ import (
"switchboard-core/models"
)
// ── Extension Dependencies (v0.38.2) ──────────────────
// ── Extension Dependencies ──────────────────
// Admin-only read endpoints for dependency graph visibility.
// Dependencies are created/deleted implicitly by InstallPackage/DeletePackage.

View File

@@ -331,7 +331,7 @@ func hasPermission(granted []string, perm string) bool {
return false
}
// ── api_schema support (v0.6.2) ─────────────────────────────────────
// ── api_schema support ─────────────────────────────────────
// APISchemaEntry represents one route's OpenAPI-level documentation
// declared via the optional manifest "api_schema" array.

View File

@@ -243,7 +243,7 @@ func (h *GroupHandler) AddMember(c *gin.Context) {
return
}
// Notify the added user (v0.20.0)
// Notify the added user
if svc := notifications.Default(); svc != nil {
notifications.NotifyGroupMemberAdded(svc, req.UserID, groupID, group.Name)
}
@@ -273,7 +273,7 @@ func (h *GroupHandler) RemoveMember(c *gin.Context) {
return
}
// Notify the removed user (v0.20.0)
// Notify the removed user
if svc := notifications.Default(); svc != nil && group != nil {
notifications.NotifyGroupMemberRemoved(svc, userID, groupID, group.Name)
}

View File

@@ -62,7 +62,7 @@ func setupNotifHarness(t *testing.T) *notifHarness {
protected.PUT("/notifications/preferences/:type", notifH.SetPreference)
protected.DELETE("/notifications/preferences/:type", notifH.DeletePreference)
// Admin broadcast route (v0.28.6)
// Admin broadcast route
admin := api.Group("/admin")
admin.Use(middleware.Auth(cfg, stores.Users, userCache))
admin.Use(middleware.RequireAdmin(stores))
@@ -560,7 +560,7 @@ func TestNotifications_Unauthenticated(t *testing.T) {
}
}
// ── Admin Broadcast (v0.28.6) ────────────
// ── Admin Broadcast ────────────
func TestBroadcast_Success(t *testing.T) {
h := setupNotifHarness(t)

View File

@@ -175,7 +175,7 @@ func (h *NotificationHandler) Delete(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{"ok": true})
}
// ── Notification Preferences (v0.20.0 Phase 3) ──
// ── Notification Preferences ──
// GET /api/v1/notifications/preferences
func (h *NotificationHandler) ListPreferences(c *gin.Context) {
@@ -282,7 +282,7 @@ func (h *NotificationHandler) DeletePreference(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{"ok": true})
}
// ── Admin Broadcast (v0.28.6) ───────────────
// ── Admin Broadcast ───────────────
// POST /api/v1/admin/notifications/broadcast
// Admin-only: sends a system.announcement notification to all active users.

View File

@@ -27,7 +27,7 @@ import (
var validPackageID = regexp.MustCompile(`^[a-z0-9][a-z0-9-]{0,62}[a-z0-9]$`)
// PackageHandler manages unified package lifecycle (admin-only).
// Replaces SurfaceHandler (v0.28.7).
// Replaces SurfaceHandler.
type PackageHandler struct {
stores store.Stores
packagesDir string // e.g. /data/packages — where archives are extracted
@@ -43,12 +43,12 @@ func NewPackageHandler(s store.Stores, packagesDir ...string) *PackageHandler {
return &PackageHandler{stores: s, packagesDir: dir}
}
// SetSandbox attaches a Starlark sandbox for schema migrations (v0.30.0).
// SetSandbox attaches a Starlark sandbox for schema migrations.
func (h *PackageHandler) SetSandbox(sb *sandbox.Sandbox) {
h.sandbox = sb
}
// SetRunner attaches the Starlark runner for test-tool execution (v0.38.2).
// SetRunner attaches the Starlark runner for test-tool execution.
func (h *PackageHandler) SetRunner(r *sandbox.Runner) {
h.runner = r
}
@@ -672,7 +672,7 @@ func extractableRelPath(name string) string {
return ""
}
// ── Package settings (v0.30.0 CS2) ──────────────
// ── Package settings ──────────────
// GetPackageSettings returns the settings schema from the manifest merged
// with current admin-configured values.
@@ -806,7 +806,7 @@ func (h *PackageHandler) ListEnabledSurfaces(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{"data": enabled})
}
// ── Test Tool (v0.38.2) ─────────────────────────
// ── Test Tool ─────────────────────────
// POST /admin/packages/:id/test-tool
// Invokes a starlark extension's on_tool_call entry point directly,
// without going through the AI chat loop. Admin-only test harness.
@@ -881,7 +881,7 @@ func (h *PackageHandler) TestTool(c *gin.Context) {
})
}
// ── Package update (v0.5.4) ──────────────────────
// ── Package update ──────────────────────
// UpdatePackage applies an in-place update to an existing package.
// POST /api/v1/admin/packages/:id/update
@@ -1158,7 +1158,7 @@ func mergePackageSettings(existing *store.PackageRegistration, manifest map[stri
return data
}
// ── Package export (v0.5.4) ──────────────────────
// ── Package export ──────────────────────
// ExportPackage exports an installed package as a downloadable .pkg archive.
// GET /api/v1/admin/packages/:id/export

View File

@@ -1,6 +1,6 @@
package handlers
// presence.go — Heartbeat upsert and status query (v0.23.1)
// presence.go — Heartbeat upsert and status query
//
// Clients POST /api/v1/presence/heartbeat every 30s while active.
// GET /api/v1/presence?users=id1,id2 returns current status.

View File

@@ -51,7 +51,7 @@ func (s *jsonScanner) Scan(src interface{}) error {
// memory on the next rows.Scan() call, corrupting our data after the
// fact. This caused intermittent SafeJSON 500s on paginated list
// endpoints where row N's Settings pointed to row N+1's overwritten
// buffer. Fixed in v0.21.7.
// buffer. Fixed.
cp := make([]byte, len(v))
copy(cp, v)
*s.dest = json.RawMessage(cp)

View File

@@ -185,7 +185,7 @@ func TestSafeJSON_PaginatedWithCorrupt(t *testing.T) {
}
// ── Driver buffer aliasing tests ────────────
// These verify the fix for the v0.21.7 corruption bug: scanJSON must
// These verify the fix for the buffer-aliasing corruption bug: scanJSON must
// copy []byte from the database driver, not alias it. Without the copy,
// rows.Next() can overwrite the buffer and corrupt previously-scanned
// json.RawMessage values in a paginated list.

View File

@@ -419,7 +419,7 @@ func (h *TeamHandler) ListTeamAuditActions(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{"actions": actions})
}
// ── Team Roles API (v0.3.4) ─────────────────
// ── Team Roles API ─────────────────
// builtinRoles are always present in every team's role list.
var builtinRoles = []string{"admin", "member"}

View File

@@ -11,7 +11,7 @@ import (
"switchboard-core/workflow"
)
// ── Public Workflow Handlers (v0.3.3) ───────
// ── Public Workflow Handlers ───────
// WorkflowPublicHandler manages unauthenticated workflow entry endpoints.
type WorkflowPublicHandler struct {

View File

@@ -10,7 +10,7 @@ import (
"switchboard-core/workflow"
)
// ── Signoff Handlers (v0.3.4) ─────────────────
// ── Signoff Handlers ─────────────────
// WorkflowSignoffHandler manages signoff HTTP endpoints.
type WorkflowSignoffHandler struct {

View File

@@ -603,7 +603,7 @@ func TestWorkflowAssignment_Cancel(t *testing.T) {
}
}
// ── v0.3.3 Store Tests ──────────────────────
// ── Instance Lifecycle Store Tests ──────────────────────
func TestWorkflowInstance_MarkStale(t *testing.T) {
database.RequireTestDB(t)
@@ -779,7 +779,7 @@ func TestWorkflowAssignment_ListByTeam(t *testing.T) {
}
}
// ── Signoff store tests (v0.3.4) ──────────────
// ── Signoff store tests ──────────────
func TestWorkflowSignoff_CreateAndList(t *testing.T) {
database.RequireTestDB(t)
@@ -862,7 +862,7 @@ func TestWorkflowSignoff_ListEmpty(t *testing.T) {
}
}
// ── Clone tests (v0.3.5) ──────────────────
// ── Clone tests ──────────────────
func TestWorkflow_Clone(t *testing.T) {
database.RequireTestDB(t)

View File

@@ -9,7 +9,7 @@ import (
"switchboard-core/models"
)
// ── Team-Scoped Workflow Wrappers (v0.31.2) ────────────────
// ── Team-Scoped Workflow Wrappers ────────────────
//
// Thin wrappers that enforce team ownership before delegating
// to the existing WorkflowHandler methods. Follows the same