Skip to content

Review 5608

Cindy Zhang edited this page Aug 28, 2026 · 9 revisions

Review-5608

#5608 — fix(ci): keep accepted stable shots in the release gate · by @cixzhang · bucket: the maintainer
Verdict: approve · merge held for a human (release governance) · review comment


Head reviewed

52eee33f7d079e4de0a372ce5314f5333d6132d2 — parent 2458b03b35a45512b996b0c2c764d9530a36a052 (#5303). The complete diff was reviewed.

Verdict

Approve. The removal-authority and private-metadata blockers are closed under an explicit four-lane model. Merge remains held for the human release process; nothing was merged or dispatched.

Four authority lanes

  1. PR comparison: scoped; changed/added only. Out-of-plan keys cannot become removals.
  2. PR acceptance and post-merge promotion: update/add only. Removed PR evidence and legacy removed acceptance records fail before mutation; unrelated keys and PNGs survive.
  3. Daily release report: the only removal-reporting lane. It constructs canonical surface,theme-matrix internally and accepts no caller tier input.
  4. Baseline pruning: a separate reviewed visual-baseline.yml dispatch; prune defaults off. No PR workflow can invoke it.

Closed canonical-plan proof

The trusted planner records an authoritative marker plus deterministic count and SHA-256 digest. Removal comparison proceeds only when:

  • the marker says authoritativeStable: true;
  • manifest proof matches the expected canonical plan proof;
  • all planned keys were captured exactly, with no missing or extra key;
  • capture failures are zero;
  • every captured story/theme remains inside the public stable package boundary.

The exact-head proof transcript:

status=skipped (capture intentionally bounded to 0 for proof inspection)
tiers=[surface, theme-matrix]
removalAuthority=complete-stable
authoritativeStable=true
plan_count=884
plan_digest=1de202b39d723cfff98b5586b079fe557124027983e2e26af09e0b9790e067a1

Regression coverage refuses component, unknown, missing, duplicate, and extra tiers; an 882-key baseline-only capture that omits the two eligible additions; digest/count mismatch; missing/extra captured keys; capture failure; and private/canary metadata. An exact zero-failure canonical plan may report genuine deleted public story/theme keys.

Built Storybook ownership proof

A fresh exact-head Storybook build with Charts, Vega, and Lab dists absent produced 38 bare componentPath entries across 16 files: Charts 32, Vega 6. The one production resolver classifies all 38 from package specifiers. Package manifests—not display titles—exclude Charts, Vega, and Probe while retaining public Core.

Production result

Against the live 974-key baseline:

  • 884 planned Core shots
  • 882 / 882 eligible stable baseline keys covered
  • 2 current additions
  • 0 missing, private, probe-theme, or canary shots
  • OverflowList: 168
  • Carousel: 196

Verification

  • Visual-gate suite: 272 / 272 passed across 19 files.
  • Fresh Storybook production build and metadata validation passed.
  • pnpm check:repo passed.
  • pnpm lint passed with 0 errors (87 existing warnings).
  • actionlint passed with the repository's existing custom-runner and shellcheck exceptions.
  • Exact-head CI run 33130125797, Lint run 33130125911, and CLI Smoke Test run 33130125935 passed.

Review posted

The four-lane model holds at 52eee33f: PR promotion is add/update-only, canonical release reporting is proof-bound, and pruning remains a separate explicit action. Still human-held.

[Reviewed by Robohands]

Clone this wiki locally