refactor: hard-fork GSD -> MSD (Make Software Done)

Mechanical rename produced by scripts/msd-rename.cjs: gsd/Gsd/GSD -> msd/Msd/MSD
across contents and paths, upstream package/repo coordinates -> @golem15/msd-core
and golem15com/msd-core. Deep links into upstream history, sibling upstream
packages, the GSD-2 import feature, CHANGELOG.md and .changeset/ are kept as-is.

Hand edits on top: MSD block-letter banner and logos, LICENSE copyright line,
package/plugin identity, regenerated lockfile, install-tree fixtures, derived
registries and benchmark baseline; migration checksum baseline re-locked
(MSD keeps its own install state, so no install had applied the old sums);
sort-order and regex-escaped expectations in tests adjusted.
This commit is contained in:
Jakub Zych
2026-10-06 01:47:40 +02:00
parent fe069b2a56
commit a9a7a328e6
2763 changed files with 78465 additions and 78434 deletions

View File

@@ -7,14 +7,14 @@ describe('pause-work improvements', () => {
let pauseContent;
test('pause-work.md exists', () => {
const p = path.join(__dirname, '..', 'gsd-core', 'workflows', 'pause-work.md');
const p = path.join(__dirname, '..', 'msd-core', 'workflows', 'pause-work.md');
assert.ok(fs.existsSync(p));
pauseContent = fs.readFileSync(p, 'utf-8');
});
test('#1489: pause-work detects non-phase contexts (spike, deliberation, research)', () => {
pauseContent = pauseContent || fs.readFileSync(
path.join(__dirname, '..', 'gsd-core', 'workflows', 'pause-work.md'), 'utf-8'
path.join(__dirname, '..', 'msd-core', 'workflows', 'pause-work.md'), 'utf-8'
);
assert.ok(pauseContent.includes('spike') || pauseContent.includes('Spike'),
'pause-work should handle spike context');
@@ -24,7 +24,7 @@ describe('pause-work improvements', () => {
test('#1489: pause-work writes to non-phase paths when appropriate', () => {
pauseContent = pauseContent || fs.readFileSync(
path.join(__dirname, '..', 'gsd-core', 'workflows', 'pause-work.md'), 'utf-8'
path.join(__dirname, '..', 'msd-core', 'workflows', 'pause-work.md'), 'utf-8'
);
assert.ok(pauseContent.includes('.planning/.continue-here') ||
pauseContent.includes('.planning/spikes') ||
@@ -34,7 +34,7 @@ describe('pause-work improvements', () => {
test('#1490: continue-here template includes required-reading section', () => {
pauseContent = pauseContent || fs.readFileSync(
path.join(__dirname, '..', 'gsd-core', 'workflows', 'pause-work.md'), 'utf-8'
path.join(__dirname, '..', 'msd-core', 'workflows', 'pause-work.md'), 'utf-8'
);
assert.ok(pauseContent.includes('Required Reading') || pauseContent.includes('required-reading'),
'Template should include Required Reading section');
@@ -42,7 +42,7 @@ describe('pause-work improvements', () => {
test('#1490: continue-here template includes anti-patterns section', () => {
pauseContent = pauseContent || fs.readFileSync(
path.join(__dirname, '..', 'gsd-core', 'workflows', 'pause-work.md'), 'utf-8'
path.join(__dirname, '..', 'msd-core', 'workflows', 'pause-work.md'), 'utf-8'
);
assert.ok(pauseContent.includes('Anti-Pattern') || pauseContent.includes('anti-pattern') ||
pauseContent.includes('do NOT repeat'),
@@ -51,7 +51,7 @@ describe('pause-work improvements', () => {
test('#1490: continue-here template includes infrastructure-state section', () => {
pauseContent = pauseContent || fs.readFileSync(
path.join(__dirname, '..', 'gsd-core', 'workflows', 'pause-work.md'), 'utf-8'
path.join(__dirname, '..', 'msd-core', 'workflows', 'pause-work.md'), 'utf-8'
);
assert.ok(pauseContent.includes('Infrastructure') || pauseContent.includes('infrastructure'),
'Template should include Infrastructure State section');
@@ -59,7 +59,7 @@ describe('pause-work improvements', () => {
test('#1487: pause-work documents pre-execution critique gate', () => {
pauseContent = pauseContent || fs.readFileSync(
path.join(__dirname, '..', 'gsd-core', 'workflows', 'pause-work.md'), 'utf-8'
path.join(__dirname, '..', 'msd-core', 'workflows', 'pause-work.md'), 'utf-8'
);
assert.ok(
pauseContent.includes('critique') || pauseContent.includes('design gate') ||
@@ -92,9 +92,9 @@ const path = require('node:path');
const { runHook: runHookSeam } = require('./helpers/process-seam.cjs');
const { toLegacyResult } = require('./helpers/git-fixture.cjs');
const { createTempDir, cleanup, readFileNormalized } = require('./helpers.cjs');
const { scanFencedBlocks } = require('../gsd-core/bin/lib/markdown-sectionizer.cjs');
const { scanFencedBlocks } = require('../msd-core/bin/lib/markdown-sectionizer.cjs');
const WORKFLOW_PATH = path.join(__dirname, '..', 'gsd-core', 'workflows', 'resume-project.md');
const WORKFLOW_PATH = path.join(__dirname, '..', 'msd-core', 'workflows', 'resume-project.md');
// Extract the first ```bash``` code block inside the
// `<step name="check_incomplete_work">` element. That's the snippet the
@@ -140,7 +140,7 @@ describe('bug #3446: resume-project detects non-phase and legacy continue-here h
before(() => {
snippet = extractCheckBlock();
tmpDir = createTempDir('gsd-bug-3446-');
tmpDir = createTempDir('msd-bug-3446-');
// Plant the three discovery surfaces that bug #3446 was originally
// filed to cover.
@@ -216,11 +216,11 @@ describe('bug #3446: resume-project detects non-phase and legacy continue-here h
// the workflow itself, not source-grep theater.
/**
* Regression for #3689 — /gsd-resume-work silently drops
* Regression for #3689 — /msd-resume-work silently drops
* `.planning/.continue-here*.md` checkpoints under zsh's default NOMATCH.
*
* Root cause: the `check_incomplete_work` step in
* `gsd-core/workflows/resume-project.md` used a chained `ls` with six
* `msd-core/workflows/resume-project.md` used a chained `ls` with six
* bare-glob arguments. Under zsh's default `NOMATCH` setopt the first
* non-matching glob aborts the entire command during word-expansion — every
* pattern after that point is never evaluated, including the one that holds
@@ -254,7 +254,7 @@ const { toLegacyResult } = require('./helpers/git-fixture.cjs');
const { createTempDir, cleanup } = require('./helpers.cjs');
const REPO_ROOT = path.resolve(__dirname, '..');
const WORKFLOW_PATH = path.join(REPO_ROOT, 'gsd-core', 'workflows', 'resume-project.md');
const WORKFLOW_PATH = path.join(REPO_ROOT, 'msd-core', 'workflows', 'resume-project.md');
// The exact snippet the workflow now embeds. Keep in sync with
// resume-project.md `check_incomplete_work` step.
@@ -272,7 +272,7 @@ describe('bug #3689 — resume-project.md continue-here scan under zsh NOMATCH',
let tmpDir;
before(() => {
tmpDir = createTempDir('gsd-bug-3689-');
tmpDir = createTempDir('msd-bug-3689-');
// Reproduce the common new-project layout: a `.planning/` with a
// suffixed continue-here file and *no* spike / sketch / deliberation
// subdirectories.
@@ -319,7 +319,7 @@ describe('bug #3689 — empty workspace exits cleanly', () => {
let tmpDir;
before(() => {
tmpDir = createTempDir('gsd-bug-3689-');
tmpDir = createTempDir('msd-bug-3689-');
// No .planning/ at all, no .continue-here files. Pure greenfield.
});