Skip to content

v19: audit and enforce root export boundary #721

Description

@flyingrobots

Part of #712.

Problem

The current root export surface exposes implementation vocabulary too early. v19 needs a mechanically enforced package boundary so graph-shaped, patch-shaped, worldline, strand, braid, optic, witness, and hologram symbols do not leak from root.

Scope

  • Inventory all root and browser entrypoint exports.
  • Classify each export as root, storage, advanced, diagnostics, legacy, or internal.
  • Add an automated root export audit that rejects forbidden public names.
  • Keep type-only public nouns separate from value exports.

Acceptance

  • The audit fails if root exports graph-shaped substrate names.
  • The audit covers Node and browser entrypoints.
  • Allowed root value exports are limited to the v19 first-use API.
  • Existing consumers can still reach compatibility symbols through planned subpaths, not root.

Suggested RED/GREEN

RED: add a boundary fixture that detects an existing forbidden root export.

GREEN: move or stop exporting that symbol from root and update the audit allowlist.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:apiPrimary work area: api.area:testingPrimary work area: testing.priority:nextNext in line after active work.status:activeSomeone is actively working this issue.type:featureNew capability or product behavior.type:goalpostRoadmap umbrella milestone issue.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions