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:
@@ -3,20 +3,20 @@
|
||||
/**
|
||||
* Unit tests for plan-document.cjs
|
||||
*
|
||||
* Module: gsd-core/bin/lib/plan-document.cjs
|
||||
* Module: msd-core/bin/lib/plan-document.cjs
|
||||
*
|
||||
* Covers the `tracker-id` attribute (ADR-3646 Phase 1, #3970) added to the
|
||||
* `<task>` element grammar, plus regression coverage proving the addition
|
||||
* does not alter pre-existing task-parsing behaviour.
|
||||
*
|
||||
* Matrix rows referenced below are from
|
||||
* .gsd/phase/feat-3970-task-content-resolution-seam/50-test-matrix.md
|
||||
* .msd/phase/feat-3970-task-content-resolution-seam/50-test-matrix.md
|
||||
*/
|
||||
|
||||
const { describe, test } = require('node:test');
|
||||
const assert = require('node:assert/strict');
|
||||
|
||||
const { parsePlanDocument } = require('../gsd-core/bin/lib/plan-document.cjs');
|
||||
const { parsePlanDocument } = require('../msd-core/bin/lib/plan-document.cjs');
|
||||
|
||||
describe('plan-document: tracker-id attribute', () => {
|
||||
test('row 1 — no tracker-id attribute yields trackerId: null', () => {
|
||||
@@ -31,12 +31,12 @@ describe('plan-document: tracker-id attribute', () => {
|
||||
|
||||
test('row 2 — tracker-id is read verbatim, never split', () => {
|
||||
const doc = parsePlanDocument(`
|
||||
<task type="auto" tracker-id="beads:GSD-42">
|
||||
<task type="auto" tracker-id="beads:MSD-42">
|
||||
<name>Do a thing</name>
|
||||
</task>
|
||||
`);
|
||||
assert.equal(doc.tasks.length, 1);
|
||||
assert.equal(doc.tasks[0].trackerId, 'beads:GSD-42');
|
||||
assert.equal(doc.tasks[0].trackerId, 'beads:MSD-42');
|
||||
});
|
||||
|
||||
test('row 3 — tracker-id="" (empty string) normalises to null', () => {
|
||||
@@ -51,7 +51,7 @@ describe('plan-document: tracker-id attribute', () => {
|
||||
|
||||
test('row 4 — checkpoint tasks never read tracker-id, even when present', () => {
|
||||
const doc = parsePlanDocument(`
|
||||
<task type="checkpoint:decision" tracker-id="beads:GSD-99">
|
||||
<task type="checkpoint:decision" tracker-id="beads:MSD-99">
|
||||
<decision>Ship it</decision>
|
||||
</task>
|
||||
`);
|
||||
@@ -178,7 +178,7 @@ Some body text.
|
||||
|
||||
test('ordinary task with name/files/acceptance_criteria still parses correctly alongside trackerId', () => {
|
||||
const doc = parsePlanDocument(`
|
||||
<task type="auto" tracker-id="beads:GSD-7">
|
||||
<task type="auto" tracker-id="beads:MSD-7">
|
||||
<name>Implement the seam</name>
|
||||
<files>src/a.cts, src/b.cts</files>
|
||||
<acceptance_criteria>
|
||||
@@ -196,12 +196,12 @@ Some body text.
|
||||
assert.deepEqual(t.plannedFiles, ['src/a.cts', 'src/b.cts']);
|
||||
assert.deepEqual(t.acceptanceCriteria, ['criterion one', 'criterion two']);
|
||||
assert.equal(t.done, 'Merged.');
|
||||
assert.equal(t.trackerId, 'beads:GSD-7');
|
||||
assert.equal(t.trackerId, 'beads:MSD-7');
|
||||
});
|
||||
});
|
||||
|
||||
describe('plan-document: extractThreatRegisterIds (#4683)', () => {
|
||||
const { extractThreatRegisterIds } = require('../gsd-core/bin/lib/plan-document.cjs');
|
||||
const { extractThreatRegisterIds } = require('../msd-core/bin/lib/plan-document.cjs');
|
||||
|
||||
const register = (rows) => [
|
||||
'<threat_model>',
|
||||
|
||||
Reference in New Issue
Block a user