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:
@@ -3,10 +3,10 @@
|
||||
/**
|
||||
* #1577 — `security.injection_blocking` is a first-class config key.
|
||||
*
|
||||
* The gsd-read-injection-scanner hook reads `.planning/config.json`
|
||||
* The msd-read-injection-scanner hook reads `.planning/config.json`
|
||||
* `security.injection_blocking` to decide whether a HIGH detection blocks
|
||||
* (opt-in) vs. stays advisory (default). Before this, the key was unregistered:
|
||||
* `isValidConfigKey` returned false and `gsd config-set security.injection_blocking`
|
||||
* `isValidConfigKey` returned false and `msd config-set security.injection_blocking`
|
||||
* was rejected as "Unknown config key" — the knob was settable only by hand-editing
|
||||
* config.json. These tests lock the registration + the nested write shape the hook
|
||||
* reads, and the advisory-by-default contract.
|
||||
@@ -16,9 +16,9 @@ const { describe, test } = require('node:test');
|
||||
const assert = require('node:assert/strict');
|
||||
const fs = require('node:fs');
|
||||
const path = require('node:path');
|
||||
const { createTempProject, cleanup, runGsdTools } = require('./helpers.cjs');
|
||||
const { isValidConfigKey } = require('../gsd-core/bin/lib/config-schema.cjs');
|
||||
const { CONFIG_DEFAULTS } = require('../gsd-core/bin/lib/configuration.cjs');
|
||||
const { createTempProject, cleanup, runMsdTools } = require('./helpers.cjs');
|
||||
const { isValidConfigKey } = require('../msd-core/bin/lib/config-schema.cjs');
|
||||
const { CONFIG_DEFAULTS } = require('../msd-core/bin/lib/configuration.cjs');
|
||||
|
||||
describe('#1577 — security.injection_blocking config key', () => {
|
||||
test('isValidConfigKey accepts security.injection_blocking', () => {
|
||||
@@ -46,7 +46,7 @@ describe('#1577 — security.injection_blocking config key', () => {
|
||||
test('config-set writes the nested shape the hook reads, and round-trips', () => {
|
||||
const proj = createTempProject();
|
||||
try {
|
||||
const res = runGsdTools(['config-set', 'security.injection_blocking', 'true'], proj);
|
||||
const res = runMsdTools(['config-set', 'security.injection_blocking', 'true'], proj);
|
||||
assert.ok(res.success, `config-set should succeed: ${res.output || ''}`);
|
||||
|
||||
// The hook reads cfg.security?.injection_blocking === true — assert the
|
||||
@@ -55,7 +55,7 @@ describe('#1577 — security.injection_blocking config key', () => {
|
||||
assert.equal(cfg.security.injection_blocking, true, 'must persist nested security.injection_blocking');
|
||||
assert.equal(cfg['security.injection_blocking'], undefined, 'must NOT persist a flat dotted key');
|
||||
|
||||
const get = runGsdTools(['config-get', 'security.injection_blocking'], proj);
|
||||
const get = runMsdTools(['config-get', 'security.injection_blocking'], proj);
|
||||
assert.ok(get.success, `config-get should succeed: ${get.output || ''}`);
|
||||
assert.match(String(get.output || ''), /true/, 'config-get should read back true');
|
||||
} finally {
|
||||
|
||||
Reference in New Issue
Block a user