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:
@@ -4,7 +4,7 @@
|
||||
* Issue #1602 — Structured coverage metadata on SUMMARY.md.
|
||||
*
|
||||
* Behavioral tests for the deterministic coverage classifier exposed as
|
||||
* `gsd-tools uat classify-coverage --summary <path>`. These exercise the real
|
||||
* `msd-tools uat classify-coverage --summary <path>`. These exercise the real
|
||||
* deployed contract (JSON IR) through the CLI — no source-grep, no asserting on
|
||||
* rendered prose. The classifier parses the SUMMARY `coverage:` frontmatter
|
||||
* block, validates each deliverable entry's schema, and routes each into
|
||||
@@ -16,10 +16,10 @@ const { describe, test } = require('node:test');
|
||||
const assert = require('node:assert/strict');
|
||||
const fs = require('node:fs');
|
||||
const path = require('node:path');
|
||||
const { createTempProject, cleanup, runGsdTools } = require('./helpers.cjs');
|
||||
const { createTempProject, cleanup, runMsdTools } = require('./helpers.cjs');
|
||||
|
||||
// Frozen enum contract surfaced by the module (typed-IR, not prose).
|
||||
const coverage = require('../gsd-core/bin/lib/coverage.cjs');
|
||||
const coverage = require('../msd-core/bin/lib/coverage.cjs');
|
||||
|
||||
const PHASE_DIR_REL = path.join('.planning', 'phases', '01-foundation');
|
||||
|
||||
@@ -52,7 +52,7 @@ function writeSummary(tmpDir, frontmatterBodyLines) {
|
||||
|
||||
/** Run `uat classify-coverage` and return the parsed JSON result. */
|
||||
function classify(tmpDir, rel) {
|
||||
const result = runGsdTools(`uat classify-coverage --summary ${rel}`, tmpDir);
|
||||
const result = runMsdTools(`uat classify-coverage --summary ${rel}`, tmpDir);
|
||||
assert.ok(result.success, `command should succeed: ${result.error || result.output}`);
|
||||
return JSON.parse(result.output);
|
||||
}
|
||||
@@ -422,7 +422,7 @@ describe('coverage classify — filesystem & security', () => {
|
||||
test('missing --summary file => structured error, non-zero exit, no stack trace', (t) => {
|
||||
const tmpDir = createTempProject();
|
||||
t.after(() => cleanup(tmpDir));
|
||||
const result = runGsdTools('uat classify-coverage --summary .planning/phases/01-foundation/nope-SUMMARY.md', tmpDir);
|
||||
const result = runMsdTools('uat classify-coverage --summary .planning/phases/01-foundation/nope-SUMMARY.md', tmpDir);
|
||||
assert.equal(result.success, false);
|
||||
assert.ok(!/at Object\.|at Module\./.test(result.error || result.output || ''), 'no raw stack trace');
|
||||
});
|
||||
@@ -430,7 +430,7 @@ describe('coverage classify — filesystem & security', () => {
|
||||
test('path traversal in --summary is rejected', (t) => {
|
||||
const tmpDir = createTempProject();
|
||||
t.after(() => cleanup(tmpDir));
|
||||
const result = runGsdTools('uat classify-coverage --summary ../../../../etc/passwd', tmpDir);
|
||||
const result = runMsdTools('uat classify-coverage --summary ../../../../etc/passwd', tmpDir);
|
||||
assert.equal(result.success, false);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user