test(mv3): prove extension update migration in real Chromium - #60
Draft
seonghobae wants to merge 18 commits into
Draft
test(mv3): prove extension update migration in real Chromium#60seonghobae wants to merge 18 commits into
seonghobae wants to merge 18 commits into
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
This was referenced Aug 10, 2026
This was referenced Aug 16, 2026
Preserve the already reconciled update-migration tree while adding the exact current history lifecycle head as an ancestry parent. This changes topology only; child semantics remain the same five-file delta and no predecessor checks or reviews transfer.
Preserve the current history-lifecycle prerequisite's canonical documentation, traceability, and bookmark diagnostic regression contracts on the update-migration descendant. This removes stale child-tree deletions without transferring predecessor evidence.
seonghobae
added a commit
that referenced
this pull request
Aug 16, 2026
Preserve the exact isolated-world tree after proving it already contains the current update-migration prerequisite semantics. Add the repaired #60 head as ancestry only; no predecessor checks or reviews transfer.
seonghobae
added a commit
that referenced
this pull request
Aug 16, 2026
Use the exact repaired #60 tree as the descendant baseline and preserve only the isolated-world page fixture and regression test at this step. This removes stale child-tree deletions before merging the two overlapping isolated-world files.
Rebuild the update-migration lane on the exact current PR #59 tree while preserving its controlled update/version-migration source, tests, and changelog evidence. Carry forward the prerequisite bookmark/history behavior and the current ChromeDriver cleanup resilience, including primary-error preservation and successful hard-kill recovery. No predecessor check or review evidence transfers.
seonghobae
added a commit
that referenced
this pull request
Aug 17, 2026
Rebuild the isolated-world lane on the exact current PR #60 tree while preserving only its page/content-script sentinel contract, test, and changelog evidence. Keep the current update-migration/history/bookmark behavior and ChromeDriver cleanup resilience unchanged. No predecessor check or review evidence transfers.
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.
Partial implementation of #27.
Buyer-visible gap
The pinned real-Chromium lane proved restart persistence but did not prove extension update/version migration behavior, which issue #27 explicitly requires. Restart success cannot substitute for an extension-version transition with state migration.
Live dependency / stack state
This Draft remains stacked on current PR #59 exact head
73ee748614ef11398f8b379ffd5d0547a45c2c31, transitively on #56/#43. Current exact contributor head is56a15071d2ca77ba38ee59ce518de262eb2f8f36.Fresh ancestry is ahead 7 / behind 0, with merge base exactly equal to the live #59 head. The current head is a non-destructive content-aware alignment merge: it preserves #59's controlled history add/read/delete lifecycle and current download
conflictAction: "uniquify"race fix while retaining this PR's unique update/version-migration semantics. Relative to #59, the current diff is limited toCHANGELOG.md,scripts/ci/run_mv3_compatibility.py,tests/fixtures/mv3_basic/content_script.js,tests/fixtures/mv3_basic/service_worker.js, andtests/test_mv3_update_migration_contract.py. No prerequisite check, review, status, or predecessor result is transferred to this child.Keep Draft while #59/#56/#43 remain active.
TDD evidence
Exact test-only head
a60875f70f8412db27ff1025b75d7ad4b8ddc38eadded the fail-first repository contract. CI run31433305976, job93601619973, checked out that exact head and failed only because the runner/fixture had no trial-local extension copy, controlled version transition, versioned storage migration evidence, orupdate-migrationsurface. That is the intended RED; no predecessor success is reused.Implemented boundary
The compatibility runner now:
1.0.0→1.0.1manifest transition;chrome.runtime.getManifest().version;uniquifydownload policy;extension_version/storage_migrationevidence tokens; andCurrent exact-head evidence
For unchanged exact head
56a15071d2ca77ba38ee59ce518de262eb2f8f36against exact prerequisite73ee748614ef11398f8b379ffd5d0547a45c2c31:31923711060: success;31923711062: success against the pinned real-Chromium fixture;No predecessor, prerequisite, skipped, queued, cancelled, absent, synthetic-merge, stale, status-only, or model-only evidence is promoted as current proof. The Draft remains dependency-blocked rather than verification-blocked.
Scope boundary
Compatibility evidence only. This does not implement Chrome Web Store update, enterprise distribution, arbitrary extension installation, native messaging, Agent capability grants, default-profile mutation, durable OriginWeave persistence, model calls, or release publication. It proves one deterministic unpacked-extension version transition in the isolated compatibility profile.
This scheduled actor does not merge, self-approve, alter workflows, add secrets, weaken checks, tag, or publish.