iter-144: session hygiene follow-up — consent honesty, BBC CMP, screenshot header freeze - #184
Merged
Merged
Conversation
…reenshot header freeze iter-144: launch --auto-consent renames its JSON field to auto_consent_extension_installed (can only claim the extension was installed, never that a dismiss happened — launch returns before any page loads). Adds a NATIVE_CMP_TABLE native (non-iframe) CMP adapter to `consent accept` for BBC's own #bbccookies-continue-button, verified live against www.bbc.com. Filters the leaked "Consent-O-Matic Options" tab out of `tabs`. Freezes fixed/sticky elements around full-page screenshot capture as a defensive mitigation for the reported duplicate-header artifact (unreproduced in this environment despite trying — see DEC-028 and the new test's module doc). Theme F (console locale) re-deferred to iteration-147 — no non-English Firefox available here either. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
Summary
launch --auto-consent's JSON field is renamedauto_consent_extension_installed— it can only ever claim the Consent-O-Matic extension was installed (never that a banner was dismissed, sincelaunchreturns before any page loads). Real dismiss attestation stays onnavigate --auto-consent/consent accept'sresults.consent.consent acceptgains aNATIVE_CMP_TABLEfor same-origin (non-iframe) CMPs — BBC's own#bbccookies-continue-button— tried before the existing iframe-basedCMP_TABLE. Verified live againstwww.bbc.com/news:{"cmp":"bbc","action":"accepted"}, and the control's bounding rect is zero-size afterward (genuinely dismissed, not just clicked).tabsfilters out theConsent-O-Matic Optionsextension tab that--auto-consentleaves open (matchesmoz-extension://scheme + all 5 shipped-locale titles), so it never pollutes--tab Nindices ortotal.screenshot --full-pagefreezesposition: fixed/stickyelements (pin toabsoluteat their current on-screen position) immediately before capture and always restores them after — a defensive mitigation for the dogfooding-session-63 duplicate-header report. Note: that specific symptom could not be reproduced in this environment despite a deliberate before/after attempt (fixed and sticky headers at page heights 2,000–20,000px, plus the real BBC page itself) — see DEC-028 and the new test's module doc. Landed as a forward-looking pixel-verified regression guard rather than a reproduced-then-fixed defect.kb/iterations/iteration-147-console-locale-repro.md— only an English macOS Firefox is available in this implementation environment, same blocker as iteration-142.Test plan
cargo fmt --check,cargo clippy --workspace --all-targets -- -D warnings,cargo test --workspace -qall cleanlive_144_auto_consent_field_honest—results.auto_consent_extension_installed=true, oldauto_consentkey gonelive_144_no_consent_o_matic_tab_leak— noConsent-O-Matic Optionsentry intabslive_144_bbc_cmp_dismissed— live against realwww.bbc.com, network-gated (FF_RDP_LIVE_NETWORK_TESTS=1)live_144_full_page_no_duplicate_header— pixel-decoded PNG row scan on a local deterministic fixture, exactly one header row-runcargo run -p xtask -- check-iteration-ready --plan kb/iterations/iteration-144-session-hygiene-followup.md --base origin/main— 10/10 PASS (withFF_RDP_LIVE_TESTS=1for the dogfood-script gate)## Claims vs code<generated 2026-08-12T07:28:22Z by ralph-loop>
a→ ✅ matched in diffNATIVE_CMP_TABLE→ ✅ matched in diff