From 24896ddac735f2c431ac4ed84dcbe88d63e40075 Mon Sep 17 00:00:00 2001 From: Tom Boucher Date: Thu, 9 Jul 2026 00:58:09 -0400 Subject: [PATCH] fix(#2089): register 4 new cursor hook scripts in build + managed-hooks whitelists --- hooks/managed-hooks-registry.cjs | 4 ++++ scripts/build-hooks.js | 6 +++++- src/installer-migration-report.cts | 4 ++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/hooks/managed-hooks-registry.cjs b/hooks/managed-hooks-registry.cjs index 1d392471d..0a05e5841 100644 --- a/hooks/managed-hooks-registry.cjs +++ b/hooks/managed-hooks-registry.cjs @@ -21,7 +21,11 @@ const MANAGED_HOOKS = [ 'gsd-config-reload.js', 'gsd-context-monitor.js', 'gsd-cursor-post-tool.js', + 'gsd-cursor-pre-tool.js', 'gsd-cursor-session-start.js', + 'gsd-cursor-stop.js', + 'gsd-cursor-subagent-start.js', + 'gsd-cursor-subagent-stop.js', 'gsd-ensure-canonical-path.js', 'gsd-graphify-update.sh', 'gsd-phase-boundary.sh', diff --git a/scripts/build-hooks.js b/scripts/build-hooks.js index a4e220860..9e80d813e 100644 --- a/scripts/build-hooks.js +++ b/scripts/build-hooks.js @@ -37,9 +37,13 @@ const HOOKS_TO_COPY = [ // so require('./managed-hooks-registry.cjs') resolves in the installed hooks/ dir. 'managed-hooks-registry.cjs', 'gsd-context-monitor.js', - // Cursor lifecycle hooks (issue #777): sessionStart context injection + postToolUse monitor + // Cursor lifecycle hooks (#777 + ADR-1239/#2089): 6 managed events 'gsd-cursor-session-start.js', 'gsd-cursor-post-tool.js', + 'gsd-cursor-pre-tool.js', + 'gsd-cursor-stop.js', + 'gsd-cursor-subagent-start.js', + 'gsd-cursor-subagent-stop.js', // Claude Code FileChanged hook (#770) — hot-reloads gsd config when // .planning/config.json changes mid-session. Must ship to dist so the // installer can copy it to the target hooks/ dir and register FileChanged. diff --git a/src/installer-migration-report.cts b/src/installer-migration-report.cts index b77dccc27..70b74252a 100644 --- a/src/installer-migration-report.cts +++ b/src/installer-migration-report.cts @@ -32,7 +32,11 @@ export const BUNDLED_GSD_HOOK_FILES: ReadonlySet = Object.freeze(new Set 'hooks/gsd-config-reload.js', 'hooks/gsd-context-monitor.js', 'hooks/gsd-cursor-post-tool.js', + 'hooks/gsd-cursor-pre-tool.js', 'hooks/gsd-cursor-session-start.js', + 'hooks/gsd-cursor-stop.js', + 'hooks/gsd-cursor-subagent-start.js', + 'hooks/gsd-cursor-subagent-stop.js', 'hooks/gsd-ensure-canonical-path.js', 'hooks/gsd-graphify-update.sh', 'hooks/gsd-phase-boundary.sh',