Files
msd-core/.changeset/fix-3197-gsd-tools-config-whitelist.md
Tom Boucher f4d0208abb fix(config): regression test and changeset for #3197 gsd-tools config-whitelist (#3208)
* fix(config): add regression test and changeset for #3197 CJS whitelist fix

The underlying fix (RUNTIME_STATE_KEYS in config-schema.cjs) was already
applied to main via #3162. This PR adds the regression test that would have
caught the drift had it been present — verifying the CJS path end-to-end —
and the changeset fragment to formally close #3197.

Closes #3197

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* test(config): isolate tmpDir per test for cleanup

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 21:51:42 -04:00

820 B

type, pr
type pr
Fixed 3197

gsd-tools config-set workflow._auto_chain_active no longer rejected — workflow._auto_chain_active is an internal runtime-state key written by plan-phase, execute-phase, discuss-phase, and transition workflows. PR #3162 added it to RUNTIME_STATE_KEYS in the SDK's config-schema.ts but did not mirror the change to the CJS config-schema.cjs used by gsd-tools.cjs. Users routed through gsd-tools.cjs continued to see "Unknown config key" (#3033). The fix adds RUNTIME_STATE_KEYS to config-schema.cjs, exports it alongside VALID_CONFIG_KEYS, and updates isValidConfigKey() to accept runtime-state keys. The SDK config-mutation.ts is updated to import and check the same set. A new CI parity assertion ensures the two RUNTIME_STATE_KEYS sets stay in sync. (#3197)