Merge pull request #1149 from Solvely-Colin/Solvely/health-non-destructive-state-repair

fix(health): preserve state on phase mismatch repair
This commit is contained in:
Tom Boucher
2026-03-19 12:02:11 -04:00
committed by GitHub
3 changed files with 36 additions and 24 deletions

View File

@@ -609,8 +609,12 @@ function cmdValidateHealth(cwd, options, raw) {
if (!diskPhases.has(ref) && !diskPhases.has(normalizedRef) && !diskPhases.has(String(parseInt(ref, 10)))) {
// Only warn if phases dir has any content (not just an empty project)
if (diskPhases.size > 0) {
addIssue('warning', 'W002', `STATE.md references phase ${ref}, but only phases ${[...diskPhases].sort().join(', ')} exist`, 'Run /gsd:health --repair to regenerate STATE.md', true);
if (!repairs.includes('regenerateState')) repairs.push('regenerateState');
addIssue(
'warning',
'W002',
`STATE.md references phase ${ref}, but only phases ${[...diskPhases].sort().join(', ')} exist`,
'Review STATE.md manually before changing it; /gsd:health --repair will not overwrite an existing STATE.md for phase mismatches'
);
}
}
}