Skip to content

[P2] PortalSchema disposition: prune the dead schema or build a portal runtime #3464

Description

@os-zhuang

Split out from the aspirational-config issue #1893 (Portal row). Umbrella #1878.

State

PortalSchema (packages/spec/src/ui/portal.zod.ts) is 100% dead:

  • Already marked [EXPERIMENTAL — not enforced] on the schema (describe says "authoring a portal today is a no-op").
  • Not registered as a metadata type (absent from kernel/metadata-type-schemas.ts).
  • No route, no dispatcher, no renderer consumes it.

It's the largest single dead schema in the spec, and marking it experimental was the interim (#1893). This issue is the permanent disposition.

Decision needed (pick one)

  • A — prune. Remove PortalSchema + its exports. Breaking (public export) → schedule with a major + a one-line migration note (same batch/treatment as the [11.0][A2] Remove dead author-facing metadata properties (ADR-0049 enforce-or-remove) #2377 enforce-or-remove pruning). Recommended unless a portal feature is on the roadmap.
  • B — build. Register portal as a metadata type + a runtime route + a renderer so authoring a portal takes effect. A real feature — only if portals are planned.

Interim (already shipped): the [EXPERIMENTAL — not enforced] marker keeps authoring it from being a silent no-op.

Refs #1878, #1893.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions