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:
@@ -5,8 +5,8 @@
|
||||
* lint-workflow-shellcheck.cjs
|
||||
*
|
||||
* Systemic prevention for the zsh/bash word-splitting bug class (#4109):
|
||||
* every ```bash fenced block embedded in gsd-core/workflows/*.md (and the
|
||||
* nested gsd-core/workflows/<workflow>/steps/*.md / modes/*.md / etc. layer)
|
||||
* every ```bash fenced block embedded in msd-core/workflows/*.md (and the
|
||||
* nested msd-core/workflows/<workflow>/steps/*.md / modes/*.md / etc. layer)
|
||||
* is extracted and run through the real ShellCheck binary. Any finding fails
|
||||
* the lint with a non-zero exit — this is what stops the SC2086-class bug
|
||||
* (unquoted variable expansion, word-split/glob differently under zsh vs
|
||||
@@ -122,8 +122,8 @@ const { resolveShellcheckBin } = require('./lib/shellcheck-fetch.cjs');
|
||||
const SHELLCHECK_TIMEOUT_MS = 60_000;
|
||||
|
||||
const ROOT = path.join(__dirname, '..');
|
||||
const WORKFLOWS_DIR = path.join(ROOT, 'gsd-core', 'workflows');
|
||||
const SECTIONIZER_PATH = path.join(ROOT, 'gsd-core', 'bin', 'lib', 'markdown-sectionizer.cjs');
|
||||
const WORKFLOWS_DIR = path.join(ROOT, 'msd-core', 'workflows');
|
||||
const SECTIONIZER_PATH = path.join(ROOT, 'msd-core', 'bin', 'lib', 'markdown-sectionizer.cjs');
|
||||
const BASELINE_PATH = path.join(__dirname, 'lint-workflow-shellcheck-baseline.json');
|
||||
|
||||
// Codes excluded for structural reasons documented in the module header above.
|
||||
@@ -492,7 +492,7 @@ async function main() {
|
||||
const blocks = extractBashBlocks(sectionizer);
|
||||
|
||||
if (blocks.length === 0) {
|
||||
process.stdout.write('ok lint-workflow-shellcheck: no ```bash blocks found under gsd-core/workflows/\n');
|
||||
process.stdout.write('ok lint-workflow-shellcheck: no ```bash blocks found under msd-core/workflows/\n');
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -524,7 +524,7 @@ async function main() {
|
||||
|
||||
const shellcheckBin = await resolveShellcheckBin();
|
||||
|
||||
const stageDir = fs.mkdtempSync(path.join(os.tmpdir(), 'gsd-workflow-shellcheck-'));
|
||||
const stageDir = fs.mkdtempSync(path.join(os.tmpdir(), 'msd-workflow-shellcheck-'));
|
||||
try {
|
||||
const stagedPaths = [];
|
||||
const byPath = new Map();
|
||||
@@ -571,7 +571,7 @@ async function main() {
|
||||
|
||||
process.stderr.write(
|
||||
`\nERROR lint-workflow-shellcheck: ${newFindings.length} NEW ShellCheck finding(s) in ` +
|
||||
`gsd-core/workflows/ \`\`\`bash block(s) (#4109 word-splitting/quoting prevention) not present in ` +
|
||||
`msd-core/workflows/ \`\`\`bash block(s) (#4109 word-splitting/quoting prevention) not present in ` +
|
||||
`${path.relative(ROOT, BASELINE_PATH)}.\n\n`,
|
||||
);
|
||||
for (const f of newFindings) {
|
||||
|
||||
Reference in New Issue
Block a user