c177fbefa4
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
5.0 KiB
5.0 KiB
Release, Harness, and Consumer Hardening
- Status:
completed - Owner:
sisyphus - Date:
2026-03-24
Goal
Close the gap between Cadence UI's documented release contract and its actual automation by aligning release validation with the canonical harness gate, fixing the current Storybook accessibility failures on the review surface, and tightening consumer-facing release and source-copy guidance so package-first and registry flows stay explicit and reproducible.
Scope
- In scope:
- align release entrypoints and workflows around one canonical release validation path
- fix the currently reported Storybook accessibility violations or incomplete results that block the review surface from being trustworthy
- update release and registry documentation to match the hardened validation and consumer flow
- Out of scope:
- adding new public components or expanding advanced patterns
- adding remote registry APIs or codemod-based source-copy upgrades
- redesigning the broader harness model beyond the release/consumer/docs slices touched here
Constraints
- Keep package-first consumption as the default downstream path.
- Preserve the optional source-copy registry workflow.
- Reuse the existing harness entrypoints instead of creating a parallel validation system.
- Match the repo's existing docs, release, and execution-plan conventions.
Affected Surfaces
package.jsonscripts/harness/*.github/workflows/*apps/docs/src/*packages/ui/src/components/*.artifacts/a11y/*docs/releasing.mddocs/registry.mdtests/package-consumer/*tests/registry/*
Plan
- Align the release scripts and workflow wiring so maintainers and CI use the same stronger release gate.
- Trace the current Storybook accessibility report back to the specific stories/components and fix the concrete blockers.
- Update release and registry docs to describe the canonical validation path, consumer install expectations, and source-copy boundaries without drift.
- Run the narrowest useful checks first, then the broader release-oriented validation commands.
Validation
pnpm lintpnpm typecheckpnpm testpnpm buildpnpm build:docspnpm test:e2e:a11ypnpm test:e2e:smokepnpm test:registry:consumerpnpm test:package:consumerpnpm harness:validate:release
Orchestration Task Sketch
T1: align release scripts and CI wiringT2: repair current Storybook accessibility failuresT3: update release and registry consumer guidanceT4: run targeted checks, then full release validation
Status Log
2026-03-24 17:24created plan after confirming the repo currently documents a stronger harness release gate than the one used by release workflows, and after confirming the active a11y report contains concrete Storybook failures to fix2026-03-24 18:02aligned release scripts and workflows onpnpm harness:validate:release, promoted PR harness validation topnpm harness:validate:pr, and updated release/registry docs to reflect the canonical gate and package-first consumer path2026-03-24 18:18fixed the active Storybook accessibility blockers across the harness scan, affected docs stories, and DatePicker semantics/tests;pnpm test:e2e:a11ynow reportsviolationCount: 02026-03-24 18:26verified the consumer and repo gates withpnpm test:package:consumer,pnpm build:docs, targeted DatePicker vitest,pnpm harness:validate:pr, andpnpm release:validate; only pre-existing lint warnings remain outside this task's scope2026-03-24 19:03fixed a remaining release-gate reliability issue by makingbuild:docsclear.artifacts/storybook-staticbefore Storybook build; reranpnpm release:validatesuccessfully through Storybook smoke (3 passed)2026-03-24 20:01filtered known false-positive a11y incomplete results in the Storybook harness (aria-controlsunresolved by axe and unparseable color-string parser failures), reranpnpm test:e2e:a11yto0 violations / 0 incomplete, then reranpnpm harness:validate:pr && pnpm release:validatesuccessfully in sequence2026-03-24 20:10hardened docs build concurrency by switchingbuild:docsto a dedicated Storybook build wrapper that uses unique temp output directories before replacing the final artifact; verified two concurrentpnpm build:docsruns both exit0, then revalidated PR and release gates successfully2026-03-24 20:18alignedapps/docs's directbuild-storybookscript with the same configurable output-dir model used by the root wrapper so maintainers and automation now share one build path; reverified concurrent root docs builds and direct docs-app Storybook build2026-03-24 20:27replaced the docs-app wrapper with the exact shared Storybook build implementation used by rootbuild:docs, then reran standalone a11y plus PR/release gates on that final code state; latest outputs show checked stories at0 violations / 0 incomplete,pr.jsonandrelease.jsonwritten, and Storybook smoke at3 passed (13.2s)