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

@@ -25,17 +25,17 @@ const fs = require('node:fs');
const os = require('node:os');
const path = require('node:path');
const { resolveProfile, loadSkillsManifest, stageSkillsForProfile } = require('../gsd-core/bin/lib/install-profiles.cjs');
const { resolveSurface, writeSurface, listSurface } = require('../gsd-core/bin/lib/surface.cjs');
const realRegistry = require('../gsd-core/bin/lib/capability-registry.cjs');
const { resolveProfile, loadSkillsManifest, stageSkillsForProfile } = require('../msd-core/bin/lib/install-profiles.cjs');
const { resolveSurface, writeSurface, listSurface } = require('../msd-core/bin/lib/surface.cjs');
const realRegistry = require('../msd-core/bin/lib/capability-registry.cjs');
const { cleanup } = require('./helpers.cjs');
const REAL_COMMANDS_DIR = path.join(__dirname, '..', 'commands', 'gsd');
const REAL_COMMANDS_DIR = path.join(__dirname, '..', 'commands', 'msd');
// ─── helpers ────────────────────────────────────────────────────────────────
function tmpDir() {
return fs.mkdtempSync(path.join(os.tmpdir(), 'gsd-cap-cons-'));
return fs.mkdtempSync(path.join(os.tmpdir(), 'msd-cap-cons-'));
}
/** Compare two Sets for equality (membership only). */
@@ -527,7 +527,7 @@ describe('listSurface equivalence: real registry is a no-op', () => {
describe('FIX-3 core install: stageSkillsForProfile honors tier:core capabilities', () => {
test('real registry: core-profile staged set equals PROFILES.core (no-op today)', (_t) => {
const coreManifest = new Map(); // empty — core has no transitive deps
const { PROFILES } = require('../gsd-core/bin/lib/install-profiles.cjs');
const { PROFILES } = require('../msd-core/bin/lib/install-profiles.cjs');
const expectedCore = new Set(PROFILES.core);
const resolvedWithReg = resolveProfile({
@@ -545,7 +545,7 @@ describe('FIX-3 core install: stageSkillsForProfile honors tier:core capabilitie
test('synthetic tier:core registry: capability skill appears in stageSkillsForProfile output', (t) => {
// We cannot add a real skill file, but we can verify the resolved profile
// contains the synthetic skill from the registry — the staged set is profile-driven.
// The synthetic skill 'foo-skill' is not in commands/gsd, but resolveProfile WOULD
// The synthetic skill 'foo-skill' is not in commands/msd, but resolveProfile WOULD
// include it. We verify the profile-level inclusion here; stageSkillsForProfile
// would then copy it if a file existed.
const syntheticManifest = new Map([
@@ -571,8 +571,8 @@ describe('FIX-3 core install: stageSkillsForProfile honors tier:core capabilitie
'tier:core capability skill must appear in core install resolved profile (FIX-3)');
// Verify stageSkillsForProfile on a temp dir with a synthetic foo-skill.md
const synSrcDir = fs.mkdtempSync(path.join(os.tmpdir(), 'gsd-fix3-src-'));
const stageDir = fs.mkdtempSync(path.join(os.tmpdir(), 'gsd-fix3-stage-'));
const synSrcDir = fs.mkdtempSync(path.join(os.tmpdir(), 'msd-fix3-src-'));
const stageDir = fs.mkdtempSync(path.join(os.tmpdir(), 'msd-fix3-stage-'));
t.after(() => { cleanup(synSrcDir); cleanup(stageDir); });
fs.writeFileSync(path.join(synSrcDir, 'help.md'), '---\ndescription: help\n---\n', 'utf8');
@@ -594,7 +594,7 @@ describe('FIX-3 core install: stageSkillsForProfile honors tier:core capabilitie
// MINIMAL_ALLOWLIST_SET (internal) is new Set(MINIMAL_SKILL_ALLOWLIST).
// Any tier:core capability DOES belong in minimal/core install.
// This test documents and asserts that equivalence.
const { MINIMAL_SKILL_ALLOWLIST, PROFILES } = require('../gsd-core/bin/lib/install-profiles.cjs');
const { MINIMAL_SKILL_ALLOWLIST, PROFILES } = require('../msd-core/bin/lib/install-profiles.cjs');
const minimalSet = new Set(MINIMAL_SKILL_ALLOWLIST);
const profilesCore = new Set(PROFILES.core);
assert.ok(
@@ -620,7 +620,7 @@ describe('FIX-4 divergence guard: colliding capId uses hand-authored CLUSTERS va
// Use 'utility' as the colliding cluster — it exists in the real CLUSTERS map.
// The hand-authored utility cluster has several members.
// The divergent registry would report a shorter list (fewer skills).
const { CLUSTERS } = require('../gsd-core/bin/lib/clusters.cjs');
const { CLUSTERS } = require('../msd-core/bin/lib/clusters.cjs');
const realUtilitySkills = CLUSTERS.utility; // e.g. ['health', 'stats', ...]
assert.ok(Array.isArray(realUtilitySkills) && realUtilitySkills.length >= 1,
'test pre-condition: utility cluster must have at least one skill');