@@ -25,15 +25,20 @@ proves only its own evidence layer. Never invent or mock missing evidence.
2525 checks pass and its squash merge is present on ` origin/main ` . Any alternate
2626 disposition requires explicit user authorization and must not advance ` dev `
2727 until the accepted commit is present on ` origin/main ` .
28- - With a clean worktree, fetch ` origin ` , switch to ` main ` , fast-forward it with
29- ` git merge --ff-only origin/main ` , switch to ` dev ` , fast-forward it with
30- ` git merge --ff-only main ` , and finish with ` dev ` checked out. Cleanup is
31- complete only when the worktree is clean and local ` main ` , local ` dev ` , and
32- ` origin/main ` resolve to the same commit.
33- - Never reset, discard work, force-update refs, delete branches, or push ` dev `
34- merely to complete this cleanup. If fetching fails, the worktree is dirty,
35- either fast-forward is impossible, or the three final refs differ, stop and
36- report the exact state instead of forcing synchronization.
28+ - With a clean worktree, fetch ` origin ` , switch to ` main ` , and fast-forward it
29+ with ` git merge --ff-only origin/main ` . Require the worktree to remain clean
30+ and ` main ` to equal ` origin/main ` before handling ` dev ` . If local ` dev `
31+ exists, require it to be an ancestor of ` main ` , switch to it, and fast-forward
32+ it with ` git merge --ff-only main ` ; if it does not exist, create it with
33+ ` git switch -c dev ` only from that checked-out, clean, synchronized ` main ` .
34+ Finish with ` dev ` checked out. Cleanup is complete only when the worktree is
35+ clean and ` HEAD ` , local ` main ` , local ` dev ` , and ` origin/main ` resolve to the
36+ same commit.
37+ - Never reset, discard work, force-update refs, delete branches, or push ` dev ` .
38+ If fetching fails, the worktree is dirty, ` main ` cannot fast-forward to
39+ ` origin/main ` , an existing ` dev ` cannot fast-forward to ` main ` , or the four
40+ final refs differ, stop and report the exact state instead of forcing
41+ synchronization.
3742
3843## Current milestone: Public Preview
3944
@@ -58,9 +63,9 @@ The accepted identity is:
5863
5964Before changing repository visibility:
6065
61- 1 . Resolve or explicitly defer every open dependency pull request that is not
62- ready to merge. Dependabot PR # 2 must not merge while its credential-free CI
63- is failing; record its disposition in ` ROADMAP.md ` .
66+ 1 . Resolve or explicitly defer every dependency disposition that ` ROADMAP.md `
67+ still records as unresolved; its pre-visibility dependency disposition table
68+ is the durable source of truth .
64692 . Keep ` .github/CODEOWNERS ` absent until a real multi-maintainer model exists.
65703 . Keep scheduled and manually dispatched live smoke fail-closed behind
6671 ` LIVE_SMOKE_ENABLED=true ` , and keep ` RELEASE_PLEASE_ENABLED ` disabled through
0 commit comments