feat BREAKING PLS-b feat/pls-a #1 / 2
aaronrene · 36 days ago · Jul 31, 2026 · Diff

feat(PLS-b): post-land main sync build — ff-only pr-land post-step, exit 36, seven-tier green (BV pass PLS-BV-r1)

sha256:6e320c222667b7e17f8b355b8a64050af10a6e2e09656e5053e339c870bcdbe0 sha
+144 ~26 −7 symbols
sha256:fee3f599378955c547ac6df8a29610313f05c9e724b272afcbb50523d2f65eae snapshot
+144
symbols added
~26
symbols modified
−7
symbols removed
0
dead code introduced
Semantic Changes 177 symbols
+ _git function function _git L14–18
+ Path import import Path L6–6
+ annotations import import annotations L3–3
+ gh_merged_runner import import gh_merged_runner L10–10
+ pls_config import import pls_config L10–10
+ pytest import import pytest L8–8
+ run_pr_land import import run_pr_land L11–11
+ subprocess import import subprocess L5–5
+ land_repos function function land_repos L22–47
+ test_clean_sync_bytes_equal_origin_main_no_invented_commits function function test_clean_sync_bytes_equal_origin_main_no_invented_commits L70–90
+ test_dirty_unique_bytes_unchanged_after_skipped_sync function function test_dirty_unique_bytes_unchanged_after_skipped_sync L50–67
+ _git function function _git L14–18
+ EXIT_OK import import EXIT_OK L11–11
+ Path import import Path L6–6
+ annotations import import annotations L3–3
+ gh_merged_runner import import gh_merged_runner L10–10
+ pls_config import import pls_config L10–10
+ pytest import import pytest L8–8
+ run_pr_land import import run_pr_land L11–11
+ subprocess import import subprocess L5–5
+ land_repos function function land_repos L22–51
+ test_clean_feature_branch_ends_on_main_matching_origin function function test_clean_feature_branch_ends_on_main_matching_origin L54–73
+ test_dirty_tree_skips_head_unchanged_exit_zero function function test_dirty_tree_skips_head_unchanged_exit_zero L76–97
+ EDITOR_BUFFER_NOTE import import EDITOR_BUFFER_NOTE L8–8
+ EXIT_OK import import EXIT_OK L9–9
+ FakeGitRunner import import FakeGitRunner L7–7
+ Path import import Path L5–5
+ annotations import import annotations L3–3
+ gh_merged_runner import import gh_merged_runner L7–7
+ pls_config import import pls_config L7–7
+ run_pr_land import import run_pr_land L9–9
+ test_already_merged_path_also_invokes_sync_when_enabled function function test_already_merged_path_also_invokes_sync_when_enabled L36–51
+ test_muse_git_mirror_regime_runs_git_side_only function function test_muse_git_mirror_regime_runs_git_side_only L54–67
+ test_successful_merge_then_ff_only_pull_reports_synced function function test_successful_merge_then_ff_only_pull_reports_synced L12–33
+ MAX_GIT_CALLS variable variable MAX_GIT_CALLS L12–12
+ FakeGitRunner import import FakeGitRunner L8–8
+ Path import import Path L6–6
+ annotations import import annotations L3–3
+ run_post_land_sync import import run_post_land_sync L9–9
+ time import import time L5–5
+ test_clean_sync_on_feature_branch_uses_bounded_calls function function test_clean_sync_on_feature_branch_uses_bounded_calls L28–37
+ test_clean_sync_on_main_uses_bounded_calls function function test_clean_sync_on_main_uses_bounded_calls L15–25
+ test_dirty_skip_stops_after_status function function test_dirty_skip_stops_after_status L40–49
+ test_many_runs_complete_under_unit_budget function function test_many_runs_complete_under_unit_budget L52–62
+ FORBIDDEN_FRAGMENTS variable variable FORBIDDEN_FRAGMENTS L15–15
+ KIT_ROOT variable variable KIT_ROOT L13–13
+ FakeGitRunner import import FakeGitRunner L9–9
+ Path import import Path L5–5
+ annotations import import annotations L3–3
+ gh_merged_runner import import gh_merged_runner L9–9
+ pls_config import import pls_config L9–9
+ pytest import import pytest L7–7
+ run_post_land_sync import import run_post_land_sync L11–11
+ run_pr_land import import run_pr_land L10–10
+ test_call_log_never_contains_force_or_clobber function function test_call_log_never_contains_force_or_clobber L27–40
+ test_metacharacter_refs_fail_closed_with_zero_git_argv function function test_metacharacter_refs_fail_closed_with_zero_git_argv L80–92
+ test_muse_only_fixture_zero_git_and_gh_argv_from_sync function function test_muse_only_fixture_zero_git_and_gh_argv_from_sync L43–66
+ test_refuse_blind_auto_merge_policy_still_holds function function test_refuse_blind_auto_merge_policy_still_holds L95–108
+ ALLOWED_OPS variable variable ALLOWED_OPS L11–11
+ FORBIDDEN_TOKENS variable variable FORBIDDEN_TOKENS L10–10
+ FakeGitRunner import import FakeGitRunner L7–7
+ Path import import Path L5–5
+ annotations import import annotations L3–3
+ run_post_land_sync import import run_post_land_sync L8–8
+ test_alternating_dirty_and_clean_cycles_never_clobber function function test_alternating_dirty_and_clean_cycles_never_clobber L14–42
+ _write_config function function _write_config L21–26
+ ConfigError import import ConfigError L10–10
+ EXIT_CHECKS_FAILED import import EXIT_CHECKS_FAILED L13–13
+ EXIT_OK import import EXIT_OK L13–13
+ EXIT_POST_LAND_SYNC import import EXIT_POST_LAND_SYNC L13–13
+ FIXTURES import import FIXTURES L11–11
+ FakeGitRunner import import FakeGitRunner L11–11
+ Path import import Path L5–5
+ PostLandSyncConfig import import PostLandSyncConfig L9–9
+ annotations import import annotations L3–3
+ gh_merged_runner import import gh_merged_runner L11–11
+ load_config import import load_config L9–9
+ pls_config import import pls_config L11–11
+ pytest import import pytest L7–7
+ run_post_land_sync import import run_post_land_sync L12–12
+ run_pr_land import import run_pr_land L13–13
+ test_already_merged_checks_failed_never_syncs function function test_already_merged_checks_failed_never_syncs L176–190
+ test_checks_failed_never_syncs function function test_checks_failed_never_syncs L160–173
+ test_clean_on_feature_branch_checks_out_main_then_ff_pull function function test_clean_on_feature_branch_checks_out_main_then_ff_pull L230–243
+ test_defaults_when_block_omitted function function test_defaults_when_block_omitted L32–36
+ test_defaults_when_post_land_sync_omitted function function test_defaults_when_post_land_sync_omitted L39–43
+ test_dirty_porcelain_skips_without_checkout_or_pull function function test_dirty_porcelain_skips_without_checkout_or_pull L214–227
+ test_disabled_config_no_git_argv function function test_disabled_config_no_git_argv L127–139
+ test_dry_run_never_syncs function function test_dry_run_never_syncs L142–157
+ test_enabled_merged_not_dry_run_enters_helper function function test_enabled_merged_not_dry_run_enters_helper L94–107
+ test_hard_fail_maps_to_exit_36_not_6 function function test_hard_fail_maps_to_exit_36_not_6 L247–262
+ test_missing_repo_root_when_enabled_hard_fails function function test_missing_repo_root_when_enabled_hard_fails L265–278
+ test_muse_only_regime_skipped_zero_git_argv function function test_muse_only_regime_skipped_zero_git_argv L193–208
+ test_no_config_defaults_to_disabled_always_present function function test_no_config_defaults_to_disabled_always_present L110–124
+ test_parse_explicit_opt_in function function test_parse_explicit_opt_in L46–57
+ test_parse_rejects_bad_values function function test_parse_rejects_bad_values L85–88
~ tools/close_ritual/post_land_sync.py .py 25 symbols added
+ EDITOR_BUFFER_NOTE variable variable EDITOR_BUFFER_NOTE L35–38
+ GitRunner variable variable GitRunner L42–42
+ PostLandSyncReport class class PostLandSyncReport L46–55
+ to_dict method method to_dict L54–55
+ STATUS_DISABLED variable variable STATUS_DISABLED L27–27
+ STATUS_FAILED variable variable STATUS_FAILED L31–31
+ STATUS_NOT_APPLICABLE variable variable STATUS_NOT_APPLICABLE L32–32
+ STATUS_REGIME_SKIPPED variable variable STATUS_REGIME_SKIPPED L28–28
+ STATUS_SKIPPED_DIRTY variable variable STATUS_SKIPPED_DIRTY L29–29
+ STATUS_SYNCED variable variable STATUS_SYNCED L30–30
+ _DIRTY_SUMMARY_LIMIT variable variable _DIRTY_SUMMARY_LIMIT L40–40
+ _make_default_runner function function _make_default_runner L68–77
+ _summarize_dirty function function _summarize_dirty L87–94
+ _unsafe_ref_component function function _unsafe_ref_component L80–84
+ disabled_report function function disabled_report L58–60
+ Any import import Any L25–25
+ Callable import import Callable L25–25
+ Path import import Path L24–24
+ annotations import import annotations L20–20
+ asdict import import asdict L23–23
+ dataclass class import dataclass L23–23
+ field import import field L23–23
+ subprocess import import subprocess L22–22
+ not_applicable_report function function not_applicable_report L63–65
+ run_post_land_sync function function run_post_land_sync L97–214
~ adapters/config.py .py 2 symbols added, 2 symbols modified
+ PostLandSyncConfig class class PostLandSyncConfig L232–242
+ _parse_post_land_sync function function _parse_post_land_sync L884–917
~ cli/commands/pr_land.py .py 1 symbol modified
~ docs/OVERSEER-HANDOVER.md .md 7 symbols added, 7 symbols removed, 3 symbols modified
NEXT SESSION — PLS-b Post-land main sync build section NEXT SESSION — PLS-b Post-land main sync build L11–66
Paste-ready prompt — PLS-b section Paste-ready prompt — PLS-b L37–66
code[text] variable variable code[text] L39–62
THE ONE NEXT STEP — Model: Auto section THE ONE NEXT STEP — Model: Auto L23–37
table section table L27–34
What just landed section What just landed L17–23
table section table L19–22
+ NEXT SESSION — PLS → main (land-a) section NEXT SESSION — PLS → main (land-a) L11–56
+ Paste-ready prompt — PLS section Paste-ready prompt — PLS L37–56
+ code[text] variable variable code[text] L39–52
+ 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
~ docs/PHASE-PR-LAND-AFTER-CHECKS.md .md 1 symbol added, 3 symbols modified
~ tests/support.py .py 5 symbols added
+ FakeGitRunner class class FakeGitRunner L126–161
+ __call__ method method __call__ L145–161
+ __init__ method method __init__ L133–143
+ gh_merged_runner function function gh_merged_runner L104–123
+ pls_config function function pls_config L83–101
~ tools/close_ritual/pr_land.py .py 8 symbols added, 4 symbols modified
+ EXIT_POST_LAND_SYNC variable variable EXIT_POST_LAND_SYNC L44–44
+ _run_pr_land_inner function function _run_pr_land_inner L281–456
+ GitRunner import import GitRunner L25–25
+ STATUS_FAILED import import STATUS_FAILED L25–25
+ TYPE_CHECKING import import TYPE_CHECKING L23–23
+ disabled_report import import disabled_report L25–25
+ not_applicable_report import import not_applicable_report L25–25
+ run_post_land_sync import import run_post_land_sync L25–25
~ Any

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:6e320c222667b7e17f8b355b8a64050af10a6e2e09656e5053e339c870bcdbe0 --body "your comment"