Skip to content

v4.5.3

Choose a tag to compare

@github-actions github-actions released this 18 Jul 07:51
3890869

Added

  • PARTIAL_BASELINE trust state (#276). When the diff JSON reports
    partialBaseline / explainedMissingBaselineSurfaces, the Action classifies
    ledger-explained missing baseline surfaces as repair debt — after residue,
    inventory, and certification failures, before DEGRADED_BASELINE and visual
    approval. changed stays false for baseline-only gaps; mixed greenfield runs
    still exit 3 but PARTIAL_BASELINE outranks VISUAL_APPROVAL_REQUIRED
    while explained gaps remain. Commit status and job block fail with repair-base
    guidance; the approval box cannot clear this state.

  • styleproof-ci ephemeral worktrees (#277). Restore probes and cold base
    install/capture run in detached git worktrees under RUNNER_TEMP (or the OS temp
    dir), so the consumer checkout is never checked out to --base. Head capture may
    still run in the consumer at --head. Worktrees are always torn down on success
    and failure; invalid SHAs fail loudly before capture.

  • Canonical comparison truth (assessComparisonTruth). Diff JSON, durable
    report, PR comment, and trust state share one assessment of raw vs reviewable
    findings so they cannot invent disagreeing verdicts.

Fixed

  • Baseline @auto crawl failures match head capture widths in diff/report (#276).
    Viewport-detection failures recorded as surface@auto now classify head-only
    surfaces as broken baseline capture (not greenfield new) for any width of that
    exact surface key; width-specific ledger entries stay exact (about@1280 does
    not match about@900). Diff exit 3 applies only to genuinely new surfaces.
    Report Markdown escapes inline injection in failure reasons; manifest JSON keeps
    the original failure ledger keys.

  • Partial baseline capture on the base branch (#276). styleproof-map --tolerate-surface-failures (and styleproof-ci on cold base capture only)
    records per-surface failures in the manifest, publishes a partial bundle when at
    least one map succeeds, and leaves self-check / zero-map / head capture
    fail-closed. Diff and report surface repair-base warnings instead of treating
    ledger-explained surfaces as greenfield new.

  • Report headline and global-chrome banners now count surface bases consistently.
    The summary line reports unique changed product surface bases and, when more
    capture keys exist than bases, adds a labeled variant count. Product bases prefer
    authoritative capture metadata.surfaceKey (live-state and popup expansions share
    their declared base); older captures without metadata still strip only @width.
    The global-chrome tier names captured surface bases (not raw variant keys). A
    one-line glossary beside the headline explains @width and state/popup keys as
    variants of a base.

  • Diff/report/verdict coherence for derived-only (reflow) deltas.
    styleproof-diff can report raw computed-style differences while
    generateStyleMapReport strips size/position longhands and previously claimed
    "all surfaces identical" with no crops. That pair must never become
    VISUAL_APPROVAL_REQUIRED (no reviewable evidence). Both CLIs now emit
    reviewableCounts + reportConsistency; raw-only noise fails closed as
    CERTIFICATION_FAILED (action gate + status), the report headline names the
    consistency failure instead of "identical", and approval UI stays off.