feat patch GSB-b feat/gsb-branch-collision #1 / 2
aaronrene · 32 days ago · Jul 31, 2026 · Diff

feat(GSB-b): reconcile dated governance-sync branch collisions (BV pass GSB-BV-r1)

Implement C0 reconcile-before-ensure so same-day feat/governance-sync-<date> exists classify vs T_target, FF tip without checkout-as-FF, or deterministic -N uniquify with frozen PatchPlan replace. Seven-tier §GSB.8 green; ROADMAP DONE.

sha256:d869591fee91dd2dcfdc951b654ee5c7574b0714ba0b36eba7c4ed2ccd8e90ff sha
+125 ~15 −7 symbols
sha256:39555ca5a4edc0ea95ec43c6e7f41fc9ea316fb4de28b8770d5d0396d1d8c340 snapshot
+125
symbols added
~15
symbols modified
−7
symbols removed
0
dead code introduced
Semantic Changes 147 symbols
+ _feature_branch function function _feature_branch L20–21
+ CommandResult import import CommandResult L15–15
+ Path import import Path L13–13
+ annotations import import annotations L10–10
+ date import import date L12–12
+ gsw_runner import import gsw_runner L17–17
+ kit_root import import kit_root L16–16
+ run_cli import import run_cli L17–17
+ seed_gsw_repo import import seed_gsw_repo L17–17
+ test_diverged_original_tip_unchanged_uniquified_holds_commit function function test_diverged_original_tip_unchanged_uniquified_holds_commit L44–63
+ test_ff_success_tip_is_target_plus_one_sync_commit function function test_ff_success_tip_is_target_plus_one_sync_commit L24–41
+ test_mid_c0_failure_docs_marker_heads_untouched function function test_mid_c0_failure_docs_marker_heads_untouched L66–104
+ _feature_branch function function _feature_branch L21–22
+ Path import import Path L15–15
+ annotations import import annotations L12–12
+ date import import date L14–14
+ gsw_runner import import gsw_runner L18–18
+ kit_root import import kit_root L17–17
+ run_cli import import run_cli L18–18
+ seed_gsw_repo import import seed_gsw_repo L18–18
+ test_git_only_same_day_second_write_succeeds function function test_git_only_same_day_second_write_succeeds L25–58
+ test_muse_git_mirror_same_day_second_write_never_refuses_checkout function function test_muse_git_mirror_same_day_second_write_never_refuses_checkout L93–154
+ test_muse_only_same_day_second_write_zero_git_argv function function test_muse_only_same_day_second_write_zero_git_argv L61–90
+ _feature_branch function function _feature_branch L22–23
+ Path import import Path L16–16
+ annotations import import annotations L11–11
+ date import import date L15–15
+ gsw_runner import import gsw_runner L19–19
+ io import import io L13–13
+ kit_root import import kit_root L18–18
+ redirect_stdout import import redirect_stdout L14–14
+ run_cli import import run_cli L19–19
+ seed_gsw_repo import import seed_gsw_repo L19–19
+ test_diverged_tip_uniquifies_commit_push_and_pr_url function function test_diverged_tip_uniquifies_commit_push_and_pr_url L101–130
+ test_git_only_existing_branch_behind_ff_then_ensure function function test_git_only_existing_branch_behind_ff_then_ensure L26–48
+ test_mirror_muse_head_stranded_on_stale_branch_reconciles function function test_mirror_muse_head_stranded_on_stale_branch_reconciles L133–172
+ test_muse_git_mirror_existing_branch_behind_ff_both_histories function function test_muse_git_mirror_existing_branch_behind_ff_both_histories L77–98
+ test_muse_only_existing_branch_behind_ff_then_ensure function function test_muse_only_existing_branch_behind_ff_then_ensure L51–74
+ _feature_branch function function _feature_branch L18–19
+ Path import import Path L12–12
+ annotations import import annotations L8–8
+ date import import date L11–11
+ gsw_runner import import gsw_runner L15–15
+ kit_root import import kit_root L14–14
+ run_cli import import run_cli L15–15
+ seed_gsw_repo import import seed_gsw_repo L15–15
+ time import import time L10–10
+ test_collision_write_bounded_on_kit_sized_docs function function test_collision_write_bounded_on_kit_sized_docs L22–59
+ HOSTILE_BRANCH variable variable HOSTILE_BRANCH L26–26
+ _feature_branch function function _feature_branch L29–30
+ BranchState import import BranchState L24–24
+ BranchStateRunner import import BranchStateRunner L17–17
+ Path import import Path L13–13
+ _reconcile_feature_branch import import _reconcile_feature_branch L24–24
+ adapter_for import import adapter_for L17–17
+ annotations import import annotations L10–10
+ date import import date L12–12
+ gsw_runner import import gsw_runner L17–17
+ kit_root import import kit_root L16–16
+ quote_arg import import quote_arg L15–15
+ run_cli import import run_cli L17–17
+ seed_gsw_repo import import seed_gsw_repo L17–17
+ test_git_only_collision_write_zero_muse_argv function function test_git_only_collision_write_zero_muse_argv L90–102
+ test_hostile_branch_name_stays_quoted_through_reconcile function function test_hostile_branch_name_stays_quoted_through_reconcile L33–60
+ test_hostile_branch_name_stays_quoted_through_uniquify function function test_hostile_branch_name_stays_quoted_through_uniquify L63–87
+ test_muse_only_collision_write_zero_git_argv function function test_muse_only_collision_write_zero_git_argv L105–117
+ test_no_checkout_force_in_ff_uniquify_ensure_or_rollback function function test_no_checkout_force_in_ff_uniquify_ensure_or_rollback L120–172
+ ROUNDS variable variable ROUNDS L19–19
+ _feature_branch function function _feature_branch L22–23
+ CommandResult import import CommandResult L15–15
+ Path import import Path L13–13
+ annotations import import annotations L10–10
+ date import import date L12–12
+ gsw_runner import import gsw_runner L17–17
+ kit_root import import kit_root L16–16
+ run_cli import import run_cli L17–17
+ seed_gsw_repo import import seed_gsw_repo L17–17
+ test_partial_c0_failure_never_strands_heads function function test_partial_c0_failure_never_strands_heads L26–79
+ _feature_branch function function _feature_branch L35–36
+ BranchState import import BranchState L26–26
+ BranchStateRunner import import BranchStateRunner L19–19
+ Path import import Path L16–16
+ _classify_git_branch class import _classify_git_branch L26–26
+ _classify_muse_branch class import _classify_muse_branch L26–26
+ _reconcile_feature_branch import import _reconcile_feature_branch L26–26
+ _uniquify_branch import import _uniquify_branch L26–26
+ adapter_for import import adapter_for L19–19
+ annotations import import annotations L11–11
+ date import import date L15–15
+ gsw_runner import import gsw_runner L19–19
+ io import import io L13–13
+ kit_root import import kit_root L18–18
+ redirect_stdout import import redirect_stdout L14–14
+ run_cli import import run_cli L19–19
+ seed_gsw_repo import import seed_gsw_repo L19–19
+ test_cross_history_divergence_uniquifies_without_partial_ff function function test_cross_history_divergence_uniquifies_without_partial_ff L177–204
+ test_equal_tips_never_uniquify function function test_equal_tips_never_uniquify L207–228
+ test_ff_uses_tip_update_never_checkout_of_dated_branch function function test_ff_uses_tip_update_never_checkout_of_dated_branch L145–174
+ test_git_classifier_ancestor_equal_and_diverged class function test_git_classifier_ancestor_equal_and_diverged L39–74
+ test_target_resolves_to_configured_main_when_head_on_dated_branch function function test_target_resolves_to_configured_main_when_head_on_dated_branch L77–109
+ test_uniquify_picks_lowest_free_suffix_deterministically function function test_uniquify_picks_lowest_free_suffix_deterministically L112–142
+ test_uniquify_replaces_frozen_plan_branch_and_pr_url function function test_uniquify_replaces_frozen_plan_branch_and_pr_url L231–258
~ docs/OVERSEER-HANDOVER.md .md 7 symbols added, 7 symbols removed, 5 symbols modified
NEXT SESSION — GSB-b Governance-sync dated-branch collision build section NEXT SESSION — GSB-b Governance-sync dated-branch collision build L11–58
Paste-ready prompt — GSB-b section Paste-ready prompt — GSB-b L38–58
code[text] variable variable code[text] L40–54
THE ONE NEXT STEP — Model: Auto section THE ONE NEXT STEP — Model: Auto L24–38
table section table L28–35
What just landed section What just landed L17–24
table section table L19–23
+ NEXT SESSION — GSB → main (SD-21 land) section NEXT SESSION — GSB → main (SD-21 land) L11–55
+ Paste-ready prompt — GSB → main section Paste-ready prompt — GSB → main L37–55
+ code[text] variable variable code[text] L39–51
+ THE ONE NEXT STEP — Model: Operator + Auto section THE ONE NEXT STEP — Model: Operator + Auto L23–37
+ table section table L27–34
+ What just landed section What just landed L17–23
+ table section table L19–22
~ table
~ table
~ tests/support.py .py 5 symbols added, 4 symbols modified
+ _content method method _content L254–255
+ _git_known_commits method method _git_known_commits L267–271
+ _git_worktree_dirty method method _git_worktree_dirty L257–260
+ _muse_worktree_dirty method method _muse_worktree_dirty L262–265
+ json import import json L5–5
~ _git
~ _muse
~ tools/governance_hygiene/engine.py .py 11 symbols added, 2 symbols modified
+ _BranchReconcileProbe class class _BranchReconcileProbe L802–812
+ _UNIQUIFY_LIMIT variable variable _UNIQUIFY_LIMIT L798–798
+ _classify_git_branch class function _classify_git_branch L873–909
+ _classify_muse_branch class function _classify_muse_branch L912–961
+ _fast_forward_git function function _fast_forward_git L964–1007
+ _fast_forward_muse function function _fast_forward_muse L1010–1058
+ _muse_tracked_dirty function function _muse_tracked_dirty L1061–1086
+ _reconcile_feature_branch function function _reconcile_feature_branch L815–870
+ _uniquify_branch function function _uniquify_branch L1089–1120
+ json import import json L5–5
+ replace import import replace L7–7

0 comments

No comments yet. Be the first to start the discussion.

To add a comment, use the Muse CLI: muse hub commit comment sha256:d869591fee91dd2dcfdc951b654ee5c7574b0714ba0b36eba7c4ed2ccd8e90ff --body "your comment"