Skip to content

console v0.10.0: read pageCheck's page-mismatch signal - #142

Merged
harper-joseph merged 1 commit into
mainfrom
chore/console-catchup-0.58
Aug 26, 2026
Merged

harper-joseph merged 1 commit into
mainfrom
chore/console-catchup-0.58

Conversation

@harper-joseph

Copy link
Copy Markdown
Contributor

Catches the console up to plugin v0.58.0 (pageCheck, #139). Console-only train, same shape as #129/#137.

What the plugin added

pageCheck compares the origin against what the cached page claims, closing the round-trip-blindness class the signature comparison structurally cannot see: a value that changes and changes back between two passes, with a render landing inside the window. It emits one new pass counter, probe_page_mismatch — and the catalog-driven coverage guard added in #137 caught it exactly as designed (its first real catch): the series shipped with nothing reading it, and test/adminAssets.test.js failed on this repo state before this change.

What the console now does

  • Probe passes card — a Page mismatch tile and chart series. The overlay semantics are stated everywhere the number appears: a mismatched row is also inside Changed or the unchanged remainder (the plugin buckets by signature outcome alone), so it joins no sum and no subtraction.
  • The mismatch note reads the run mode from the status, because the counter cannot say what happened: armed, each mismatch was hard-expired the moment it was seen (a detection rate); in dry run nothing expires them, so the same disagreement is re-reported every pass (a standing count of wrong pages being served). Only the standing case warns — armed, the counter is the feature working.
  • Sweep card — a per-pass row for pages that disagreed, shown only when nonzero.
  • Cluster merge — pageMismatch joins PROBE_COUNTERS: each node counts its own disjoint owned slice, so it sums across nodes for the sweep and the canary's per-rule table alike.
  • The chart note says when the counter is structurally zero: no rule sets pageCheck, or the render fleet predates browser 1.20.0 (the plugin logs that hourly; the console cannot tell the two apart).

Left out on purpose

changeProbeStatus() still does not expose a rule's pageCheck (nor statusSignals, the same gap noted in #137), so the rules table cannot show which rules carry it. Needs a plugin field + release train; kept out to preserve the console-only catch-up.

Verification

  • node --test in packages/console: 216 pass, including the coverage guard that failed before the change.
  • npm run lint + npm run format:check clean at root. (No PR CI on this repo — verified locally.)

🤖 Generated with Claude Code

Plugin v0.58.0's pageCheck compares the origin against what the cached
page CLAIMS, and emits probe_page_mismatch — the round-trip-blindness
class the signature comparison cannot see. The catalog-driven coverage
guard caught it exactly as designed (its first real catch): the series
shipped with nothing reading it.

- Probe passes card: a Page mismatch tile and chart series, with the
  overlay semantics stated (a mismatched row is ALSO inside Changed or
  the unchanged remainder — never part of any sum), and a note whose
  reading follows the run mode: armed = a detection rate (each mismatch
  hard-expired on the spot), dry run = a standing count of wrong pages
  being served, re-reported every pass — only the standing case warns.
- Sweep card: a per-pass row for pages that disagreed.
- Cluster merge: pageMismatch sums across nodes like every other pass
  counter (disjoint owned slices), for the sweep and the canary's
  per-rule table alike.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request bumps the package version to 0.10.0 and integrates support for the new pageCheck feature introduced in plugin v0.58.0. It adds tracking, visualization, and documentation for page mismatches, which represent cached pages that disagree with the origin. This includes updating the probe view to display page mismatches as an overlay on top of existing outcome buckets, adding warning indicators when mismatches are standing in dry run mode, and introducing corresponding unit tests to verify aggregation and UI rendering. There are no review comments, so I have no feedback to provide.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant