Parent: #310
Goal
Create the long-lived v2 development branch from a main commit that already contains the approved contract, CI, preview, and release baseline.
Scope
Complete [Stage 0.2] Capture the v1 public package contract #314 , [Stage 0.3] Establish independent v1 and v2 CI, preview, and release workflows #313 , [Stage 0.6] Document contribution, manual synchronization, and release routing #316 , and the pre-creation part of [Stage 0.4] Prepare and verify rulesets for main and v2 #317 .
Review every open pull request targeting main, especially feat: add Playwright page objects #327 , and explicitly decide whether it must:
merge before the v2 split;
retarget to v2 after the split;
close without inclusion.
Use the starting commit approved in Stage 0.1.
Confirm that the starting commit contains:
the v1 contract fixture;
CI routing for main and v2;
distinct preview routing;
independent v1 and v2 release workflows;
contribution, manual synchronization, and release routing documentation.
Create v2 from that exact main commit.
Keep main as the default, stable, maintenance-only v1 branch.
Do not create release/v1.
Verify that the prepared ruleset applies immediately to v2.
Verify required checks on v2.
Verify that release-v2.yml watches v2, cannot update latest, and is ready for 2.x prereleases under next.
Record the initial common commit between main and v2.
Route monorepo migration and other v2-only pull requests to v2.
Acceptance criteria
Parent: #310
Goal
Create the long-lived v2 development branch from a main commit that already contains the approved contract, CI, preview, and release baseline.
Scope
main, especially feat: add Playwright page objects #327, and explicitly decide whether it must:v2after the split;mainandv2;v2from that exactmaincommit.mainas the default, stable, maintenance-only v1 branch.release/v1.v2.v2.release-v2.ymlwatchesv2, cannot updatelatest, and is ready for2.xprereleases undernext.mainandv2.v2.Acceptance criteria
v2points to the approved starting commit.mainhas a recorded merge-before-split, retarget, or close decision.mainremains the default branch and retains its stable v1 role.release/v1has not been created prematurely.v2ruleset and required checks are effective.release-v2.ymltargetsv2, permits only2.xprereleases, and usesnext.v2.