@skillcap/gdh 0.25.5 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/INSTALL-BUNDLE.json +1 -1
  2. package/RELEASE-SPAN-UPDATE-CONTRACTS.json +88 -0
  3. package/node_modules/@gdh/adapters/dist/claude-settings-patch.d.ts.map +1 -1
  4. package/node_modules/@gdh/adapters/dist/claude-settings-patch.js +38 -15
  5. package/node_modules/@gdh/adapters/dist/claude-settings-patch.js.map +1 -1
  6. package/node_modules/@gdh/adapters/dist/index.d.ts +12 -0
  7. package/node_modules/@gdh/adapters/dist/index.d.ts.map +1 -1
  8. package/node_modules/@gdh/adapters/dist/index.js +21 -0
  9. package/node_modules/@gdh/adapters/dist/index.js.map +1 -1
  10. package/node_modules/@gdh/adapters/dist/skill-rendering.d.ts +5 -2
  11. package/node_modules/@gdh/adapters/dist/skill-rendering.d.ts.map +1 -1
  12. package/node_modules/@gdh/adapters/dist/skill-rendering.js +39 -0
  13. package/node_modules/@gdh/adapters/dist/skill-rendering.js.map +1 -1
  14. package/node_modules/@gdh/adapters/dist/templates/authoring-hook.js.tpl +196 -5
  15. package/node_modules/@gdh/adapters/package.json +8 -8
  16. package/node_modules/@gdh/authoring/dist/diagnostics-broker-contract.d.ts +1 -0
  17. package/node_modules/@gdh/authoring/dist/diagnostics-broker-contract.d.ts.map +1 -1
  18. package/node_modules/@gdh/authoring/dist/diagnostics-broker-contract.js +1 -0
  19. package/node_modules/@gdh/authoring/dist/diagnostics-broker-contract.js.map +1 -1
  20. package/node_modules/@gdh/authoring/dist/diagnostics-broker.d.ts +2 -1
  21. package/node_modules/@gdh/authoring/dist/diagnostics-broker.d.ts.map +1 -1
  22. package/node_modules/@gdh/authoring/dist/diagnostics-broker.js +71 -10
  23. package/node_modules/@gdh/authoring/dist/diagnostics-broker.js.map +1 -1
  24. package/node_modules/@gdh/authoring/dist/index.d.ts +1 -1
  25. package/node_modules/@gdh/authoring/dist/index.d.ts.map +1 -1
  26. package/node_modules/@gdh/authoring/dist/index.js +1 -1
  27. package/node_modules/@gdh/authoring/dist/index.js.map +1 -1
  28. package/node_modules/@gdh/authoring/dist/lsp-warmup.d.ts +30 -0
  29. package/node_modules/@gdh/authoring/dist/lsp-warmup.d.ts.map +1 -0
  30. package/node_modules/@gdh/authoring/dist/lsp-warmup.js +213 -0
  31. package/node_modules/@gdh/authoring/dist/lsp-warmup.js.map +1 -0
  32. package/node_modules/@gdh/authoring/dist/lsp.d.ts +7 -1
  33. package/node_modules/@gdh/authoring/dist/lsp.d.ts.map +1 -1
  34. package/node_modules/@gdh/authoring/dist/lsp.js +223 -121
  35. package/node_modules/@gdh/authoring/dist/lsp.js.map +1 -1
  36. package/node_modules/@gdh/authoring/package.json +2 -2
  37. package/node_modules/@gdh/cli/dist/index.d.ts.map +1 -1
  38. package/node_modules/@gdh/cli/dist/index.js +73 -8
  39. package/node_modules/@gdh/cli/dist/index.js.map +1 -1
  40. package/node_modules/@gdh/cli/package.json +10 -10
  41. package/node_modules/@gdh/core/dist/index.d.ts +177 -5
  42. package/node_modules/@gdh/core/dist/index.d.ts.map +1 -1
  43. package/node_modules/@gdh/core/dist/index.js +43 -3
  44. package/node_modules/@gdh/core/dist/index.js.map +1 -1
  45. package/node_modules/@gdh/core/dist/migrations/managed-surface-classes.d.ts +15 -0
  46. package/node_modules/@gdh/core/dist/migrations/managed-surface-classes.d.ts.map +1 -1
  47. package/node_modules/@gdh/core/dist/migrations/managed-surface-classes.js +18 -0
  48. package/node_modules/@gdh/core/dist/migrations/managed-surface-classes.js.map +1 -1
  49. package/node_modules/@gdh/core/dist/migrations/managed-target-surface-inventory.d.ts.map +1 -1
  50. package/node_modules/@gdh/core/dist/migrations/managed-target-surface-inventory.js +2 -0
  51. package/node_modules/@gdh/core/dist/migrations/managed-target-surface-inventory.js.map +1 -1
  52. package/node_modules/@gdh/core/package.json +1 -1
  53. package/node_modules/@gdh/docs/package.json +2 -2
  54. package/node_modules/@gdh/mcp/dist/index.d.ts.map +1 -1
  55. package/node_modules/@gdh/mcp/dist/index.js +30 -1
  56. package/node_modules/@gdh/mcp/dist/index.js.map +1 -1
  57. package/node_modules/@gdh/mcp/package.json +8 -8
  58. package/node_modules/@gdh/observability/package.json +2 -2
  59. package/node_modules/@gdh/runtime/package.json +2 -2
  60. package/node_modules/@gdh/scan/package.json +3 -3
  61. package/node_modules/@gdh/verify/package.json +7 -7
  62. package/package.json +11 -11
@@ -20,6 +20,9 @@ assertClassRegistered("skill.cursor.prepare", "deterministic");
20
20
  assertClassRegistered("skill.claude.run-game", "deterministic");
21
21
  assertClassRegistered("skill.codex.run-game", "deterministic");
22
22
  assertClassRegistered("skill.cursor.run-game", "deterministic");
23
+ assertClassRegistered("skill.claude.warmup", "deterministic");
24
+ assertClassRegistered("skill.codex.warmup", "deterministic");
25
+ assertClassRegistered("skill.cursor.warmup", "deterministic");
23
26
  const PREVIEW_HEADER_LITERAL = "Preview (dry-run) — not applied";
24
27
  function invocationForAgent(agent, skillName) {
25
28
  if (agent === "codex") {
@@ -101,6 +104,14 @@ const RUN_GAME_TERMS = [
101
104
  "`observed`: a run-config status meaning it has launched successfully at least once; `draft` means GDH has not captured that proof yet.",
102
105
  "`bridge session`: a GDH-managed interactive game run started with `bridge session start`; it can be listed, inspected, driven, screenshotted, and stopped later.",
103
106
  ];
107
+ const WARMUP_TERMS = [
108
+ "`managed LSP`: the GDH-spawned headless Godot editor that serves diagnostics for `.gd`, `.tscn`, `.tres`.",
109
+ "`warmup`: a fire-and-forget LSP launch serialized by `lsp.lock` so concurrent calls do not multi-spawn Godot.",
110
+ "`already_warm`: the managed LSP is already healthy; warmup is unnecessary.",
111
+ "`warming`: another warmup is in flight; this call returns without launching a second editor.",
112
+ "`started`: this call kicked off the warmup.",
113
+ "`blocked`: the configured Godot binary is below the 4.5.2 floor; a structured `versionFloorAdvisory` accompanies the result.",
114
+ ];
104
115
  function pin(version, mode = "pinned") {
105
116
  return mode === "latest" ? "npx -y @skillcap/gdh@latest" : `npx -y @skillcap/gdh@${version}`;
106
117
  }
@@ -343,6 +354,24 @@ export const GDH_SKILL_DEFINITIONS = {
343
354
  "Keep output operational: target, selected config, check state, launch/session result, artifacts or session id, and next step.",
344
355
  ],
345
356
  },
357
+ warmup: {
358
+ id: "warmup",
359
+ name: "gdh-warmup",
360
+ description: "Warm up the managed Godot LSP behind the scenes",
361
+ shortDescription: "Warm GDH LSP",
362
+ objective: "Warm up the managed Godot LSP for the configured target so the next post-edit authoring check returns fast diagnostics. Use this skill when the agent knows it is about to edit GDScript or scene/resource files.",
363
+ terms: WARMUP_TERMS,
364
+ claudeTools: ["Bash"],
365
+ process: (version) => [
366
+ `Invoke the GDH MCP tool \`authoring.warmup\` (or run \`${pin(version)} lsp warmup [target]\`) when about to edit GDScript, scenes, or resources.`,
367
+ "Treat all four return outcomes (`already_warm`, `warming`, `started`, `blocked`) as terminal — none of them block subsequent agent steps; `blocked` carries a `versionFloorAdvisory` the agent should surface to the user verbatim.",
368
+ "Do not call warmup in a loop expecting it to do more on the second call; it is idempotent by design and concurrent callers fan in via `lsp.lock`.",
369
+ ],
370
+ rules: () => [
371
+ "Do not assume `started` means the LSP is fully ready; the next bounded authoring check still observes startup completion.",
372
+ "Do not call warmup as a substitute for `gdh authoring check --mode final`; warmup launches the LSP but does not produce diagnostics.",
373
+ ],
374
+ },
346
375
  };
347
376
  export const GDH_SKILL_IDS = [
348
377
  "onboard",
@@ -352,6 +381,7 @@ export const GDH_SKILL_IDS = [
352
381
  "update",
353
382
  "prepare",
354
383
  "run-game",
384
+ "warmup",
355
385
  ];
356
386
  export const GDH_MANAGED_AGENT_SKILL_MARKER = "GDH_MANAGED_AGENT_SKILL";
357
387
  export function renderGdhSkill(agent, skillId, pinnedVersion) {
@@ -500,4 +530,13 @@ export function renderCodexRunGameSkill(pinnedVersion) {
500
530
  export function renderCursorRunGameSkill(pinnedVersion) {
501
531
  return renderGdhSkill("cursor", "run-game", pinnedVersion);
502
532
  }
533
+ export function renderClaudeWarmupSkill(pinnedVersion) {
534
+ return renderGdhSkill("claude", "warmup", pinnedVersion);
535
+ }
536
+ export function renderCodexWarmupSkill(pinnedVersion) {
537
+ return renderGdhSkill("codex", "warmup", pinnedVersion);
538
+ }
539
+ export function renderCursorWarmupSkill(pinnedVersion) {
540
+ return renderGdhSkill("cursor", "warmup", pinnedVersion);
541
+ }
503
542
  //# sourceMappingURL=skill-rendering.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill-rendering.js","sourceRoot":"","sources":["../src/skill-rendering.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-rendering.js","sourceRoot":"","sources":["../src/skill-rendering.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAElD,qBAAqB,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAC;AAC/D,qBAAqB,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAC;AAC9D,qBAAqB,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAC;AAC/D,qBAAqB,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAC;AAC9D,qBAAqB,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;AAC7D,qBAAqB,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAC;AAC9D,qBAAqB,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;AAC5D,qBAAqB,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;AAC3D,qBAAqB,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;AAC5D,qBAAqB,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAC;AAC/D,qBAAqB,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAC;AAC9D,qBAAqB,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAC;AAC/D,qBAAqB,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAC;AAC9D,qBAAqB,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;AAC7D,qBAAqB,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAC;AAC9D,qBAAqB,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAC;AAC/D,qBAAqB,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAC;AAC9D,qBAAqB,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAC;AAC/D,qBAAqB,CAAC,uBAAuB,EAAE,eAAe,CAAC,CAAC;AAChE,qBAAqB,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAC;AAC/D,qBAAqB,CAAC,uBAAuB,EAAE,eAAe,CAAC,CAAC;AAChE,qBAAqB,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAC;AAC9D,qBAAqB,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;AAC7D,qBAAqB,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAC;AA+B9D,MAAM,sBAAsB,GAAG,iCAAiC,CAAC;AAEjE,SAAS,kBAAkB,CAAC,KAAoB,EAAE,SAAiB;IACjE,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,OAAO,IAAI,SAAS,EAAE,CAAC;IACzB,CAAC;IACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,SAAS,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAoB,EAAE,SAAiB;IACxE,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC;AACzD,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAoB;IACrD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,OAAO,qKAAqK,CAAC;IAC/K,CAAC;IACD,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,OAAO,8OAA8O,CAAC;IACxP,CAAC;IACD,OAAO,0LAA0L,CAAC;AACpM,CAAC;AAED,MAAM,aAAa,GAAG;IACpB,gEAAgE;IAChE,2IAA2I;IAC3I,6GAA6G;IAC7G,oIAAoI;IACpI,+FAA+F;IAC/F,0HAA0H;IAC1H,0FAA0F;IAC1F,uFAAuF;IACvF,4GAA4G;IAC5G,iJAAiJ;CACzI,CAAC;AAEX,MAAM,YAAY,GAAG;IACnB,sHAAsH;IACtH,+GAA+G;IAC/G,4FAA4F;IAC5F,iFAAiF;IACjF,6IAA6I;IAC7I,gIAAgI;IAChI,oIAAoI;CAC5H,CAAC;AAEX,MAAM,UAAU,GAAG;IACjB,iGAAiG;IACjG,iHAAiH;IACjH,+HAA+H;IAC/H,6HAA6H;IAC7H,+FAA+F;CACvF,CAAC;AAEX,MAAM,aAAa,GAAG;IACpB,wGAAwG;IACxG,yIAAyI;IACzI,mIAAmI;IACnI,gIAAgI;IAChI,yFAAyF;CACjF,CAAC;AAEX,MAAM,YAAY,GAAG;IACnB,wFAAwF;IACxF,+FAA+F;IAC/F,oGAAoG;IACpG,0GAA0G;IAC1G,oIAAoI;IACpI,kGAAkG;CAC1F,CAAC;AAEX,MAAM,aAAa,GAAG;IACpB,sDAAsD;IACtD,6GAA6G;IAC7G,kHAAkH;IAClH,+GAA+G;IAC/G,yHAAyH;IACzH,6FAA6F;IAC7F,iFAAiF;CACzE,CAAC;AAEX,MAAM,cAAc,GAAG;IACrB,+IAA+I;IAC/I,wHAAwH;IACxH,gIAAgI;IAChI,wIAAwI;IACxI,kKAAkK;CAC1J,CAAC;AAEX,MAAM,YAAY,GAAG;IACnB,2GAA2G;IAC3G,+GAA+G;IAC/G,4EAA4E;IAC5E,8FAA8F;IAC9F,6CAA6C;IAC7C,8HAA8H;CACtH,CAAC;AAEX,SAAS,GAAG,CAAC,OAAe,EAAE,OAAoB,QAAQ;IACxD,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,wBAAwB,OAAO,EAAE,CAAC;AAC/F,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAA2C;IAC3E,OAAO,EAAE;QACP,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,uDAAuD;QACpE,SAAS,EACP,yIAAyI;QAC3I,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;QAChE,aAAa,EAAE;YACb,0FAA0F;YAC1F,4FAA4F;SAC7F;QACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;YACpB,4DAA4D,GAAG,CAAC,OAAO,CAAC,YAAY;YACpF,wMAAwM;YACxM,oCAAoC,GAAG,CAAC,OAAO,CAAC,4BAA4B,GAAG,CAAC,OAAO,CAAC,8BAA8B;YACtH,8MAA8M;YAC9M,kNAAkN;YAClN,SAAS,GAAG,CAAC,OAAO,CAAC,wJAAwJ;YAC7K,SAAS,GAAG,CAAC,OAAO,CAAC,+NAA+N;YACpP,aAAa,GAAG,CAAC,OAAO,CAAC,4BAA4B,GAAG,CAAC,OAAO,CAAC,iFAAiF;YAClJ,qaAAqa;YACra,uEAAuE;YACvE,2EAA2E;SAC5E;QACD,KAAK,EAAE,GAAG,EAAE,CAAC;YACX,mFAAmF;YACnF,qDAAqD;YACrD,+CAA+C;YAC/C,wGAAwG;SACzG;KACF;IACD,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,6EAA6E;QAC1F,SAAS,EACP,kGAAkG;QACpG,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QAC7C,aAAa,EAAE;YACb,oFAAoF;YACpF,4FAA4F;SAC7F;QACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;YACpB,SAAS,GAAG,CAAC,OAAO,CAAC,0GAA0G;YAC/H,4LAA4L;YAC5L,qWAAqW;YACrW,iMAAiM;YACjM,mKAAmK;YACnK,SAAS,GAAG,CAAC,OAAO,CAAC,yMAAyM;YAC9N,GAAG,sBAAsB,6GAA6G;YACtI,6GAA6G;YAC7G,2QAA2Q;YAC3Q,6OAA6O;YAC7O,gUAAgU;YAChU,8HAA8H;SAC/H;QACD,KAAK,EAAE,GAAG,EAAE,CAAC;YACX,4BAA4B;YAC5B,qDAAqD;YACrD,oCAAoC;YACpC,wGAAwG;SACzG;KACF;IACD,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,gEAAgE;QAC7E,gBAAgB,EAAE,qCAAqC;QACvD,SAAS,EACP,qHAAqH;QACvH,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QAC7C,aAAa,EAAE;YACb,oFAAoF;YACpF,4FAA4F;SAC7F;QACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;YACpB,SAAS,GAAG,CAAC,OAAO,CAAC,0EAA0E;YAC/F,oHAAoH;YACpH,iIAAiI;YACjI,+HAA+H;YAC/H,iIAAiI;YACjI,+JAA+J;SAChK;QACD,KAAK,EAAE,GAAG,EAAE,CAAC;YACX,+CAA+C;YAC/C,kFAAkF;YAClF,sKAAsK;YACtK,wGAAwG;SACzG;KACF;IACD,OAAO,EAAE;QACP,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,0CAA0C;QACvD,SAAS,EAAE,8EAA8E;QACzF,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;QAChE,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE;YACb,wCAAwC;YACxC,4FAA4F;SAC7F;QACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;YACpB,SAAS,GAAG,CAAC,OAAO,CAAC,qHAAqH;YAC1I,oKAAoK;YACpK,uJAAuJ;YACvJ,oKAAoK;YACpK,iJAAiJ;YACjJ,gPAAgP;YAChP,4QAA4Q;YAC5Q,2IAA2I;YAC3I,kUAAkU;YAClU,6BAA6B,GAAG,CAAC,OAAO,CAAC,kGAAkG;YAC3I,2LAA2L;YAC3L,mHAAmH;YACnH,6FAA6F;YAC7F,4LAA4L;YAC5L,0TAA0T;YAC1T,yFAAyF;SAC1F;QACD,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;YAClB,wDAAwD;YACxD,gCAAgC;YAChC,2GAA2G,GAAG,CAAC,OAAO,CAAC,0CAA0C;YACjK,sGAAsG;YACtG,4BAA4B;SAC7B;KACF;IACD,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,2EAA2E;QACxF,gBAAgB,EAAE,0BAA0B;QAC5C,SAAS,EACP,mGAAmG;QACrG,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;QAChD,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE;YACb,8DAA8D;YAC9D,gLAAgL;YAChL,6GAA6G;YAC7G,0DAA0D;SAC3D;QACD,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;YAC5B,4LAA4L;YAC5L,6MAA6M;YAC7M,yMAAyM;YACzM,oLAAoL;YACpL,oOAAoO;YACpO,yBAAyB,CAAC,KAAK,CAAC;YAChC,oMAAoM,kBAAkB,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM;YACjP,iNAAiN;YACjN,qMAAqM;YACrM,iQAAiQ;YACjQ,0OAA0O;YAC1O,4tBAA4tB;YAC5tB,mQAAmQ;YACnQ,0EAA0E;YAC1E,4LAA4L;YAC5L,qRAAqR;YACrR,yFAAyF;SAC1F;QACD,KAAK,EAAE,GAAG,EAAE,CAAC;YACX,wKAAwK;YACxK,4FAA4F;YAC5F,mIAAmI;YACnI,mIAAmI;YACnI,yKAAyK;YACzK,6FAA6F;YAC7F,0GAA0G;YAC1G,oHAAoH;SACrH;KACF;IACD,OAAO,EAAE;QACP,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,sDAAsD;QACnE,SAAS,EAAE,oFAAoF;QAC/F,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;QAChE,aAAa,EAAE;YACb,yEAAyE;YACzE,4FAA4F;SAC7F;QACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;YACpB,SAAS,GAAG,CAAC,OAAO,CAAC,yKAAyK;YAC9L,8JAA8J;YAC9J,4HAA4H;YAC5H,gHAAgH;YAChH,6aAA6a;YAC7a,0LAA0L;YAC1L,0DAA0D,GAAG,CAAC,OAAO,CAAC,iEAAiE;YACvI,mCAAmC,GAAG,CAAC,OAAO,CAAC,4EAA4E,GAAG,CAAC,OAAO,CAAC,2CAA2C;SACnL;QACD,KAAK,EAAE,GAAG,EAAE,CAAC;YACX,4BAA4B;YAC5B,sHAAsH;YACtH,mKAAmK;YACnK,gJAAgJ;YAChJ,iEAAiE;SAClE;KACF;IACD,UAAU,EAAE;QACV,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,kDAAkD;QAC/D,gBAAgB,EAAE,sBAAsB;QACxC,SAAS,EACP,kJAAkJ;QACpJ,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC;QAChE,aAAa,EAAE;YACb,0FAA0F;YAC1F,4FAA4F;SAC7F;QACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;YACpB,kQAAkQ;YAClQ,oSAAoS;YACpS,SAAS,GAAG,CAAC,OAAO,CAAC,6FAA6F;YAClH,6CAA6C,GAAG,CAAC,OAAO,CAAC,+LAA+L;YACxP,gQAAgQ;YAChQ,SAAS,GAAG,CAAC,OAAO,CAAC,kKAAkK;YACvL,SAAS,GAAG,CAAC,OAAO,CAAC,qKAAqK;YAC1L,8MAA8M;YAC9M,oCAAoC,GAAG,CAAC,OAAO,CAAC,sLAAsL;YACtO,gEAAgE,GAAG,CAAC,OAAO,CAAC,8EAA8E,GAAG,CAAC,OAAO,CAAC,0YAA0Y;YAChjB,2ZAA2Z;YAC3Z,gPAAgP;SACjP;QACD,KAAK,EAAE,GAAG,EAAE,CAAC;YACX,uFAAuF;YACvF,sGAAsG;YACtG,6FAA6F;YAC7F,4GAA4G;YAC5G,oGAAoG;YACpG,+HAA+H;SAChI;KACF;IACD,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,iDAAiD;QAC9D,gBAAgB,EAAE,cAAc;QAChC,SAAS,EACP,mNAAmN;QACrN,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,CAAC,MAAM,CAAC;QACrB,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;YACpB,0DAA0D,GAAG,CAAC,OAAO,CAAC,4EAA4E;YAClJ,qOAAqO;YACrO,mJAAmJ;SACpJ;QACD,KAAK,EAAE,GAAG,EAAE,CAAC;YACX,2HAA2H;YAC3H,sIAAsI;SACvI;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,SAAS;IACT,QAAQ;IACR,MAAM;IACN,SAAS;IACT,QAAQ;IACR,SAAS;IACT,UAAU;IACV,QAAQ;CACgC,CAAC;AAE3C,MAAM,CAAC,MAAM,8BAA8B,GAAG,yBAAyB,CAAC;AAExE,MAAM,UAAU,cAAc,CAC5B,KAAoB,EACpB,OAAmB,EACnB,aAAqB;IAErB,MAAM,UAAU,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG;QACZ,GAAG,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC;QACvC,EAAE;QACF,QAAQ,8BAA8B,aAAa,KAAK,UAAU,UAAU,CAAC,IAAI,MAAM;QACvF,EAAE;QACF,UAAU;QACV,yNAAyN;QACzN,EAAE;QACF,eAAe;QACf,GAAG,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC;QACtC,EAAE;QACF,cAAc;QACd,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC;QAC9E,GAAG,CAAC,UAAU,CAAC,EAAE,KAAK,QAAQ;YAC5B,CAAC,CAAC;gBACE,0CAA0C,yBAAyB,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,8DAA8D;aAC1J;YACH,CAAC,CAAC,EAAE,CAAC;QACP,EAAE;QACF,oBAAoB;QACpB,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9C,EAAE;QACF,YAAY;QACZ,oBAAoB;QACpB,EAAE;QACF,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QACzF,EAAE;QACF,UAAU;QACV,GAAG,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7D,EAAE;KACH,CAAC;IACF,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAoB,EAAE,SAAiB;IAC9E,OAAO,QAAQ,8BAA8B,aAAa,KAAK,UAAU,SAAS,MAAM,CAAC;AAC3F,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAoB,EACpB,UAA8B;IAE9B,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,OAAO;YACL,KAAK;YACL,UAAU,UAAU,CAAC,IAAI,GAAG;YAC5B,iBAAiB,UAAU,CAAC,WAAW,GAAG;YAC1C,WAAW;YACX,yBAAyB,UAAU,CAAC,gBAAgB,IAAI,UAAU,CAAC,WAAW,GAAG;YACjF,KAAK;SACN,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,EAAE,SAAS,UAAU,CAAC,IAAI,EAAE,EAAE,iBAAiB,UAAU,CAAC,WAAW,GAAG,EAAE,KAAK,CAAC,CAAC;IAChG,CAAC;IAED,MAAM,WAAW,GAAG;QAClB,KAAK;QACL,SAAS,UAAU,CAAC,IAAI,EAAE;QAC1B,gBAAgB,UAAU,CAAC,WAAW,EAAE;KACzC,CAAC;IACF,IAAI,UAAU,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;QACzC,WAAW,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,UAAU,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACnC,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxB,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAoB,EACpB,UAA8B;IAE9B,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG;QACZ,4DAA4D,OAAO,KAAK;KACzE,CAAC;IACF,IAAI,UAAU,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CACR,4CAA4C,yBAAyB,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,8DAA8D,CAC5J,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,6CAA6C,UAAU,CAAC,EAAE,WAAW,CAAC,CAAC;IACpF,CAAC;IACD,IAAI,UAAU,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,oBAAoB,EAAE,GAAG,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,aAAqB;IAC5D,OAAO,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,aAAqB;IAC3D,OAAO,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,aAAqB;IAC5D,OAAO,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,aAAqB;IAC3D,OAAO,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,aAAqB;IAC1D,OAAO,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,aAAqB;IAC3D,OAAO,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,aAAqB;IACzD,OAAO,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,aAAqB;IACxD,OAAO,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,aAAqB;IACzD,OAAO,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,aAAqB;IAC5D,OAAO,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,aAAqB;IAC3D,OAAO,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,aAAqB;IAC5D,OAAO,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,aAAqB;IAC3D,OAAO,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,aAAqB;IAC1D,OAAO,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,aAAqB;IAC3D,OAAO,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,aAAqB;IAC5D,OAAO,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,aAAqB;IAC3D,OAAO,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,aAAqB;IAC5D,OAAO,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,aAAqB;IAC5D,OAAO,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,aAAqB;IAC3D,OAAO,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,aAAqB;IAC5D,OAAO,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,aAAqB;IAC3D,OAAO,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,aAAqB;IAC1D,OAAO,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,aAAqB;IAC3D,OAAO,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AAC3D,CAAC"}
@@ -11,7 +11,14 @@ const { spawnSync } = require('child_process');
11
11
 
12
12
  const AUTHORING_EXTENSIONS = new Set(['.gd', '.tscn', '.tres']);
13
13
  const CHECK_TIMEOUT_MS = readBoundedPositiveIntEnv('GDH_AUTHORING_HOOK_CHECK_TIMEOUT_MS', 2500, 10000);
14
+ // Phase 82 / LSP-03: session-end ("Stop") freshness barrier. Default 60 s gives
15
+ // real Godot LSP startup + final-mode authoring check headroom; hard cap 300 s
16
+ // keeps the env var from becoming a denial-of-service surface.
17
+ const STOP_TIMEOUT_MS = readBoundedPositiveIntEnv('GDH_AUTHORING_STOP_HOOK_TIMEOUT_MS', 60000, 300000);
14
18
  const MAX_BLOCK_OUTPUT_CHARS = 4000;
19
+ // Phase 82 / Pitfall 6: bound Stop additionalContext to 8000 chars (2000-char
20
+ // headroom under Claude's 10000 cap so the hook payload always lands).
21
+ const MAX_STOP_CONTEXT_CHARS = 8000;
15
22
  let CURRENT_EVENT = '';
16
23
 
17
24
  main();
@@ -23,6 +30,12 @@ function main() {
23
30
  CURRENT_EVENT = hookEvent;
24
31
  if (!targetRoot) return allow();
25
32
  if (hookEvent === 'PostToolUse' || hookEvent === 'FileChanged') return handlePostEdit(input, targetRoot);
33
+ // Phase 82 / LSP-03. The related sub-agent stop event is intentionally NOT
34
+ // wired in this phase (Open Question #3 resolution) — top-level Stop only.
35
+ if (hookEvent === 'Stop') return handleStop(input, targetRoot);
36
+ // Phase 83 / LSP-09. Claude PostToolBatch — coalesced check across parallel tool calls.
37
+ // Codex does not fire this event; the branch is harmless on Codex.
38
+ if (hookEvent === 'PostToolBatch') return handlePostToolBatch(input, targetRoot);
26
39
  return allow();
27
40
  }
28
41
 
@@ -30,6 +43,12 @@ function handlePostEdit(input, targetRoot) {
30
43
  const changed = collectChangedFiles(input, targetRoot);
31
44
  const authoring = changed.filter(isAuthoringValidationPath);
32
45
  if (authoring.length === 0) return allow();
46
+ // Phase 82 / LSP-02: fire-and-forget warmup BEFORE the bounded check. The verb
47
+ // is idempotent (lsp.lock single-attempt; in-flight warmups return "warming"
48
+ // without re-spawning) so spamming on every edit is safe. Hook still returns
49
+ // within CHECK_TIMEOUT_MS regardless of warmup outcome (Pitfall 1: detached +
50
+ // stdio:'ignore' + .unref() means the parent never blocks on the child).
51
+ spawnDetachedWarmup(targetRoot);
33
52
  const changedArgs = authoring.flatMap((file) => ['--changed', file]);
34
53
  // Run one compact fast check. Post-edit checks reuse a running LSP if present,
35
54
  // trust only content-matched broker diagnostics, and avoid cold Godot startup.
@@ -39,21 +58,103 @@ function handlePostEdit(input, targetRoot) {
39
58
  if (result.timedOut) {
40
59
  return context(`GDH post-edit authoring check timed out after ${CHECK_TIMEOUT_MS}ms; continuing without blocking. Run \`gdh authoring check --mode final\` before claiming code-validity.`);
41
60
  }
42
- if (/Completion blocked\./.test(result.output)) {
61
+ // Phase 81 / LSP-06 / D-01: dispatch on bracketed-token vocabulary.
62
+ // Pitfall 5: anchor regex to line-start with /m flag so per-diagnostic
63
+ // [error]/[warning]/[info] severity brackets do not match the status token.
64
+ if (/^\[failed\]/m.test(result.output) || /^\[partial\]/m.test(result.output)) {
43
65
  return block(formatBlockingReason(result.output));
44
66
  }
45
- if (/Completion allowed\./.test(result.output)) {
67
+ if (/^\[fresh\]/m.test(result.output)) {
46
68
  return allow();
47
69
  }
48
- if (/Completion unconfirmed\./.test(result.output)) {
70
+ if (/^\[pending\]/m.test(result.output) || /^\[stale\]/m.test(result.output)) {
49
71
  return context(`GDH post-edit authoring check could not prove this edit quickly; continuing without blocking. ${compactOneLine(result.output || 'Run final authoring validation before claiming code-validity.')}`);
50
72
  }
73
+ if (/^\[timeout\]/m.test(result.output)) {
74
+ return context(`GDH post-edit authoring check returned a timeout status; continuing without blocking. ${compactOneLine(result.output || 'Run final authoring validation before claiming code-validity.')}`);
75
+ }
51
76
  if (!result.ok) {
52
77
  return context(`GDH post-edit authoring check failed before producing diagnostics; continuing without blocking. ${compactOneLine(result.error || result.output || 'Run final authoring validation before claiming code-validity.')}`);
53
78
  }
54
79
  return allow();
55
80
  }
56
81
 
82
+ // Phase 83 / LSP-09. Coalesced authoring check after a Claude PostToolBatch event.
83
+ //
84
+ // Claude fires PostToolBatch after a batch of parallel tool calls (Edit / Write /
85
+ // MultiEdit / apply_patch ...) resolves. Each entry in input.batch_results has the
86
+ // SAME tool_input shape as a PostToolUse event for that tool, so the existing
87
+ // addFromToolPayload + addFile + parsePatchFileNames helpers handle each entry
88
+ // unchanged. We collect the union of authoring files across the batch, dedup via
89
+ // unique() (Pitfall 4), and fire ONE coalesced check.
90
+ //
91
+ // Bracketed-token dispatch is IDENTICAL to handlePostEdit (Pitfall 10):
92
+ // - [failed] / [partial] -> block()
93
+ // - [fresh] -> allow()
94
+ // - [pending] / [stale] -> context() (Pitfall 1: third branch in context() guard handles Claude)
95
+ // - [timeout] -> context()
96
+ // - unknown / runtime -> context()
97
+ //
98
+ // The shared template renders this function for all agents. Only Claude fires
99
+ // the PostToolBatch event; the dispatch branch in main() is never reached on
100
+ // agents that lack the event (e.g. Codex).
101
+ function handlePostToolBatch(input, targetRoot) {
102
+ const batchResults = Array.isArray(input.batch_results) ? input.batch_results : [];
103
+ if (batchResults.length === 0) return allow(); // Pitfall 2: empty batch — no work
104
+
105
+ const baseCwd = input && typeof input.cwd === 'string' ? input.cwd : process.cwd();
106
+ const files = [];
107
+ for (const result of batchResults) {
108
+ // Pitfall 3: failed batch entries may have null/non-object tool_input — skip safely.
109
+ if (!result || typeof result !== 'object') continue;
110
+ if (!result.tool_input || typeof result.tool_input !== 'object') continue;
111
+ addFile(files, result.tool_input.file_path, targetRoot, baseCwd);
112
+ addFromToolPayload(files, result.tool_input, targetRoot, baseCwd);
113
+ const command = typeof result.tool_input.command === 'string' ? result.tool_input.command : '';
114
+ for (const file of parsePatchFileNames(command)) addFile(files, file, targetRoot, baseCwd);
115
+ }
116
+ // Pitfall 4: order-stable dedup via unique() (Set + sort) — same dedup as handlePostEdit.
117
+ const authoring = unique(files).filter(isAuthoringValidationPath);
118
+ if (authoring.length === 0) return allow(); // Pitfall 2: no authoring files — no work
119
+
120
+ // SC2: spawnDetachedWarmup reuses Phase 82's lsp.lock-serialized helper. If a
121
+ // per-edit warmup is already in flight when this fires, the lock primitive
122
+ // returns warming without spawning a second Godot.
123
+ spawnDetachedWarmup(targetRoot);
124
+
125
+ const changedArgs = authoring.flatMap((file) => ['--changed', file]);
126
+ // SC1: ONE coalesced check, not N. Same runGdh envelope as handlePostEdit —
127
+ // do NOT introduce a parallel CLI path.
128
+ const result = runGdh(
129
+ targetRoot,
130
+ ['authoring', 'check', '--target', targetRoot, '--mode', 'post-edit', '--format', 'compact', ...changedArgs],
131
+ { timeoutMs: CHECK_TIMEOUT_MS },
132
+ );
133
+
134
+ if (result.timedOut) {
135
+ return context(`GDH PostToolBatch authoring check timed out after ${CHECK_TIMEOUT_MS}ms; continuing without blocking. Run \`gdh authoring check --mode final\` before claiming code-validity.`);
136
+ }
137
+ // Bracketed-token dispatch — IDENTICAL to handlePostEdit. Pitfall 5 from Phase 81
138
+ // applies: anchor regex with /^.../m so per-diagnostic [error]/[warning]/[info]
139
+ // severity brackets do not match the line-leading status token.
140
+ if (/^\[failed\]/m.test(result.output) || /^\[partial\]/m.test(result.output)) {
141
+ return block(formatBlockingReason(result.output));
142
+ }
143
+ if (/^\[fresh\]/m.test(result.output)) {
144
+ return allow();
145
+ }
146
+ if (/^\[pending\]/m.test(result.output) || /^\[stale\]/m.test(result.output)) {
147
+ return context(`GDH PostToolBatch authoring check could not prove this batch quickly; continuing without blocking. ${compactOneLine(result.output || 'Run final authoring validation before claiming code-validity.')}`);
148
+ }
149
+ if (/^\[timeout\]/m.test(result.output)) {
150
+ return context(`GDH PostToolBatch authoring check returned a timeout status; continuing without blocking. ${compactOneLine(result.output || 'Run final authoring validation before claiming code-validity.')}`);
151
+ }
152
+ if (!result.ok) {
153
+ return context(`GDH PostToolBatch authoring check failed before producing diagnostics; continuing without blocking. ${compactOneLine(result.error || result.output || 'Run final authoring validation before claiming code-validity.')}`);
154
+ }
155
+ return allow();
156
+ }
157
+
57
158
  function runGdh(targetRoot, args, options = {}) {
58
159
  const result = spawnSync('npx', ['-y', `@skillcap/gdh@${PINNED_VERSION}`, ...args], {
59
160
  cwd: targetRoot,
@@ -67,10 +168,93 @@ function runGdh(targetRoot, args, options = {}) {
67
168
  ok: result.status === 0 && !result.error,
68
169
  output,
69
170
  error,
70
- timedOut: Boolean(result.error && result.error.code === 'ETIMEDOUT'),
171
+ timedOut: Boolean(
172
+ (result.error && result.error.code === 'ETIMEDOUT') ||
173
+ result.signal === 'SIGTERM'
174
+ ),
71
175
  };
72
176
  }
73
177
 
178
+ // Phase 82 / LSP-02. Fire-and-forget warmup spawn from the post-edit hook. The
179
+ // hook returns within CHECK_TIMEOUT_MS regardless of whether warmup has finished
180
+ // — Godot startup typically takes 2-5 s, much longer than the 2500 ms cap.
181
+ //
182
+ // All three options are required (Pitfall 1):
183
+ // - detached: true — child gets its own process group, survives parent exit
184
+ // - stdio: 'ignore' — no fds tether the child to the parent's lifecycle
185
+ // - windowsHide: true — prevents a console flash on Windows
186
+ // .unref() is required so the Node event loop does not wait on the child.
187
+ function spawnDetachedWarmup(targetRoot) {
188
+ try {
189
+ const child = require('child_process').spawn(
190
+ 'npx',
191
+ ['-y', `@skillcap/gdh@${PINNED_VERSION}`, 'lsp', 'warmup', '--target', targetRoot],
192
+ {
193
+ cwd: targetRoot,
194
+ detached: true,
195
+ stdio: 'ignore',
196
+ windowsHide: true,
197
+ },
198
+ );
199
+ child.unref();
200
+ } catch (_error) {
201
+ // Silent failure — warmup is fire-and-forget. The bounded check below still runs.
202
+ }
203
+ }
204
+
205
+ // Phase 82 / LSP-03. Session-end ("Stop") freshness barrier.
206
+ //
207
+ // Hard contract:
208
+ // - Runs gdh authoring check --mode final with STOP_TIMEOUT_MS bound (60 s default)
209
+ // - Reports unresolved diagnostics as additionalContext, NEVER decision: block (Pitfall 3)
210
+ // - Degrades to context() on subprocess timeout, error, or Godot crash
211
+ // - additionalContext bounded to MAX_STOP_CONTEXT_CHARS = 8000 (Pitfall 6)
212
+ //
213
+ // Stop hook waits for in-flight warmup naturally: --mode final calls
214
+ // getManagedLspStatus(launch_if_needed) which acquires lsp.lock; if warmup is
215
+ // holding the lock, the 5 s LSP_STATE_LOCK_ACQUIRE_TIMEOUT_MS retry loop inside
216
+ // the lock primitive handles the wait (Pitfall 9 — well within 60 s).
217
+ function handleStop(input, targetRoot) {
218
+ const result = runGdh(
219
+ targetRoot,
220
+ ['authoring', 'check', '--target', targetRoot, '--mode', 'final', '--format', 'compact'],
221
+ { timeoutMs: STOP_TIMEOUT_MS },
222
+ );
223
+ const truncatedSuffix = ' Run `gdh authoring check --mode final` for full output.';
224
+ function stopContext(message) {
225
+ const text = String(message || '').trim();
226
+ const ceiling = MAX_STOP_CONTEXT_CHARS;
227
+ if (text.length <= ceiling) return context(text);
228
+ const headroom = ceiling - truncatedSuffix.length;
229
+ return context(text.slice(0, headroom).trimEnd() + truncatedSuffix);
230
+ }
231
+ if (result.timedOut) {
232
+ return stopContext(
233
+ `GDH session-end check timed out after ${STOP_TIMEOUT_MS}ms; continuing without blocking.` +
234
+ ' Run `gdh authoring check --mode final` manually before claiming code-validity.',
235
+ );
236
+ }
237
+ // Bracketed-token dispatch — same vocabulary as PostToolUse but EVERY branch
238
+ // routes to context() or allow(); decision: block is forbidden on Stop.
239
+ if (/^\[fresh\]/m.test(result.output)) {
240
+ return allow();
241
+ }
242
+ if (/^\[failed\]/m.test(result.output) || /^\[partial\]/m.test(result.output) || /^\[stale\]/m.test(result.output)) {
243
+ return stopContext(`GDH session-end check found unresolved diagnostics: ${compactOneLine(result.output)}`);
244
+ }
245
+ if (/^\[pending\]/m.test(result.output) || /^\[timeout\]/m.test(result.output)) {
246
+ return stopContext(
247
+ 'GDH session-end check did not produce a final result before time bound; continuing without blocking. ' +
248
+ compactOneLine(result.output || 'Run final authoring validation before claiming code-validity.'),
249
+ );
250
+ }
251
+ // Unknown / runtime error: degrade to additionalContext (NEVER block).
252
+ return stopContext(
253
+ 'GDH session-end check could not produce a final result; continuing without blocking. ' +
254
+ compactOneLine(result.output || result.error || 'Run final authoring validation before claiming code-validity.'),
255
+ );
256
+ }
257
+
74
258
  function collectChangedFiles(input, targetRoot) {
75
259
  const baseCwd = input && typeof input.cwd === 'string' ? input.cwd : process.cwd();
76
260
  const files = [];
@@ -161,7 +345,14 @@ function compactOneLine(value) {
161
345
 
162
346
  function allow() { process.exit(0); }
163
347
  function context(additionalContext) {
164
- if (AGENT !== 'codex') return allow();
348
+ // Codex always receives hookSpecificOutput.additionalContext (any event).
349
+ // Claude receives hookSpecificOutput.additionalContext on Stop (Phase 82 / LSP-03) and
350
+ // on PostToolBatch (Phase 83 / LSP-09 — coalesced batch result). Without the third
351
+ // branch below, [pending]/[stale]/[timeout] PostToolBatch results would silently drop
352
+ // additionalContext on Claude — Pitfall 1.
353
+ if (AGENT !== 'codex') {
354
+ if (CURRENT_EVENT !== 'Stop' && CURRENT_EVENT !== 'PostToolBatch') return allow();
355
+ }
165
356
  const payload = { hookSpecificOutput: { hookEventName: CURRENT_EVENT, additionalContext } };
166
357
  process.stdout.write(`${JSON.stringify(payload)}\n`);
167
358
  process.exit(0);
@@ -11,13 +11,13 @@
11
11
  }
12
12
  },
13
13
  "dependencies": {
14
- "@gdh/authoring": "0.25.5",
15
- "@gdh/core": "0.25.5",
16
- "@gdh/docs": "0.25.5",
17
- "@gdh/observability": "0.25.5",
18
- "@gdh/runtime": "0.25.5",
19
- "@gdh/scan": "0.25.5",
20
- "@gdh/verify": "0.25.5"
14
+ "@gdh/authoring": "0.26.0",
15
+ "@gdh/core": "0.26.0",
16
+ "@gdh/docs": "0.26.0",
17
+ "@gdh/observability": "0.26.0",
18
+ "@gdh/runtime": "0.26.0",
19
+ "@gdh/scan": "0.26.0",
20
+ "@gdh/verify": "0.26.0"
21
21
  },
22
- "version": "0.25.5"
22
+ "version": "0.26.0"
23
23
  }
@@ -108,5 +108,6 @@ export declare function resolveDiagnosticsBrokerPaths(stateRootPath: string): {
108
108
  readonly tokenFilePath: string;
109
109
  readonly heartbeatPath: string;
110
110
  readonly snapshotPath: string;
111
+ readonly primedMarkerPath: string;
111
112
  };
112
113
  //# sourceMappingURL=diagnostics-broker-contract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics-broker-contract.d.ts","sourceRoot":"","sources":["../src/diagnostics-broker-contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnostics-broker-contract.d.ts","sourceRoot":"","sources":["../src/diagnostics-broker-contract.ts"],"names":[],"mappings":"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"}
@@ -241,6 +241,7 @@ export function resolveDiagnosticsBrokerPaths(stateRootPath) {
241
241
  tokenFilePath: path.join(brokerDir, "token"),
242
242
  heartbeatPath: path.join(brokerDir, "heartbeat"),
243
243
  snapshotPath: path.join(brokerDir, "snapshot.json"),
244
+ primedMarkerPath: path.join(brokerDir, ".primed"),
244
245
  };
245
246
  }
246
247
  // ─── Internal Path Normalization ──────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics-broker-contract.js","sourceRoot":"","sources":["../src/diagnostics-broker-contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnostics-broker-contract.js","sourceRoot":"","sources":["../src/diagnostics-broker-contract.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@
15
15
  *
16
16
  * ADR: docs/adrs/0003-lsp-based-authoring-validation.md (Persistent Diagnostics Broker Addendum)
17
17
  */
18
- import type { GdhAuthoringStatusResult, GdhDiagnosticsSnapshot, GdhManagedLspStatusResult, GdhProjectConfig } from "@gdh/core";
18
+ import type { GdhAuthoringStatusResult, GdhDiagnosticsSnapshot, GdhManagedLspStatusResult, GdhProjectConfig, GdhRecommendedCommand } from "@gdh/core";
19
19
  export interface GetAuthoringDiagnosticsStatusInput {
20
20
  readonly targetPath: string;
21
21
  readonly status: GdhAuthoringStatusResult;
@@ -50,6 +50,7 @@ export interface DoctorAuthoringDiagnosticsResult {
50
50
  readonly lspStatus: GdhManagedLspStatusResult;
51
51
  readonly recommendations: readonly string[];
52
52
  readonly summary: string;
53
+ readonly recommendedCommand?: GdhRecommendedCommand;
53
54
  }
54
55
  export interface PruneAuthoringDiagnosticsInput {
55
56
  readonly targetPath: string;
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics-broker.d.ts","sourceRoot":"","sources":["../src/diagnostics-broker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAOH,OAAO,KAAK,EAEV,wBAAwB,EAGxB,sBAAsB,EAEtB,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,WAAW,CAAC;AAwCnB,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACjD;AAED,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACjD;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,SAAS,EAAE,yBAAyB,CAAC;IAC9C,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACjD;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAID;;;GAGG;AACH,wBAAsB,6BAA6B,CACjD,KAAK,EAAE,kCAAkC,GACxC,OAAO,CAAC,sBAAsB,CAAC,CAoBjC;AAID;;;;GAIG;AACH,wBAAsB,8BAA8B,CAClD,KAAK,EAAE,mCAAmC,GACzC,OAAO,CAAC,sBAAsB,CAAC,CAuBjC;AAID;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,gCAAgC,GACtC,OAAO,CAAC,iCAAiC,CAAC,CAmH5C;AAID;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,+BAA+B,GACrC,OAAO,CAAC,gCAAgC,CAAC,CA2E3C;AAID;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,8BAA8B,GACpC,OAAO,CAAC,+BAA+B,CAAC,CA0B1C"}
1
+ {"version":3,"file":"diagnostics-broker.d.ts","sourceRoot":"","sources":["../src/diagnostics-broker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAOH,OAAO,KAAK,EAEV,wBAAwB,EAGxB,sBAAsB,EAEtB,yBAAyB,EACzB,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,WAAW,CAAC;AAwCnB,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACjD;AAED,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACjD;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,SAAS,EAAE,yBAAyB,CAAC;IAC9C,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,qBAAqB,CAAC;CACrD;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACjD;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAID;;;GAGG;AACH,wBAAsB,6BAA6B,CACjD,KAAK,EAAE,kCAAkC,GACxC,OAAO,CAAC,sBAAsB,CAAC,CAqBjC;AAID;;;;GAIG;AACH,wBAAsB,8BAA8B,CAClD,KAAK,EAAE,mCAAmC,GACzC,OAAO,CAAC,sBAAsB,CAAC,CAyBjC;AAID;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,gCAAgC,GACtC,OAAO,CAAC,iCAAiC,CAAC,CA2H5C;AAID;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,+BAA+B,GACrC,OAAO,CAAC,gCAAgC,CAAC,CAoF3C;AAID;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,8BAA8B,GACpC,OAAO,CAAC,+BAA+B,CAAC,CA2B1C"}