Files
msd-core/.changeset/calm-herons-wake.md
Tom Boucher 288b3b4170 fix(3259): non-mutating --help guard for native query handlers (#3272)
* fix(3259): non-mutating --help guard for native query handlers; reject --help as milestone version

Adds a dispatcher-level guard in query-dispatch.ts that short-circuits
to a non-mutating help stub whenever --help/-h appears in args destined
for a native mutating handler (fail-closed by default). Adds defense-
in-depth in milestoneComplete to reject --help/-h as a version value
before any disk write. Regression tests cover: per-handler --help guard,
registry-driven invariant across all mutating commands, handler-level
GSDError for both flags, and preservation of the #3019 CJS fallback
contract.

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

* chore: add changeset fragment for #3272

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

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 23:53:27 -04:00

442 B

type, pr
type pr
Fixed 3272

gsd-sdk query milestone.complete --help (and all mutating query handlers) no longer execute mutations — the dispatcher now short-circuits to a non-mutating help stub when --help/-h appears in args for any native mutating handler (dispatcher-level guard, fail-closed by default). milestoneComplete also rejects --help/-h as a version value before any disk write (handler-level defense-in-depth).