@@ -10,13 +10,23 @@ or planning bead until the user has chosen that direction
1010
1111## Git Workflow
1212
13- Work directly on ` main ` by default. Do not create a separate branch unless the
14- user explicitly requests one or another repository instruction requires it.
13+ Keep one linear history with this ancestry invariant:
1514
16- ` edge ` is the opt-in channel for experimental dogfooding. Work on it only when
17- the user explicitly chooses that channel. A change intended for release must
18- land on ` main ` and follow the normal ` stable ` promotion contract; never promote
19- ` stable ` directly from ` edge ` .
15+ ``` text
16+ stable ⊆ main ⊆ edge
17+ ```
18+
19+ All tracked changes originate on ` edge ` , including fixes, reverts,
20+ documentation, and Beads updates. Work directly on ` edge ` by default. Do not
21+ create another branch unless the user explicitly requests one or another
22+ repository instruction requires it.
23+
24+ ` edge ` is the active development and experimental dogfood channel. ` main ` is a
25+ promotion-only accepted-development channel: do not commit on it directly.
26+ After an ` edge ` revision is accepted and verified for ` main ` , advance ` main ` to
27+ that exact revision with ` git push origin <sha>:main ` . Never create merge
28+ commits, rebase published channel history, or cherry-pick between the channel
29+ branches, and never promote ` stable ` directly from ` edge ` .
2030
2131` stable ` is a promotion-only user channel. Do not commit on it or advance it
2232unless the user explicitly requests a promotion. A candidate must be a
@@ -25,8 +35,8 @@ Linux and cache checks, pass the release checks for its changed surface, and
2535have fresh-session dogfood for user-visible runtime interaction changes. Do not
2636promote a commit with a known P0 or P1 regression. Promote the exact verified
2737SHA with ` git push origin <sha>:stable ` ; never force-push or delete ` stable ` .
28- Rollbacks use a new revert commit on ` main ` , followed by normal verification and
29- promotion.
38+ Rollbacks use a new revert commit on ` edge ` , followed by normal verification and
39+ fast-forward promotion through ` main ` and then ` stable ` .
3040
3141## Method
3242
0 commit comments