feat: Worker portal Stage 6 — Plugin Studio (developer view)
Description
Land the Plugin Studio (Plugin Developer view): a UI for authoring + validating Plugin.toml manifests and previewing their panels/sections in the live composer before installing them into a jurisdiction's baseline. This is the path for jurisdictions to ship local plugins without touching canopy core.
Marketplace federation is out of v1 per #460; this issue is local plugin authoring only.
Acceptance Criteria
- Template at
services/canopy-web/templates/studio/plugin.html - Plugin authoring:
- Manifest editor with live validation against the Stage 2 composability ADR's
Plugin.tomlschema (slug unique, semver, allowed_spans subset, required roles exist, programs known) - Preview pane: renders the plugin's panel/section against fixture data
- Save + install: writes plugin to a jurisdiction-scoped plugin directory (path per Stage 2 ADR), composition loader picks it up on next render
- Manifest editor with live validation against the Stage 2 composability ADR's
- Plugin uninstall: removes the plugin from the jurisdiction directory and from any composition referencing it
- Gated to
studio_adminrole - Audit emitted on plugin install + uninstall
- Playwright E2E: author → validate → preview → install → composition can reference → uninstall
- axe-core WCAG 2.1 AA clean
- CHANGELOG entry under
=== Added
Out of scope (deferred to v2)
- Marketplace federation (publish plugin, browse marketplace, install from registry)
- Plugin signing + verification
Blocked by
- Stage 6 Studio live-mode issue merged
Context & References
- Tracking issue: #460
- Epic: &51
- Plan: worker-portal-redesign.adoc, Stage 6
- Design canvas: Plugin Studio (developer view) from 2026-05-14 package
Labels
type::feature, priority::medium, program::infrastructure, service::web, workflow::needs-spec, compliance::wcag-21-aa