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

@@ -27,17 +27,17 @@ const {
graphifyDiff,
graphifyBuild,
writeSnapshot,
} = require('../gsd-core/bin/lib/graphify.cjs');
} = require('../msd-core/bin/lib/graphify.cjs');
const { enableGraphify, SAMPLE_GRAPH } = require('./helpers/graphify.cjs');
const { VALID_CONFIG_KEYS } = require('../gsd-core/bin/lib/config-schema.cjs');
const { VALID_CONFIG_KEYS } = require('../msd-core/bin/lib/config-schema.cjs');
// ─── Fixtures (mirrors graphify-query.test.cjs surfaced-config-dir pattern) ────
function makeSurfacedConfigDir() {
const dir = fs.mkdtempSync(path.join(os.tmpdir(), 'gsd-graph-path-cfg-'));
const dir = fs.mkdtempSync(path.join(os.tmpdir(), 'msd-graph-path-cfg-'));
fs.writeFileSync(
path.join(dir, '.gsd-surface.json'),
path.join(dir, '.msd-surface.json'),
JSON.stringify({ baseProfile: 'full', disabledClusters: [], explicitAdds: [], explicitRemoves: [] }, null, 2) + '\n',
'utf8',
);
@@ -46,10 +46,10 @@ function makeSurfacedConfigDir() {
function saveSurfacedEnv() {
const saved = {
GSD_RUNTIME: process.env.GSD_RUNTIME,
MSD_RUNTIME: process.env.MSD_RUNTIME,
CLAUDE_CONFIG_DIR: process.env.CLAUDE_CONFIG_DIR,
GSD_WORKSTREAM: process.env.GSD_WORKSTREAM,
GSD_PROJECT: process.env.GSD_PROJECT,
MSD_WORKSTREAM: process.env.MSD_WORKSTREAM,
MSD_PROJECT: process.env.MSD_PROJECT,
};
return {
restore() {
@@ -99,9 +99,9 @@ describe('graphify graph_path override — query', () => {
cfgDir = makeSurfacedConfigDir();
env = saveSurfacedEnv();
process.env.CLAUDE_CONFIG_DIR = cfgDir;
delete process.env.GSD_RUNTIME;
delete process.env.GSD_WORKSTREAM;
delete process.env.GSD_PROJECT;
delete process.env.MSD_RUNTIME;
delete process.env.MSD_WORKSTREAM;
delete process.env.MSD_PROJECT;
});
afterEach(() => {
@@ -125,7 +125,7 @@ describe('graphify graph_path override — query', () => {
fs.mkdirSync(path.join(planningDir, 'graphs'), { recursive: true });
fs.writeFileSync(path.join(planningDir, 'graphs', 'graph.json'), JSON.stringify(SAMPLE_GRAPH), 'utf8');
const umbrellaDir = fs.mkdtempSync(path.join(os.tmpdir(), 'gsd-umbrella-q-'));
const umbrellaDir = fs.mkdtempSync(path.join(os.tmpdir(), 'msd-umbrella-q-'));
try {
const abs = path.join(umbrellaDir, 'graph.json');
fs.writeFileSync(abs, JSON.stringify(UMBRELLA_GRAPH), 'utf8');
@@ -151,11 +151,11 @@ describe('graphify graph_path override — query', () => {
});
test('(d) relative path resolved against the project root', () => {
const umbrellaDir = fs.mkdtempSync(path.join(os.tmpdir(), 'gsd-umbrella-rel-'));
const umbrellaDir = fs.mkdtempSync(path.join(os.tmpdir(), 'msd-umbrella-rel-'));
try {
const abs = path.join(umbrellaDir, 'graph.json');
fs.writeFileSync(abs, JSON.stringify(UMBRELLA_GRAPH), 'utf8');
const rel = path.relative(tmpDir, abs); // e.g. '../gsd-umbrella-rel-XXX/graph.json'
const rel = path.relative(tmpDir, abs); // e.g. '../msd-umbrella-rel-XXX/graph.json'
setGraphPath(planningDir, rel);
const result = graphifyQuery(tmpDir, 'UmbrellaService');
@@ -189,9 +189,9 @@ describe('graphify graph_path override — status', () => {
cfgDir = makeSurfacedConfigDir();
env = saveSurfacedEnv();
process.env.CLAUDE_CONFIG_DIR = cfgDir;
delete process.env.GSD_RUNTIME;
delete process.env.GSD_WORKSTREAM;
delete process.env.GSD_PROJECT;
delete process.env.MSD_RUNTIME;
delete process.env.MSD_WORKSTREAM;
delete process.env.MSD_PROJECT;
});
afterEach(() => {
@@ -201,7 +201,7 @@ describe('graphify graph_path override — status', () => {
});
test('set + present → status reads the configured graph counts', () => {
const umbrellaDir = fs.mkdtempSync(path.join(os.tmpdir(), 'gsd-umbrella-st-'));
const umbrellaDir = fs.mkdtempSync(path.join(os.tmpdir(), 'msd-umbrella-st-'));
try {
const abs = path.join(umbrellaDir, 'graph.json');
fs.writeFileSync(abs, JSON.stringify(UMBRELLA_GRAPH), 'utf8');
@@ -234,7 +234,7 @@ describe('graphify graph_path override — status', () => {
// branch (the missing branch is what makes the error actionable at the call site).
test('set + present → status emits graph_path = the configured absolute path', () => {
const umbrellaDir = fs.mkdtempSync(path.join(os.tmpdir(), 'gsd-umbrella-gp-'));
const umbrellaDir = fs.mkdtempSync(path.join(os.tmpdir(), 'msd-umbrella-gp-'));
try {
const abs = path.join(umbrellaDir, 'graph.json');
fs.writeFileSync(abs, JSON.stringify(UMBRELLA_GRAPH), 'utf8');
@@ -254,7 +254,7 @@ describe('graphify graph_path override — status', () => {
});
test('set + relative → graph_path is resolved against the project root', () => {
const umbrellaDir = fs.mkdtempSync(path.join(os.tmpdir(), 'gsd-umbrella-rel-'));
const umbrellaDir = fs.mkdtempSync(path.join(os.tmpdir(), 'msd-umbrella-rel-'));
try {
const abs = path.join(umbrellaDir, 'graph.json');
fs.writeFileSync(abs, JSON.stringify(UMBRELLA_GRAPH), 'utf8');
@@ -325,9 +325,9 @@ describe('graphify graph_path override — diff & snapshot', () => {
cfgDir = makeSurfacedConfigDir();
env = saveSurfacedEnv();
process.env.CLAUDE_CONFIG_DIR = cfgDir;
delete process.env.GSD_RUNTIME;
delete process.env.GSD_WORKSTREAM;
delete process.env.GSD_PROJECT;
delete process.env.MSD_RUNTIME;
delete process.env.MSD_WORKSTREAM;
delete process.env.MSD_PROJECT;
});
afterEach(() => {
@@ -337,7 +337,7 @@ describe('graphify graph_path override — diff & snapshot', () => {
});
test('writeSnapshot reads configured graph and writes the snapshot ALONGSIDE it', () => {
const umbrellaDir = fs.mkdtempSync(path.join(os.tmpdir(), 'gsd-umbrella-snap-'));
const umbrellaDir = fs.mkdtempSync(path.join(os.tmpdir(), 'msd-umbrella-snap-'));
try {
const abs = path.join(umbrellaDir, 'graph.json');
fs.writeFileSync(abs, JSON.stringify(UMBRELLA_GRAPH), 'utf8');
@@ -356,7 +356,7 @@ describe('graphify graph_path override — diff & snapshot', () => {
});
test('diff reads baseline + current from the configured directory', () => {
const umbrellaDir = fs.mkdtempSync(path.join(os.tmpdir(), 'gsd-umbrella-diff-'));
const umbrellaDir = fs.mkdtempSync(path.join(os.tmpdir(), 'msd-umbrella-diff-'));
try {
const abs = path.join(umbrellaDir, 'graph.json');
fs.writeFileSync(abs, JSON.stringify(UMBRELLA_GRAPH), 'utf8');
@@ -400,9 +400,9 @@ describe('graphify graph_path override — build', () => {
cfgDir = makeSurfacedConfigDir();
env = saveSurfacedEnv();
process.env.CLAUDE_CONFIG_DIR = cfgDir;
delete process.env.GSD_RUNTIME;
delete process.env.GSD_WORKSTREAM;
delete process.env.GSD_PROJECT;
delete process.env.MSD_RUNTIME;
delete process.env.MSD_WORKSTREAM;
delete process.env.MSD_PROJECT;
// Mock the graphify subprocess probes so build's pre-flight passes.
mock.method(childProcess, 'spawnSync', (_cmd, args) => {
if (args && args[0] === '--help') return { status: 0, stdout: 'Usage', stderr: '', error: undefined, signal: null };
@@ -421,7 +421,7 @@ describe('graphify graph_path override — build', () => {
// graphify.graph_path is a READ-path override only (#1825). Build always cp's
// into the project's `.planning/graphs/` (the build skill hardcodes that dest),
// so graphs_dir must reflect the real destination even when graph_path is set.
const umbrellaDir = fs.mkdtempSync(path.join(os.tmpdir(), 'gsd-umbrella-build-'));
const umbrellaDir = fs.mkdtempSync(path.join(os.tmpdir(), 'msd-umbrella-build-'));
try {
const abs = path.join(umbrellaDir, 'graph.json');
setGraphPath(planningDir, abs);