Skip to content

[dashboard DDX-10] Plugin Control host + registry/overview #420

Description

@rickylabs

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.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions