DDX-10 / S5: Plugin Control (dogfood centerpiece)
Summary
"What's installed, what does each plugin wire into (routes/db/workers/streams/telemetry — 8–10 axes), is it healthy, is it version-drifted." Fleet-level plugin wiring nothing else in the toolchain shows.
DX thesis
Neither Aspire nor Scalar has any concept of a NetScript "plugin," its contribution axes, its doctor report, or its JSR version drift.
Scope
data-table plugin list (status badge, version, drift indicator).
detail-layout per plugin → contribution-axis map (which axes it wires) + connector doctor-check rows (ok | degraded | failed) + version-drift row (installed → latest JSR).
- "Run doctor" action shows its CLI-equivalent (
netscript plugin doctor <id>) via CodeBlock; plugin-gated-view teaches install for absent plugins.
- The mount point where per-capability sections (S7–S10) and plugin-owned
DashboardPanelContributions render; global withCommand actions.
Non-goals
- Not an Aspire resource-health panel; plugin doctor ≠ resource state. Version drift read is JSR/registry, not Aspire.
Acceptance criteria
- Every plugin shows its contribution axes + doctor rows; drift row resolves installed vs latest JSR.
- "Run doctor" renders the exact CLI line (transparency pattern).
- Deep-links: → S2 wiring graph filtered to the plugin, → S4 contracts contributed.
Dependencies
#423 (/_netscript/plugins*, doctor, contributions), #427 (panel seam), deps:latest for JSR drift. Version drift = beta.6 if the JSR read is cheap, else fast-follow.
Manage (P2, Appwrite loop): S5 is also the management entry for the plugin capability — (a) a marketplace-lite "Add plugin" entry: browse first-party plugins with install state, absent ones teach + can run netscript plugin add <id> from the UI (same JSR installer, one generator two callers, confirm + CLI-equivalent); (b) per-plugin "Scaffold resource" entry point (template gallery) appearing once #432 lands (beta.7) — hidden/plugin-gated until then. Directus's in-app marketplace is the long-term precedent; beta.6 ships only the teach + gated-install affordance.
DDX-10 / S5: Plugin Control (dogfood centerpiece)
Summary
"What's installed, what does each plugin wire into (routes/db/workers/streams/telemetry — 8–10 axes), is it healthy, is it version-drifted." Fleet-level plugin wiring nothing else in the toolchain shows.
DX thesis
Neither Aspire nor Scalar has any concept of a NetScript "plugin," its contribution axes, its doctor report, or its JSR version drift.
Scope
data-tableplugin list (status badge, version, drift indicator).detail-layoutper plugin → contribution-axis map (which axes it wires) +connectordoctor-check rows (ok | degraded | failed) + version-drift row (installed → latest JSR).netscript plugin doctor <id>) via CodeBlock;plugin-gated-viewteaches install for absent plugins.DashboardPanelContributions render; globalwithCommandactions.Non-goals
Acceptance criteria
Dependencies
#423 (
/_netscript/plugins*, doctor, contributions), #427 (panel seam),deps:latestfor JSR drift. Version drift = beta.6 if the JSR read is cheap, else fast-follow.Manage (P2, Appwrite loop): S5 is also the management entry for the plugin capability — (a) a marketplace-lite "Add plugin" entry: browse first-party plugins with install state, absent ones teach + can run
netscript plugin add <id>from the UI (same JSR installer, one generator two callers, confirm + CLI-equivalent); (b) per-plugin "Scaffold resource" entry point (template gallery) appearing once #432 lands (beta.7) — hidden/plugin-gateduntil then. Directus's in-app marketplace is the long-term precedent; beta.6 ships only the teach + gated-install affordance.