fix(gsd): refresh root preferences into auto worktrees#3416
Closed
mastertyko wants to merge 11 commits intogsd-build:mainfrom
Closed
fix(gsd): refresh root preferences into auto worktrees#3416mastertyko wants to merge 11 commits intogsd-build:mainfrom
mastertyko wants to merge 11 commits intogsd-build:mainfrom
Conversation
Contributor
🔴 PR Risk Report — CRITICAL
Affected Systems
File Breakdown
|
15a4670 to
ce78038
Compare
Collaborator
|
This PR has merge conflicts with the base branch. Please rebase or merge 🤖 Automated PR audit — 2026-04-04 |
Completed async jobs should not keep the host process alive until their eviction TTL expires. Unref the best-effort eviction timer and lock the behavior with a regression in await-tool tests so full integration no longer stalls in unrelated lanes.
ce78038 to
6484d51
Compare
Contributor
Author
|
@jeremymcs Refreshed this PR onto the current |
Contributor
Author
|
Closing this for now to keep the queue clean. The issue remains tracked in #3412 and can be reopened later as a cleaner standalone fix from current main. |
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.
TL;DR
What: Refreshes the authoritative root
PREFERENCES.mdinto auto worktrees before auto-mode uses worktree-local preferences.Why: Stale copied preferences in the worktree could override newer root model settings and send auto-mode down the wrong model path.
How: Resync the root preferences file into the worktree during auto-worktree setup and cover both case-sensitive and case-insensitive filename variants.
What
This change keeps auto worktrees in sync with the project's root preferences file so auto-mode reads current model overrides instead of a stale copied snapshot.
Affected areas:
src/resources/extensions/gsd/auto-worktree.tssrc/resources/extensions/gsd/tests/worktree-preferences-sync.test.tsWhy
Closes #3412.
When the root project preferences changed after a worktree was created, auto-mode could keep reading the stale worktree copy. That meant root-level model overrides were silently ignored in exactly the path where we most want them to be authoritative.
How
The auto-worktree sync path now force-refreshes the root preferences file into the worktree before auto execution. The implementation also handles both
PREFERENCES.mdandpreferences.mdsafely, with regression coverage for the refresh behavior.Change type
fix— Bug fixfeat— New feature or capabilityrefactor— Code restructuring (no behavior change)test— Adding or updating testsdocs— Documentation onlychore— Build, CI, or tooling changesScope
pi-tui— Terminal UIpi-ai— AI/LLM layerpi-agent-core— Agent orchestrationpi-coding-agent— Coding agentgsd extension— GSD workflownative— Native bindingsci/build— Workflows, scripts, configBreaking changes
Test plan
Verified locally with the full CI mirror gate:
npm run buildnpm run typecheck:extensionsnpm run test:unitnpm run test:integrationThe final truth phase completed on the branch head in the issue worktree.
AI disclosure