v4.5.3
Added
-
PARTIAL_BASELINEtrust 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, beforeDEGRADED_BASELINEand visual
approval.changedstays false for baseline-only gaps; mixed greenfield runs
still exit3butPARTIAL_BASELINEoutranksVISUAL_APPROVAL_REQUIRED
while explained gaps remain. Commit status and job block fail with repair-base
guidance; the approval box cannot clear this state. -
styleproof-ciephemeral worktrees (#277). Restore probes and cold base
install/capture run in detached git worktrees underRUNNER_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
@autocrawl failures match head capture widths in diff/report (#276).
Viewport-detection failures recorded assurface@autonow 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@1280does
not matchabout@900). Diff exit3applies 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(andstyleproof-cion 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 capturemetadata.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@widthand state/popup keys as
variants of a base. -
Diff/report/verdict coherence for derived-only (reflow) deltas.
styleproof-diffcan report raw computed-style differences while
generateStyleMapReportstrips 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.