Repository navigation
fix(git-sync): restore the lost-work caveat a merge reverted (#3022 follow-up) - #3226
Merged
Merged
Conversation
…ollow-up) The dev merge 806b538 in #3022 resolved its conflicts on the #3021 files by taking the branch side, which reverted #3021's (c3ba98a) review-driven wording back to "never discards its own changes" / "never discards local work". That is false: _safe_to_reset only spares registered executions, so Files API, web terminal and docker exec writes made while a pull integrates can still be lost. Restores #3021's wording in the four places (Git sync settings panel copy, _integrate_remote and _run_pull_once docstrings, the auto_sync pull-loop comment, requirements/github.md) and keeps everything #3022 legitimately added. Adds a mounted vitest assertion so the panel cannot regain the claim. No behaviour change. Related to #3022, #3021 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
obasilakis
approved these changes
Oct 5, 2026
obasilakis
left a comment
Contributor
There was a problem hiding this comment.
Wording-only restore, verified: the 3 code files match c3ba98a exactly; no remaining "never discards/loses" pull-sync claims in docs/src/base-image; the new mounted test fails against dev's panel (1/10) and passes with the fix (10/10). Tier 1 + journey-smoke + e2e green.
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.
What regressed
#3021 (squash
c3ba98a63) withdrew a false promise from the pull-sync copy and docs: a pull does not "never discard" local work._safe_to_resetonly spares registered executions, so Files API, web terminal anddocker execwrites made while a pull integrates can still be lost by an undo.The dev merge
806b538bfinside #3022 (merged as09f9d0868) resolved its conflicts on the #3021 files by taking the branch side, sodevagain says a pull "never discards its own changes" / "never discards local work". Found by the #3022/review, finding I1.Restored (wording only, no behaviour change)
Each hunk is restored to
c3ba98a63's text. Everything else #3022 added in these files stays, including itsrequirements/github.mdcreate-timekind/ #704 UI section.src/frontend/src/components/GitSyncSettingsPanel.vue: the pull toggle's help text again says edits made outside agent turns (uploads, terminal) while a pull runs are not protected.docker/base-image/agent_server/routers/git.py: the_integrate_remoteand_run_pull_oncedocstrings.docker/base-image/agent_server/auto_sync.py: the pull-loop header comment.docs/memory/requirements/github.md: the pull-cycle bullet (_safe_to_resetscope + unprotected writes).After the fix,
git diff c3ba98a63 -- <file>is empty for the three code files. A grep ofdocs/,src/anddocker/base-imagefound no other git-sync copy making the claim.Tests
tests/unit/gitSyncSettingsPanel.spec.js. It asserts the rendered panel names the unprotected edits and never says "never discards/loses". Mutation check: withdev's panel restored, the test fails (1 failed / 9 passed). With the fix, all 10 pass.gitSyncSettingsPanel.spec.js+rawColorRatchet.spec.js+loadingGateRatchet.spec.js: 30/30 passed.tests/unit/test_ent703_pull_cycle.py: 44 passed. No Python test pins these docstrings.Related to #3022, #3021
🤖 Generated with Claude Code