@skillcap/gdh 0.19.6 → 0.21.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 (71) hide show
  1. package/INSTALL-BUNDLE.json +1 -1
  2. package/RELEASE-SPAN-UPDATE-CONTRACTS.json +147 -0
  3. package/node_modules/@gdh/adapters/dist/index.d.ts.map +1 -1
  4. package/node_modules/@gdh/adapters/dist/index.js +53 -10
  5. package/node_modules/@gdh/adapters/dist/index.js.map +1 -1
  6. package/node_modules/@gdh/adapters/dist/skill-rendering.d.ts.map +1 -1
  7. package/node_modules/@gdh/adapters/dist/skill-rendering.js +7 -4
  8. package/node_modules/@gdh/adapters/dist/skill-rendering.js.map +1 -1
  9. package/node_modules/@gdh/adapters/package.json +8 -8
  10. package/node_modules/@gdh/authoring/dist/index.d.ts +1 -1
  11. package/node_modules/@gdh/authoring/dist/index.d.ts.map +1 -1
  12. package/node_modules/@gdh/authoring/dist/index.js +1 -1
  13. package/node_modules/@gdh/authoring/dist/index.js.map +1 -1
  14. package/node_modules/@gdh/authoring/dist/project.d.ts +1 -0
  15. package/node_modules/@gdh/authoring/dist/project.d.ts.map +1 -1
  16. package/node_modules/@gdh/authoring/dist/project.js +4 -0
  17. package/node_modules/@gdh/authoring/dist/project.js.map +1 -1
  18. package/node_modules/@gdh/authoring/package.json +2 -2
  19. package/node_modules/@gdh/cli/dist/bridge-session.d.ts +21 -0
  20. package/node_modules/@gdh/cli/dist/bridge-session.d.ts.map +1 -0
  21. package/node_modules/@gdh/cli/dist/bridge-session.js +442 -0
  22. package/node_modules/@gdh/cli/dist/bridge-session.js.map +1 -0
  23. package/node_modules/@gdh/cli/dist/index.d.ts.map +1 -1
  24. package/node_modules/@gdh/cli/dist/index.js +70 -30
  25. package/node_modules/@gdh/cli/dist/index.js.map +1 -1
  26. package/node_modules/@gdh/cli/dist/migrate.d.ts +13 -0
  27. package/node_modules/@gdh/cli/dist/migrate.d.ts.map +1 -1
  28. package/node_modules/@gdh/cli/dist/migrate.js +20 -0
  29. package/node_modules/@gdh/cli/dist/migrate.js.map +1 -1
  30. package/node_modules/@gdh/cli/package.json +10 -10
  31. package/node_modules/@gdh/core/dist/index.d.ts +22 -2
  32. package/node_modules/@gdh/core/dist/index.d.ts.map +1 -1
  33. package/node_modules/@gdh/core/dist/index.js +2 -2
  34. package/node_modules/@gdh/core/dist/index.js.map +1 -1
  35. package/node_modules/@gdh/core/dist/local-path-hints.d.ts +22 -1
  36. package/node_modules/@gdh/core/dist/local-path-hints.d.ts.map +1 -1
  37. package/node_modules/@gdh/core/dist/local-path-hints.js +139 -4
  38. package/node_modules/@gdh/core/dist/local-path-hints.js.map +1 -1
  39. package/node_modules/@gdh/core/package.json +1 -1
  40. package/node_modules/@gdh/docs/dist/guidance.d.ts.map +1 -1
  41. package/node_modules/@gdh/docs/dist/guidance.js +12 -2
  42. package/node_modules/@gdh/docs/dist/guidance.js.map +1 -1
  43. package/node_modules/@gdh/docs/package.json +2 -2
  44. package/node_modules/@gdh/mcp/dist/bridge-tools.d.ts +15 -0
  45. package/node_modules/@gdh/mcp/dist/bridge-tools.d.ts.map +1 -0
  46. package/node_modules/@gdh/mcp/dist/bridge-tools.js +111 -0
  47. package/node_modules/@gdh/mcp/dist/bridge-tools.js.map +1 -0
  48. package/node_modules/@gdh/mcp/dist/index.d.ts +3 -2
  49. package/node_modules/@gdh/mcp/dist/index.d.ts.map +1 -1
  50. package/node_modules/@gdh/mcp/dist/index.js +13 -44
  51. package/node_modules/@gdh/mcp/dist/index.js.map +1 -1
  52. package/node_modules/@gdh/mcp/package.json +8 -8
  53. package/node_modules/@gdh/observability/package.json +2 -2
  54. package/node_modules/@gdh/runtime/dist/bridge-broker-client.d.ts +32 -0
  55. package/node_modules/@gdh/runtime/dist/bridge-broker-client.d.ts.map +1 -0
  56. package/node_modules/@gdh/runtime/dist/bridge-broker-client.js +118 -0
  57. package/node_modules/@gdh/runtime/dist/bridge-broker-client.js.map +1 -0
  58. package/node_modules/@gdh/runtime/dist/bridge-broker.d.ts +78 -0
  59. package/node_modules/@gdh/runtime/dist/bridge-broker.d.ts.map +1 -0
  60. package/node_modules/@gdh/runtime/dist/bridge-broker.js +587 -0
  61. package/node_modules/@gdh/runtime/dist/bridge-broker.js.map +1 -0
  62. package/node_modules/@gdh/runtime/dist/index.d.ts +3 -0
  63. package/node_modules/@gdh/runtime/dist/index.d.ts.map +1 -1
  64. package/node_modules/@gdh/runtime/dist/index.js +3 -0
  65. package/node_modules/@gdh/runtime/dist/index.js.map +1 -1
  66. package/node_modules/@gdh/runtime/package.json +2 -2
  67. package/node_modules/@gdh/scan/dist/onboard.js +1 -1
  68. package/node_modules/@gdh/scan/dist/onboard.js.map +1 -1
  69. package/node_modules/@gdh/scan/package.json +3 -3
  70. package/node_modules/@gdh/verify/package.json +7 -7
  71. package/package.json +11 -11
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "product": "GDH",
3
- "version": "0.19.6",
3
+ "version": "0.21.0",
4
4
  "installMode": "packaged_install"
5
5
  }
@@ -2146,6 +2146,153 @@
2146
2146
  }
2147
2147
  ]
2148
2148
  }
2149
+ },
2150
+ {
2151
+ "version": "0.20.0",
2152
+ "releaseTag": "v0.20.0",
2153
+ "migrationStatus": "required",
2154
+ "summary": "v0.20.0 moves bridge-session ownership to host-side broker infrastructure and refreshes generated agent guidance for broker recovery. Existing managed targets need `gdh migrate --apply` because GDH_AGENT_CONTRACT_VERSION moves 5 -> 6 and GDH_GUIDANCE_UNIT_VERSION moves 13 -> 14.",
2155
+ "releaseHighlights": {
2156
+ "summary": "v0.20.0 moves runtime bridge-session ownership into target-local host-side broker infrastructure. CLI and MCP clients can reconnect to the same GDH-owned bridge session after the original client process exits, while stale broker state is reported through status, doctor, and prune guidance.",
2157
+ "operatorChanges": [
2158
+ "**Bridge sessions are broker-owned.** GDH bridge-session commands and MCP bridge tools now route through the local broker so a fresh CLI or MCP client can recover a healthy broker-owned session.",
2159
+ "**Broker cleanup is explicit.** `gdh status`, `gdh bridge session doctor`, and `gdh bridge session prune --stale` distinguish healthy, stale, and pre-broker session state without asking agents to manually kill editor or Godot processes.",
2160
+ "**Generated guidance explains the transition.** Agent skills and authoring guidance now describe pre-broker active session limits, stale old-version broker metadata, and when project-side bridge repair is or is not needed.",
2161
+ "**Release gates prove broker portability.** Public-release checks run broker platform and MCP/CLI recovery tests when the release migration manifest includes `broker_transition`."
2162
+ ]
2163
+ },
2164
+ "updateContract": {
2165
+ "summary": "Managed targets need release-specific migration for v0.20.0 because generated agent skill and guidance surfaces changed for broker recovery. After self-update, run `gdh migrate --apply`, then use status and bridge-session doctor output to classify broker state.",
2166
+ "steps": [
2167
+ {
2168
+ "id": "self_update_broker_package",
2169
+ "kind": "mechanical",
2170
+ "summary": "Install the broker-capable GDH package.",
2171
+ "detail": "Run the normal GDH self-update or package update path. The broker starts on demand from GDH bridge-session clients; users do not start a separate MCP or broker service by hand.",
2172
+ "commands": [
2173
+ "gdh self-update --apply"
2174
+ ],
2175
+ "validationCommands": [
2176
+ "gdh status"
2177
+ ]
2178
+ },
2179
+ {
2180
+ "id": "refresh_generated_guidance",
2181
+ "kind": "mechanical",
2182
+ "summary": "Re-bake generated agent skills and authoring guidance.",
2183
+ "detail": "Run `gdh migrate --apply` so managed agent contract version 6 and guidance unit version 14 are written to the target. This refreshes broker recovery, stale-MCP recovery, prune, and no-unnecessary-bridge-repair wording.",
2184
+ "commands": [
2185
+ "gdh migrate --apply"
2186
+ ],
2187
+ "validationCommands": [
2188
+ "gdh status",
2189
+ "gdh adapters status",
2190
+ "gdh verify drift"
2191
+ ]
2192
+ },
2193
+ {
2194
+ "id": "classify_bridge_session_state",
2195
+ "kind": "agent_reasoning",
2196
+ "summary": "Distinguish healthy broker state from stale or pre-broker state.",
2197
+ "detail": "Use `gdh bridge session doctor` and `gdh bridge session list` to identify healthy broker-owned sessions, stale old-version broker metadata, and pre-broker active bridge sessions. Pre-broker active bridge sessions are not recoverable through broker clients after update.",
2198
+ "commands": [
2199
+ "gdh bridge session doctor",
2200
+ "gdh bridge session list"
2201
+ ],
2202
+ "validationCommands": [
2203
+ "gdh status",
2204
+ "gdh bridge session doctor"
2205
+ ]
2206
+ },
2207
+ {
2208
+ "id": "prune_stale_broker_metadata",
2209
+ "kind": "mechanical",
2210
+ "summary": "Clean only stale GDH-owned broker metadata.",
2211
+ "detail": "Run prune only when doctor reports stale GDH broker metadata. Do not manually kill editor, Godot, or unrelated user processes. Host-side broker recovery does not require `gdh bridge repair`; repair is only for managed Godot addon drift.",
2212
+ "commands": [
2213
+ "gdh bridge session prune --stale"
2214
+ ],
2215
+ "validationCommands": [
2216
+ "gdh bridge session doctor",
2217
+ "gdh status"
2218
+ ]
2219
+ }
2220
+ ]
2221
+ }
2222
+ },
2223
+ {
2224
+ "version": "0.21.0",
2225
+ "releaseTag": "v0.21.0",
2226
+ "migrationStatus": "required",
2227
+ "summary": "v0.21.0 adds global machine-local Godot editor discovery guidance and hardens nested monorepo authoring target canonicalization. Existing managed targets need `gdh migrate --apply` because GDH_AGENT_CONTRACT_VERSION moves 6 -> 7 and GDH_GUIDANCE_UNIT_VERSION moves 14 -> 15.",
2228
+ "releaseHighlights": {
2229
+ "summary": "v0.21.0 improves authoring readiness in real monorepos. GDH can now reuse a machine-wide Godot editor path from `~/.gdh/config.json`, check safe common editor locations before asking for manual setup, and consistently canonicalize nested Godot project inputs back to the onboarded GDH integration root before running authoring validators.",
2230
+ "operatorChanges": [
2231
+ "**Global Godot editor discovery.** Authoring checks, target preparation, and onboarding can resolve the editor path from `GDH_GODOT_EDITOR_BIN`, target-local hints, global `~/.gdh/config.json`, and safe common install locations.",
2232
+ "**Better setup guidance for machine-local paths.** Generated guidance and agent skills now tell agents what GDH already checked before asking for a Godot binary path, and prefer a reusable global config when the path should apply across projects.",
2233
+ "**Nested monorepo authoring checks use the integration root.** Passing a nested primary Godot project path such as `apps/game` no longer causes validators to append `primary_godot_project_path` twice.",
2234
+ "**Release proof covers the nested target regression.** The regression suite now checks `gdh authoring check --target <nested-primary-project>` against a brownfield monorepo fixture."
2235
+ ]
2236
+ },
2237
+ "updateContract": {
2238
+ "summary": "Managed targets need release-specific migration for v0.21.0 because generated agent skill and guidance surfaces changed for Godot editor discovery and nested target handling. After self-update, run `gdh migrate --apply`, then validate status and drift.",
2239
+ "steps": [
2240
+ {
2241
+ "id": "self_update_authoring_package",
2242
+ "kind": "mechanical",
2243
+ "summary": "Install the v0.21.0 GDH package.",
2244
+ "detail": "Run the normal GDH self-update or package update path. This updates CLI behavior for global Godot editor discovery and nested target canonicalization.",
2245
+ "commands": [
2246
+ "gdh self-update --apply"
2247
+ ],
2248
+ "validationCommands": [
2249
+ "gdh status"
2250
+ ]
2251
+ },
2252
+ {
2253
+ "id": "refresh_generated_authoring_guidance",
2254
+ "kind": "mechanical",
2255
+ "summary": "Re-bake generated agent skills and authoring guidance.",
2256
+ "detail": "Run `gdh migrate --apply` so managed agent contract version 7 and guidance unit version 15 are written to the target. This refreshes Godot editor discovery wording and nested-target-safe authoring guidance.",
2257
+ "commands": [
2258
+ "gdh migrate --apply"
2259
+ ],
2260
+ "validationCommands": [
2261
+ "gdh status",
2262
+ "gdh adapters status",
2263
+ "gdh verify drift"
2264
+ ]
2265
+ },
2266
+ {
2267
+ "id": "classify_godot_editor_path_state",
2268
+ "kind": "agent_reasoning",
2269
+ "summary": "Classify machine-local Godot editor path state from structured GDH output.",
2270
+ "detail": "If GDH still reports `godot_editor_not_configured`, explain that environment, target-local hints, global config, and safe common locations were checked. Ask for a local path only after those fail, and prefer global `~/.gdh/config.json` when the path should apply across projects.",
2271
+ "commands": [
2272
+ "gdh status",
2273
+ "gdh target prepare --dry-run"
2274
+ ],
2275
+ "validationCommands": [
2276
+ "gdh authoring check --mode final",
2277
+ "gdh target prepare --dry-run"
2278
+ ]
2279
+ },
2280
+ {
2281
+ "id": "validate_nested_monorepo_target",
2282
+ "kind": "agent_reasoning",
2283
+ "summary": "Confirm nested monorepo targets are invoked from the onboarded integration root.",
2284
+ "detail": "For monorepos whose `.gdh/project.yaml` lives at the repository root and `primary_godot_project_path` points at a nested project, use the repository root as the canonical GDH target. GDH now also canonicalizes nested inputs defensively before authoring validators run.",
2285
+ "commands": [
2286
+ "gdh status",
2287
+ "gdh authoring check --mode final"
2288
+ ],
2289
+ "validationCommands": [
2290
+ "gdh status",
2291
+ "gdh authoring check --mode final"
2292
+ ]
2293
+ }
2294
+ ]
2295
+ }
2149
2296
  }
2150
2297
  ]
2151
2298
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,11 @@ import fs from "node:fs/promises";
4
4
  import os from "node:os";
5
5
  import path from "node:path";
6
6
  import { promisify } from "node:util";
7
- import { readProjectConfig, readWorktreeState, resolveAuthoringStatus, resolvePinnedVersion, resolvePinnedVersionOrNull, resolveProjectRoot, } from "@gdh/authoring";
7
+ import { readProjectConfig, readWorktreeState, resolveAuthoringStatus, resolveEffectiveTargetPath, resolvePinnedVersion, resolvePinnedVersionOrNull, resolveProjectRoot, } from "@gdh/authoring";
8
8
  import { assertProjectLifecycleCompatibilityInvariant, definePackageBoundary, GDH_AGENT_CONTRACT_VERSION, GDH_CURSOR_RULE_VERSION, GDH_GUIDANCE_INDEX_VERSION, GDH_GUIDANCE_UNIT_VERSION, GDH_PROJECT_CONFIG_VERSION, GDH_RECIPE_SCHEMA_VERSION, GDH_RULES_SCHEMA_VERSION, GDH_SCENARIO_SCHEMA_VERSION, resolveConfiguredGodotEditorBin, resolveCurrentGdhInstall, resolveGdhProductMetadata, } from "@gdh/core";
9
9
  import { createDefaultGuidanceUnits, createDefaultRulesDocument, getGuidanceStatus, readRulesDocument, renderRulesYaml, resolveGuidanceQuery, resolveRecoveryHints, } from "@gdh/docs";
10
10
  import { inspectGuidanceAudit } from "@gdh/observability";
11
- import { inspectRuntimeBridgeSurface, inspectRuntimeKnowledgeSurface } from "@gdh/runtime";
11
+ import { inspectRuntimeBridgeBroker, inspectRuntimeBridgeSurface, inspectRuntimeKnowledgeSurface, } from "@gdh/runtime";
12
12
  import { readInventoryCacheOrScan } from "@gdh/scan";
13
13
  import { CLAUDE_SETTINGS_RELATIVE_PATH, patchClaudeSettingsForGdhAuthoringHooks, patchClaudeSettingsForGdhSessionStart, patchClaudeSettingsForGdhStatusline, } from "./claude-settings-patch.js";
14
14
  import { CLAUDE_AUTHORING_HOOK_RELATIVE_PATH, CODEX_AUTHORING_HOOK_COMMAND, CODEX_AUTHORING_HOOK_RELATIVE_PATH, renderGdhAuthoringHook, } from "./authoring-hook-render.js";
@@ -254,7 +254,10 @@ export async function inspectProjectLifecycleCompatibility(targetPath) {
254
254
  }
255
255
  export async function buildGdhStatusResult(targetPath) {
256
256
  const context = await buildAuthoringContext(targetPath);
257
- const projectLifecycle = await inspectProjectLifecycleCompatibility(targetPath);
257
+ const projectLifecycle = await inspectProjectLifecycleCompatibility(context.targetPath);
258
+ const brokerInspection = await inspectRuntimeBridgeBroker({
259
+ targetPath: context.status.targetPath,
260
+ });
258
261
  const runtimeKnowledge = await inspectRuntimeKnowledgeSurface({
259
262
  targetPath: context.status.targetPath,
260
263
  runtimeKnowledgePath: context.projectConfig?.runtimeKnowledge.path ?? null,
@@ -268,18 +271,58 @@ export async function buildGdhStatusResult(targetPath) {
268
271
  detectedProjects,
269
272
  product: resolveGdhProductMetadata(),
270
273
  projectLifecycle,
274
+ runtimeBridgeBroker: summarizeRuntimeBridgeBrokerTransition(brokerInspection.broker),
271
275
  runtimeKnowledge,
272
276
  recoveryHints,
273
277
  };
274
278
  }
279
+ function summarizeRuntimeBridgeBrokerTransition(broker) {
280
+ const state = broker.lifecycle === "ready"
281
+ ? "supported"
282
+ : broker.lifecycle === "missing"
283
+ ? "missing"
284
+ : broker.lifecycle === "stale"
285
+ ? "stale"
286
+ : broker.lifecycle === "incompatible"
287
+ ? "incompatible"
288
+ : "unavailable";
289
+ return {
290
+ state,
291
+ summary: summarizeRuntimeBridgeBrokerLifecycleForStatus(broker.lifecycle),
292
+ broker,
293
+ recoveryCommand: ["gdh", "bridge", "session", "doctor"],
294
+ cleanupCommand: ["gdh", "bridge", "session", "prune"],
295
+ notes: [
296
+ "Post-broker bridge sessions are broker-owned and reconnectable through CLI or MCP clients.",
297
+ "Pre-broker active bridge sessions lived in MCP process memory and cannot be recovered after update or MCP restart.",
298
+ "Host-side broker support does not require `gdh bridge repair` unless GDH reports runtime bridge surface drift separately.",
299
+ "Broker metadata and token files live under `.gdh-state/` and must stay untracked.",
300
+ ],
301
+ };
302
+ }
303
+ function summarizeRuntimeBridgeBrokerLifecycleForStatus(lifecycle) {
304
+ if (lifecycle === "ready") {
305
+ return "Runtime bridge broker is ready for reconnectable CLI/MCP bridge sessions.";
306
+ }
307
+ if (lifecycle === "missing") {
308
+ return "Runtime bridge broker support is available; no broker is running for this target yet.";
309
+ }
310
+ if (lifecycle === "stale") {
311
+ return "Runtime bridge broker metadata is stale; run `gdh bridge session prune` for safe GDH-owned cleanup.";
312
+ }
313
+ if (lifecycle === "incompatible") {
314
+ return "Runtime bridge broker metadata belongs to an incompatible target, protocol, or GDH version.";
315
+ }
316
+ return "Runtime bridge broker state is unavailable; inspect with `gdh bridge session doctor`.";
317
+ }
275
318
  export async function createGsdSnapshot(targetPath, options = {}) {
276
319
  const context = await buildAuthoringContext(targetPath);
277
320
  const effectiveRepoState = deriveRepoState(context);
278
321
  const files = normalizeChangedFiles(options.files ?? []);
279
- const guidance = await getGuidanceStatus(targetPath);
322
+ const guidance = await getGuidanceStatus(context.targetPath);
280
323
  const [audit, guidanceResolve] = await Promise.all([
281
- inspectGuidanceAudit(targetPath),
282
- resolveGuidanceQuery(targetPath, {
324
+ inspectGuidanceAudit(context.targetPath),
325
+ resolveGuidanceQuery(context.targetPath, {
283
326
  taskTypes: ["authoring"],
284
327
  capabilities: context.status.effectiveCapabilities,
285
328
  repoState: effectiveRepoState,
@@ -287,7 +330,7 @@ export async function createGsdSnapshot(targetPath, options = {}) {
287
330
  }),
288
331
  ]);
289
332
  const guidanceStatus = {
290
- targetPath,
333
+ targetPath: context.targetPath,
291
334
  projectConfigPresent: context.projectConfig !== null,
292
335
  authoringReadiness: context.status.readiness,
293
336
  effectiveRepoState,
@@ -295,7 +338,7 @@ export async function createGsdSnapshot(targetPath, options = {}) {
295
338
  audit,
296
339
  };
297
340
  return {
298
- targetPath,
341
+ targetPath: context.targetPath,
299
342
  adapter: {
300
343
  adapter: "gsd",
301
344
  enabledByDefault: false,
@@ -3036,8 +3079,7 @@ function dedupe(values) {
3036
3079
  return [...new Set(values)];
3037
3080
  }
3038
3081
  async function buildAuthoringContext(targetPath) {
3039
- const resolvedRoot = await resolveProjectRoot(targetPath);
3040
- const effectiveTargetPath = resolvedRoot ?? targetPath;
3082
+ const effectiveTargetPath = await resolveEffectiveTargetPath(targetPath);
3041
3083
  const inventoryResult = await readInventoryCacheOrScan(effectiveTargetPath);
3042
3084
  const inventory = inventoryResult.inventory;
3043
3085
  const projectConfig = await readProjectConfig(effectiveTargetPath);
@@ -3049,6 +3091,7 @@ async function buildAuthoringContext(targetPath) {
3049
3091
  worktreeState,
3050
3092
  });
3051
3093
  return {
3094
+ targetPath: effectiveTargetPath,
3052
3095
  inventory,
3053
3096
  projectConfig,
3054
3097
  worktreeState,