7adb47a50f
Feat v0.3.3 public entry + background jobs
...
CI/CD / detect-changes (pull_request) Successful in 20s
CI/CD / test-frontend (pull_request) Has been skipped
CI/CD / test-sqlite (pull_request) Successful in 2m39s
CI/CD / test-go-pg (pull_request) Failing after 2m54s
CI/CD / build-and-deploy (pull_request) Has been skipped
Public workflow entry: unauthenticated routes at /api/v1/public/workflows/
for anonymous workflow participation. StartPublic creates instances with
public:<uuid> identity, ResumePublic/AdvancePublic use entry tokens.
Audience-gated: only public stages can be advanced anonymously.
SLA scanner: background goroutine (5-min interval) checks active instances
against per-stage sla_seconds. Fires workflow.sla_breach event on first
breach, marks sla_breached in instance metadata (idempotent).
Staleness sweep: new staleness_timeout_hours column on workflows. Scanner
marks idle instances as stale, cancels open assignments, fires
workflow.stale event.
New store methods: ListActiveInstances, MarkInstanceStale.
New events: workflow.sla_breach, workflow.stale.
3 new store tests (17 total), all passing on SQLite.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-27 22:28:22 +00:00
e4b7ee98a5
step 5 (partial): strip dropped packages from production code
...
Removed all references to dropped packages in non-test code.
Zero dropped imports, store refs, or model types remaining.
Major removals:
- scheduler/ package (entire dir) — tasks moved to extension track
- taskutil/ package (entire dir)
- health/ package (entire dir) — provider/tool health
- sandbox/provider_module.go — provider.complete module
- handlers: workflow_entry, workflow_instances, workflow_forms,
workflow_assignments, workflow_monitor, health_admin (6 files)
- auth/session.go, middleware/session_auth.go
- store/{postgres,sqlite}/sessions.go, tasks.go
Rewrites:
- store/{postgres,sqlite}/health.go — kernel-only Prune
(ws_tickets, rate_limit_counters, stale presence)
- handlers/admin.go: 847→467 lines (stripped provider CRUD)
- handlers/teams.go: 520→411 lines (stripped model listing)
- sandbox/runner.go: removed ProviderResolver
- sandbox/workflow_module.go: 216→83 lines (definition-only)
- main.go: 1579→1325 lines (stripped dropped package init)
- pages/pages.go: stripped channel/session lookups
- events/types.go: stripped chat/channel/workspace event routes
- models: stripped stale types, constants, notification types
Store interface cleanup:
- Removed SessionStore, TaskStore from Stores struct
- Stripped workflow assignment methods from WorkflowStore iface
- Stripped assignment methods from PG+SQLite workflow stores
- Updated testhelper.go table list to kernel-only
Migrations: removed 008_tasks.sql (both dialects)
-9665/+69 lines across 51 files.
2026-03-26 04:56:07 -04:00
ebea16344c
step 4: fresh kernel-only migrations
...
Deleted all 23+23 old chat-switchboard migration files.
Wrote 9+9 clean kernel-only migrations in postgres/ and sqlite/ subdirs.
27 tables per dialect covering all 20 store interfaces:
001: users, refresh_tokens, policies, settings, presence, oidc
002: teams, team_members, groups, group_members
003: packages, package_user_settings, ext_permissions, ext_data_tables
004: ext_connections, ext_dependencies, resource_grants
005: notifications, notification_preferences
006: audit_log
007: workflows, workflow_stages, workflow_versions
008: tasks, task_runs
009: ws_tickets, rate_limit_counters
Dropped: providers, personas, channels, messages, knowledge, notes,
memory, workspaces, projects, folders, files, usage_log, tool_health,
workflow_assignments, ext_view_channels.
Schema changes vs old:
- pgvector extension removed (no KB embeddings)
- resource_grants: resource_type CHECK removed (open-ended)
- workflow_stages: persona_id kept as nullable TEXT (no FK)
- workflow_stages: stage_mode default=form_only, added custom
- tasks: dropped output_channel_id, provider_config_id columns
- tasks: task_type removed prompt, output_mode: notification|webhook|log
- task_runs: dropped channel_id
- platform_policies: kernel-only seeds
- global_settings: kernel-only seeds, site name=Switchboard Core
- Everyone group: kernel permissions (extension.use, workflow.submit)
-2815/+487 lines.
2026-03-25 20:22:02 -04:00