fix(gsd): stop renderAllProjections from overwriting authoritative PLAN.md

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) <noreply@anthropic.com>
This commit is contained in:
Tibsfox 2026-04-06 18:59:00 -07:00
parent b4c6229360
commit bf0e3fb0e4

View file

@ -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);