* 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
1.6 KiB
type, pr
| type | pr |
|---|---|
| Added | 3557 |
Opt-in: auto-rebuild knowledge graph after main HEAD advances — new config key graphify.auto_update (default false) and bundled PostToolUse hook hooks/gsd-graphify-update.sh keep the .planning/graphs/graph.json consumed by gsd-planner and gsd-phase-researcher current without manual /gsd:graphify build runs. When both graphify.enabled and graphify.auto_update are true, the hook fires after Bash tool calls matching HEAD-advancing git ops (commit, merge, pull, rebase --continue, cherry-pick) or the exact gsd-sdk query commit command shape on the default branch, writes a synchronous running status to .planning/graphs/.last-build-status.json, then dispatches graphify update . in a detached subprocess that updates the status file to ok (with duration_ms + head_at_build) or failed (with exit_code). The planner and researcher's load_graph_context steps now surface the auto-build state alongside the existing staleness annotation — including the must-have failure-surface case from the issue review ("auto-rebuild FAILED at {ts}; context is from the prior build"). PID-locked against concurrent rebuilds (stale-PID tolerant via kill -0), CI-aware ($CI env suppresses), and bails silently if graphify is not on PATH or the current branch is not the default. /gsd:settings adds a "Graph auto-update" question gated on Graphify being enabled. Closes #3347.