Skip to content

test(mv3): prove bounded history mutation compatibility - #59

Draft
seonghobae wants to merge 3 commits into
test/mv3-bookmark-mutationfrom
test/mv3-history-mutation-lifecycle
Draft

test(mv3): prove bounded history mutation compatibility#59
seonghobae wants to merge 3 commits into
test/mv3-bookmark-mutationfrom
test/mv3-history-mutation-lifecycle

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Partial implementation of #27.

Buyer-visible gap

The pinned real-Chromium Manifest V3 lane previously proved the history API only through read-only search. A defensible compatibility claim also needs one controlled mutation lifecycle inside the ephemeral Agent Task compatibility profile without touching ambient human browsing history.

Dependency

This Draft remains stacked on exact PR #56 head e1099e35ac000c7bf87ea75666cfdd928a386370. It is not independently integrable while #56/#43 remain active.

TDD evidence

Test-only exact head 4b5f393a7420541723a07243b83cdaa7e28948de added the fail-first repository contract. CI run 31432051381 checked out that exact head and failed in Check Python repository contracts because exerciseHistoryMutation, chrome.history.addUrl, chrome.history.deleteUrl, and the mutation readiness boundary did not exist. That is the intended RED, not a predecessor success.

The narrow implementation then added a controlled history lifecycle and an Unreleased changelog entry. Current exact head is b0d9c905fd7a50128eb1dde643b8a3a0f9cb1dc8.

Current implemented boundary

The real Chromium fixture now:

  • accepts only a parseable http://127.0.0.1/page.html sender without embedded credentials;
  • derives a synthetic history-entry.html URL inside the same controlled loopback fixture;
  • adds exactly that URL through chrome.history.addUrl;
  • requires exact readback through bounded chrome.history.search;
  • deletes the synthetic URL in finally through chrome.history.deleteUrl;
  • re-queries and fails compatibility evidence if the synthetic history entry remains; and
  • never emits exception text, browsing-history contents, or model-visible history values.

The current Chrome Extensions reference documents the history manifest permission and Promise-returning addUrl, search, and deleteUrl APIs. Repository release evidence remains tied to the pinned Chromium fixture rather than treating living vendor documentation as execution proof.

Exact-head evidence

On unchanged exact head b0d9c905fd7a50128eb1dde643b8a3a0f9cb1dc8:

  • CI run 31432338572: success;
  • repository contracts: success;
  • formatting: success;
  • locked workspace check: success;
  • all workspace tests: success;
  • strict Clippy: success;
  • rustdoc/API documentation: success;
  • exact production function/line/region/branch coverage: success;
  • Manifest V3 Compatibility run 31432338759: success against real pinned Chromium; and
  • CodeRabbit exact-head status: success.

No predecessor-head result is transferred to this head.

Scope boundary

Compatibility evidence only. This lane does not grant OriginWeave Agent history authority, expose a history tool, access a human/default profile, persist OriginWeave-owned browser-history data, add model calls, widen network authority, alter workflows, or make a release claim. Canonical product documentation remains owned by PR #44 and records #59 as active/non-shipped compatibility evidence.

Keep Draft while #56/#43 remain active. This scheduled actor does not merge or self-approve.

@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: ccd2c63e-0152-4f47-ae85-3a0db6d12fdc

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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