diff --git a/docs/plans/2026-08-10-ci-queue-purpose-implementation.md b/docs/plans/2026-08-10-ci-queue-purpose-implementation.md index 894b7b72..b46d0671 100644 --- a/docs/plans/2026-08-10-ci-queue-purpose-implementation.md +++ b/docs/plans/2026-08-10-ci-queue-purpose-implementation.md @@ -126,7 +126,39 @@ git add docs/scratchpads/1146-ci-queue-purpose.md git commit -m "docs(ci): record queue guard verification" ``` -### Task 4: Activate and Deliver Through `next` +### Task 4: Keep the Merge Wrapper Aligned with the `next` Lane + +**Files:** + +- Modify: `packages/mosaic/framework/tools/git/pr-merge.sh:97-101` +- Test: `packages/mosaic/framework/tools/git/test-pr-merge-head-pin.sh` + +**Step 1: Write the failing regression** + +Run the exact-head merge regression with its Gitea fixture targeting `next` and confirm the current wrapper rejects it because it only permits `main`. + +**Step 2: Allow only documented integration targets** + +Permit `main` and `next`; reject every other target. Do not alter exact-head pinning, queue-guard invocation, provider selection, or merge method enforcement. + +**Step 3: Run focused merge regressions** + +```bash +bash packages/mosaic/framework/tools/git/test-pr-merge-head-pin.sh +bash packages/mosaic/framework/tools/git/test-pr-merge-queue-branch.sh +bash packages/mosaic/framework/tools/git/test-pr-merge-gitea-empty-uid.sh +``` + +Expected: all pass, including a Gitea merge fixture targeting `next`. + +**Step 4: Commit** + +```bash +git add packages/mosaic/framework/tools/git/pr-merge.sh packages/mosaic/framework/tools/git/test-pr-merge-head-pin.sh +git commit -m "fix(ci): allow reviewed merges into next" +``` + +### Task 5: Activate and Deliver Through `next` **Files:** diff --git a/docs/scratchpads/1146-ci-queue-purpose.md b/docs/scratchpads/1146-ci-queue-purpose.md index 512b9e95..9a885816 100644 --- a/docs/scratchpads/1146-ci-queue-purpose.md +++ b/docs/scratchpads/1146-ci-queue-purpose.md @@ -55,6 +55,7 @@ Make the pre-push queue guard wait for queued/running CI without requiring the p - Canonical framework activation completed with `MOSAIC_SYNC_ONLY=1 MOSAIC_INSTALL_MODE=keep MOSAIC_SKIP_SKILLS_SYNC=1 bash packages/mosaic/framework/install.sh`. - Source and installed queue guards are byte-identical (`cmp` and SHA-256 parity passed). - The installed pre-push guard now passes for the not-yet-remote feature branch with `queue clear`. +- The required merge wrapper then exposed a second bootstrap defect: `pr-merge.sh` hardcoded `main`, contradicting the documented PR-based `next` integration lane. Tracked as #1149 and fixed in the same delivery branch with a regression fixture targeting `next`. - Activation emitted the existing manifest-safety warning that six `fleet/run/*.hb*` operator files were touched then restored; no data loss was observed, but this remains a pre-existing framework-manifest defect to report separately. - The first activation attempt timed out after 600 seconds while copying the 113K-file operator snapshot; the bounded 1,800-second retry completed successfully. It left a partial durable snapshot from the interrupted attempt in the normal backup directory; the completed snapshot is the newer `pre-update-20260810T195317Z` entry. - Full baseline test completion is blocked by the unrelated local PostgreSQL authentication/cleanup failure described above; CI has its own disposable PostgreSQL service.