From ec235c88321b5e9cb5b1877a85686cefa152a045 Mon Sep 17 00:00:00 2001 From: Mikael Hugo Date: Sat, 2 May 2026 18:16:48 +0200 Subject: [PATCH] fix(sf): system.md names isolation field correctly as git.isolation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit prompts/system.md:106 told agents the isolation mode lives in PREFERENCES.md under `taskIsolation.mode`. The preferences validator (preferences-validation.ts:84-88) explicitly REJECTS that key — along with task_isolation and bare isolation — with the error 'use "git.isolation" instead'. The canonical field is git.isolation (verified in PREFERENCES.md template line 22 and preferences.ts:897). Anyone following the system-prompt instruction would write the wrong config, the validator would discard it, and isolation would silently fall back to default 'none'. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/resources/extensions/sf/prompts/system.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/resources/extensions/sf/prompts/system.md b/src/resources/extensions/sf/prompts/system.md index 1e6c8316f..e8c457dfe 100644 --- a/src/resources/extensions/sf/prompts/system.md +++ b/src/resources/extensions/sf/prompts/system.md @@ -103,7 +103,7 @@ Titles live inside file content (headings, frontmatter), not in file or director ### Isolation Model -Auto-mode supports three isolation modes (configured in `.sf/PREFERENCES.md` under `taskIsolation.mode`): +Auto-mode supports three isolation modes (configured in `.sf/PREFERENCES.md` under `git.isolation`): - **worktree** (default): Work happens in `.sf/worktrees//`, a full git worktree on the `milestone/` branch. Each worktree has its own working copy and `.sf/` directory. Squash-merged back to the integration branch on milestone completion. - **branch**: Work happens in the project root on a `milestone/` branch. No worktree directory — files are checked out in-place.