feat(bin): add safe identical-squash reconciliation - #1321
Open
homestills wants to merge 6 commits into
Open
homestills wants to merge 6 commits into
homestills wants to merge 6 commits into
Conversation
homestills
force-pushed
the
fm/fleet-sync-narrow-identical-squash-recovery
branch
from
July 30, 2026 20:26
94a6274 to
018b4f7
Compare
homestills
force-pushed
the
fm/fleet-sync-narrow-identical-squash-recovery
branch
2 times, most recently
from
July 30, 2026 22:31
b34e7c8 to
2113f70
Compare
Author
|
Hi @kunchenguid — the latest version of this PR is awaiting maintainer approval to run the Require no-mistakes and CI workflows. When you have a chance, could you approve those workflow runs and review the PR? Thank you! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Intent
Add an explicit operator-invoked helper for reconciling one clean, quiesced Git repository when its checked-out default branch and source-backed origin default branch genuinely diverge but have identical root trees.
Changed files
bin/fm-reconcile-identical-squash.shtests/fm-reconcile-identical-squash.test.shdocs/scripts.mdSafety behavior
The helper refuses dirty, detached, off-default, multi-worktree, active-operation, symbolic-ref, incomplete-history, ambiguous-history, unequal-tree, fetch-failure, and raced states. Source acquisition leaves
FETCH_HEAD, configured remote-tracking refs, tags, submodules, and unrelated refs unchanged. A single no-dereference ref transaction preserves the complete old local commit under a deterministic direct ref and moves only the local default branch. Post-commit evidence changes are reported without rolling back through a new claimant. Ordinary fleet synchronization is unchanged.Compatibility
The fetch and ref-transaction command surface is compatible with Git 2.40, with executable verification on Git 2.40 and a current Git release.
Validation
Executable-interface regression coverage passed, including success, idempotence, refusal paths, fetch invariants, symbolic-ref and expected-old races, bounded source advancement, and post-commit claimant retention. All 10 required CI checks pass, including shell lint, stock macOS Bash compatibility, behavior suites, coverage, and repository invariants.
Risk
High. The helper intentionally moves a local branch, but only after strict predicates are proven. Explicit operator quiescence plus pre- and post-transaction evidence remains the concurrency boundary.
Updates from git push no-mistakes