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:
@@ -22,7 +22,7 @@ const assert = require('node:assert/strict');
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const WORKFLOWS_DIR = path.join(__dirname, '..', 'gsd-core', 'workflows');
|
||||
const WORKFLOWS_DIR = path.join(__dirname, '..', 'msd-core', 'workflows');
|
||||
const HOOKS_DIR = path.join(__dirname, '..', 'hooks');
|
||||
|
||||
/**
|
||||
@@ -179,7 +179,7 @@ describe('hook stdin timeout patterns', () => {
|
||||
// ─── @file: Handoff ─────────────────────────────────────────────────────────
|
||||
|
||||
describe('@file: handoff in workflows', () => {
|
||||
test('all workflows calling gsd-tools init have @file: handler', () => {
|
||||
test('all workflows calling msd-tools init have @file: handler', () => {
|
||||
const workflowFiles = fs.readdirSync(WORKFLOWS_DIR)
|
||||
.filter(f => f.endsWith('.md'));
|
||||
|
||||
@@ -187,8 +187,8 @@ describe('@file: handoff in workflows', () => {
|
||||
for (const wf of workflowFiles) {
|
||||
const content = fs.readFileSync(path.join(WORKFLOWS_DIR, wf), 'utf-8');
|
||||
|
||||
// Check if this workflow calls gsd-tools.cjs init
|
||||
if (/INIT=\$\(node.*gsd-tools.*\binit\b/.test(content)) {
|
||||
// Check if this workflow calls msd-tools.cjs init
|
||||
if (/INIT=\$\(node.*msd-tools.*\binit\b/.test(content)) {
|
||||
// Must have @file: handler
|
||||
if (!content.includes('@file:')) {
|
||||
missing.push(wf);
|
||||
@@ -198,7 +198,7 @@ describe('@file: handoff in workflows', () => {
|
||||
|
||||
assert.strictEqual(
|
||||
missing.length, 0,
|
||||
`Workflows calling gsd-tools init without @file: handler (large output will be truncated):\n ${missing.join('\n ')}`
|
||||
`Workflows calling msd-tools init without @file: handler (large output will be truncated):\n ${missing.join('\n ')}`
|
||||
);
|
||||
});
|
||||
});
|
||||
@@ -214,7 +214,7 @@ describe('@file: handoff in workflows', () => {
|
||||
// These spawn/exec sites cannot be behaviourally tested for windowsHide
|
||||
// off-Windows; the source text is the runtime contract (issue #685). Without
|
||||
// windowsHide:true a detached or shell:true child allocates a visible console
|
||||
// window on Windows (the "gsd-core" flash).
|
||||
// window on Windows (the "msd-core" flash).
|
||||
'use strict';
|
||||
|
||||
const { describe, test } = require('node:test');
|
||||
@@ -236,8 +236,8 @@ function regionBetween(src, startAnchor, endAnchor) {
|
||||
}
|
||||
|
||||
describe('bug #685: Windows spawns must set windowsHide:true (no console-window flash)', () => {
|
||||
test('gsd-context-monitor record-session spawn sets windowsHide', () => {
|
||||
const region = regionBetween(read('hooks/gsd-context-monitor.js'), "'record-session'", '.unref()');
|
||||
test('msd-context-monitor record-session spawn sets windowsHide', () => {
|
||||
const region = regionBetween(read('hooks/msd-context-monitor.js'), "'record-session'", '.unref()');
|
||||
assert.match(region, /windowsHide:\s*true/, 'record-session spawn must set windowsHide: true');
|
||||
});
|
||||
|
||||
@@ -254,14 +254,14 @@ describe('bug #685: Windows spawns must set windowsHide:true (no console-window
|
||||
});
|
||||
}
|
||||
|
||||
test('gsd-worktree-path-guard SPAWNOPT sets windowsHide', () => {
|
||||
const region = regionBetween(read('hooks/gsd-worktree-path-guard.js'), 'const SPAWNOPT', '};');
|
||||
assert.match(region, /windowsHide:\s*true/, 'gsd-worktree-path-guard SPAWNOPT must set windowsHide: true');
|
||||
test('msd-worktree-path-guard SPAWNOPT sets windowsHide', () => {
|
||||
const region = regionBetween(read('hooks/msd-worktree-path-guard.js'), 'const SPAWNOPT', '};');
|
||||
assert.match(region, /windowsHide:\s*true/, 'msd-worktree-path-guard SPAWNOPT must set windowsHide: true');
|
||||
});
|
||||
|
||||
test('gsd-workflow-guard currentBranch spawnSync sets windowsHide', () => {
|
||||
const region = regionBetween(read('hooks/gsd-workflow-guard.js'), "spawnSync('git', ['branch'", '});');
|
||||
assert.match(region, /windowsHide:\s*true/, 'gsd-workflow-guard git-branch spawn must set windowsHide: true');
|
||||
test('msd-workflow-guard currentBranch spawnSync sets windowsHide', () => {
|
||||
const region = regionBetween(read('hooks/msd-workflow-guard.js'), "spawnSync('git', ['branch'", '});');
|
||||
assert.match(region, /windowsHide:\s*true/, 'msd-workflow-guard git-branch spawn must set windowsHide: true');
|
||||
});
|
||||
|
||||
test('check-command-router recentCommitMessages execFileSync sets windowsHide', () => {
|
||||
@@ -280,9 +280,9 @@ describe('bug #685: Windows spawns must set windowsHide:true (no console-window
|
||||
assert.deepEqual(missing, [], `execSync without windowsHide:\n${missing.join('\n')}`);
|
||||
});
|
||||
|
||||
test('gsd-check-update spawn retains windowsHide (precedent guard)', () => {
|
||||
assert.match(read('hooks/gsd-check-update.js'), /windowsHide:\s*true/,
|
||||
'gsd-check-update.js must keep windowsHide: true');
|
||||
test('msd-check-update spawn retains windowsHide (precedent guard)', () => {
|
||||
assert.match(read('hooks/msd-check-update.js'), /windowsHide:\s*true/,
|
||||
'msd-check-update.js must keep windowsHide: true');
|
||||
});
|
||||
|
||||
// Durable invariant: ANY external-binary process spawn in the runtime source
|
||||
|
||||
Reference in New Issue
Block a user