Load plugin workspace declarations and expose GET /api/workspaces (T4) #11

Merged
weichen merged 2 commits from feature/workspaces-r1 into main 2026-09-30 08:08:05 +00:00
2 Commits
Author SHA1 Message Date
weichen 6403d3d9d9 Sync main before merge (stale-candidate guard) 2026-09-30 08:08:00 +00:00
weichen e08d9b091d Load plugin workspace declarations and expose GET /api/workspaces (T4)
Why: T4 workspaces are declared by plugins via provides.workspaces (Core PluginWorkspace is the authoritative type); the host must surface the merged overlay for the frontend to render in OverlayHost.
Evidence: go test green - plugins suite new TestWorkspacesOverlay (manifest + workspaces/main.json loads, ListWorkspaces returns the declaration with shortcut and body); full internal sweep unchanged.
Impact: plugins host loads workspaces/*.json assets and exposes ListWorkspaces; server adds GET /api/workspaces passthrough; no behavior change without the manifest key.
Refs: docs/proposals/2026-09-30-ui-inbox-command-workspace.md T4; task card feature/workspaces-r1
2026-09-30 08:01:31 +00:00