Skip to content

Add packed public API snapshots and semver surface diffs #216

Description

@woksin

Problem

Components verifies that every public subpath loads, compiles under strict TypeScript, and carries TSDoc. Those gates prove validity, but they do not produce a compact reviewable structural diff of the exported API between releases. A semver label records intent rather than proving the actual public-shape delta.

Direction

Add generated, reviewable API snapshots derived from the real packed export map:

  • one snapshot per typed public subpath or one deterministically partitioned package snapshot;
  • include exported names, signatures, generics, members, deprecations, and release tags;
  • exclude private/unreachable implementation exports;
  • compare against the base release and classify additions/removals/narrowing;
  • require explicit semver intent for breaking changes without replacing human API review.

The snapshot generator must consume packed declarations, not workspace source aliases.

Acceptance criteria

  • All 24 typed JS subpaths are represented from the packed archive.
  • Deterministic regeneration produces no churn.
  • Planted removal, narrowing, and undocumented export changes fail.
  • CI uploads or comments a readable base-vs-head API diff.
  • The centralized semver-label policy consumes or references the structural result without duplicating organization policy.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions