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:
@@ -1,7 +1,7 @@
|
||||
'use strict';
|
||||
process.env.GSD_TEST_MODE = '1';
|
||||
process.env.MSD_TEST_MODE = '1';
|
||||
|
||||
// D3 below reads src/plan-scan.cts / gsd-core/bin/lib/plan-scan.cjs and
|
||||
// D3 below reads src/plan-scan.cts / msd-core/bin/lib/plan-scan.cjs and
|
||||
// src/verification.cts and regex-tests them for require/import statements.
|
||||
// This asserts a DEPENDENCY-DIRECTION invariant (the owner consumes plan
|
||||
// counts, never the reverse — ADR-3180 §7.4 HARD CONSTRAINT) that has no
|
||||
@@ -57,7 +57,7 @@ describe('E1 — scanRepo(repoRoot) against the real repo: earned zero', () => {
|
||||
// is broken" — scanRepo on a synthetic tree carrying all three shapes
|
||||
// must report exactly 3, proving the same code path scanRepo(ROOT) took
|
||||
// is capable of finding violations at all.
|
||||
const root = createTempDir('gsd-completion-predicate-drift-');
|
||||
const root = createTempDir('msd-completion-predicate-drift-');
|
||||
t.after(() => cleanup(root));
|
||||
fs.mkdirSync(path.join(root, 'src'), { recursive: true });
|
||||
fs.writeFileSync(
|
||||
@@ -308,7 +308,7 @@ describe('E8 — a second predicate elsewhere in the owner file is flagged (Amen
|
||||
|
||||
// ═════════════════════════════════════════════════════════════════════════
|
||||
// E9 — prompt-layer fixture reintroducing the checkbox OR: flagged (the
|
||||
// scan surface really covers gsd-core/workflows, not just src/).
|
||||
// scan surface really covers msd-core/workflows, not just src/).
|
||||
// ═════════════════════════════════════════════════════════════════════════
|
||||
|
||||
describe('E9 — prompt-layer checkbox-OR re-derivation is flagged', () => {
|
||||
@@ -320,17 +320,17 @@ describe('E9 — prompt-layer checkbox-OR re-derivation is flagged', () => {
|
||||
' STATUS="completed"',
|
||||
'fi',
|
||||
].join('\n');
|
||||
const out = drift.findPromptCompletionDrift(lines, path.join('gsd-core', 'workflows', 'fake.md'));
|
||||
const out = drift.findPromptCompletionDrift(lines, path.join('msd-core', 'workflows', 'fake.md'));
|
||||
assert.strictEqual(out.length, 1);
|
||||
assert.strictEqual(out[0].shape, 'a');
|
||||
});
|
||||
|
||||
test('scanRepo finds the same fixture when it is a real .md file under gsd-core/workflows', (t) => {
|
||||
const root = createTempDir('gsd-completion-predicate-drift-');
|
||||
test('scanRepo finds the same fixture when it is a real .md file under msd-core/workflows', (t) => {
|
||||
const root = createTempDir('msd-completion-predicate-drift-');
|
||||
t.after(() => cleanup(root));
|
||||
fs.mkdirSync(path.join(root, 'gsd-core', 'workflows'), { recursive: true });
|
||||
fs.mkdirSync(path.join(root, 'msd-core', 'workflows'), { recursive: true });
|
||||
fs.writeFileSync(
|
||||
path.join(root, 'gsd-core', 'workflows', 'fake.md'),
|
||||
path.join(root, 'msd-core', 'workflows', 'fake.md'),
|
||||
[
|
||||
'PHASE_COMPLETE=$(echo "$PHASE_INFO" | jq -r \'.roadmap_complete // false\')',
|
||||
'if [[ "$DISK_STATUS" == "complete" || "$PHASE_COMPLETE" == "true" ]]; then',
|
||||
@@ -349,7 +349,7 @@ describe('E9 — prompt-layer checkbox-OR re-derivation is flagged', () => {
|
||||
' STATUS="completed"',
|
||||
'fi',
|
||||
].join('\n');
|
||||
assert.deepStrictEqual(drift.findPromptCompletionDrift(lines, path.join('gsd-core', 'workflows', 'fake.md')), []);
|
||||
assert.deepStrictEqual(drift.findPromptCompletionDrift(lines, path.join('msd-core', 'workflows', 'fake.md')), []);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -579,7 +579,7 @@ describe('E12 — shape (d): scanPhasePlans(...).completed read as a completion
|
||||
});
|
||||
|
||||
test('scanRepo against the real repo tree is capable of finding a deliberate shape (d) fixture (not silently swallowed)', (t) => {
|
||||
const root = createTempDir('gsd-completion-predicate-drift-');
|
||||
const root = createTempDir('msd-completion-predicate-drift-');
|
||||
t.after(() => cleanup(root));
|
||||
fs.mkdirSync(path.join(root, 'src'), { recursive: true });
|
||||
fs.writeFileSync(
|
||||
@@ -605,7 +605,7 @@ describe('E12 — shape (d): scanPhasePlans(...).completed read as a completion
|
||||
|
||||
describe('D3 — dependency direction: plan-scan.cts does not import verification.cts', () => {
|
||||
test('the compiled plan-scan.cjs source contains no reference to verification.cjs', () => {
|
||||
const compiled = fs.readFileSync(path.join(ROOT, 'gsd-core', 'bin', 'lib', 'plan-scan.cjs'), 'utf-8');
|
||||
const compiled = fs.readFileSync(path.join(ROOT, 'msd-core', 'bin', 'lib', 'plan-scan.cjs'), 'utf-8');
|
||||
// allow-test-rule: structural-regression-guard — D3 reads compiled plan-scan.cjs and regex-tests it for a require() of verification.cjs; asserts a dependency-direction invariant (ADR-3180 §7.4) with no runtime/behavioral surface (see #3186)
|
||||
assert.ok(!/require\(['"]\.\/verification(\.cjs)?['"]\)/.test(compiled), 'plan-scan.cjs must not require verification.cjs');
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user