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.
* test(#3337): fold the manifest & package-identity issue-* cluster — Wave 5
Folds 6 legacy issue-*.test.cjs regression files (120 test() blocks) into
their module's main suite, per H3 (#3315) of the test-hygiene epic (#3053).
Second of 4 issue-* waves.
- issue-766-plugin-manifest.test.cjs (50 tests): pure rename (git mv) into
plugin-manifest.test.cjs, sole comprehensive suite for its module.
- issue-844-manifest-version-sync.test.cjs (14 tests, rename basis) +
issue-1855-marketplace-manifest.test.cjs (17 tests, merged in): both
target scripts/sync-manifest-versions.cjs via non-overlapping describe
blocks (generic engine vs. marketplace.json-specific), now
manifest-version-sync.test.cjs, 31 tests, 0 dropped.
- issue-498-identity-drift-lint.test.cjs (8 tests, rename basis) +
issue-498-package-identity.test.cjs (17 tests, merged in): both target
package-identity.cjs's surface from different angles (lint-side drift
detection vs. derive/slugify), now package-identity.test.cjs, 25 tests,
0 dropped.
- issue-607-cache-lineage.test.cjs (14 tests) merged into the existing
gsd-statusline.test.cjs, matching its already-established fold-wrapper
convention from prior waves.
Learned from Wave 4: fold agents checked src/** (not just docs/ and
gsd-core/references/) for stale filename references — found and fixed 5
across 3 ADR docs (766, 2121, 457), zero in src/ this time.
Zero net test-coverage loss. No production code changed.
* test(#3337): fix orthogonal-review findings — Wave 5 fold
Standards-axis review found real issues in the just-folded
manifest-version-sync.test.cjs, both fixed here:
- The folded:issue-1855-marketplace-manifest block omitted its own
test/describe/assert/fs/path/os requires, silently closing over the
#844 basis section's outer-scope bindings instead of declaring its own
dependencies — inconsistent with every other fold block in this wave.
Restored the local requires the original issue-1855 file declared.
- Merging two independently-lettered legacy files (each A-F) left
duplicate top-level describe() labels (two "A:", two "B:", two "C:").
Renamed the folded-in #1855 labels (A2/B4/C2) to make every top-level
label in the file unique.
No test() count changed (31). No production code touched.
---------
Co-authored-by: sim <sim@local>
Phase 0 of the #2121 epic — an ADR-only PR that LOCKS the contract Phases
1-4 execute against. No production code lands here.
Locks:
- phase-id.cts as the single canonical owner of phase-identifier parsing.
- New pure exports Phase 1 adds: parsePhaseFromProse (anchored; fixes the
#2111 "Milestone v0.5 complete -> 5" class), stripConfiguredProjectCodePrefix
/ isForeignPrefixedPhaseQuery (config-aware; the #2104 fix's home),
and roadmapPhaseLookupSources moved in as sole owner of the 3-source
ordering (fixes the #2114 2-vs-3-source divergence).
- Extend-never-mutate on the 12 existing exports (normalizePhaseName has a
CRITICAL 84-symbol / 20-caller blast radius) — Hyrum's Law.
- The exact exact->numeric->prefix-tolerant lookup ordering.
- A behavioral anti-divergence contract: reference-identity guard +
scripts/lint-phase-id-drift.cjs scanner, modeled on the repo's proven
capability-precedence-parity / package-identity-drift patterns.
#2104 remains blocked on PR #2105 and off this epic's critical path.
Adds the docs/adr/README.md index row. Docs-only; no changeset required
(no-changelog).
Closes#2121
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>