-
Notifications
You must be signed in to change notification settings - Fork 0
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
52eee33f7d079e4de0a372ce5314f5333d6132d2 — parent 2458b03b35a45512b996b0c2c764d9530a36a052 (#5303). The complete diff was reviewed.
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.
- PR comparison: scoped; changed/added only. Out-of-plan keys cannot become removals.
- 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.
-
Daily release report: the only removal-reporting lane. It constructs canonical
surface,theme-matrixinternally and accepts no caller tier input. -
Baseline pruning: a separate reviewed
visual-baseline.ymldispatch;prunedefaults off. No PR workflow can invoke it.
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.
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.
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
- Visual-gate suite: 272 / 272 passed across 19 files.
- Fresh Storybook production build and metadata validation passed.
-
pnpm check:repopassed. -
pnpm lintpassed with 0 errors (87 existing warnings). -
actionlintpassed 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.
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]