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

@@ -31,10 +31,10 @@ const { spawnSync } = require('node:child_process');
const { cleanup, installSpawnEnv, withAmbientCapabilityHome } = require('./helpers.cjs');
const GSD_TOOLS = path.join(__dirname, '..', 'gsd-core', 'bin', 'gsd-tools.cjs');
const MSD_TOOLS = path.join(__dirname, '..', 'msd-core', 'bin', 'msd-tools.cjs');
/**
* Bounds a single gsd-tools.cjs CLI subcommand invocation — the same call
* Bounds a single msd-tools.cjs CLI subcommand invocation — the same call
* shape as the shared LOOP_HOOK_POINT_CLI_TIMEOUT_MS constant in
* tests/helpers/timeouts.cjs. This file's pre-existing bound (30000ms) is
* half that shared norm's value (60000ms) — kept as its own file-local
@@ -43,10 +43,10 @@ const GSD_TOOLS = path.join(__dirname, '..', 'gsd-core', 'bin', 'gsd-tools.cjs')
*/
const PLAN_PRE_HOOK_CLI_TIMEOUT_MS = 30000;
// ─── Subprocess helper (isolated env, no ambient GSD_ vars) ───────────────────
// ─── Subprocess helper (isolated env, no ambient MSD_ vars) ───────────────────
const CLEAN_ENV = {
GSD_SESSION_KEY: '',
MSD_SESSION_KEY: '',
CODEX_THREAD_ID: '',
CLAUDE_SESSION_ID: '',
CLAUDE_CODE_SSE_PORT: '',
@@ -60,18 +60,18 @@ const CLEAN_ENV = {
ZELLIJ_SESSION_NAME: '',
TTY: '',
SSH_TTY: '',
GSD_WORKSTREAM: '',
GSD_PROJECT: '',
MSD_WORKSTREAM: '',
MSD_PROJECT: '',
};
/**
* Run gsd-tools via spawnSync. Returns { status, stdout, stderr }.
* Run msd-tools via spawnSync. Returns { status, stdout, stderr }.
* Passes env overrides through the canonical sandboxed child environment.
*/
function runTools(args, cwd, envOverrides = {}) {
return spawnSync(
process.execPath,
[GSD_TOOLS, ...args],
[MSD_TOOLS, ...args],
{
cwd: cwd || process.cwd(),
encoding: 'utf8',
@@ -285,7 +285,7 @@ describe('plan:pre all-off — empty resolution', () => {
});
test('#4485: an ambient plan:pre capability cannot perturb the empty resolution', (t) => {
withAmbientCapabilityHome(t, 'gsd-ambient-plan-pre-', 'ambient-plan-pre', 'plan:pre');
withAmbientCapabilityHome(t, 'msd-ambient-plan-pre-', 'ambient-plan-pre', 'plan:pre');
const result = runTools(['loop', 'render-hooks', 'plan:pre', '--cwd', tmpDir, '--raw'], tmpDir);
assert.strictEqual(result.status, 0, `exit non-zero. stderr=${result.stderr?.slice(0, 300)}`);
@@ -590,9 +590,9 @@ describe('plan:pre surface cluster filter — ui disabled, tdd+intel active', ()
}),
'utf8',
);
// .gsd-surface.json disabling UI cluster in same dir (config-dir = tmpDir)
// .msd-surface.json disabling UI cluster in same dir (config-dir = tmpDir)
fs.writeFileSync(
path.join(tmpDir, '.gsd-surface.json'),
path.join(tmpDir, '.msd-surface.json'),
JSON.stringify({
baseProfile: 'full',
disabledClusters: ['ui'],