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:
Jakub Zych
2026-10-06 01:47:40 +02:00
parent fe069b2a56
commit a9a7a328e6
2763 changed files with 78465 additions and 78434 deletions

View File

@@ -4,7 +4,7 @@
* #3990 — the RED/GREEN/REFACTOR cycle is stated ONCE.
*
* The cycle used to be restated verbatim in three files (references/tdd.md,
* agents/gsd-executor.md <tdd_execution>, workflows/execute-plan.md
* agents/msd-executor.md <tdd_execution>, workflows/execute-plan.md
* <tdd_plan_execution>), and tdd.md was embedded into EVERY executor dispatch
* unconditionally — so non-TDD tasks paid for the whole cycle three times.
* The contract now: one canonical statement in tdd.md, consumers carry
@@ -13,7 +13,7 @@
*
* #4268 design decision (ADR-3473: pointers, not restatements): a compact,
* single-sentence citation that names the tdd.md section and commit-scope
* tokens (e.g. execute-plan.md's and gsd-executor.md's "execute RED → GREEN
* tokens (e.g. execute-plan.md's and msd-executor.md's "execute RED → GREEN
* → REFACTOR exactly as specified in the canonical
* `references/tdd.md` reference — the 'Red-Green-Refactor Cycle' section's
* commit-scope contract...") is LEGAL — it is a pointer, not a restatement.
@@ -84,7 +84,7 @@ function restatesCycle(text) {
// (`- `, `* `, `N. `/`N) `) — never further.
// #4302: a flat char count with no structural boundary let a
// citation-free restatement borrow an UNRELATED later section's tdd.md
// citation (on the real gsd-executor.md, the very next section after the
// citation (on the real msd-executor.md, the very next section after the
// cycle pointer — "## Plan-Level TDD Gate Enforcement" — has its own,
// independent tdd.md citation 82 chars past the pointer's REFACTOR
// anchor, well inside a flat 500-char window). A first attempt bounded
@@ -215,7 +215,7 @@ function restatesCycleStructurally(text) {
describe('#3990 — one statement of the cycle', () => {
test('the cycle is stated in full only in the canonical reference', () => {
const tdd = read('gsd-core/references/tdd.md');
const tdd = read('msd-core/references/tdd.md');
assert.ok(/## Red-Green-Refactor Cycle/.test(tdd),
'tdd.md carries the canonical Red-Green-Refactor Cycle section');
assert.ok(/Commit: `test\(\{phase\}-\{plan\}\)/.test(tdd) && /Commit: `feat\(\{phase\}-\{plan\}\)/.test(tdd),
@@ -223,7 +223,7 @@ describe('#3990 — one statement of the cycle', () => {
});
test('the executor carries a pointer, not a third restatement', () => {
const executor = read('agents/gsd-executor.md');
const executor = read('agents/msd-executor.md');
assert.ok(!restatesCycle(executor),
'<tdd_execution> must not restate the numbered RED/GREEN commit protocol — point at tdd.md');
assert.ok(/references\/tdd\.md/.test(executor),
@@ -231,7 +231,7 @@ describe('#3990 — one statement of the cycle', () => {
});
test('execute-plan carries a pointer, not a second restatement', () => {
const plan = read('gsd-core/workflows/execute-plan.md');
const plan = read('msd-core/workflows/execute-plan.md');
assert.ok(!restatesCycle(plan),
'<tdd_plan_execution> must not restate the numbered RED/GREEN commit protocol');
assert.ok(/references\/tdd\.md/.test(plan.slice(plan.indexOf('tdd_plan_execution'))),
@@ -239,8 +239,8 @@ describe('#3990 — one statement of the cycle', () => {
});
test('both embed lists load tdd.md only when the dispatch is TDD', () => {
const main = read('gsd-core/workflows/execute-phase.md');
const wt = read('gsd-core/workflows/execute-phase/steps/executor-isolation-dispatch.md');
const main = read('msd-core/workflows/execute-phase.md');
const wt = read('msd-core/workflows/execute-phase/steps/executor-isolation-dispatch.md');
for (const [name, text] of [['execute-phase.md', main], ['executor-isolation-dispatch.md', wt]]) {
// The LIST entry line — not any prose line that mentions tdd.md (the TDD
// gate's own prose cites it too).
@@ -274,13 +274,13 @@ describe('#4268 — reworded restatement detection (structural, not literal)', (
'sanity check: the fixture must NOT contain the literal commit-scope substring (that is the gap being closed)');
});
test('does not flag the real execute-plan.md and gsd-executor.md pointer text', () => {
const plan = read('gsd-core/workflows/execute-plan.md');
const executor = read('agents/gsd-executor.md');
test('does not flag the real execute-plan.md and msd-executor.md pointer text', () => {
const plan = read('msd-core/workflows/execute-plan.md');
const executor = read('agents/msd-executor.md');
assert.ok(!restatesCycleStructurally(plan),
'execute-plan.md\'s compact citation of RED/GREEN/REFACTOR must not be flagged as a restatement');
assert.ok(!restatesCycleStructurally(executor),
'gsd-executor.md\'s compact citation of RED/GREEN/REFACTOR must not be flagged as a restatement');
'msd-executor.md\'s compact citation of RED/GREEN/REFACTOR must not be flagged as a restatement');
});
// #4268 Standards+Spec review: the reviewer proved by execution that the
@@ -386,7 +386,7 @@ describe('#4268 — reworded restatement detection (structural, not literal)', (
// #4302: hasNearbyDeferralMarker's 500-char trailing window is a flat
// character count with no structural boundary — on the real
// agents/gsd-executor.md, a compact citation-free restatement sits
// agents/msd-executor.md, a compact citation-free restatement sits
// immediately before an UNRELATED "## Plan-Level TDD Gate Enforcement"
// section that carries its own, independent tdd.md citation 82 chars past
// the REFACTOR anchor. The restatement borrows that neighbor's citation and
@@ -402,7 +402,7 @@ describe('#4268 — reworded restatement detection (structural, not literal)', (
'',
'## Unrelated Section',
'',
'This paragraph cites the canonical `gsd-core/references/tdd.md` reference for a completely',
'This paragraph cites the canonical `msd-core/references/tdd.md` reference for a completely',
'different purpose and must not be borrowed by the restatement above.',
].join('\n');
assert.ok(restatesCycleStructurally(fixture),