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

6 lines
820 B
Markdown

---
type: Fixed
pr: 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)