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:
@@ -6,7 +6,7 @@
|
||||
* code-registry epic.
|
||||
*
|
||||
* Generates docs/reference/exit-codes.md FROM the exit-code declaration
|
||||
* (gsd-core/bin/shared/exit-codes.json), so the human-facing reference page
|
||||
* (msd-core/bin/shared/exit-codes.json), so the human-facing reference page
|
||||
* can never drift from the actual registered codes — the same allocator-less
|
||||
* failure mode this epic exists to close, now closed for the doc surface too.
|
||||
* Modelled directly on scripts/gen-capability-matrix.cjs ->
|
||||
@@ -15,7 +15,7 @@
|
||||
* byte-compare drift check.
|
||||
*
|
||||
* The declaration JSON is read directly (not the compiled
|
||||
* gsd-core/bin/lib/exit-code-registry.cjs artifact, which is gitignored tsc
|
||||
* msd-core/bin/lib/exit-code-registry.cjs artifact, which is gitignored tsc
|
||||
* output) so this generator — like scripts/gen-exit-code-registry.cjs itself —
|
||||
* works on an unbuilt clone. The "Reserved bands" table below is DERIVED,
|
||||
* not retyped: its ranges and allocatable/reserved status come from
|
||||
@@ -61,15 +61,15 @@ const BAND_SCAN_MAX = 500;
|
||||
const BAND_PROSE = Object.freeze({
|
||||
free: '**Free — never allocatable.** `0` is the universal "succeeded" convention and `1` is the universal "failed, no further detail" convention across nearly every CLI ecosystem. Registering either here would collide with that universal meaning instead of adding a distinct, named signal — so the registry leaves both permanently unallocated.',
|
||||
'hook-only': 'Reserved exclusively to the Claude Code hook-protocol deny (`HOOK_DENY`) — owned by `hook-adapter` and no other module.',
|
||||
'node-reserved': '**Node-reserved.** Node.js itself assigns meaning to this range (e.g. internal JavaScript errors, fatal exceptions, invalid argument errors) before a GSD process ever gets a chance to project its own outcome. Allocating one of these would be indistinguishable from a Node-level failure the process never intended to report.',
|
||||
'outside-every-band': 'Outside every allocatable band — not Node-reserved, but also not opened for GSD use. `126`+ additionally collides with the shell convention for "command not executable" / "signal N" (`128+N`), which a process exit code must never impersonate.',
|
||||
'node-reserved': '**Node-reserved.** Node.js itself assigns meaning to this range (e.g. internal JavaScript errors, fatal exceptions, invalid argument errors) before a MSD process ever gets a chance to project its own outcome. Allocating one of these would be indistinguishable from a Node-level failure the process never intended to report.',
|
||||
'outside-every-band': 'Outside every allocatable band — not Node-reserved, but also not opened for MSD use. `126`+ additionally collides with the shell convention for "command not executable" / "signal N" (`128+N`), which a process exit code must never impersonate.',
|
||||
generic: '**Generic band.** Codes any module may use for caller-facing, non-domain-specific outcomes (bad argv, no input in scope, a missing prerequisite, an internal crash).',
|
||||
domain: '**Domain band.** Codes reserved for a specific product surface\'s own vocabulary — currently only `gsd-tools`\' `DEGRADED` (a completed run reporting a condition through its payload rather than as a process failure).',
|
||||
domain: '**Domain band.** Codes reserved for a specific product surface\'s own vocabulary — currently only `msd-tools`\' `DEGRADED` (a completed run reporting a condition through its payload rather than as a process failure).',
|
||||
});
|
||||
|
||||
/**
|
||||
* The 'shell-signal' category (126+) is folded into the SAME rendered row
|
||||
* as 'outside-every-band' (both read "not opened for GSD use" to a reader —
|
||||
* as 'outside-every-band' (both read "not opened for MSD use" to a reader —
|
||||
* the original hand-authored table merged them into one row, and the prose
|
||||
* above documents the 126+ collision inline). Every other category gets its
|
||||
* own row, in this fixed display order.
|
||||
@@ -202,7 +202,7 @@ function buildDoc(entries) {
|
||||
|
||||
> **Generated file — do not edit by hand.**
|
||||
> This page is generated from the exit-code declaration
|
||||
> (\`gsd-core/bin/shared/exit-codes.json\`) by \`scripts/gen-exit-code-docs.cjs\`
|
||||
> (\`msd-core/bin/shared/exit-codes.json\`) by \`scripts/gen-exit-code-docs.cjs\`
|
||||
> and kept honest by a drift guard in \`npm run lint:generated-sync\` (which runs
|
||||
> \`node scripts/gen-exit-code-docs.cjs --check\`). Any manual edit is overwritten
|
||||
> on the next generation run. To register a new code, add an entry to the
|
||||
@@ -217,7 +217,7 @@ See also: [ADR-3889 — one exit-code registry](../adr/3889-process-exit-contrac
|
||||
|
||||
## Registered codes (${registeredCount})
|
||||
|
||||
Every process-level exit code \`gsd-tools\`, its hooks, and its scripts may terminate
|
||||
Every process-level exit code \`msd-tools\`, its hooks, and its scripts may terminate
|
||||
with, by name, meaning, and the module that owns it.
|
||||
|
||||
${registeredTable}
|
||||
|
||||
Reference in New Issue
Block a user