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

@@ -2,7 +2,7 @@
'use strict';
/**
* gen-capability-registry.cjs — generates gsd-core/bin/lib/capability-registry.cjs
* gen-capability-registry.cjs — generates msd-core/bin/lib/capability-registry.cjs
* from every capabilities/<id>/capability.json declaration.
*
* Usage:
@@ -19,25 +19,25 @@ const fs = require('node:fs');
const path = require('node:path');
const { ExitError, runMain } = require('./lib/cli-exit.cjs');
const { normalizeEol } = require('../gsd-core/bin/lib/text-lines.cjs');
const { normalizeEol } = require('../msd-core/bin/lib/text-lines.cjs');
const ROOT = path.resolve(__dirname, '..');
const CAPABILITIES_DIR = path.join(ROOT, 'capabilities');
const REGISTRY_PATH = path.join(ROOT, 'gsd-core', 'bin', 'lib', 'capability-registry.cjs');
const CONFIG_SCHEMA_PATH = path.join(ROOT, 'gsd-core', 'bin', 'shared', 'config-schema.manifest.json');
const REGISTRY_PATH = path.join(ROOT, 'msd-core', 'bin', 'lib', 'capability-registry.cjs');
const CONFIG_SCHEMA_PATH = path.join(ROOT, 'msd-core', 'bin', 'shared', 'config-schema.manifest.json');
// ─── Loop Host Contract ───────────────────────────────────────────────────────
//
// Generated from workflow markers by scripts/gen-loop-host-contract.cjs (ADR-894 §3).
// Require the committed gsd-core/bin/lib/loop-host-contract.cjs artifact so the
// Require the committed msd-core/bin/lib/loop-host-contract.cjs artifact so the
// registry generator and the loop-host-contract generator share one source of truth.
const { LOOP_HOST_CONTRACT } = require('../gsd-core/bin/lib/loop-host-contract.cjs');
const { LOOP_HOST_CONTRACT } = require('../msd-core/bin/lib/loop-host-contract.cjs');
// Wired-kinds helper — per point, which hook kinds the render-hooks call sites' dispatch text covers.
const { getWiredKinds } = require('./gen-loop-host-contract.cjs');
// Capability validator — shared runtime-callable module extracted per ADR-1244 D2.
const capValidator = require('../gsd-core/bin/lib/capability-validator.cjs');
const capValidator = require('../msd-core/bin/lib/capability-validator.cjs');
// Destructure only what the generator's own function bodies reference directly.
// Everything else is re-exported from capValidator in module.exports below.
const {
@@ -199,10 +199,10 @@ function loadCentralConfigPatterns(schemaPath = CONFIG_SCHEMA_PATH) {
// (Config-slice validation, per-capability validators, contract validators,
// cross-capability validators, topo-sort helpers, and classifyCrossErrors have
// been moved to gsd-core/bin/lib/capability-validator.cjs per ADR-1244 D2.)
// been moved to msd-core/bin/lib/capability-validator.cjs per ADR-1244 D2.)
const INSTALL_PROFILES_PATH = path.join(ROOT, 'gsd-core', 'bin', 'lib', 'install-profiles.cjs');
const CLUSTERS_PATH = path.join(ROOT, 'gsd-core', 'bin', 'lib', 'clusters.cjs');
const INSTALL_PROFILES_PATH = path.join(ROOT, 'msd-core', 'bin', 'lib', 'install-profiles.cjs');
const CLUSTERS_PATH = path.join(ROOT, 'msd-core', 'bin', 'lib', 'clusters.cjs');
let _installProfilesMod = null;
let _clustersMod = null;
@@ -338,8 +338,8 @@ function runConsistencyGate(capabilityClusters, profileMembership, capMap) {
// FIX 1: load the REAL skills manifest once (same path as bin/install.js uses),
// so resolveProfile expands requires:-closure and the effective set is accurate.
const commandsGsdDir = path.join(ROOT, 'commands', 'gsd');
const skillsManifest = loadSkillsManifest(commandsGsdDir);
const commandsMsdDir = path.join(ROOT, 'commands', 'msd');
const skillsManifest = loadSkillsManifest(commandsMsdDir);
// FIX 1: resolve each profile's effective set once and cache — don't reload per-capability.
const profileEffectiveSetCache = Object.create(null);
@@ -842,7 +842,7 @@ function main() {
if (!fs.existsSync(REGISTRY_PATH)) {
process.stderr.write(
'gsd-core/bin/lib/capability-registry.cjs does not exist. Run:\n' +
'msd-core/bin/lib/capability-registry.cjs does not exist. Run:\n' +
' node scripts/gen-capability-registry.cjs --write\n',
);
throw new ExitError(1);
@@ -851,13 +851,13 @@ function main() {
const committed = fs.readFileSync(REGISTRY_PATH, 'utf8');
if (normalizeEol(stripGeneratedComment(committed)) !== normalizeEol(stripGeneratedComment(live))) {
process.stderr.write(
'gsd-core/bin/lib/capability-registry.cjs is stale. Run:\n' +
'msd-core/bin/lib/capability-registry.cjs is stale. Run:\n' +
' node scripts/gen-capability-registry.cjs --write\n',
);
throw new ExitError(1);
}
process.stdout.write('gsd-core/bin/lib/capability-registry.cjs is up to date.\n');
process.stdout.write('msd-core/bin/lib/capability-registry.cjs is up to date.\n');
} else if (flag === '--write') {
// Fix #3: read the REAL central config keys so collision detection fires and is visible.
const centralKeys = loadCentralConfigKeys();