From bf0e3fb0e411c3e404f35a13e3111be2fbc9348f Mon Sep 17 00:00:00 2001 From: Tibsfox Date: Mon, 6 Apr 2026 18:59:00 -0700 Subject: [PATCH] fix(gsd): stop renderAllProjections from overwriting authoritative PLAN.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit renderAllProjections called renderPlanProjection which overwrote the complete PLAN.md (from markdown-renderer.js) with a simplified projection missing Must-Haves, Verification, Files Likely Touched sections and corrupting multi-line task descriptions. Remove the plan projection call from renderAllProjections — the authoritative renderer in plan-slice/replan-slice tools is the sole writer. The renderIfMissing recovery path is preserved for when the file is actually missing. Closes #3651 Co-Authored-By: Claude Opus 4.6 (1M context) --- src/resources/extensions/gsd/workflow-projections.ts | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/resources/extensions/gsd/workflow-projections.ts b/src/resources/extensions/gsd/workflow-projections.ts index a77200917..15d39d55a 100644 --- a/src/resources/extensions/gsd/workflow-projections.ts +++ b/src/resources/extensions/gsd/workflow-projections.ts @@ -370,12 +370,10 @@ export async function renderAllProjections(basePath: string, milestoneId: string const sliceRows = getMilestoneSlices(milestoneId); for (const slice of sliceRows) { - // Render PLAN.md for each slice - try { - renderPlanProjection(basePath, milestoneId, slice.id); - } catch (err) { - logWarning("projection", `renderPlanProjection failed for ${milestoneId}/${slice.id}: ${(err as Error).message}`); - } + // PLAN.md is rendered by the authoritative markdown-renderer.js in + // plan-slice/replan-slice tools. Do NOT overwrite it here — the simplified + // projection is missing key sections (Must-Haves, Verification, Files + // Likely Touched) and corrupts multi-line task descriptions (#3651). // Render SUMMARY.md for each completed task const taskRows = getSliceTasks(milestoneId, slice.id);