Add harness workflow and Material showcase design system
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
# Harness Foundation
|
||||
|
||||
- Status: `completed`
|
||||
- Owner: `codex`
|
||||
- Date: `2026-03-23`
|
||||
|
||||
## Goal
|
||||
|
||||
Introduce the first harness-engineering layer for Cadence UI so the repository becomes easier for
|
||||
agents to understand, plan against, and validate mechanically.
|
||||
|
||||
## Scope
|
||||
|
||||
- In scope:
|
||||
- document the harness workflow
|
||||
- add execution-plan conventions
|
||||
- expose shared validation suites from one entrypoint
|
||||
- add a pull request workflow that runs the PR validation suite
|
||||
- Out of scope:
|
||||
- full worktree orchestration
|
||||
- change-aware suite selection
|
||||
- fixing pre-existing lint and Storybook smoke issues discovered during baseline review
|
||||
|
||||
## Constraints
|
||||
|
||||
- Keep the existing package, registry, and Storybook workflows intact.
|
||||
- Avoid introducing a hard dependency on a specific coding-agent CLI.
|
||||
- Preserve the current release scripts while adding a richer harness path alongside them.
|
||||
|
||||
## Affected Surfaces
|
||||
|
||||
- `AGENTS.md`
|
||||
- `CONTRIBUTING.md`
|
||||
- `README.md`
|
||||
- `docs/harness-engineering.md`
|
||||
- `docs/exec-plans/*`
|
||||
- `package.json`
|
||||
- `.github/workflows/harness-validate.yml`
|
||||
- `scripts/harness/validate.mjs`
|
||||
|
||||
## Plan
|
||||
|
||||
1. Document what harness engineering means for this repository.
|
||||
2. Add versioned execution-plan guidance and a real example plan.
|
||||
3. Expose reusable validation suites behind a single script.
|
||||
4. Run the new PR suite from GitHub Actions.
|
||||
|
||||
## Validation
|
||||
|
||||
- `pnpm harness:suites`
|
||||
- `pnpm harness:validate:pr -- --dry-run`
|
||||
|
||||
Baseline findings captured during rollout:
|
||||
|
||||
- `pnpm test` passed
|
||||
- `pnpm typecheck` passed
|
||||
- `pnpm lint` failed on pre-existing story/test lint issues plus React Compiler hook lint
|
||||
- `pnpm test:e2e:smoke` reached a real Storybook drift failure in the button playground flow once
|
||||
browser launch permissions were provided
|
||||
|
||||
## Status Log
|
||||
|
||||
- `2026-03-23 12:18` inspected repo structure, QA stack, CI workflows, and agent guidance
|
||||
- `2026-03-23 12:24` confirmed `test` and `typecheck` pass; found pre-existing `lint` failures
|
||||
- `2026-03-23 12:26` reran Playwright smoke outside the sandbox and confirmed one real Storybook
|
||||
smoke failure instead of a harness-only environment failure
|
||||
- `2026-03-23 12:31` added harness docs, execution-plan conventions, validation script, and PR
|
||||
workflow
|
||||
@@ -0,0 +1,71 @@
|
||||
# Harness Rollout Completion
|
||||
|
||||
- Status: `completed`
|
||||
- Owner: `codex`
|
||||
- Date: `2026-03-23`
|
||||
|
||||
## Goal
|
||||
|
||||
Finish the next harness-engineering layer for Cadence UI by stabilizing baseline validation,
|
||||
adding diff-aware suite selection, and exposing worktree-oriented orchestration defaults.
|
||||
|
||||
## Scope
|
||||
|
||||
- In scope:
|
||||
- fix the current lint failures
|
||||
- stabilize the flaky Storybook smoke route
|
||||
- add suite selection from git diff and working tree changes
|
||||
- add orchestration wrapper docs and scripts
|
||||
- Out of scope:
|
||||
- automated plan-to-task decomposition
|
||||
- CI artifact uploads for harness JSON reports
|
||||
- stronger container or VM isolation around worker execution
|
||||
|
||||
## Constraints
|
||||
|
||||
- Keep the existing validation commands working as direct entrypoints.
|
||||
- Do not make the repository depend on a single hosted orchestration service.
|
||||
- Preserve simple local development workflows alongside the richer harness path.
|
||||
|
||||
## Affected Surfaces
|
||||
|
||||
- `apps/docs/src/components/*`
|
||||
- `packages/ui/src/components/*`
|
||||
- `tests/e2e/storybook-smoke.spec.ts`
|
||||
- `scripts/harness/*`
|
||||
- `.github/workflows/harness-validate.yml`
|
||||
- `docs/harness-engineering.md`
|
||||
- `docs/orchestration.md`
|
||||
|
||||
## Plan
|
||||
|
||||
1. Repair the failing lint issues in stories, tests, and hooks-heavy components.
|
||||
2. Stabilize Storybook smoke navigation so it waits for iframe story readiness.
|
||||
3. Add a shared diff-to-suite selector and a changed-suite validator.
|
||||
4. Expose a repository-local orchestration wrapper with strict worktree defaults.
|
||||
5. Update docs and workflow wiring around the new control plane.
|
||||
|
||||
## Validation
|
||||
|
||||
- `pnpm lint`
|
||||
- `pnpm harness:suites`
|
||||
- `pnpm harness:select -- --json`
|
||||
- `pnpm harness:validate:changed -- --dry-run`
|
||||
- `pnpm test`
|
||||
- `pnpm typecheck`
|
||||
- `pnpm build:docs`
|
||||
- `pnpm test:e2e:smoke`
|
||||
|
||||
## Orchestration Task Sketch
|
||||
|
||||
- `T1`: stabilize validation surfaces
|
||||
- `T2`: add selector and reporting control plane
|
||||
- `T3`: wire worktree dispatch defaults and docs
|
||||
- `T4`: validate changed-suite and full smoke behavior
|
||||
|
||||
## Status Log
|
||||
|
||||
- `2026-03-23 12:36` fixed existing lint errors in stories, tests, and component hooks
|
||||
- `2026-03-23 12:43` stabilized Storybook smoke route readiness via story-title waits
|
||||
- `2026-03-23 12:50` added shared harness core, diff-aware suite selector, and changed-suite execution
|
||||
- `2026-03-23 12:55` added orchestration wrapper and repository docs for worktree-backed dispatch
|
||||
@@ -0,0 +1,77 @@
|
||||
# Material You Convergence
|
||||
|
||||
- Status: `completed`
|
||||
- Owner: `codex`
|
||||
- Date: `2026-03-23`
|
||||
|
||||
## Goal
|
||||
|
||||
Converge Cadence UI from a multi-skin showcase system into a single Material You inspired
|
||||
design language with dynamic seed-color theming, tonal surfaces, large-radius component
|
||||
defaults, and one consistent motion vocabulary plus a reduced/static accessibility override.
|
||||
|
||||
## Scope
|
||||
|
||||
- In scope:
|
||||
- replace the current `minimal / glass / pixel` skin contract with a single `material` skin
|
||||
- shift token defaults toward Material You roles and typography
|
||||
- introduce runtime dynamic color generation from a seed color
|
||||
- retune component surface variables around tonal containers instead of decorative skins
|
||||
- update Storybook preview and foundation stories away from multi-skin demos
|
||||
- update package and contract tests that exercise the public runtime styling API
|
||||
- promote `DESIGN.md` into the repository system of record
|
||||
- push the visual language further toward a showcase-grade Material presentation
|
||||
- Out of scope:
|
||||
- full wallpaper extraction from host operating systems
|
||||
- dark theme parity for every token role in this first convergence slice
|
||||
- a full component-by-component redesign of every docs story
|
||||
|
||||
## Constraints
|
||||
|
||||
- Keep the existing package import structure working for `@ai-ui/ui` and `@ai-ui/tokens`.
|
||||
- Preserve the reduced/static motion accessibility mode.
|
||||
- Prefer aliasing and runtime helpers over a sweeping component API rewrite.
|
||||
- Record the direction change explicitly instead of silently continuing the multi-skin RFC.
|
||||
|
||||
## Affected Surfaces
|
||||
|
||||
- `packages/tokens/src/*`
|
||||
- `packages/ui/src/lib/*`
|
||||
- `packages/ui/src/skins.css`
|
||||
- `packages/ui/src/styles.css`
|
||||
- `apps/docs/.storybook/preview.ts`
|
||||
- `apps/docs/src/*.stories.tsx`
|
||||
- `DESIGN.md`
|
||||
- `AGENTS.md`
|
||||
- `README.md`
|
||||
- `tests/package-consumer/*`
|
||||
- `docs/exec-plans/*`
|
||||
|
||||
## Plan
|
||||
|
||||
1. Replace the style runtime contract with Material-centric theme and motion semantics.
|
||||
2. Add a seed-color palette generator and map generated roles onto existing component tokens.
|
||||
3. Collapse skin CSS to a single Material skin and retune shared component variables.
|
||||
4. Update Storybook docs to demonstrate dynamic color, tonal surfaces, and the single motion language.
|
||||
5. Promote `DESIGN.md` into the repository's official design system of record.
|
||||
6. Push the showcase styling and motion layer until the docs feel closer to a Material launch demo.
|
||||
7. Run focused validation on package contracts, docs build, and consumer smoke.
|
||||
|
||||
## Validation
|
||||
|
||||
- `pnpm test`
|
||||
- `pnpm typecheck`
|
||||
- `pnpm build:docs`
|
||||
- `pnpm test:package:consumer`
|
||||
|
||||
## Orchestration Task Sketch
|
||||
|
||||
- `T1`: token/runtime contract shift
|
||||
- `T2`: shared component surface restyle
|
||||
- `T3`: docs and consumer validation updates
|
||||
|
||||
## Status Log
|
||||
|
||||
- `2026-03-23 14:18` started convergence plan after product direction changed from multi-skin showcase to Material You
|
||||
- `2026-03-23 16:15` promoted `DESIGN.md` to the active design-system source of truth and started a second-pass visual polish toward a more animated Material showcase
|
||||
- `2026-03-23 16:58` completed the second-pass polish across tokens, shared skin variables, Storybook showcase pages, and package-consumer validation
|
||||
@@ -0,0 +1,44 @@
|
||||
# Execution Plans
|
||||
|
||||
Execution plans make non-trivial work resumable and reviewable by both humans and agents.
|
||||
|
||||
## Naming
|
||||
|
||||
Use `YYYY-MM-DD-short-name.md`.
|
||||
|
||||
Examples:
|
||||
|
||||
- `2026-03-23-harness-foundation.md`
|
||||
- `2026-03-24-date-picker-accessibility.md`
|
||||
|
||||
## When To Add One
|
||||
|
||||
Create or update a plan when the change:
|
||||
|
||||
- spans multiple directories or validation surfaces
|
||||
- alters public contracts, release behavior, or build pipelines
|
||||
- is large enough that another person or agent may continue it later
|
||||
|
||||
## Status Model
|
||||
|
||||
Prefer one of these status values near the top of the plan:
|
||||
|
||||
- `proposed`
|
||||
- `in-progress`
|
||||
- `blocked`
|
||||
- `completed`
|
||||
- `abandoned`
|
||||
|
||||
## Minimum Contents
|
||||
|
||||
Every plan should cover:
|
||||
|
||||
- goal
|
||||
- scope
|
||||
- constraints or non-goals
|
||||
- affected surfaces
|
||||
- implementation steps
|
||||
- validation strategy
|
||||
- status log
|
||||
|
||||
Start from [TEMPLATE.md](./TEMPLATE.md).
|
||||
@@ -0,0 +1,46 @@
|
||||
# <Plan Title>
|
||||
|
||||
- Status: `proposed`
|
||||
- Owner: `<name or agent>`
|
||||
- Date: `YYYY-MM-DD`
|
||||
|
||||
## Goal
|
||||
|
||||
Describe the outcome in one short paragraph.
|
||||
|
||||
## Scope
|
||||
|
||||
- In scope:
|
||||
- Out of scope:
|
||||
|
||||
## Constraints
|
||||
|
||||
- List technical or product constraints.
|
||||
|
||||
## Affected Surfaces
|
||||
|
||||
- `packages/ui`
|
||||
- `apps/docs`
|
||||
- `tests`
|
||||
- `registry`
|
||||
- other paths as needed
|
||||
|
||||
## Plan
|
||||
|
||||
1. Step one.
|
||||
2. Step two.
|
||||
3. Step three.
|
||||
|
||||
## Validation
|
||||
|
||||
- `pnpm harness:validate:component`
|
||||
- `pnpm harness:validate:docs`
|
||||
- Add or remove commands for the actual task
|
||||
|
||||
## Orchestration Task Sketch
|
||||
|
||||
- Optional task IDs and dependencies when the work should be dispatched through `pnpm harness:orch`
|
||||
|
||||
## Status Log
|
||||
|
||||
- `YYYY-MM-DD HH:MM` initial note
|
||||
Reference in New Issue
Block a user