ONE LIVE PAGE · TWO PRESERVED VIEWPORTS · ONE SAFETY CONSTRAINT

Keep a path open.

A real Portland security page repeats its call path in a banner, navigation, and fixed dock. An ĀML candidate hides one repetition. A deliberate over-suppression looks fine at the top but fails after the banner scrolls away.

Production screen, local counterfactual. The screenshots are direct captures of the live page. Colored outlines and candidate decisions are an explanatory overlay. The production website was not modified in this experiment.

01 / INSPECT THE OBSERVED SCREENClick the scroll state and a policy scenario
VIEWPORT
POLICY STATE
Preserved screenshot of the live Portland home security page, with a project overlay marking observed contact links
Loading preserved capture…Outlines are analysis overlays · original JPEG stays unchanged
02 / CONTACT CONTINUITY
LOADING

Reading checked-in report.

VISIBLE CALL PATHS–
VISIBLE EMAIL PATHS–

Observed elements and local decisions

The counts cover these two captured desktop viewports. They do not assert behavior at other sizes, times, routes, or assistive-technology states.

01 / PRESERVE

Actual screen bytes

Two 1348 × 926 JPEGs and SHA-256 digests preserve the top and scrolled states. The DOM observation records visible links, labels, destinations, and locations.

02 / DECLARE

Policy labels have an owner

Attention cost and restoration value are project-authored design inputs, not measurements of visitors. The candidate keeps the fixed call and email dock while suppressing the repeated navigation number.

03 / REJECT

Test an inconvenient outcome

The adversarial probe also suppresses the dock call. The top still has the banner; the scrolled state loses every observed call path, so the continuity gate fails.

Reproduce the record

From the repository root, rebuild the visual report and verify both source screenshot digests. The test checks the passing candidate, failing scrolled counterexample, and malformed labels.

node scripts/build-field-contact-continuity-report.mjs --check
node --test test/field-contact-continuity.test.js

The live page may have changed since capture. A matching hash verifies the checked-in image bytes, not the truth of the labels or an improvement in customer outcomes.