fix BREAKING GFG-D2 feat/gfg-d2-muse-id-space #1 / 1
aaronrene · 40 days ago · Jul 28, 2026 · Diff

fix(GFG-D2): muse+git-mirror D2 uses muse_commit_id ID space

Compare last_export.muse_commit_id to Muse tip for D2; keep git_sha for realign from_ref/ancestry only. Stops healthy bridges looking permanently drifted under Muse 0.2.x content-hash tips. Freeze pass D2F-r2; BV pass D2F-BV-r1; §D2F.9 tests green.

sha256:4aebfa7501ed7e9a5f611b838310b07f1a9ca1936a1d3a431cd5d7b180bd5870 sha
+99 ~22 −7 symbols
sha256:bff8bd172ce162d5cad0b172ddbadb923e003aea16911d765d9c627db31c3035 snapshot
+99
symbols added
~22
symbols modified
−7
symbols removed
0
dead code introduced
Semantic Changes 128 symbols
~ docs/PHASE-GFG-D2-MUSE-ID-SPACE.md .md 25 symbols added
+ Phase GFG-D2-FIX — muse+git-mirror D2 ID-space (Thinking freeze) section Phase GFG-D2-FIX — muse+git-mirror D2 ID-space (Thinking freeze) L1–300
+ Cross-references section Cross-references L295–300
+ code[yaml] variable variable code[yaml] L7–37
+ table section table L47–51
+ 0 — Simple summary section §D2F.0 — Simple summary L54–73
+ 1 — Verified incident (do not redesign around folklore) section §D2F.1 — Verified incident (do not redesign around folklore) L73–102
+ table section table L77–86
+ 10 — Hard stops section §D2F.10 — Hard stops L277–286
+ 11 — Acceptance (post Auto + consumer re-stamp) section §D2F.11 — Acceptance (post Auto + consumer re-stamp) L286–295
+ 2 — Scope section §D2F.2 — Scope L102–127
+ table section table L116–124
+ 3 — Frozen D2 rule (muse+git-mirror) section §D2F.3 — Frozen D2 rule (muse+git-mirror) L127–158
+ table section table L151–155
+ 4 — Frozen adapter / read surface section §D2F.4 — Frozen adapter / read surface L158–199
+ 1 — read_bridge_muse_commit_id section §D2F.4.1 — read_bridge_muse_commit_id L160–169
+ 2 — read_canonical_anchor (muse+git-mirror) section §D2F.4.2 — read_canonical_anchor (muse+git-mirror) L169–191
+ 3 — git_sha retention section §D2F.4.3 — git_sha retention L191–199
+ 5 — Frozen realign plan / verify section §D2F.5 — Frozen realign plan / verify L199–222
+ 6 — Fail-closed honesty section §D2F.6 — Fail-closed honesty L222–234
+ table section table L224–231
+ 7 — Boundary / rejection table section §D2F.7 — Boundary / rejection table L234–246
+ table section table L236–243
+ 8 — Auto deliverables (exact) section §D2F.8 — Auto deliverables (exact) L246–263
+ 9 — Seven-tier test matrix (Auto must satisfy) section §D2F.9 — Seven-tier test matrix (Auto must satisfy) L263–277
+ table section table L265–274
+ Path import import Path L5–5
+ adapter_for import import adapter_for L8–8
+ annotations import import annotations L3–3
+ make_runner import import make_runner L8–8
+ read_bridge_git_sha import import read_bridge_git_sha L7–7
+ read_bridge_muse_commit_id import import read_bridge_muse_commit_id L7–7
+ test_muse_commit_id_roundtrip_preserves_prefix function function test_muse_commit_id_roundtrip_preserves_prefix L11–32
+ FIXTURES import import FIXTURES L8–8
+ Path import import Path L6–6
+ annotations import import annotations L3–3
+ json import import json L5–5
+ muse_mirror_status_runner import import muse_mirror_status_runner L8–8
+ ok import import ok L8–8
+ run_cli import import run_cli L8–8
+ seed_muse_substrate import import seed_muse_substrate L8–8
+ test_healthy_bridge_status_ok_without_git_import function function test_healthy_bridge_status_ok_without_git_import L17–90
+ _config function function _config L13–17
+ _reads function function _reads L20–33
+ AnchorResult import import AnchorResult L8–8
+ DriftReport import import DriftReport L10–10
+ HeadResult import import HeadResult L8–8
+ MagicMock import import MagicMock L6–6
+ Path import import Path L5–5
+ RealignResult import import RealignResult L8–8
+ VerifiedReads import import VerifiedReads L10–10
+ annotations import import annotations L3–3
+ execute_realign_guard import import execute_realign_guard L9–9
+ plan_realign import import plan_realign L9–9
+ test_execute_realign_verify_compares_muse_ids function function test_execute_realign_verify_compares_muse_ids L106–157
+ test_plan_realign_skips_when_d2_aligned_despite_git_sha_mismatch function function test_plan_realign_skips_when_d2_aligned_despite_git_sha_mismatch L36–58
+ test_plan_realign_uses_git_sha_for_ancestry_not_muse_id function function test_plan_realign_uses_git_sha_for_ancestry_not_muse_id L61–103
+ Path import import Path L6–6
+ annotations import import annotations L3–3
+ read_bridge_git_sha import import read_bridge_git_sha L8–8
+ read_bridge_muse_commit_id import import read_bridge_muse_commit_id L8–8
+ time import import time L5–5
+ test_bridge_parse_bounded_and_local function function test_bridge_parse_bounded_and_local L11–24
+ Path import import Path L5–5
+ ReadError import import ReadError L7–7
+ adapter_for import import adapter_for L8–8
+ annotations import import annotations L3–3
+ make_runner import import make_runner L8–8
+ test_missing_muse_commit_id_is_read_error_not_git_sha function function test_missing_muse_commit_id_is_read_error_not_git_sha L11–25
+ Path import import Path L5–5
+ annotations import import annotations L3–3
+ read_bridge_git_sha import import read_bridge_git_sha L7–7
+ read_bridge_muse_commit_id import import read_bridge_muse_commit_id L7–7
+ test_bridge_parsers_isolate_last_export_amid_noise function function test_bridge_parsers_isolate_last_export_amid_noise L10–38
+ _reads function function _reads L12–31
+ Path import import Path L5–5
+ VerifiedReads import import VerifiedReads L9–9
+ annotations import import annotations L3–3
+ detect_drift import import detect_drift L8–8
+ read_bridge_git_sha import import read_bridge_git_sha L7–7
+ read_bridge_muse_commit_id import import read_bridge_muse_commit_id L7–7
+ test_d2_aligned_when_muse_commit_id_matches_sha256_tip function function test_d2_aligned_when_muse_commit_id_matches_sha256_tip L34–44
+ test_d2_drifted_when_muse_commit_id_differs_from_tip function function test_d2_drifted_when_muse_commit_id_differs_from_tip L47–56
+ test_read_bridge_muse_commit_id_missing function function test_read_bridge_muse_commit_id_missing L86–94
+ test_read_bridge_muse_commit_id_parses_live_shape function function test_read_bridge_muse_commit_id_parses_live_shape L59–83
~ adapters/base.py .py 4 symbols added, 1 symbol modified
+ BRIDGE_MUSE_COMMIT_RE variable variable BRIDGE_MUSE_COMMIT_RE L169–172
+ _bridge_section_body function function _bridge_section_body L175–187
+ bridge_section_present function function bridge_section_present L190–192
+ read_bridge_muse_commit_id function function read_bridge_muse_commit_id L204–217
~ adapters/muse_git_mirror/adapter.py .py 2 symbols added, 4 symbols modified
+ bridge_section_present import import bridge_section_present L5–5
+ read_bridge_muse_commit_id import import read_bridge_muse_commit_id L5–5
~ docs/OVERSEER-HANDOVER.md .md 7 symbols added, 7 symbols removed, 4 symbols modified
NEXT SESSION — Consumer GFG sync + freshness re-stamp (PRIMARY) section NEXT SESSION — Consumer GFG sync + freshness re-stamp (PRIMARY) L10–67
Paste-ready prompt — GFG-consumer-sync section Paste-ready prompt — GFG-consumer-sync L41–67
code[text] variable variable code[text] L43–63
THE ONE NEXT STEP — Model: Operator + Auto section THE ONE NEXT STEP — Model: Operator + Auto L29–41
table section table L31–39
What just landed / verified section What just landed / verified L21–29
table section table L23–28
+ NEXT SESSION — GFG-D2-FIX → main then consumer re-stamp (PRIMARY) section NEXT SESSION — GFG-D2-FIX → main then consumer re-stamp (PRIMARY) L10–66
+ Paste-ready prompt — GFG-D2 land + consumer re-stamp section Paste-ready prompt — GFG-D2 land + consumer re-stamp L40–66
+ code[text] variable variable code[text] L42–62
+ THE ONE NEXT STEP — Model: Operator + Auto section THE ONE NEXT STEP — Model: Operator + Auto L28–40
+ table section table L30–38
+ What just landed / verified section What just landed / verified L20–28
+ table section table L22–27
~ table
~ tests/support.py .py 1 symbol modified
~ tests/unit/test_muse_git_mirror.py .py 1 symbol added, 2 symbols modified
+ test_read_canonical_anchor_missing_muse_commit_id function function test_read_canonical_anchor_missing_muse_commit_id L56–65
~ tools/governance_hygiene/realign.py .py 1 symbol added, 3 symbols modified
+ read_bridge_git_sha import import read_bridge_git_sha L5–5
← Older Oldest on feat/gfg-d2-muse-id-space
All commits
Newer → Latest on feat/gfg-d2-muse-id-space

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:4aebfa7501ed7e9a5f611b838310b07f1a9ca1936a1d3a431cd5d7b180bd5870 --body "your comment"