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

@@ -8,13 +8,13 @@
---
We propose introducing a File Operation Engine Module that owns policy for managed file reads, writes, deletes, locks, backups, and rollbacks across installer, migration, and planning surfaces. Today, file mutation behavior is duplicated across `bin/install.js`, `gsd-core/bin/lib/installer-migrations.cjs`, and multiple planning modules, with drift in atomic-write guarantees, path safety checks, and ownership classification.
We propose introducing a File Operation Engine Module that owns policy for managed file reads, writes, deletes, locks, backups, and rollbacks across installer, migration, and planning surfaces. Today, file mutation behavior is duplicated across `bin/install.js`, `msd-core/bin/lib/installer-migrations.cjs`, and multiple planning modules, with drift in atomic-write guarantees, path safety checks, and ownership classification.
This ADR also captures where Shell Command Projection Module policy should be consumed or expanded for hook-command-specific file mutations, so shell command drift and file mutation drift do not evolve as separate bug classes.
## Decision
- Add a **File Operation Engine Module** under `gsd-core/bin/lib/` as the single seam for file mutation safety policy.
- Add a **File Operation Engine Module** under `msd-core/bin/lib/` as the single seam for file mutation safety policy.
- Keep command-text projection in the Shell Command Projection Module (ADR-0009), but route projection-adjacent hook file mutations through shared managed-hook ownership policy.
- Move file operation adapters to the new seam in two tracks:
- **Track A (projection-adjacent):** runtime config hook-command detection/rewrite/delete paths consume shared managed-hook policy from the projection seam.
@@ -33,12 +33,12 @@ This ADR also captures where Shell Command Projection Module policy should be co
### Projection-adjacent file mutation drift (Track A)
- `bin/install.js`
- hook cleanup command detection (`isGsdHookCommand`)
- hook cleanup command detection (`isMsdHookCommand`)
- stale Codex hook strip basenames (`STALE_HOOK_BASENAMES`)
- settings/config hook entry prune/rewrite paths
- `gsd-core/bin/lib/installer-migrations/002-codex-legacy-hooks-json.cjs`
- `msd-core/bin/lib/installer-migrations/002-codex-legacy-hooks-json.cjs`
- `isManagedCodexHookCommand` regex/path detection duplicated from installer-owned hook policy
- `gsd-core/bin/lib/shell-command-projection.cjs`
- `msd-core/bin/lib/shell-command-projection.cjs`
- `isManagedHookBasename` already owns part of this policy and should become the canonical owner
### Solution-wide file operation drift (Track B)
@@ -46,13 +46,13 @@ This ADR also captures where Shell Command Projection Module policy should be co
- `bin/install.js`
- local `atomicWriteFileSync` and temp cleanup registry
- large inlined read/modify/write + backup/rollback logic for runtime config and hooks
- `gsd-core/bin/lib/core.cjs`
- `msd-core/bin/lib/core.cjs`
- `atomicWriteFileSync` helper diverges in fallback behavior from installer/migration variants
- `gsd-core/bin/lib/installer-migrations.cjs`
- `msd-core/bin/lib/installer-migrations.cjs`
- separate `writeFileAtomicSync`, rollback journaling, lock handling, and containment checks
- `gsd-core/bin/lib/planning-workspace.cjs` and `gsd-core/bin/lib/state.cjs`
- `msd-core/bin/lib/planning-workspace.cjs` and `msd-core/bin/lib/state.cjs`
- duplicated lock-file create/release/remove patterns and best-effort cleanup semantics
- `gsd-core/bin/lib/roadmap.cjs`, `phase.cjs`, `milestone.cjs`, `frontmatter.cjs`, `drift.cjs`
- `msd-core/bin/lib/roadmap.cjs`, `phase.cjs`, `milestone.cjs`, `frontmatter.cjs`, `drift.cjs`
- direct read/modify/write flows with inconsistent atomicity and normalization policy application
## Interface sketch