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

@@ -7,7 +7,7 @@
*
* Thin CLI: runs bounded sbatch / squeue / sacct subprocesses and delegates
* all parsing, manifest build/validate, and fail-closed writing to the pure
* module (gsd-core/bin/lib/external-job.cjs). The pure module is fully unit-
* module (msd-core/bin/lib/external-job.cjs). The pure module is fully unit-
* tested; this script is the operator surface that needs a real cluster.
*
* Subcommands:
@@ -26,14 +26,14 @@ const fs = require('node:fs');
const path = require('node:path');
const { ExitError, runMain } = require('./lib/cli-exit.cjs');
const m = require('../gsd-core/bin/lib/external-job.cjs');
const m = require('../msd-core/bin/lib/external-job.cjs');
// #1164 refinements B + C: the adapter now resolves external_job.* settings
// through the canonical capability-config seam (resolveConfigKey in
// capability-activation.cjs), which walks loadConfig -> workstream config.json
// -> root config.json -> registry configSchema default. Env vars remain the
// top-precedence override so cluster operators can tune without editing config.
const { resolveConfigKey } = require('../gsd-core/bin/lib/capability-activation.cjs');
const { resolveConfigKey } = require('../msd-core/bin/lib/capability-activation.cjs');
const FALLBACK_SUBMIT_TIMEOUT_MS = 30000;
const FALLBACK_POLL_TIMEOUT_MS = 15000;
const FALLBACK_ARTIFACT_DIR = 'Artifacts/jobs';
@@ -50,15 +50,15 @@ function resolveExternalJobSettings({ cwd, env, config, registry } = {}) {
let cfg = config;
if (cfg === undefined) {
try {
cfg = require('../gsd-core/bin/lib/config-loader.cjs').loadConfig(cwd);
cfg = require('../msd-core/bin/lib/config-loader.cjs').loadConfig(cwd);
} catch {
cfg = {}; // resolveConfigKey still falls back to the registry default
}
}
const e = env || {};
const submitEnv = e.GSD_SLURM_SUBMIT_TIMEOUT_MS;
const pollEnv = e.GSD_SLURM_POLL_TIMEOUT_MS;
const artifactEnv = e.GSD_EXTERNAL_JOB_ARTIFACT_DIR;
const submitEnv = e.MSD_SLURM_SUBMIT_TIMEOUT_MS;
const pollEnv = e.MSD_SLURM_POLL_TIMEOUT_MS;
const artifactEnv = e.MSD_EXTERNAL_JOB_ARTIFACT_DIR;
const submit = submitEnv ? Number(submitEnv)
: _num(resolveConfigKey('external_job.submit_timeout_ms', { config: cfg, cwd, registry: reg }), FALLBACK_SUBMIT_TIMEOUT_MS);
const poll = pollEnv ? Number(pollEnv)
@@ -125,7 +125,7 @@ function cmdSubmit(flags) {
const expected = (flags.expected || '').split(',').map((s) => s.trim()).filter(Boolean);
if (expected.length === 0) throw new ExitError(1, 'submit requires --expected (comma-separated artifact paths)');
const verify = flags.verify;
const resume = flags.resume || ('/gsd:execute-phase ' + phase);
const resume = flags.resume || ('/msd:execute-phase ' + phase);
if (!verify) throw new ExitError(1, 'submit requires --verify (the command that verifies job output)');
// Resolve settings from config/env before any subprocess (env > config > default).