Skip to content

Epic: Frontend contribution layer — plugins that ship UI #922

Description

@rickylabs

Tracking epic for the frontend contribution layer: a NetScript plugin becomes a full-stack unit — the same package that contributes services, workers, schemas, and Aspire wiring gains a frontend/ directory contributing pages, islands, zone components, nav entries, and theme CSS to any NetScript Fresh host app, discovered like every other axis (manifest pointer + generated, type-checked registry) and mounted through upstream Fresh 2.3 primitives.

RFC: #890 (draft PR carrying the full design record — rfc.md + .llm/runs/plan-frontend-contrib--seed/, rev 3, twice-reviewed: Sol·high adversarial 20/20 integrated, Kimi K3 docs-forecast 17/17 integrated).

Unblocks four consumers: dev dashboard panels (#400 — this epic's core lands in the same beta.13 cut as its first consumer), auth UI, ai surfaces, deploy consoles (Refs #427, #432 — both KEEP-and-re-baseline per the RFC's supersession map; no issues closed by this epic's filing).

Pillars

  1. Contracts@netscript/plugin-frontend-core/contracts/v1: envelope + (family, major) versioning, app family (route/island/zone/nav/theme), identity quartet, HostSurfaceDescriptor, request/client context split, budgets.
  2. Discovery — pointer axis in @netscript/plugin; transactional generated replace-set in .netscript/generated/ with frontend.check.ts as the install gate.
  3. Host runtime@netscript/fresh/plugins: post-fsRoutes composition mounting, literal route loaders + normalizer, island specifier registration, PluginZone, nav feed, deny-by-default procedure gateway.
  4. DX + lifecycleplugin new --with frontend, netscript plugin dev, doctor taxonomy, quarantine states, AppTarget starters, defineFrontendTestSuite + budgets.
  5. Consumers — first-party dogfood panels, auth v1, ai durable chat; dashboard (epic: NetScript Dev Dashboard — the Aspire/Scalar satellite that drives the framework (ships as a plugin, beta.6) #400) and deploy epics consume in their own runs.

Sequencing law: Wave-0 proofs (S1–S5) land before any public contract freezes — the mechanisms they prove were the adversarial review's blocker findings. First pull: the p0s (#923#931).

Sub-issues

Wave 0 — proofs (beta.13, p0):

Wave 1 — contracts + spine (beta.13):

Wave 1b — gateway (beta.13):

Wave 2 — DX + lifecycle (beta.13):

Wave 3 — consumers (beta.15):

Completion wave (beta.17):

Acceptance

  • gate: all Wave-0 proofs (S1–S5) recorded with pass/fail evidence before contract-freeze slices merge
  • gate: extended scaffold.runtime (install → render → hydrate → remove) green with a frontend-contributing plugin
  • gate: every sub-issue closed or explicitly re-homed with a pointer

Part of the beta.13 train alongside #400; owner schedules any re-slicing.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions