fix(#3749): route migrate-config, project_exists, and health repairs through the project-aware resolver (#3955)
* test(#3749): GSD_PROJECT-scoped migrate-config, project_exists, and repair paths * fix(#3749): route migrate-config, project_exists, and health repairs through the project-aware resolver * chore(#3749): changeset fragment (pr number backfilled after PR creation) * chore(#3749): backfill changeset PR number (3955) * test(#3749): assert on the POSIX-normalized project_path across platforms --------- Co-authored-by: sim <sim@local>
This commit is contained in:
@@ -55,7 +55,7 @@ type HealthDiagnostic = healthDiagnosticMod.Diagnostic;
|
||||
import planningSnapshotMod = require('./planning-snapshot.cjs');
|
||||
const { buildPlanningSnapshot } = planningSnapshotMod;
|
||||
|
||||
const { planningDir, planningRoot } = planningWorkspace;
|
||||
const { planningDir } = planningWorkspace;
|
||||
const { extractFrontmatter, parseMustHavesBlock } = frontmatterMod;
|
||||
const { readStateHeadFreshness } = stateMod;
|
||||
|
||||
@@ -1604,8 +1604,10 @@ function cmdValidateHealth(
|
||||
return;
|
||||
}
|
||||
|
||||
// rootBase always resolves to .planning/ (shared root — PROJECT.md, config.json live here)
|
||||
const rootBase = planningRoot(cwd);
|
||||
// rootBase resolves to the PROJECT-scoped planning root (`.planning[/<project>]`
|
||||
// — PROJECT.md, config.json live here; #3749). Workstream-free by construction:
|
||||
// planningDir(cwd, null) honors GSD_PROJECT and suppresses GSD_WORKSTREAM.
|
||||
const rootBase = planningDir(cwd, null);
|
||||
const _slashRuntime = resolveRuntime(cwd);
|
||||
const slash = (name: string) => formatGsdSlash(name, _slashRuntime) as string;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user