Skip to content

History

Revisions

  • Refine rest-forwarding guidance: per-category precedence (combine/compose/clobber) + composeEventHandlers Correct the earlier oversimplified 'spread ...rest' rule. Document that prop collisions resolve per category: className/style combine (mergeProps), contract props let the component win (set after {...rest}), owned handlers compose (composeEventHandlers, #3863), neutral pass-throughs forward. Update the Component Auditor check to match — it's a judgment check on collision handling, not just 'does ...rest exist'.

    @cixzhang cixzhang committed Jul 12, 2026
    5a9c33a
  • Revert "Release process: advance latest branch to the release commit in post-release" This reverts commit 20347a4ead94b1d5dca01f7ea6087bb1f3275170.

    @cixzhang cixzhang committed Jul 12, 2026
    ec6cd59
  • Release process: advance latest branch to the release commit in post-release

    @cixzhang cixzhang committed Jul 12, 2026
    20347a4
  • Component Auditor: catch components that extend BaseProps but never forward ...rest Add a check (and the underlying API convention) for the silent-drop bug fixed in #3738 and #3852: a component extends BaseProps so data-testid/aria-* type-check, but never captures/spreads ...rest, so those pass-through attributes never reach the DOM. Documents the placement rule (after mergeProps, before component-owned role/aria) and distinguishes it from the composed-component overwrite check.

    @cixzhang cixzhang committed Jul 12, 2026
    f3b4e7d
  • vibe-test: scores 2026-07-11

    @cixzhang cixzhang committed Jul 11, 2026
    c72c059
  • Updated Blog Review Rubric (markdown)

    @cixzhang cixzhang committed Jul 11, 2026
    72a20c4
  • docs: add Blog Review Rubric wiki page

    @cixzhang cixzhang committed Jul 11, 2026
    08df487
  • docs: document lab→core and hidden→visible template promotion gates

    @cixzhang cixzhang committed Jul 10, 2026
    75f558e
  • vibe-test: scores 2026-07-10

    @cixzhang cixzhang committed Jul 10, 2026
    4713c0b
  • Design Conventions: restructure state sections by driver and prominence - Rename section headings to 'User/System/Agent Interaction States Visuals' - Move Disabled into System interaction states - Label states as 'State (variant style)' (e.g. Selected (Depressed style)) - Split System status by prominence tier: Muted (inputs + in-flow surfaces), Inverted (badges + high-severity toasts), Temporal (toasts + tooltips) - Add a Temporal row (tooltip + default toast) for brief high-prominence states - One consolidated description per row; rows may show several example images - Capture real selected list/nav items (SideNav, TreeList) and toggle buttons for Selected (Depressed style); fix previously-broken image references

    @ernestt ernestt committed Jul 9, 2026
    91d4959
  • Design Conventions: fix Focused button capture to show the focus ring The previous capture didn't hold :focus-visible, so no outline was visible. Recapture via keyboard Tab so the accent focus ring renders.

    @ernestt ernestt committed Jul 9, 2026
    de2ee48
  • vibe-test: scores 2026-07-09

    @cixzhang cixzhang committed Jul 9, 2026
    2ea4319
  • Design Conventions: wrap state visuals in white bordered cards Bake a white rounded card with a thin border into each state screenshot so they stand out against the wiki table's zebra striping instead of blending into the colored rows.

    @ernestt ernestt committed Jul 9, 2026
    e9f1cbd
  • Design Conventions: retitle foundations, fold Generative description column - Foundation headings use 'Title (Category)' format instead of <sub> suffix (e.g. 'Consistent vertical rhythm (Size | Density)') - Generative States table folds its Description column into the State column, matching the Foundation and Async tables

    @ernestt ernestt committed Jul 9, 2026
    ed6cc50
  • Design Conventions: split state rows by distinct visual treatment - Split Focused into Focused and Focused (Input) - Split Selected into 5 rows by what's being selected: Toggles (checkbox/ radio/switch), Control (segmented), Navigation (tabs/outline/stepper), Container (cards), List (nav item/list row) - Merge Loading and Processing into one row; add input-family loading examples (skeleton placeholder, busy input group) - Fold the status prominence tiers into the Async table (each status row shows its tiers side by side) instead of a separate table - Add the Outline component as a Navigation selection visual

    @ernestt ernestt committed Jul 9, 2026
    b0898b6
  • Updated Design Conventions (markdown)

    @ernestt ernestt committed Jul 9, 2026
    25945b5
  • Design Conventions: format foundation Smells as bullet lists Break each foundation's Smells cell from a packed run-on paragraph into a bulleted list (one smell per line, bold term leading) for readability.

    @ernestt ernestt committed Jul 8, 2026
    21f11e0
  • Design Conventions: colocate state visuals in the state table; drop gray canvas - Trim state screenshots to the component on its own clean surface (no gray padding canvas, no white bleed) - Merge the separate image tables into the main state table: each state row now holds its own visuals with inline description + API/ARIA reference

    @ernestt ernestt committed Jul 8, 2026
    155859f
  • Design Conventions: uniform framing for state visuals Reframe every state screenshot onto a consistent 640x300 canvas with the component auto-cropped and centered on a light-gray surface, matching the reference layout. Wide components (inputs, banners, nav) recaptured at a form-like width so they no longer render as thin strips.

    @ernestt ernestt committed Jul 8, 2026
    3ef46d8
  • Design Conventions: simplify State Representations - Drop the per-archetype columns (action/input/control/container); show one summary row per state with an approved-visuals count - Fold API/ARIA into each state's description - Enlarge the state visuals (width 240) so the image is the main reference - Standardize caption format: backticked token(s) + how it's applied

    @ernestt ernestt committed Jul 8, 2026
    ef26a79
  • Design Conventions: foundations as tables; 'minimize visuals per state' Reformat the Design Foundations section from stacked bold-paragraph cards into a label-column table per foundation (Principle / Why / Smells / Got it right) for scannability. Reword the principle to 'minimize visuals per state'.

    @ernestt ernestt committed Jul 8, 2026
    cd4c726
  • Add Design Conventions page Design-side sibling of API Conventions: the intention behind token choices (foundations), standard state representations across component archetypes, and how design quality is evaluated. - Wire the Contributing Design Review section and Home index to the new page - Component Auditor gains a Design Conventions dimension for the objectively-checkable rules (spacing grid, concentric radius, contrast, type hierarchy, motion safety, stacking); subjective visual judgment stays in Hardening Layer 3

    @ernestt ernestt committed Jul 8, 2026
    7c5c5df
  • PM: add PR labeling step to hourly checklist

    @cixzhang cixzhang committed Jul 8, 2026
    2570613
  • vibe-test: scores 2026-07-08

    @cixzhang cixzhang committed Jul 8, 2026
    4c0505e
  • Doc Reviewer: fix theming (check 5) false positives; mark componentsUsed (check 7) advisory Check 5 (theming sync) two bugs, both inflated DRIFT: - The doc_map regex only matched visualProps on the SAME line as className, so any target whose visualProps span multiple lines read as empty ([]), a false drift. Parse the whole target object with a multiline-aware regex instead. - Targets may expose 'states' (selectors like selected/disabled/today) INSTEAD of visualProps. The old script ignored states entirely, so every state-only target (astryx-calendar-day, etc.) looked like it was missing its props. Track states separately and never flag a states-only target as a visualProps drift. DRIFT drops from 32 (mostly false) to 17 genuine; documented in the schema. Check 7 (componentsUsed) cannot be made reliably green by a regex: the convention is not uniform in the source (module vs named import, and layout primitives recorded inconsistently as alias vs module). Rewrote it as an explicitly ADVISORY check (union of named imports + module names removes the module-vs-named class of false positive) with a prominent warning not to open block-metadata PRs off its output. A real fix needs a maintainer decision on the canonical componentsUsed contract plus a one-time normalization.

    @josephfarina josephfarina committed Jul 8, 2026
    ab4aacc
  • vibe-test: scores 2026-07-07

    @cixzhang cixzhang committed Jul 7, 2026
    5cac55c
  • wiki(night-watch): add quarterly milestone (major features/library updates) to PM role

    @cixzhang cixzhang committed Jul 6, 2026
    087babb
  • vibe-test: scores 2026-07-06

    @cixzhang cixzhang committed Jul 6, 2026
    468be84
  • vibe-test: scores 2026-07-05

    @cixzhang cixzhang committed Jul 5, 2026
    f084293
  • vibe-test: scores 2026-07-04

    @cixzhang cixzhang committed Jul 4, 2026
    4e42b30