Repository navigation
console v0.10.0: read pageCheck's page-mismatch signal - #142
Merged
Merged
Conversation
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>
There was a problem hiding this comment.
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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, andtest/adminAssets.test.jsfailed on this repo state before this change.What the console now does
pageMismatchjoinsPROBE_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.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'spageCheck(norstatusSignals, 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 --testinpackages/console: 216 pass, including the coverage guard that failed before the change.npm run lint+npm run format:checkclean at root. (No PR CI on this repo — verified locally.)🤖 Generated with Claude Code