@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
@@ -5,15 +5,16 @@ import os from "node:os";
5
5
  import path from "node:path";
6
6
  import { fileURLToPath } from "node:url";
7
7
  import { buildGdhStatusResult, CLAUDE_CHECK_SKILL_RELATIVE_PATH, CLAUDE_CHECK_UPDATE_HOOK_RELATIVE_PATH, CLAUDE_MIGRATE_SKILL_RELATIVE_PATH, CLAUDE_ONBOARD_SKILL_RELATIVE_PATH, CLAUDE_PREPARE_SKILL_RELATIVE_PATH, CLAUDE_SCAN_SKILL_RELATIVE_PATH, CLAUDE_STATUS_SKILL_RELATIVE_PATH, CODEX_CHECK_SKILL_RELATIVE_PATH, CODEX_MIGRATE_SKILL_RELATIVE_PATH, CODEX_ONBOARD_SKILL_RELATIVE_PATH, CODEX_PREPARE_SKILL_RELATIVE_PATH, CODEX_SCAN_SKILL_RELATIVE_PATH, CODEX_STATUS_SKILL_RELATIVE_PATH, CURSOR_CHECK_SKILL_RELATIVE_PATH, CURSOR_MIGRATE_SKILL_RELATIVE_PATH, CURSOR_ONBOARD_SKILL_RELATIVE_PATH, CURSOR_PREPARE_SKILL_RELATIVE_PATH, CURSOR_SCAN_SKILL_RELATIVE_PATH, CURSOR_STATUS_SKILL_RELATIVE_PATH, createGsdSnapshot, getSupportedAgentAdaptersStatus, installSupportedAgentAdapters, } from "@gdh/adapters";
8
- import { checkManagedLsp, doctorManagedLsp, getManagedLspStatus, hasCompleteOnboardingSurface, inspectCacheState, pruneCacheState, pruneManagedLsp, readProjectConfig, readWorktreeState, resolveAuthoringStatus, resolvePinnedVersion, resolveProjectRoot, resolveTargetGodotDocsVersion, restartManagedLsp, runAuthoringCheck, runImportRefresh, runTargetPrepare, runWarmup, stopManagedLsp, } from "@gdh/authoring";
8
+ import { checkManagedLsp, doctorManagedLsp, getManagedLspStatus, hasCompleteOnboardingSurface, inspectCacheState, pruneCacheState, pruneManagedLsp, readProjectConfig, readWorktreeState, resolveAuthoringStatus, resolveEffectiveTargetPath, resolvePinnedVersion, resolveProjectRoot, resolveTargetGodotDocsVersion, restartManagedLsp, runAuthoringCheck, runImportRefresh, runTargetPrepare, runWarmup, stopManagedLsp, } from "@gdh/authoring";
9
9
  import { definePackageBoundary, GDH_AUTHORING_DOGFOOD_VERSION, GDH_AUTHORING_SLICE_REPORT_VERSION, GDH_PRODUCT_NAME, resolveCurrentGdhInstall, resolveGdhProductMetadata, } from "@gdh/core";
10
10
  import { fetchOfficialGodotDoc, getGuidanceStatus, resolveGuidanceQuery, searchOfficialGodotDocs, } from "@gdh/docs";
11
11
  import { createMcpManifest, invokeMcpTool, serveMcpOverStdio } from "@gdh/mcp";
12
12
  import { inspectAuthoringEffectiveness, inspectAuthoringSessions, inspectGuidanceAudit, recordAuthoringSessionEvent, } from "@gdh/observability";
13
- import { checkRuntimeRecipe, inspectRuntimeBridgeSurface, installRuntimeBridgeSurface, listRuntimeRecipes, removeRuntimeBridgeSurface, repairRuntimeBridgeSurface, runRuntimeRecipe, showRuntimeRecipe, } from "@gdh/runtime";
13
+ import { checkRuntimeRecipe, createRuntimeBridgeManager, serveRuntimeBridgeBroker, inspectRuntimeBridgeSurface, installRuntimeBridgeSurface, listRuntimeRecipes, removeRuntimeBridgeSurface, repairRuntimeBridgeSurface, runRuntimeRecipe, showRuntimeRecipe, } from "@gdh/runtime";
14
14
  import { applyRepairableOnboardingWrites, onboardGodotProject, persistInventoryForTarget, readInventoryCacheOrScan, scanGodotProjectInventory, } from "@gdh/scan";
15
15
  import { exerciseRuntimeCorpusEntry, inspectRuntimeCorpusStatus, inspectRuntimeVerificationBundleState, inspectRuntimeVerificationReadiness, listRuntimeScenarios, materializeRuntimeCorpusEntry, recordRuntimeCorpusValidation, runRuntimeVerificationScenario, showRuntimeScenario, } from "@gdh/verify";
16
16
  import { migrateProjectLifecycleSurface } from "./migrate.js";
17
+ import { runBridgeSessionCommand } from "./bridge-session.js";
17
18
  import { cleanupGdhMcpProcesses } from "./mcp-cleanup.js";
18
19
  import { presentPublicRuntimeTerms } from "./public-terms.js";
19
20
  import { runSelfUpdateCommand } from "./self-update.js";
@@ -57,6 +58,9 @@ export async function runCli(args, io = { stdout: process.stdout, stderr: proces
57
58
  io.stdout.write(`${JSON.stringify({ targetPath })}\n`);
58
59
  return 0;
59
60
  }
61
+ if (command === "__gdh-broker-serve") {
62
+ return runInternalBrokerServeCommand(rest, io);
63
+ }
60
64
  if (command === "version") {
61
65
  return runVersionCommand(rest, io);
62
66
  }
@@ -132,6 +136,39 @@ export async function runCli(args, io = { stdout: process.stdout, stderr: proces
132
136
  io.stderr.write(`Unknown command: ${command}\n\n${renderHelp()}`);
133
137
  return 1;
134
138
  }
139
+ async function runInternalBrokerServeCommand(args, io) {
140
+ const targetPath = readSingleOptionValue(args, "--target");
141
+ const godotProjectRootPath = readSingleOptionValue(args, "--godot-project-root");
142
+ const stateRootPath = readSingleOptionValue(args, "--state-root");
143
+ const tokenFilePath = readSingleOptionValue(args, "--token-file");
144
+ const metadataPath = readSingleOptionValue(args, "--metadata-file");
145
+ const heartbeatPath = readSingleOptionValue(args, "--heartbeat-file");
146
+ if (targetPath === null ||
147
+ godotProjectRootPath === null ||
148
+ stateRootPath === null ||
149
+ tokenFilePath === null ||
150
+ metadataPath === null ||
151
+ heartbeatPath === null) {
152
+ io.stderr.write("Usage error: internal broker serve requires target, state, token, metadata, and heartbeat paths.\n");
153
+ return 1;
154
+ }
155
+ try {
156
+ await serveRuntimeBridgeBroker({
157
+ targetPath,
158
+ godotProjectRootPath,
159
+ stateRootPath,
160
+ tokenFilePath,
161
+ metadataPath,
162
+ heartbeatPath,
163
+ bridgeManager: createRuntimeBridgeManager(),
164
+ });
165
+ return 0;
166
+ }
167
+ catch (error) {
168
+ io.stderr.write(`Failed to serve the GDH runtime bridge broker: ${formatCliError(error)}\n`);
169
+ return 1;
170
+ }
171
+ }
135
172
  export function writeJsonResult(io, value, options = {}) {
136
173
  const output = options.presentRuntimeTerms ? presentPublicRuntimeTerms(value) : value;
137
174
  io.stdout.write(`${JSON.stringify(output, null, 2)}\n`);
@@ -573,7 +610,7 @@ async function runDocsVersionCommand(args, io) {
573
610
  try {
574
611
  const context = await buildAuthoringContext(targetPath);
575
612
  const result = resolveTargetGodotDocsVersion({
576
- targetPath,
613
+ targetPath: context.targetPath,
577
614
  inventory: context.inventory,
578
615
  projectConfig: context.projectConfig,
579
616
  requestedProjectPath,
@@ -628,7 +665,7 @@ async function runDocsSearchCommand(args, io) {
628
665
  try {
629
666
  const context = await buildAuthoringContext(targetPath);
630
667
  const docsVersion = resolveTargetGodotDocsVersion({
631
- targetPath,
668
+ targetPath: context.targetPath,
632
669
  inventory: context.inventory,
633
670
  projectConfig: context.projectConfig,
634
671
  requestedProjectPath,
@@ -678,7 +715,7 @@ async function runDocsFetchCommand(args, io) {
678
715
  try {
679
716
  const context = await buildAuthoringContext(targetPath);
680
717
  const docsVersion = resolveTargetGodotDocsVersion({
681
- targetPath,
718
+ targetPath: context.targetPath,
682
719
  inventory: context.inventory,
683
720
  projectConfig: context.projectConfig,
684
721
  requestedProjectPath,
@@ -718,14 +755,14 @@ async function runAuthoringCheckCommand(args, io) {
718
755
  try {
719
756
  const context = await buildAuthoringContext(targetPath);
720
757
  const result = await runAuthoringCheck({
721
- targetPath,
758
+ targetPath: context.targetPath,
722
759
  status: context.status,
723
760
  projectConfig: context.projectConfig,
724
761
  mode,
725
762
  changedFiles,
726
763
  severityPolicy,
727
764
  });
728
- await recordSessionEvent(targetPath, {
765
+ await recordSessionEvent(context.targetPath, {
729
766
  commandStartedAtMs,
730
767
  kind: "authoring_check",
731
768
  command: formatAuthoringCheckCommand({ mode, changedFiles, severityPolicy, outputFormat }),
@@ -929,7 +966,7 @@ async function runLspStatusCommand(args, io) {
929
966
  try {
930
967
  const context = await buildAuthoringContext(targetPath);
931
968
  const result = await getManagedLspStatus({
932
- targetPath,
969
+ targetPath: context.targetPath,
933
970
  status: context.status,
934
971
  projectConfig: context.projectConfig,
935
972
  owner: "gdh lsp status",
@@ -964,7 +1001,7 @@ async function runLspLifecycleCommand(command, args, io) {
964
1001
  try {
965
1002
  const context = await buildAuthoringContext(targetPath);
966
1003
  const input = {
967
- targetPath,
1004
+ targetPath: context.targetPath,
968
1005
  status: context.status,
969
1006
  projectConfig: context.projectConfig,
970
1007
  };
@@ -1033,7 +1070,7 @@ async function runWarmupCommand(args, io) {
1033
1070
  try {
1034
1071
  const context = await buildAuthoringContext(targetPath);
1035
1072
  const result = await runWarmup({
1036
- targetPath,
1073
+ targetPath: context.targetPath,
1037
1074
  status: context.status,
1038
1075
  projectConfig: context.projectConfig,
1039
1076
  dryRun,
@@ -1101,7 +1138,7 @@ async function runTargetPrepareCommand(args, io) {
1101
1138
  try {
1102
1139
  const context = await buildAuthoringContext(targetPath);
1103
1140
  const result = await runTargetPrepare({
1104
- targetPath,
1141
+ targetPath: context.targetPath,
1105
1142
  status: context.status,
1106
1143
  projectConfig: context.projectConfig,
1107
1144
  sourceTargetPath,
@@ -1188,7 +1225,7 @@ async function runImportsRefreshCommand(args, io) {
1188
1225
  try {
1189
1226
  const context = await buildAuthoringContext(targetPath);
1190
1227
  const result = await runImportRefresh({
1191
- targetPath,
1228
+ targetPath: context.targetPath,
1192
1229
  status: context.status,
1193
1230
  projectConfig: context.projectConfig,
1194
1231
  dryRun,
@@ -1653,6 +1690,7 @@ async function runBridgeCommand(args, io) {
1653
1690
  "",
1654
1691
  "Commands:",
1655
1692
  " status [target] Inspect the managed runtime bridge lifecycle state for one target.",
1693
+ " session <command> [target] Operate broker-owned runtime bridge sessions.",
1656
1694
  " doctor [target] Alias for status with the same structured bridge-health report.",
1657
1695
  " install [target] [--dry-run] Install the managed runtime bridge addon and autoload surfaces.",
1658
1696
  " repair [target] [--dry-run] Rewrite drifted GDH-managed bridge files and autoload state.",
@@ -1663,6 +1701,9 @@ async function runBridgeCommand(args, io) {
1663
1701
  if (subcommand === "status") {
1664
1702
  return runBridgeStatusCommand(rest, io);
1665
1703
  }
1704
+ if (subcommand === "session") {
1705
+ return runBridgeSessionCommand(rest, io);
1706
+ }
1666
1707
  if (subcommand === "doctor") {
1667
1708
  return runBridgeStatusCommand(rest, io);
1668
1709
  }
@@ -1679,6 +1720,7 @@ async function runBridgeCommand(args, io) {
1679
1720
  `Unknown bridge command: ${subcommand}`,
1680
1721
  "",
1681
1722
  "Usage: gdh bridge status [target]",
1723
+ "Usage: gdh bridge session <command> [target]",
1682
1724
  "Usage: gdh bridge doctor [target]",
1683
1725
  "Usage: gdh bridge install [target] [--dry-run]",
1684
1726
  "Usage: gdh bridge repair [target] [--dry-run]",
@@ -2535,10 +2577,6 @@ async function runMcpInvokeCommand(args, io) {
2535
2577
  return 1;
2536
2578
  }
2537
2579
  }
2538
- async function resolveEffectiveTargetPath(targetPath) {
2539
- const resolvedRoot = await resolveProjectRoot(targetPath);
2540
- return resolvedRoot ?? targetPath;
2541
- }
2542
2580
  async function buildAuthoringContext(targetPath, io) {
2543
2581
  const effectiveTargetPath = await resolveEffectiveTargetPath(targetPath);
2544
2582
  const inventoryResult = await readInventoryCacheOrScan(effectiveTargetPath);
@@ -2555,6 +2593,7 @@ async function buildAuthoringContext(targetPath, io) {
2555
2593
  worktreeState,
2556
2594
  });
2557
2595
  return {
2596
+ targetPath: effectiveTargetPath,
2558
2597
  inventory,
2559
2598
  projectConfig,
2560
2599
  worktreeState,
@@ -3141,7 +3180,7 @@ async function runCacheInspectCommand(args, io) {
3141
3180
  try {
3142
3181
  const context = await buildAuthoringContext(targetPath);
3143
3182
  const result = await inspectCacheState({
3144
- targetPath,
3183
+ targetPath: context.targetPath,
3145
3184
  status: context.status,
3146
3185
  projectConfig: context.projectConfig,
3147
3186
  });
@@ -3181,11 +3220,11 @@ async function runGuidanceStatusCommand(args, io) {
3181
3220
  const context = await buildAuthoringContext(targetPath);
3182
3221
  const effectiveRepoState = deriveGuidanceRepoState(context);
3183
3222
  const [guidance, audit] = await Promise.all([
3184
- getGuidanceStatus(targetPath),
3185
- inspectGuidanceAudit(targetPath),
3223
+ getGuidanceStatus(context.targetPath),
3224
+ inspectGuidanceAudit(context.targetPath),
3186
3225
  ]);
3187
3226
  const result = {
3188
- targetPath,
3227
+ targetPath: context.targetPath,
3189
3228
  projectConfigPresent: context.projectConfig !== null,
3190
3229
  authoringReadiness: context.status.readiness,
3191
3230
  effectiveRepoState,
@@ -3255,7 +3294,7 @@ async function runGuidanceResolveCommand(args, io) {
3255
3294
  const context = await buildAuthoringContext(targetPath);
3256
3295
  const derivedRepoState = deriveGuidanceRepoState(context);
3257
3296
  const repoStateArgs = collectOptionValues(args, "--repo-state");
3258
- const result = await resolveGuidanceQuery(targetPath, {
3297
+ const result = await resolveGuidanceQuery(context.targetPath, {
3259
3298
  taskTypes: collectOptionValues(args, "--task-type"),
3260
3299
  capabilities: collectOptionValues(args, "--capability"),
3261
3300
  repoState: repoStateArgs.length > 0 ? repoStateArgs : derivedRepoState,
@@ -3449,7 +3488,7 @@ async function runCachePruneCommand(args, io) {
3449
3488
  try {
3450
3489
  const context = await buildAuthoringContext(targetPath);
3451
3490
  const result = await pruneCacheState({
3452
- targetPath,
3491
+ targetPath: context.targetPath,
3453
3492
  status: context.status,
3454
3493
  projectConfig: context.projectConfig,
3455
3494
  scope,
@@ -3620,15 +3659,15 @@ async function executeAuthoringDogfoodTarget(input) {
3620
3659
  };
3621
3660
  }
3622
3661
  const context = await buildAuthoringContext(workingCopy.targetPath);
3623
- await recordAuthoringSessionEvent(workingCopy.targetPath, {
3662
+ await recordAuthoringSessionEvent(context.targetPath, {
3624
3663
  sessionId,
3625
3664
  kind: "status",
3626
3665
  command: "gdh status",
3627
3666
  state: context.status.readiness === "undetected" ? "blocked" : "succeeded",
3628
3667
  summary: context.status.summary,
3629
3668
  });
3630
- const guidanceStatus = await getGuidanceStatus(workingCopy.targetPath);
3631
- await recordAuthoringSessionEvent(workingCopy.targetPath, {
3669
+ const guidanceStatus = await getGuidanceStatus(context.targetPath);
3670
+ await recordAuthoringSessionEvent(context.targetPath, {
3632
3671
  sessionId,
3633
3672
  kind: "guidance_status",
3634
3673
  command: "gdh guidance status",
@@ -3637,7 +3676,7 @@ async function executeAuthoringDogfoodTarget(input) {
3637
3676
  });
3638
3677
  const changedFiles = deriveDogfoodChangedFiles(onboarding.selectedProject);
3639
3678
  if (changedFiles.length === 0) {
3640
- const sessionInspection = await inspectAuthoringSessions(workingCopy.targetPath, {
3679
+ const sessionInspection = await inspectAuthoringSessions(context.targetPath, {
3641
3680
  sessionId,
3642
3681
  });
3643
3682
  return {
@@ -3655,13 +3694,13 @@ async function executeAuthoringDogfoodTarget(input) {
3655
3694
  errorMessage: null,
3656
3695
  };
3657
3696
  }
3658
- const guidanceResolve = await resolveGuidanceQuery(workingCopy.targetPath, {
3697
+ const guidanceResolve = await resolveGuidanceQuery(context.targetPath, {
3659
3698
  taskTypes: ["authoring"],
3660
3699
  capabilities: context.status.effectiveCapabilities,
3661
3700
  repoState: deriveGuidanceRepoState(context),
3662
3701
  keywords: [],
3663
3702
  });
3664
- await recordAuthoringSessionEvent(workingCopy.targetPath, {
3703
+ await recordAuthoringSessionEvent(context.targetPath, {
3665
3704
  sessionId,
3666
3705
  kind: "guidance_resolve",
3667
3706
  command: "gdh guidance resolve",
@@ -3672,7 +3711,7 @@ async function executeAuthoringDogfoodTarget(input) {
3672
3711
  guidance: buildGuidanceSnapshot(guidanceResolve),
3673
3712
  changedFiles,
3674
3713
  });
3675
- const sessionInspection = await inspectAuthoringSessions(workingCopy.targetPath, {
3714
+ const sessionInspection = await inspectAuthoringSessions(context.targetPath, {
3676
3715
  sessionId,
3677
3716
  });
3678
3717
  const state = isHealthyDogfoodTarget({
@@ -3773,7 +3812,7 @@ async function evaluateAuthoringSliceValidation(targetPath) {
3773
3812
  includeUserLocal: false,
3774
3813
  });
3775
3814
  const authoringCheck = await runAuthoringCheck({
3776
- targetPath: workingCopy.targetPath,
3815
+ targetPath: context.targetPath,
3777
3816
  status: context.status,
3778
3817
  projectConfig: context.projectConfig,
3779
3818
  });
@@ -3951,6 +3990,7 @@ function renderHelp() {
3951
3990
  " run-config check [target] <run-config-id> Evaluate run-configuration readiness.",
3952
3991
  " run-config run [target] <run-config-id> Execute one run configuration.",
3953
3992
  " bridge status [target] Inspect the managed runtime bridge lifecycle state.",
3993
+ " bridge session <command> [target] Operate broker-owned runtime bridge sessions.",
3954
3994
  " bridge doctor [target] Alias for bridge status.",
3955
3995
  " bridge install [target] [--dry-run] Install the GDH-managed runtime bridge surface.",
3956
3996
  " bridge repair [target] [--dry-run] Repair drifted GDH-managed bridge files and autoload state.",