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:
@@ -4,14 +4,14 @@
|
||||
* injection-patterns.js — the shared prompt-injection pattern list (#3504, epic #1900).
|
||||
*
|
||||
* Single source of truth for the standard injection signatures used by BOTH
|
||||
* gsd-prompt-guard.js (PreToolUse scan of writes into .planning/) and
|
||||
* gsd-read-injection-scanner.js (PostToolUse scan of Read/WebFetch/WebSearch
|
||||
* msd-prompt-guard.js (PreToolUse scan of writes into .planning/) and
|
||||
* msd-read-injection-scanner.js (PostToolUse scan of Read/WebFetch/WebSearch
|
||||
* content). Previously each hook carried a byte-identical copy ("inlined for
|
||||
* hook independence") that could silently drift — a pattern tightened in one
|
||||
* would stop protecting the other surface.
|
||||
*
|
||||
* Why a shared lib require is safe here (the old inlining rationale, retired):
|
||||
* the installer stages hooks/lib/ from the GSD_HOOK_LIB_FILES allowlist for the
|
||||
* the installer stages hooks/lib/ from the MSD_HOOK_LIB_FILES allowlist for the
|
||||
* shared-bundle surfaces (Claude-family settings.json runtimes and Kimi), the
|
||||
* Cursor stager auto-discovers require('./lib/...') in staged scripts and fails
|
||||
* the install loudly when a helper is missing (#2587), and the plugin path
|
||||
@@ -21,7 +21,7 @@
|
||||
* set runs inside the compiled lib tree; hooks must stay loadable standalone
|
||||
* without it. The two lists are different surfaces by design, not drift.
|
||||
*
|
||||
* Keep this file free of literal 'gsd:' text — the stager rewrites that marker
|
||||
* Keep this file free of literal 'msd:' text — the stager rewrites that marker
|
||||
* in staged hook content.
|
||||
*/
|
||||
|
||||
@@ -63,9 +63,9 @@ const INJECTION_PATTERNS = Object.freeze([
|
||||
// Short single-line label for a matched pattern, used for both the rendered
|
||||
// advisory prose and the typed `findings[].match` field in BOTH consumer
|
||||
// hooks. The raw regex source is not user-facing: the #4016 superset pattern
|
||||
// is ~280 characters, and gsd-prompt-guard.js echoed it verbatim into its
|
||||
// is ~280 characters, and msd-prompt-guard.js echoed it verbatim into its
|
||||
// advisory (PR #4061 review nit). Byte-identical to the transform
|
||||
// gsd-read-injection-scanner.js carried inline since #3523, hoisted here so
|
||||
// msd-read-injection-scanner.js carried inline since #3523, hoisted here so
|
||||
// one finding renders the same way in both hooks. Both hooks already require
|
||||
// this module, so this adds no new staging dependency.
|
||||
function describePattern(pattern) {
|
||||
|
||||
Reference in New Issue
Block a user