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

@@ -18,7 +18,7 @@ const path = require('node:path');
const REPO = path.join(__dirname, '..');
const MANIFEST = JSON.parse(fs.readFileSync(
path.join(REPO, 'gsd-core', 'bin', 'shared', 'config-defaults.manifest.json'),
path.join(REPO, 'msd-core', 'bin', 'shared', 'config-defaults.manifest.json'),
'utf8',
));
@@ -32,7 +32,7 @@ test('#3801: the defaults manifest owns workflow.inline_plan_threshold (default
test('#3801: every shipped surface naming the default agrees with the manifest', () => {
const surfaces = [
['gsd-core/workflows/settings-advanced.md', /inline_plan_threshold`\s*\(default:\s*`(\d+)`/],
['msd-core/workflows/settings-advanced.md', /inline_plan_threshold`\s*\(default:\s*`(\d+)`/],
];
for (const [rel, re] of surfaces) {
const md = fs.readFileSync(path.join(REPO, rel), 'utf8');
@@ -42,8 +42,8 @@ test('#3801: every shipped surface naming the default agrees with the manifest',
}
// planning-config.md's two tables are read via the shared markdown-table
// parser (parseMarkdownTable), not an ad-hoc cell regex.
const { parseMarkdownTable } = require('../gsd-core/bin/lib/markdown-table.cjs');
const pc = fs.readFileSync(path.join(REPO, 'gsd-core', 'references', 'planning-config.md'), 'utf8');
const { parseMarkdownTable } = require('../msd-core/bin/lib/markdown-table.cjs');
const pc = fs.readFileSync(path.join(REPO, 'msd-core', 'references', 'planning-config.md'), 'utf8');
const parsed = parseMarkdownTable(pc);
assert.ok(parsed.ok, 'planning-config.md must contain a parseable defaults table');
const defaultsTable = parsed.value;
@@ -54,9 +54,9 @@ test('#3801: every shipped surface naming the default agrees with the manifest',
assert.strictEqual(def, '2', `#3801: planning-config.md documents the default as ${def} — must agree with the manifest's 2`);
}
// The execute-plan prose default and the shell fallback both say 2.
const ep = fs.readFileSync(path.join(REPO, 'gsd-core', 'workflows', 'execute-plan.md'), 'utf8');
const ep = fs.readFileSync(path.join(REPO, 'msd-core', 'workflows', 'execute-plan.md'), 'utf8');
// The shell-fallback line is matched with a pipe-free, CRLF-safe pattern.
const { splitLines } = require('../gsd-core/bin/lib/text-lines.cjs');
const { splitLines } = require('../msd-core/bin/lib/text-lines.cjs');
const fallbackLine = splitLines(ep).find((l) => l.includes('config-get workflow.inline_plan_threshold'));
assert.ok(fallbackLine, 'execute-plan.md must fetch the key');
assert.ok(fallbackLine.includes('echo "2"'),