Core fix: core capabilities (plugin-manager, capability-registry, contribution-registry, permissions, events) now registered BEFORE plugin discovery, so plugins can resolve required capabilities at load time. Changes: - main.go: register 5 core capabilities before DiscoverPlugins(); add plugin lifecycle (register caps, resolve required/optional, set status LOADED/DEGRADED/MISSING_REQUIRED, register contributions) - api/app.go: ReloadPlugins now re-registers core + plugin capabilities - capability/registry.go: add UnregisterAll() for reload - cmd/smoke-platform/main.go: verify core caps, required resolution, degraded status, total caps >= 7 - PluginCard.svelte: remove ✗ on optional-missing, show degraded info - PluginManager.svelte: preserved (counter shows core+plugin caps) Rule: optional missing => DEGRADED (not FAILED). Required missing => MISSING_REQUIRED_CAPABILITY. Verified: smoke-platform ✅, test.sh (10/10) ✅, check.sh ✅ |
||
|---|---|---|
| build/bin | ||
| cmd/smoke-platform | ||
| docs | ||
| frontend | ||
| internal | ||
| scripts | ||
| .gitignore | ||
| AGENTS.md | ||
| README.md | ||
| go.mod | ||
| go.sum | ||
| main.go | ||
| wails.json | ||
README.md
verstak-desktop
Verstak Core Platform + UI Shell — plugin runtime, capability registry, vault API, event bus, sync client