@skillcap/gdh 0.26.5 → 0.26.7

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 (73) hide show
  1. package/INSTALL-BUNDLE.json +1 -1
  2. package/RELEASE-SPAN-UPDATE-CONTRACTS.json +117 -0
  3. package/node_modules/@gdh/adapters/dist/index.d.ts.map +1 -1
  4. package/node_modules/@gdh/adapters/dist/index.js +1 -2
  5. package/node_modules/@gdh/adapters/dist/index.js.map +1 -1
  6. package/node_modules/@gdh/adapters/dist/skill-rendering.js +7 -7
  7. package/node_modules/@gdh/adapters/dist/skill-rendering.js.map +1 -1
  8. package/node_modules/@gdh/adapters/dist/templates/authoring-hook.js.tpl +191 -40
  9. package/node_modules/@gdh/adapters/package.json +8 -8
  10. package/node_modules/@gdh/authoring/dist/authoring-state-store.d.ts +3 -0
  11. package/node_modules/@gdh/authoring/dist/authoring-state-store.d.ts.map +1 -0
  12. package/node_modules/@gdh/authoring/dist/authoring-state-store.js +19 -0
  13. package/node_modules/@gdh/authoring/dist/authoring-state-store.js.map +1 -0
  14. package/node_modules/@gdh/authoring/dist/diagnostics-broker-contract.d.ts +15 -21
  15. package/node_modules/@gdh/authoring/dist/diagnostics-broker-contract.d.ts.map +1 -1
  16. package/node_modules/@gdh/authoring/dist/diagnostics-broker-contract.js +22 -37
  17. package/node_modules/@gdh/authoring/dist/diagnostics-broker-contract.js.map +1 -1
  18. package/node_modules/@gdh/authoring/dist/diagnostics-broker.d.ts.map +1 -1
  19. package/node_modules/@gdh/authoring/dist/diagnostics-broker.js +121 -15
  20. package/node_modules/@gdh/authoring/dist/diagnostics-broker.js.map +1 -1
  21. package/node_modules/@gdh/authoring/dist/lsp-broker-snapshot.d.ts +28 -0
  22. package/node_modules/@gdh/authoring/dist/lsp-broker-snapshot.d.ts.map +1 -0
  23. package/node_modules/@gdh/authoring/dist/lsp-broker-snapshot.js +67 -0
  24. package/node_modules/@gdh/authoring/dist/lsp-broker-snapshot.js.map +1 -0
  25. package/node_modules/@gdh/authoring/dist/lsp-test-server.test-utils.d.ts +1 -0
  26. package/node_modules/@gdh/authoring/dist/lsp-test-server.test-utils.d.ts.map +1 -1
  27. package/node_modules/@gdh/authoring/dist/lsp-test-server.test-utils.js +3 -0
  28. package/node_modules/@gdh/authoring/dist/lsp-test-server.test-utils.js.map +1 -1
  29. package/node_modules/@gdh/authoring/dist/lsp-warmup.d.ts.map +1 -1
  30. package/node_modules/@gdh/authoring/dist/lsp-warmup.js +2 -1
  31. package/node_modules/@gdh/authoring/dist/lsp-warmup.js.map +1 -1
  32. package/node_modules/@gdh/authoring/dist/lsp.d.ts.map +1 -1
  33. package/node_modules/@gdh/authoring/dist/lsp.js +11 -73
  34. package/node_modules/@gdh/authoring/dist/lsp.js.map +1 -1
  35. package/node_modules/@gdh/authoring/dist/project.d.ts.map +1 -1
  36. package/node_modules/@gdh/authoring/dist/project.js +24 -8
  37. package/node_modules/@gdh/authoring/dist/project.js.map +1 -1
  38. package/node_modules/@gdh/authoring/dist/scene-resource.d.ts.map +1 -1
  39. package/node_modules/@gdh/authoring/dist/scene-resource.js +73 -29
  40. package/node_modules/@gdh/authoring/dist/scene-resource.js.map +1 -1
  41. package/node_modules/@gdh/authoring/package.json +2 -2
  42. package/node_modules/@gdh/cli/dist/index.js +5 -5
  43. package/node_modules/@gdh/cli/dist/index.js.map +1 -1
  44. package/node_modules/@gdh/cli/dist/migrate.d.ts.map +1 -1
  45. package/node_modules/@gdh/cli/dist/migrate.js +2 -1
  46. package/node_modules/@gdh/cli/dist/migrate.js.map +1 -1
  47. package/node_modules/@gdh/cli/package.json +10 -10
  48. package/node_modules/@gdh/core/dist/index.d.ts +21 -21
  49. package/node_modules/@gdh/core/dist/index.d.ts.map +1 -1
  50. package/node_modules/@gdh/core/dist/index.js +7 -7
  51. package/node_modules/@gdh/core/dist/index.js.map +1 -1
  52. package/node_modules/@gdh/core/package.json +1 -1
  53. package/node_modules/@gdh/docs/dist/agent-contract.d.ts.map +1 -1
  54. package/node_modules/@gdh/docs/dist/agent-contract.js +0 -1
  55. package/node_modules/@gdh/docs/dist/agent-contract.js.map +1 -1
  56. package/node_modules/@gdh/docs/dist/guidance.d.ts.map +1 -1
  57. package/node_modules/@gdh/docs/dist/guidance.js +8 -100
  58. package/node_modules/@gdh/docs/dist/guidance.js.map +1 -1
  59. package/node_modules/@gdh/docs/dist/templates/guidance/authoring-and-validation.md.tpl +15 -103
  60. package/node_modules/@gdh/docs/dist/templates/guidance/project-surfaces.md.tpl +6 -11
  61. package/node_modules/@gdh/docs/package.json +2 -2
  62. package/node_modules/@gdh/mcp/dist/index.d.ts.map +1 -1
  63. package/node_modules/@gdh/mcp/dist/index.js +37 -4
  64. package/node_modules/@gdh/mcp/dist/index.js.map +1 -1
  65. package/node_modules/@gdh/mcp/package.json +8 -8
  66. package/node_modules/@gdh/observability/package.json +2 -2
  67. package/node_modules/@gdh/runtime/package.json +2 -2
  68. package/node_modules/@gdh/scan/package.json +3 -3
  69. package/node_modules/@gdh/verify/package.json +7 -7
  70. package/package.json +11 -11
  71. package/node_modules/@gdh/docs/dist/templates/guidance/gdh-glossary.md.tpl +0 -34
  72. package/node_modules/@gdh/docs/dist/templates/guidance/persistence-semantics.md.tpl +0 -24
  73. package/node_modules/@gdh/docs/dist/templates/guidance/project-migration.md.tpl +0 -19
@@ -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":"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"}
@@ -20,6 +20,7 @@ const { spawnSync } = require('child_process');
20
20
 
21
21
  const AUTHORING_EXTENSIONS = new Set(['.gd', '.tscn', '.tres']);
22
22
  const CHECK_TIMEOUT_MS = readBoundedPositiveIntEnv('GDH_AUTHORING_HOOK_CHECK_TIMEOUT_MS', 2500, 10000);
23
+ const FOREGROUND_REFRESH_TIMEOUT_MS = readBoundedPositiveIntEnv('GDH_AUTHORING_HOOK_REFRESH_TIMEOUT_MS', 8000, 30000);
23
24
  // Phase 82 / LSP-03: session-end ("Stop") freshness barrier. Default 60 s gives
24
25
  // real Godot LSP startup + final-mode authoring check headroom; hard cap 300 s
25
26
  // keeps the env var from becoming a denial-of-service surface.
@@ -52,25 +53,11 @@ function handlePostEdit(input, targetRoot) {
52
53
  const changed = collectChangedFiles(input, targetRoot);
53
54
  const authoring = changed.filter(isAuthoringValidationPath);
54
55
  if (authoring.length === 0) return allow();
55
- // Phase 82 / LSP-02: fire-and-forget scoped diagnostics refresh BEFORE the
56
- // bounded read. The verb calls `refreshAuthoringDiagnostics` which boots
57
- // Godot LSP if needed, opens scoped files via LSP, drains diagnostics, and
58
- // writes `diagnostics-broker/snapshot.json` + `primed` marker. Hook still
59
- // returns within CHECK_TIMEOUT_MS regardless of refresh outcome (Pitfall 1:
60
- // detached + stdio:'ignore' + .unref() means the parent never blocks on
61
- // the child).
62
- spawnDetachedRefresh(targetRoot, authoring);
63
- // Quick task 260504-ix2: embedded broker-snapshot reader. Replaces the
64
- // per-edit synchronous `npx -y @skillcap/gdh@PINNED authoring check ...`
65
- // shellout (which was eating the full `CHECK_TIMEOUT_MS` budget on the npx
66
- // bootstrap path even before any GDH code ran). The reader synthesises the
67
- // same `[fresh]` / `[stale]` / `[pending]` bracketed-token vocabulary the
68
- // existing dispatch already consumes, so the regex ladder below is unchanged.
69
56
  let output;
70
57
  try {
71
- output = runEmbeddedDiagnosticsRead(targetRoot, authoring);
58
+ output = runPostEditDiagnostics(targetRoot, authoring);
72
59
  } catch (_err) {
73
- return context('GDH post-edit hook embedded read threw; continuing without blocking. Run `gdh authoring check --mode final` before claiming code-validity.');
60
+ return context(`GDH post-edit hook embedded read threw; continuing without blocking. Run \`${gdhCommandPrefix()} authoring check --mode final --target ${JSON.stringify(targetRoot)}\` before claiming code-validity.`);
74
61
  }
75
62
  // Phase 81 / LSP-06 / D-01: dispatch on bracketed-token vocabulary.
76
63
  // Pitfall 5: anchor regex to line-start with /m flag so per-diagnostic
@@ -132,23 +119,11 @@ function handlePostToolBatch(input, targetRoot) {
132
119
  const authoring = unique(files).filter(isAuthoringValidationPath);
133
120
  if (authoring.length === 0) return allow(); // Pitfall 2: no authoring files — no work
134
121
 
135
- // SC2: spawnDetachedRefresh reuses the lsp.lock-serialized helper. If a
136
- // per-edit refresh is already in flight when this fires, the broker side
137
- // serializes via the lock primitive — no double-spawn of Godot.
138
- spawnDetachedRefresh(targetRoot, authoring);
139
-
140
- // Quick task 260504-ix2: embedded broker-snapshot reader replaces the
141
- // synchronous `npx ... authoring check` shellout. The reader is invoked
142
- // ONCE with the full deduplicated authoring set — the LSP-09 coalescing
143
- // invariant is preserved: the loop in `runEmbeddedDiagnosticsRead` walks
144
- // every file but returns on the first non-fresh status (first-failure-wins
145
- // is the documented contract; a [stale] in any one file routes the batch
146
- // through the drift dispatch branch).
147
122
  let output;
148
123
  try {
149
- output = runEmbeddedDiagnosticsRead(targetRoot, authoring);
124
+ output = runPostEditDiagnostics(targetRoot, authoring);
150
125
  } catch (_err) {
151
- return context('GDH PostToolBatch hook embedded read threw; continuing without blocking. Run `gdh authoring check --mode final` before claiming code-validity.');
126
+ return context(`GDH PostToolBatch hook embedded read threw; continuing without blocking. Run \`${gdhCommandPrefix()} authoring check --mode final --target ${JSON.stringify(targetRoot)}\` before claiming code-validity.`);
152
127
  }
153
128
 
154
129
  // Bracketed-token dispatch — IDENTICAL to handlePostEdit. Pitfall 5 from Phase 81
@@ -181,6 +156,137 @@ function handlePostToolBatch(input, targetRoot) {
181
156
  // refresh --changed`. Detached spawn still uses `child_process.spawn` directly
182
157
  // (always did).
183
158
 
159
+ // v0.26.6: trust-first post-edit loop.
160
+ //
161
+ // The old v0.26.4/v0.26.5 hook spawned a detached refresh and immediately read
162
+ // the previous broker snapshot. That is a broken proof loop for real edits:
163
+ // each edit changes the content hash, so the synchronous read is guaranteed to
164
+ // see either `file_not_in_snapshot` or `content_hash_mismatch` until a refresh
165
+ // for the new content has completed. The advertised "next edit will be fresh"
166
+ // was therefore false for any edit that changed the file again.
167
+ //
168
+ // New contract:
169
+ // 1. Read current broker snapshot.
170
+ // 2. If blocking ([failed]/[partial]), dispatch immediately.
171
+ // 3. For .gd files only, run a bounded foreground diagnostics refresh, then
172
+ // read broker again. This is the only way a post-edit hook can prove the
173
+ // edited GDScript content it was asked to validate.
174
+ // 4. If foreground refresh cannot prove within budget, spawn detached refresh
175
+ // as a fallback and emit non-blocking context.
176
+ function runPostEditDiagnostics(targetRoot, authoringFiles) {
177
+ const groups = splitAuthoringFiles(authoringFiles);
178
+ let output = '';
179
+ let gdFresh = false;
180
+ let sceneFreshOutput = '';
181
+
182
+ if (groups.gd.length > 0) {
183
+ output = runEmbeddedDiagnosticsRead(targetRoot, groups.gd);
184
+ if (isBlockingDiagnosticsOutput(output)) return output;
185
+ if (isConclusiveDiagnosticsOutput(output) && groups.scene.length === 0 && groups.resource.length === 0 && groups.project.length === 0) {
186
+ return output;
187
+ }
188
+
189
+ const refreshed = runForegroundDiagnosticsRefresh(targetRoot, groups.gd);
190
+ if (refreshed) {
191
+ output = runEmbeddedDiagnosticsRead(targetRoot, groups.gd);
192
+ if (isBlockingDiagnosticsOutput(output)) return output;
193
+ if (isConclusiveDiagnosticsOutput(output) && groups.scene.length === 0 && groups.resource.length === 0 && groups.project.length === 0) {
194
+ return output;
195
+ }
196
+ }
197
+ gdFresh = /^\[fresh\]/m.test(output);
198
+ }
199
+
200
+ if (groups.scene.length > 0) {
201
+ const sceneOutput = runForegroundSceneAuthoringCheck(targetRoot, groups.scene);
202
+ if (sceneOutput && isBlockingDiagnosticsOutput(sceneOutput)) return sceneOutput;
203
+ if (!sceneOutput || !/^\[fresh\]/m.test(sceneOutput)) {
204
+ return sceneOutput || formatStatus('pending', ['scene_validation_not_confirmed']);
205
+ }
206
+ sceneFreshOutput = sceneOutput;
207
+ }
208
+
209
+ if (groups.project.length > 0) {
210
+ return formatStatus('pending', ['project_godot_requires_final_authoring_check']);
211
+ }
212
+
213
+ if (groups.resource.length > 0) {
214
+ return formatStatus('pending', ['tres_scoped_validation_ignored']);
215
+ }
216
+
217
+ if (groups.gd.length > 0 && !gdFresh) {
218
+ spawnDetachedRefresh(targetRoot, groups.gd);
219
+ return output || formatStatus('pending', ['broker_not_yet_primed']);
220
+ }
221
+
222
+ if (groups.scene.length > 0) {
223
+ return sceneFreshOutput;
224
+ }
225
+
226
+ if (groups.gd.length > 0) {
227
+ return output;
228
+ }
229
+
230
+ return formatStatus('pending', ['no_authoring_files_to_check']);
231
+ }
232
+
233
+ function isConclusiveDiagnosticsOutput(output) {
234
+ return /^\[fresh\]/m.test(output) || /^\[failed\]/m.test(output) || /^\[partial\]/m.test(output);
235
+ }
236
+
237
+ function isBlockingDiagnosticsOutput(output) {
238
+ return /^\[failed\]/m.test(output) || /^\[partial\]/m.test(output);
239
+ }
240
+
241
+ function splitAuthoringFiles(files) {
242
+ const inputFiles = Array.isArray(files) ? unique(files) : [];
243
+ return {
244
+ gd: inputFiles.filter(f => path.extname(f).toLowerCase() === '.gd'),
245
+ scene: inputFiles.filter(f => path.extname(f).toLowerCase() === '.tscn'),
246
+ resource: inputFiles.filter(f => path.extname(f).toLowerCase() === '.tres'),
247
+ project: inputFiles.filter(f => path.basename(f) === 'project.godot'),
248
+ };
249
+ }
250
+
251
+ function runForegroundDiagnosticsRefresh(targetRoot, files) {
252
+ const gdFiles = Array.isArray(files) ? unique(files).filter(f => path.extname(f).toLowerCase() === '.gd') : [];
253
+ if (gdFiles.length === 0) return false;
254
+ try {
255
+ const args = ['-y', `@skillcap/gdh@${PINNED_VERSION}`, 'authoring', 'diagnostics', 'refresh', '--target', targetRoot];
256
+ for (const f of gdFiles) args.push('--changed', f);
257
+ const result = spawnSync('npx', args, {
258
+ cwd: targetRoot,
259
+ encoding: 'utf8',
260
+ timeout: FOREGROUND_REFRESH_TIMEOUT_MS,
261
+ windowsHide: true,
262
+ });
263
+ return !!result && !result.error && result.status === 0 && !result.signal;
264
+ } catch (_error) {
265
+ return false;
266
+ }
267
+ }
268
+
269
+ function runForegroundSceneAuthoringCheck(targetRoot, files) {
270
+ const sceneFiles = Array.isArray(files) ? unique(files).filter(f => path.extname(f).toLowerCase() === '.tscn') : [];
271
+ if (sceneFiles.length === 0) return '';
272
+ try {
273
+ const args = ['-y', `@skillcap/gdh@${PINNED_VERSION}`, 'authoring', 'check', '--mode', 'post-edit', '--format', 'compact', '--target', targetRoot];
274
+ for (const f of sceneFiles) args.push('--changed', f);
275
+ const result = spawnSync('npx', args, {
276
+ cwd: targetRoot,
277
+ encoding: 'utf8',
278
+ timeout: FOREGROUND_REFRESH_TIMEOUT_MS,
279
+ windowsHide: true,
280
+ });
281
+ if (!result || result.error || result.signal || result.status !== 0) {
282
+ return formatStatus('pending', ['scene_validation_not_confirmed']);
283
+ }
284
+ return String(result.stdout || '').trim();
285
+ } catch (_error) {
286
+ return formatStatus('pending', ['scene_validation_not_confirmed']);
287
+ }
288
+ }
289
+
184
290
  // Quick task 260504-o6w. Fire-and-forget scoped diagnostics refresh from the
185
291
  // post-edit hook. The CLI verb calls `refreshAuthoringDiagnostics` which boots
186
292
  // Godot LSP if needed, opens scoped files via LSP, drains diagnostics, and
@@ -196,6 +302,7 @@ function handlePostToolBatch(input, targetRoot) {
196
302
  // - windowsHide: true — prevents a console flash on Windows
197
303
  // .unref() is required so the Node event loop does not wait on the child.
198
304
  function spawnDetachedRefresh(targetRoot, files) {
305
+ if (Array.isArray(files) && files.length === 0) return;
199
306
  try {
200
307
  const args = ['-y', `@skillcap/gdh@${PINNED_VERSION}`, 'authoring', 'diagnostics', 'refresh', '--target', targetRoot];
201
308
  if (Array.isArray(files)) {
@@ -256,7 +363,7 @@ function handleStop(input, targetRoot) {
256
363
 
257
364
  let output;
258
365
  try {
259
- output = runEmbeddedDiagnosticsRead(targetRoot, authoringFiles);
366
+ output = runStopDiagnostics(targetRoot, authoringFiles);
260
367
  } catch (_err) {
261
368
  output = '[pending]\nReasons: embedded_read_threw';
262
369
  }
@@ -287,7 +394,7 @@ function handleStop(input, targetRoot) {
287
394
  // `gdh authoring check --mode final` (the relaxed contract — see RFC 0009
288
395
  // addendum 2026-05-04). spawnDetachedRefresh is fire-and-forget; it never
289
396
  // blocks hook return.
290
- spawnDetachedRefresh(targetRoot, authoringFiles);
397
+ spawnDetachedRefresh(targetRoot, splitAuthoringFiles(authoringFiles).gd);
291
398
  return stopContext(
292
399
  'GDH session-end check could not prove final code-validity from the cached broker snapshot; continuing without blocking. ' +
293
400
  'Run `gdh authoring check --mode final` manually before claiming code-validity. ' +
@@ -295,7 +402,7 @@ function handleStop(input, targetRoot) {
295
402
  );
296
403
  }
297
404
  // Unknown status: degrade to additionalContext (NEVER block).
298
- spawnDetachedRefresh(targetRoot, authoringFiles);
405
+ spawnDetachedRefresh(targetRoot, splitAuthoringFiles(authoringFiles).gd);
299
406
  return stopContext(
300
407
  'GDH session-end check could not produce a final result; continuing without blocking. ' +
301
408
  'Run `gdh authoring check --mode final` manually before claiming code-validity. ' +
@@ -303,6 +410,19 @@ function handleStop(input, targetRoot) {
303
410
  );
304
411
  }
305
412
 
413
+ function runStopDiagnostics(targetRoot, authoringFiles) {
414
+ const groups = splitAuthoringFiles(authoringFiles);
415
+ if (groups.gd.length > 0) {
416
+ const gdOutput = runEmbeddedDiagnosticsRead(targetRoot, groups.gd);
417
+ if (!/^\[fresh\]/m.test(gdOutput)) return gdOutput;
418
+ }
419
+ if (groups.scene.length > 0) return formatStatus('pending', ['scene_validation_requires_final_authoring_check']);
420
+ if (groups.resource.length > 0) return formatStatus('pending', ['tres_scoped_validation_ignored']);
421
+ if (groups.project.length > 0) return formatStatus('pending', ['project_godot_requires_final_authoring_check']);
422
+ if (groups.gd.length > 0) return '[fresh] 0 errors, 0 warnings, 0 info. Completion allowed.';
423
+ return formatStatus('pending', ['no_authoring_files_to_check']);
424
+ }
425
+
306
426
  // Quick task 260504-ix2: collect authoring-relevant files in the working tree
307
427
  // under `targetRoot`. Sibling helper to `hasAuthoringWorkInTarget` (which
308
428
  // returns a boolean for the GF3 gate); this returns the list of files for the
@@ -438,6 +558,18 @@ function runEmbeddedDiagnosticsRead(targetRoot, authoringFiles) {
438
558
  return formatStatus('stale', ['content_hash_mismatch']);
439
559
  }
440
560
 
561
+ const collectionState = typeof entry.collectionState === 'string' ? entry.collectionState : 'unavailable';
562
+ const collectionReason = typeof entry.collectionReason === 'string' ? entry.collectionReason : 'legacy_snapshot_missing_collection_state';
563
+ if (collectionState === 'timeout') {
564
+ return formatStatus('timeout', [collectionReason || 'lsp_diagnostics_timeout']);
565
+ }
566
+ if (collectionState === 'unavailable') {
567
+ return formatStatus('failed', [collectionReason || 'lsp_connection_failed']);
568
+ }
569
+ if (collectionState === 'skipped') {
570
+ return formatStatus('pending', [collectionReason || 'unsupported_file_type']);
571
+ }
572
+
441
573
  const updatedMs = Date.parse(entry.lastUpdatedAt);
442
574
  if (!Number.isFinite(updatedMs) || (nowMs - updatedMs) > STALE_AFTER_MS) {
443
575
  return formatStatus('stale', ['freshness_expired']);
@@ -686,19 +818,34 @@ function reasonHint(output, targetRoot, files) {
686
818
  const scopedHint = fileTypeScopedHint(targetArg, files);
687
819
  // First-match-wins ordering: more specific reasons before generic.
688
820
  if (reasons.includes('lsp_instance_identity_mismatch')) {
689
- return `Cross-worktree LSP from another checkout. Run \`gdh lsp prune --target ${targetArg}\` then retry the edit.`;
821
+ return `Cross-worktree LSP from another checkout. Run \`${gdhCommandPrefix()} lsp prune --target ${targetArg}\` then retry the edit.`;
690
822
  }
691
823
  if (reasons.includes('lsp_state_lock_timeout')) {
692
824
  return `Authoring state lock busy; ${describeLspLock(targetRoot)} Retry the scoped command after the current authoring operation finishes. ${scopedHint}`;
693
825
  }
694
826
  if (reasons.includes('lsp_instance_not_running')) {
695
- return `LSP launching in background; next edit will report fresh diagnostics. ${scopedHint}`;
827
+ return `LSP not ready inside hook budget; foreground refresh attempted for .gd files and background refresh is running if needed. ${scopedHint}`;
828
+ }
829
+ if (reasons.includes('lsp_diagnostics_timeout') || reasons.includes('lsp_connection_failed')) {
830
+ return `Godot LSP did not return diagnostics inside the hook budget; do not treat this as clean. ${scopedHint}`;
831
+ }
832
+ if (reasons.includes('scene_validation_not_confirmed')) {
833
+ return `Scene validation did not complete inside the hook budget; do not treat this as clean. ${scopedHint}`;
834
+ }
835
+ if (reasons.includes('scene_validation_requires_final_authoring_check')) {
836
+ return `Stop hooks do not run final scene validation. Run final authoring validation before claiming code-validity. ${scopedHint}`;
837
+ }
838
+ if (reasons.includes('project_godot_requires_final_authoring_check')) {
839
+ return `project.godot is not covered by the LSP broker; run final authoring validation before claiming code-validity.`;
840
+ }
841
+ if (reasons.includes('tres_scoped_validation_ignored')) {
842
+ return `.tres automatic scoped validation is ignored in this GDH version; do not wait on LSP/resource diagnostics for those files.`;
696
843
  }
697
844
  if (reasons.includes('broker_not_yet_primed') || reasons.includes('file_not_in_snapshot')) {
698
- return `Broker priming in background; next edit will be fresh. ${scopedHint}`;
845
+ return `Broker did not contain this edit after bounded refresh; do not treat this as clean. Background refresh is running if needed. ${scopedHint}`;
699
846
  }
700
847
  if (reasons.includes('content_hash_mismatch') || reasons.includes('freshness_expired')) {
701
- return `Broker snapshot stale; background refresh running. ${scopedHint}`;
848
+ return `Broker snapshot stale after bounded refresh; background refresh is running if needed. ${scopedHint}`;
702
849
  }
703
850
  return `Run scoped authoring validation before claiming code-validity. ${scopedHint}`;
704
851
  }
@@ -710,20 +857,24 @@ function fileTypeScopedHint(targetArg, files) {
710
857
  const resourceFiles = inputFiles.filter(f => path.extname(f).toLowerCase() === '.tres');
711
858
  const parts = [];
712
859
  if (gdFiles.length > 0) {
713
- parts.push(`For .gd: \`gdh authoring diagnostics refresh --target ${targetArg}${changedArgs(gdFiles)}\``);
860
+ parts.push(`For .gd: \`${gdhCommandPrefix()} authoring diagnostics refresh --target ${targetArg}${changedArgs(gdFiles)}\``);
714
861
  }
715
862
  if (sceneFiles.length > 0) {
716
- parts.push(`For .tscn: \`gdh authoring check --mode post-edit --target ${targetArg}${changedArgs(sceneFiles)}\``);
863
+ parts.push(`For .tscn: \`${gdhCommandPrefix()} authoring check --mode post-edit --target ${targetArg}${changedArgs(sceneFiles)}\``);
717
864
  }
718
865
  if (resourceFiles.length > 0) {
719
866
  parts.push('.tres automatic scoped validation is ignored in this GDH version; do not wait on LSP/resource diagnostics for those files.');
720
867
  }
721
868
  if (parts.length === 0) {
722
- return `Run \`gdh authoring check --mode final --target ${targetArg}\` before claiming code-validity.`;
869
+ return `Run \`${gdhCommandPrefix()} authoring check --mode final --target ${targetArg}\` before claiming code-validity.`;
723
870
  }
724
871
  return parts.join(' ');
725
872
  }
726
873
 
874
+ function gdhCommandPrefix() {
875
+ return `npx -y @skillcap/gdh@${PINNED_VERSION}`;
876
+ }
877
+
727
878
  function changedArgs(files) {
728
879
  return files.map(f => ` --changed ${JSON.stringify(f)}`).join('');
729
880
  }
@@ -11,13 +11,13 @@
11
11
  }
12
12
  },
13
13
  "dependencies": {
14
- "@gdh/authoring": "0.26.5",
15
- "@gdh/core": "0.26.5",
16
- "@gdh/docs": "0.26.5",
17
- "@gdh/observability": "0.26.5",
18
- "@gdh/runtime": "0.26.5",
19
- "@gdh/scan": "0.26.5",
20
- "@gdh/verify": "0.26.5"
14
+ "@gdh/authoring": "0.26.7",
15
+ "@gdh/core": "0.26.7",
16
+ "@gdh/docs": "0.26.7",
17
+ "@gdh/observability": "0.26.7",
18
+ "@gdh/runtime": "0.26.7",
19
+ "@gdh/scan": "0.26.7",
20
+ "@gdh/verify": "0.26.7"
21
21
  },
22
- "version": "0.26.5"
22
+ "version": "0.26.7"
23
23
  }
@@ -0,0 +1,3 @@
1
+ export declare function writeJsonFileAtomically(filePath: string, value: unknown): Promise<void>;
2
+ export declare function writeTextFileAtomically(filePath: string, content: string): Promise<void>;
3
+ //# sourceMappingURL=authoring-state-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authoring-state-store.d.ts","sourceRoot":"","sources":["../src/authoring-state-store.ts"],"names":[],"mappings":"AAIA,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAcf"}
@@ -0,0 +1,19 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import fs from "node:fs/promises";
3
+ import path from "node:path";
4
+ export async function writeJsonFileAtomically(filePath, value) {
5
+ await writeTextFileAtomically(filePath, JSON.stringify(value, null, 2));
6
+ }
7
+ export async function writeTextFileAtomically(filePath, content) {
8
+ const directoryPath = path.dirname(filePath);
9
+ const tempPath = path.join(directoryPath, `.${path.basename(filePath)}.${process.pid}.${Date.now()}.${randomUUID()}.tmp`);
10
+ await fs.mkdir(directoryPath, { recursive: true });
11
+ try {
12
+ await fs.writeFile(tempPath, content, "utf8");
13
+ await fs.rename(tempPath, filePath);
14
+ }
15
+ finally {
16
+ await fs.rm(tempPath, { force: true }).catch(() => undefined);
17
+ }
18
+ }
19
+ //# sourceMappingURL=authoring-state-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authoring-state-store.js","sourceRoot":"","sources":["../src/authoring-state-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,QAAgB,EAChB,KAAc;IAEd,MAAM,uBAAuB,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,QAAgB,EAChB,OAAe;IAEf,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,aAAa,EACb,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,UAAU,EAAE,MAAM,CAC/E,CAAC;IAEF,MAAM,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;AACH,CAAC"}
@@ -4,10 +4,10 @@
4
4
  * Defines the types, constants, identity normalization helpers, and health
5
5
  * classification logic for the persistent diagnostics broker.
6
6
  *
7
- * The broker is target/worktree scoped, local-only (loopback), and
8
- * token-protected. Its state lives under `.gdh-state/authoring/diagnostics-broker/`.
9
- * It builds on the existing managed LSP lifecycle rather than introducing
10
- * a second Godot editor process.
7
+ * The authoring diagnostics broker is a target/worktree-scoped, file-backed
8
+ * snapshot. Its state lives under `.gdh-state/authoring/diagnostics-broker/`.
9
+ * It builds on the existing managed LSP lifecycle rather than introducing a
10
+ * second Godot editor process or separate diagnostics daemon.
11
11
  *
12
12
  * Raw LSP payloads are provenance only. All product-facing shapes use
13
13
  * `GdhAuthoringDiagnostic` from `@gdh/core`.
@@ -16,8 +16,8 @@
16
16
  * ADR: docs/adrs/0003-lsp-based-authoring-validation.md (Persistent Diagnostics Broker Addendum)
17
17
  */
18
18
  import type { GdhDiagnosticsBrokerHealth, GdhDiagnosticsBrokerMetadata, GdhDiagnosticsBrokerTargetIdentity, GdhDiagnosticsFreshnessState, GdhDiagnosticsFileSnapshot, GdhDiagnosticsSnapshot } from "@gdh/core";
19
- import { GDH_DIAGNOSTICS_BROKER_DEFAULT_HEARTBEAT_STALE_AFTER_MS, GDH_DIAGNOSTICS_BROKER_LOOPBACK_HOST, GDH_DIAGNOSTICS_BROKER_PROTOCOL_VERSION, GDH_DIAGNOSTICS_BROKER_STATE_RELATIVE_PATH } from "@gdh/core";
20
- export { GDH_DIAGNOSTICS_BROKER_DEFAULT_HEARTBEAT_STALE_AFTER_MS, GDH_DIAGNOSTICS_BROKER_LOOPBACK_HOST, GDH_DIAGNOSTICS_BROKER_PROTOCOL_VERSION, GDH_DIAGNOSTICS_BROKER_STATE_RELATIVE_PATH, };
19
+ import { GDH_DIAGNOSTICS_BROKER_PROTOCOL_VERSION, GDH_DIAGNOSTICS_BROKER_STATE_RELATIVE_PATH } from "@gdh/core";
20
+ export { GDH_DIAGNOSTICS_BROKER_PROTOCOL_VERSION, GDH_DIAGNOSTICS_BROKER_STATE_RELATIVE_PATH, };
21
21
  export declare const DIAGNOSTICS_BROKER_DEFAULT_FRESHNESS_STALE_AFTER_MS = 60000;
22
22
  export type GdhDiagnosticsBrokerPathStyle = "posix" | "win32";
23
23
  export interface NormalizeDiagnosticsBrokerTargetIdentityInput {
@@ -34,24 +34,21 @@ export interface NormalizeDiagnosticsBrokerTargetIdentityInput {
34
34
  * trailing separators, and relative segments.
35
35
  */
36
36
  export declare function normalizeDiagnosticsBrokerTargetIdentity(input: NormalizeDiagnosticsBrokerTargetIdentityInput): GdhDiagnosticsBrokerTargetIdentity;
37
- export interface ValidateDiagnosticsBrokerHandshakeInput {
37
+ export interface ValidateDiagnosticsBrokerMetadataInput {
38
38
  readonly expectedIdentity: GdhDiagnosticsBrokerTargetIdentity;
39
39
  readonly metadata: GdhDiagnosticsBrokerMetadata | null;
40
40
  readonly expectedGdhVersion: string;
41
- readonly tokenPresent: boolean;
42
- readonly pidAlive: boolean;
43
- readonly nowMs?: number;
44
- readonly heartbeatStaleAfterMs?: number;
45
41
  }
46
42
  /**
47
- * Validate broker metadata and classify its health state.
43
+ * Validate file-backed broker snapshot metadata and classify its health state.
48
44
  *
49
- * Returns `missing` if metadata is null.
50
- * Returns `incompatible` for protocol, GDH version, or identity mismatches.
51
- * Returns `stale` for token, heartbeat, or process failures.
52
- * Returns `ready` when all checks pass.
45
+ * Returns `missing` if metadata is null, `incompatible` for protocol, GDH
46
+ * version, or identity mismatches, and `ready` when the snapshot metadata
47
+ * matches the current target. Live LSP availability is classified by
48
+ * diagnostics-broker.ts against the managed LSP instance, not by a separate
49
+ * daemon/heartbeat handshake.
53
50
  */
54
- export declare function validateDiagnosticsBrokerHandshake(input: ValidateDiagnosticsBrokerHandshakeInput): GdhDiagnosticsBrokerHealth;
51
+ export declare function validateDiagnosticsBrokerMetadata(input: ValidateDiagnosticsBrokerMetadataInput): GdhDiagnosticsBrokerHealth;
55
52
  export interface ClassifyDiagnosticsFreshnessInput {
56
53
  readonly fileSnapshot: GdhDiagnosticsFileSnapshot | null;
57
54
  readonly nowMs?: number;
@@ -61,7 +58,7 @@ export interface ClassifyDiagnosticsFreshnessInput {
61
58
  * Classify the freshness state of a file's diagnostics snapshot.
62
59
  *
63
60
  * - `missing`: no snapshot exists for this file
64
- * - `unavailable`: snapshot exists but LSP instance identity is missing (broker degraded)
61
+ * - `unavailable`: snapshot exists but collection did not complete or LSP instance identity is missing
65
62
  * - `stale`: snapshot is older than the configured staleness threshold
66
63
  * - `fresh`: snapshot is within the staleness threshold
67
64
  */
@@ -104,9 +101,6 @@ export declare function buildDiagnosticsSnapshot(health: GdhDiagnosticsBrokerHea
104
101
  */
105
102
  export declare function resolveDiagnosticsBrokerPaths(stateRootPath: string): {
106
103
  readonly brokerDir: string;
107
- readonly metadataPath: string;
108
- readonly tokenFilePath: string;
109
- readonly heartbeatPath: string;
110
104
  readonly snapshotPath: string;
111
105
  readonly primedMarkerPath: string;
112
106
  };
@@ -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":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EACV,0BAA0B,EAC1B,4BAA4B,EAE5B,kCAAkC,EAClC,4BAA4B,EAC5B,0BAA0B,EAC1B,sBAAsB,EACvB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,uCAAuC,EACvC,0CAA0C,EAC3C,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,uCAAuC,EACvC,0CAA0C,GAC3C,CAAC;AAEF,eAAO,MAAM,mDAAmD,QAAS,CAAC;AAE1E,MAAM,MAAM,6BAA6B,GAAG,OAAO,GAAG,OAAO,CAAC;AAI9D,MAAM,WAAW,6CAA6C;IAC5D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,6BAA6B,CAAC;CACpD;AAED;;;;;;GAMG;AACH,wBAAgB,wCAAwC,CACtD,KAAK,EAAE,6CAA6C,GACnD,kCAAkC,CA0BpC;AAID,MAAM,WAAW,sCAAsC;IACrD,QAAQ,CAAC,gBAAgB,EAAE,kCAAkC,CAAC;IAC9D,QAAQ,CAAC,QAAQ,EAAE,4BAA4B,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC;AAED;;;;;;;;GAQG;AACH,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,sCAAsC,GAC5C,0BAA0B,CA4C5B;AA0BD,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,YAAY,EAAE,0BAA0B,GAAG,IAAI,CAAC;IACzD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,iCAAiC,GACvC,4BAA4B,CA6B9B;AAID,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,KAAK,EAAE,SAAS,0BAA0B,EAAE,CAAC;IACtD,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,8BAA8B,GACpC,4BAA4B,CA6B9B;AAID;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,SAAS,0BAA0B,EAAE,GAAG;IACxF,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB,CAcA;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,0BAA0B,EAClC,KAAK,EAAE,SAAS,0BAA0B,EAAE,EAC5C,OAAO,GAAE;IACP,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAC3B,GACL,sBAAsB,CAsBxB;AAID;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,aAAa,EAAE,MAAM,GAAG;IACpE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC,CAOA"}