* Match `gsd-sdk query commit` in graphify auto-update hook (#3653) The PostToolUse Bash hook only substring-matched direct shell git ops in tool_input.command. `gsd-sdk query commit` invokes git via spawnSync, so the literal "git commit" never appears in the Bash tool's command string and the hook silently skipped every SDK-issued commit. Result: .planning/graphs/ drifted stale after every phase that closed via gsd-sdk query commit, with no error and no log. Gate 2 now also matches `gsd-sdk query commit`. Other SDK verbs (phase.complete, roadmap.update-plan-progress, state.begin-phase) do not invoke git themselves and remain non-matching to avoid spurious rebuilds per state mutation. Adds positive + negative matcher tests. * Fix changeset frontmatter for #3658 `type: Bug Fix` rejected by scripts/changeset/parse.cjs ALLOWED_TYPES (Keep a Changelog values: Added/Changed/Deprecated/Removed/Fixed/Security). Switch to `type: Fixed` and add `pr: 3658` required by MISSING_PR check. docs-lint now reports `ok_no_triggering_fragments` locally. * fix(#3658): bound graphify SDK commit matcher * fix(#3658): exempt release note docs lint
This commit is contained in:
@@ -10,7 +10,10 @@
|
||||
#
|
||||
# Gates (in fast-fail order — each shaves work off the common non-dispatch path):
|
||||
# 1. Stdin payload present and tool_name == "Bash"
|
||||
# 2. tool_input.command matches a HEAD-advancing git op
|
||||
# 2. tool_input.command matches a HEAD-advancing git op (shell-direct or
|
||||
# the exact `gsd-sdk query commit` command shape; the SDK command invokes
|
||||
# git internally, so the literal "git commit" substring never appears —
|
||||
# see #3653)
|
||||
# 3. $CI is unset/empty
|
||||
# 4. Inside a git repo
|
||||
# 5. Current branch == default branch (git.base_branch override, else main/master/trunk)
|
||||
@@ -46,9 +49,10 @@ COMMAND=$(printf '%s\n' "$TOOL_INFO" | sed -n '2p')
|
||||
|
||||
[ "$TOOL_NAME" = "Bash" ] || exit 0
|
||||
|
||||
# Gate 2 — HEAD-advancing git op
|
||||
# Gate 2 — HEAD-advancing git op (shell-direct or exact `gsd-sdk query commit`)
|
||||
case "$COMMAND" in
|
||||
*"git commit"*|*"git merge"*|*"git pull"*|*"git rebase --continue"*|*"git cherry-pick"*) ;;
|
||||
*"gsd-sdk query commit"|*"gsd-sdk query commit "*) ;;
|
||||
*) exit 0 ;;
|
||||
esac
|
||||
|
||||
|
||||
Reference in New Issue
Block a user