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 @@
|
||||
// Guards the responsive-separator convention defined in
|
||||
// gsd-core/references/ui-brand.md § "Separators and Banners".
|
||||
// msd-core/references/ui-brand.md § "Separators and Banners".
|
||||
//
|
||||
// Shipped content (gsd-core/, agents/, commands/) is runtime-loaded text: an
|
||||
// Shipped content (msd-core/, agents/, commands/) is runtime-loaded text: an
|
||||
// agent reads it and emits the banners it describes. A fixed-width run of
|
||||
// box-drawing characters is ordinary text to a Markdown-rendering host, so in a
|
||||
// narrower pane it wraps and leaves orphan glyphs on a second line, coming apart
|
||||
@@ -31,7 +31,7 @@ const { createTempDir, cleanup } = require('./helpers.cjs');
|
||||
const REPO_ROOT = path.join(__dirname, '..');
|
||||
|
||||
// Runtime-loaded text: an agent reads these and emits what they describe.
|
||||
const SHIPPED_ROOTS = ['gsd-core', 'agents', 'commands'];
|
||||
const SHIPPED_ROOTS = ['msd-core', 'agents', 'commands'];
|
||||
|
||||
// A shorter run than MIN_RULE_RUN is a glyph fragment, not a rule.
|
||||
const MIN_RULE_RUN = 3;
|
||||
@@ -100,7 +100,7 @@ function scan(files, predicate) {
|
||||
}
|
||||
|
||||
const REMEDY =
|
||||
'\n\nPer gsd-core/references/ui-brand.md "Separators and Banners":\n' +
|
||||
'\n\nPer msd-core/references/ui-brand.md "Separators and Banners":\n' +
|
||||
' - a stage banner is an ATX heading with no rule lines;\n' +
|
||||
' - a panel becomes a heading followed by its rows as plain lines;\n' +
|
||||
' - a divider between sections is --- with a blank line above and below.\n' +
|
||||
@@ -187,7 +187,7 @@ describe('responsive-separators', () => {
|
||||
'Progress: ████░░ 80%',
|
||||
'| --- | --- |',
|
||||
'---',
|
||||
'### GSD ► EXECUTING WAVE 8',
|
||||
'### MSD ► EXECUTING WAVE 8',
|
||||
'',
|
||||
' \t ',
|
||||
`a${HEAVY.repeat(3)}`,
|
||||
@@ -225,7 +225,7 @@ describe('responsive-separators', () => {
|
||||
test('the scan flags a heavy fixed-width rule line, with path and line number', () => {
|
||||
const filePath = tempFile(
|
||||
'banner.md',
|
||||
['Display banner:', '', HEAVY.repeat(53), ' GSD ► PLANNING', ''].join('\n')
|
||||
['Display banner:', '', HEAVY.repeat(53), ' MSD ► PLANNING', ''].join('\n')
|
||||
);
|
||||
const violations = scan([filePath], isFixedWidthRuleLine);
|
||||
assert.equal(violations.length, 1);
|
||||
@@ -254,7 +254,7 @@ describe('responsive-separators', () => {
|
||||
test('a file with no separators produces no violations', () => {
|
||||
const filePath = tempFile(
|
||||
'clean.md',
|
||||
['# Title', '', '### GSD ► PLANNING', '', '---', '', 'Body.'].join('\n')
|
||||
['# Title', '', '### MSD ► PLANNING', '', '---', '', 'Body.'].join('\n')
|
||||
);
|
||||
assert.deepStrictEqual(scan([filePath], isFixedWidthRuleLine), []);
|
||||
assert.deepStrictEqual(scan([filePath], hasPanelCharacter), []);
|
||||
|
||||
Reference in New Issue
Block a user