Skip to content

fix(git-sync): restore the lost-work caveat a merge reverted (#3022 follow-up) - #3226

Merged
vybe merged 1 commit into
devfrom
fix/3022-restore-pull-wording
Oct 5, 2026
Merged

vybe merged 1 commit into
devfrom
fix/3022-restore-pull-wording

Conversation

@dolho

@dolho dolho commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

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_reset only spares registered executions, so Files API, web terminal and docker exec writes made while a pull integrates can still be lost by an undo.

The dev merge 806b538bf inside #3022 (merged as 09f9d0868) resolved its conflicts on the #3021 files by taking the branch side, so dev again 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 its requirements/github.md create-time kind / #704 UI section.

  1. 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.
  2. docker/base-image/agent_server/routers/git.py: the _integrate_remote and _run_pull_once docstrings.
  3. docker/base-image/agent_server/auto_sync.py: the pull-loop header comment.
  4. docs/memory/requirements/github.md: the pull-cycle bullet (_safe_to_reset scope + unprotected writes).

After the fix, git diff c3ba98a63 -- <file> is empty for the three code files. A grep of docs/, src/ and docker/base-image found no other git-sync copy making the claim.

Tests

  • New mounted test in tests/unit/gitSyncSettingsPanel.spec.js. It asserts the rendered panel names the unprotected edits and never says "never discards/loses". Mutation check: with dev'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

…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>
@dolho dolho added the ui PR touches the frontend UI — triggers Playwright e2e tests label Oct 5, 2026

@obasilakis obasilakis left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@vybe vybe left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

merge-train: batch validated on train/20261005-1214 (#3228, all gates green)

@vybe
vybe merged commit a6fba13 into dev Oct 5, 2026
26 of 28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ui PR touches the frontend UI — triggers Playwright e2e tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants