@skillcap/gdh 0.17.1 → 0.17.2

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 (29) hide show
  1. package/INSTALL-BUNDLE.json +1 -1
  2. package/RELEASE-SPAN-UPDATE-CONTRACTS.json +57 -0
  3. package/node_modules/@gdh/adapters/dist/index.d.ts +8 -8
  4. package/node_modules/@gdh/adapters/dist/index.d.ts.map +1 -1
  5. package/node_modules/@gdh/adapters/dist/index.js +59 -13
  6. package/node_modules/@gdh/adapters/dist/index.js.map +1 -1
  7. package/node_modules/@gdh/adapters/package.json +8 -8
  8. package/node_modules/@gdh/authoring/package.json +2 -2
  9. package/node_modules/@gdh/cli/dist/index.js +1 -1
  10. package/node_modules/@gdh/cli/dist/index.js.map +1 -1
  11. package/node_modules/@gdh/cli/dist/migrate.d.ts.map +1 -1
  12. package/node_modules/@gdh/cli/dist/migrate.js +5 -1
  13. package/node_modules/@gdh/cli/dist/migrate.js.map +1 -1
  14. package/node_modules/@gdh/cli/dist/setup.d.ts +1 -1
  15. package/node_modules/@gdh/cli/dist/setup.d.ts.map +1 -1
  16. package/node_modules/@gdh/cli/dist/setup.js +9 -0
  17. package/node_modules/@gdh/cli/dist/setup.js.map +1 -1
  18. package/node_modules/@gdh/cli/package.json +10 -10
  19. package/node_modules/@gdh/core/dist/index.d.ts +2 -2
  20. package/node_modules/@gdh/core/dist/index.d.ts.map +1 -1
  21. package/node_modules/@gdh/core/dist/index.js.map +1 -1
  22. package/node_modules/@gdh/core/package.json +1 -1
  23. package/node_modules/@gdh/docs/package.json +2 -2
  24. package/node_modules/@gdh/mcp/package.json +8 -8
  25. package/node_modules/@gdh/observability/package.json +2 -2
  26. package/node_modules/@gdh/runtime/package.json +2 -2
  27. package/node_modules/@gdh/scan/package.json +3 -3
  28. package/node_modules/@gdh/verify/package.json +7 -7
  29. package/package.json +11 -11
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "product": "GDH",
3
- "version": "0.17.1",
3
+ "version": "0.17.2",
4
4
  "installMode": "packaged_install"
5
5
  }
@@ -1414,6 +1414,63 @@
1414
1414
  }
1415
1415
  ]
1416
1416
  }
1417
+ },
1418
+ {
1419
+ "version": "0.17.2",
1420
+ "releaseTag": "v0.17.2",
1421
+ "migrationStatus": "no_op",
1422
+ "summary": "v0.17.2 hardens Codex supported-agent skills and MCP recovery without changing managed project schema or lifecycle surface versions. Existing targets do not need release-scoped schema migration, but Codex targets should run ordinary self-update or adapter repair so skills move to .agents/skills and exact managed legacy .codex/skills copies are removed.",
1423
+ "releaseHighlights": {
1424
+ "summary": "v0.17.2 hardens supported-agent setup after dogfooding exposed Codex skill-location drift and stale MCP registration confusion. Codex target skills now use the documented `.agents/skills` location, exact managed legacy `.codex/skills` files are cleaned up during repair, and MCP recovery guidance now explains what GDH can repair versus what the host agent must reconnect.",
1425
+ "operatorChanges": [
1426
+ "**Codex target skills use the documented project-local location.** Generated GDH target skills now install under `.agents/skills/gdh-*/SKILL.md`.",
1427
+ "**Managed legacy Codex skill copies are cleaned safely.** `gdh adapters install` and migration translation remove exact managed `.codex/skills/gdh-*` files after the new `.agents/skills` copy exists; customized files are preserved.",
1428
+ "**Codex project MCP config is part of readiness.** GDH lifecycle checks now include `.codex/config.toml` alongside Claude `.mcp.json` and Cursor `.cursor/mcp.json`.",
1429
+ "**Codex MCP startup is less ambiguous.** Generated `.codex/config.toml` includes explicit startup and tool timeouts for the GDH MCP server.",
1430
+ "**MCP recovery docs are clearer.** Install/update docs now distinguish project-local repair, Codex user-local registration cleanup, and the host-owned restart needed after a stdio MCP transport closes."
1431
+ ]
1432
+ },
1433
+ "updateContract": {
1434
+ "summary": "No release-scoped managed schema migration is required for v0.17.2. After self-update, Codex users should verify adapter surfaces so generated GDH skills live under `.agents/skills`, exact managed legacy `.codex/skills` copies are gone, and MCP config points at the current pinned GDH command. Closed host MCP transports still require the host agent to reconnect or restart.",
1435
+ "steps": [
1436
+ {
1437
+ "id": "rebake_agent_adapters",
1438
+ "kind": "mechanical",
1439
+ "summary": "Re-bake supported-agent surfaces at the new GDH pin.",
1440
+ "detail": "`gdh self-update` re-runs the adapter install path. If an agent needs to repair surfaces manually, run `gdh adapters install <target>` for repo-local agent surfaces.",
1441
+ "commands": [
1442
+ "gdh adapters install <target>"
1443
+ ],
1444
+ "validationCommands": [
1445
+ "gdh adapters status <target>",
1446
+ "gdh verify drift <target>"
1447
+ ]
1448
+ },
1449
+ {
1450
+ "id": "repair_codex_user_mcp",
1451
+ "kind": "mechanical",
1452
+ "summary": "Repair or remove stale Codex user-local MCP registrations when present.",
1453
+ "detail": "For user-local Codex registrations that point at an old package version or missing legacy launcher, run the GDH Codex user install flow for the expected project key or remove stale unrelated entries with `codex mcp remove <name>`.",
1454
+ "commands": [
1455
+ "gdh adapters install <target> --user --agent codex"
1456
+ ],
1457
+ "validationCommands": [
1458
+ "codex mcp list --json",
1459
+ "gdh adapters status <target>"
1460
+ ]
1461
+ },
1462
+ {
1463
+ "id": "restart_closed_mcp_transport",
1464
+ "kind": "manual_review",
1465
+ "summary": "Restart the host agent session if the live MCP transport is closed.",
1466
+ "detail": "GDH can repair configuration and prove command shape, but Codex, Claude, and Cursor own their live stdio MCP process. If the transport is already closed, refresh or restart the host agent session before trusting MCP tool availability.",
1467
+ "commands": [],
1468
+ "validationCommands": [
1469
+ "gdh adapters status <target>"
1470
+ ]
1471
+ }
1472
+ ]
1473
+ }
1417
1474
  }
1418
1475
  ]
1419
1476
  }
@@ -7,27 +7,27 @@ export declare const PROJECT_MCP_RELATIVE_PATH = ".mcp.json";
7
7
  export declare const CURSOR_MCP_RELATIVE_PATH = ".cursor/mcp.json";
8
8
  export declare const CURSOR_RULE_RELATIVE_PATH = ".cursor/rules/gdh-agent.mdc";
9
9
  export declare const CURSOR_ONBOARD_SKILL_RELATIVE_PATH = ".cursor/skills/gdh-onboard/SKILL.md";
10
- export declare const CODEX_ONBOARD_SKILL_RELATIVE_PATH = ".codex/skills/gdh-onboard/SKILL.md";
10
+ export declare const CODEX_ONBOARD_SKILL_RELATIVE_PATH = ".agents/skills/gdh-onboard/SKILL.md";
11
11
  export declare const CLAUDE_STATUS_COMMAND_RELATIVE_PATH = ".claude/commands/gdh/status.md";
12
12
  export declare const CLAUDE_MIGRATE_COMMAND_RELATIVE_PATH = ".claude/commands/gdh/migrate.md";
13
13
  export declare const CLAUDE_CHECK_COMMAND_RELATIVE_PATH = ".claude/commands/gdh/check.md";
14
14
  export declare const CLAUDE_PREPARE_COMMAND_RELATIVE_PATH = ".claude/commands/gdh/prepare.md";
15
15
  export declare const CLAUDE_VERIFY_COMMAND_RELATIVE_PATH = ".claude/commands/gdh/verify.md";
16
- export declare const CODEX_STATUS_SKILL_RELATIVE_PATH = ".codex/skills/gdh-status/SKILL.md";
17
- export declare const CODEX_MIGRATE_SKILL_RELATIVE_PATH = ".codex/skills/gdh-migrate/SKILL.md";
18
- export declare const CODEX_CHECK_SKILL_RELATIVE_PATH = ".codex/skills/gdh-check/SKILL.md";
19
- export declare const CODEX_PREPARE_SKILL_RELATIVE_PATH = ".codex/skills/gdh-prepare/SKILL.md";
20
- export declare const CODEX_VERIFY_SKILL_RELATIVE_PATH = ".codex/skills/gdh-verify/SKILL.md";
16
+ export declare const CODEX_STATUS_SKILL_RELATIVE_PATH = ".agents/skills/gdh-status/SKILL.md";
17
+ export declare const CODEX_MIGRATE_SKILL_RELATIVE_PATH = ".agents/skills/gdh-migrate/SKILL.md";
18
+ export declare const CODEX_CHECK_SKILL_RELATIVE_PATH = ".agents/skills/gdh-check/SKILL.md";
19
+ export declare const CODEX_PREPARE_SKILL_RELATIVE_PATH = ".agents/skills/gdh-prepare/SKILL.md";
20
+ export declare const CODEX_VERIFY_SKILL_RELATIVE_PATH = ".agents/skills/gdh-verify/SKILL.md";
21
21
  export declare const CURSOR_STATUS_SKILL_RELATIVE_PATH = ".cursor/skills/gdh-status/SKILL.md";
22
22
  export declare const CURSOR_MIGRATE_SKILL_RELATIVE_PATH = ".cursor/skills/gdh-migrate/SKILL.md";
23
23
  export declare const CURSOR_CHECK_SKILL_RELATIVE_PATH = ".cursor/skills/gdh-check/SKILL.md";
24
24
  export declare const CURSOR_PREPARE_SKILL_RELATIVE_PATH = ".cursor/skills/gdh-prepare/SKILL.md";
25
25
  export declare const CURSOR_VERIFY_SKILL_RELATIVE_PATH = ".cursor/skills/gdh-verify/SKILL.md";
26
26
  export declare const CLAUDE_UPDATE_COMMAND_RELATIVE_PATH = ".claude/commands/gdh/update.md";
27
- export declare const CODEX_UPDATE_SKILL_RELATIVE_PATH = ".codex/skills/gdh-update/SKILL.md";
27
+ export declare const CODEX_UPDATE_SKILL_RELATIVE_PATH = ".agents/skills/gdh-update/SKILL.md";
28
28
  export declare const CURSOR_UPDATE_SKILL_RELATIVE_PATH = ".cursor/skills/gdh-update/SKILL.md";
29
29
  export declare const CLAUDE_SCAN_COMMAND_RELATIVE_PATH = ".claude/commands/gdh/scan.md";
30
- export declare const CODEX_SCAN_SKILL_RELATIVE_PATH = ".codex/skills/gdh-scan/SKILL.md";
30
+ export declare const CODEX_SCAN_SKILL_RELATIVE_PATH = ".agents/skills/gdh-scan/SKILL.md";
31
31
  export declare const CURSOR_SCAN_SKILL_RELATIVE_PATH = ".cursor/skills/gdh-scan/SKILL.md";
32
32
  export declare const LOCAL_PATH_HINTS_RELATIVE_PATH = ".gdh-state/local-paths.json";
33
33
  export declare const CODEX_PROJECT_CONFIG_RELATIVE_PATH = ".codex/config.toml";
@@ -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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"}
@@ -40,17 +40,17 @@ export const PROJECT_MCP_RELATIVE_PATH = ".mcp.json";
40
40
  export const CURSOR_MCP_RELATIVE_PATH = ".cursor/mcp.json";
41
41
  export const CURSOR_RULE_RELATIVE_PATH = ".cursor/rules/gdh-agent.mdc";
42
42
  export const CURSOR_ONBOARD_SKILL_RELATIVE_PATH = ".cursor/skills/gdh-onboard/SKILL.md";
43
- export const CODEX_ONBOARD_SKILL_RELATIVE_PATH = ".codex/skills/gdh-onboard/SKILL.md";
43
+ export const CODEX_ONBOARD_SKILL_RELATIVE_PATH = ".agents/skills/gdh-onboard/SKILL.md";
44
44
  export const CLAUDE_STATUS_COMMAND_RELATIVE_PATH = ".claude/commands/gdh/status.md";
45
45
  export const CLAUDE_MIGRATE_COMMAND_RELATIVE_PATH = ".claude/commands/gdh/migrate.md";
46
46
  export const CLAUDE_CHECK_COMMAND_RELATIVE_PATH = ".claude/commands/gdh/check.md";
47
47
  export const CLAUDE_PREPARE_COMMAND_RELATIVE_PATH = ".claude/commands/gdh/prepare.md";
48
48
  export const CLAUDE_VERIFY_COMMAND_RELATIVE_PATH = ".claude/commands/gdh/verify.md";
49
- export const CODEX_STATUS_SKILL_RELATIVE_PATH = ".codex/skills/gdh-status/SKILL.md";
50
- export const CODEX_MIGRATE_SKILL_RELATIVE_PATH = ".codex/skills/gdh-migrate/SKILL.md";
51
- export const CODEX_CHECK_SKILL_RELATIVE_PATH = ".codex/skills/gdh-check/SKILL.md";
52
- export const CODEX_PREPARE_SKILL_RELATIVE_PATH = ".codex/skills/gdh-prepare/SKILL.md";
53
- export const CODEX_VERIFY_SKILL_RELATIVE_PATH = ".codex/skills/gdh-verify/SKILL.md";
49
+ export const CODEX_STATUS_SKILL_RELATIVE_PATH = ".agents/skills/gdh-status/SKILL.md";
50
+ export const CODEX_MIGRATE_SKILL_RELATIVE_PATH = ".agents/skills/gdh-migrate/SKILL.md";
51
+ export const CODEX_CHECK_SKILL_RELATIVE_PATH = ".agents/skills/gdh-check/SKILL.md";
52
+ export const CODEX_PREPARE_SKILL_RELATIVE_PATH = ".agents/skills/gdh-prepare/SKILL.md";
53
+ export const CODEX_VERIFY_SKILL_RELATIVE_PATH = ".agents/skills/gdh-verify/SKILL.md";
54
54
  export const CURSOR_STATUS_SKILL_RELATIVE_PATH = ".cursor/skills/gdh-status/SKILL.md";
55
55
  export const CURSOR_MIGRATE_SKILL_RELATIVE_PATH = ".cursor/skills/gdh-migrate/SKILL.md";
56
56
  export const CURSOR_CHECK_SKILL_RELATIVE_PATH = ".cursor/skills/gdh-check/SKILL.md";
@@ -63,10 +63,20 @@ export const CURSOR_VERIFY_SKILL_RELATIVE_PATH = ".cursor/skills/gdh-verify/SKIL
63
63
  // INTENTIONALLY excluded from VERIFY_DRIFT_SCANNED_FILES (D-13) because the
64
64
  // rendered bodies are version-agnostic by design.
65
65
  export const CLAUDE_UPDATE_COMMAND_RELATIVE_PATH = ".claude/commands/gdh/update.md";
66
- export const CODEX_UPDATE_SKILL_RELATIVE_PATH = ".codex/skills/gdh-update/SKILL.md";
66
+ export const CODEX_UPDATE_SKILL_RELATIVE_PATH = ".agents/skills/gdh-update/SKILL.md";
67
67
  export const CURSOR_UPDATE_SKILL_RELATIVE_PATH = ".cursor/skills/gdh-update/SKILL.md";
68
68
  export const CLAUDE_SCAN_COMMAND_RELATIVE_PATH = ".claude/commands/gdh/scan.md";
69
- export const CODEX_SCAN_SKILL_RELATIVE_PATH = ".codex/skills/gdh-scan/SKILL.md";
69
+ export const CODEX_SCAN_SKILL_RELATIVE_PATH = ".agents/skills/gdh-scan/SKILL.md";
70
+ const LEGACY_CODEX_SKILL_RELATIVE_PATHS = [
71
+ [".codex/skills/gdh-onboard/SKILL.md", renderCodexOnboardSkill, "gdh-onboard"],
72
+ [".codex/skills/gdh-status/SKILL.md", renderCodexStatusSkill, "gdh-status"],
73
+ [".codex/skills/gdh-migrate/SKILL.md", renderCodexMigrateSkill, "gdh-migrate"],
74
+ [".codex/skills/gdh-update/SKILL.md", renderCodexUpdateSkill, "gdh-update"],
75
+ [".codex/skills/gdh-check/SKILL.md", renderCodexCheckSkill, "gdh-check"],
76
+ [".codex/skills/gdh-prepare/SKILL.md", renderCodexPrepareSkill, "gdh-prepare"],
77
+ [".codex/skills/gdh-verify/SKILL.md", renderCodexVerifySkill, "gdh-verify"],
78
+ [".codex/skills/gdh-scan/SKILL.md", renderCodexScanSkill, "gdh-scan"],
79
+ ];
70
80
  export const CURSOR_SCAN_SKILL_RELATIVE_PATH = ".cursor/skills/gdh-scan/SKILL.md";
71
81
  export const LOCAL_PATH_HINTS_RELATIVE_PATH = ".gdh-state/local-paths.json";
72
82
  export const CODEX_PROJECT_CONFIG_RELATIVE_PATH = ".codex/config.toml";
@@ -138,6 +148,9 @@ export async function installSupportedAgentAdapters(targetPath, options = {}) {
138
148
  if (action.kind === "ensure_symlink") {
139
149
  await applySymlinkAction(action);
140
150
  }
151
+ else if (action.kind === "remove_file") {
152
+ await applyRemoveFileAction(action);
153
+ }
141
154
  else if (action.kind === "run_command") {
142
155
  await applyRunCommandAction(action);
143
156
  }
@@ -1566,7 +1579,7 @@ function inspectCodexSkillSurface(targetPath, relativePath, content, expectedCon
1566
1579
  present: content !== null,
1567
1580
  state: content === null ? "missing" : content === expectedContent ? "ready" : "misconfigured",
1568
1581
  summary: content === null
1569
- ? `Codex \`/${skillName}\` skill is missing and should install under .codex/skills/.`
1582
+ ? `Codex \`/${skillName}\` skill is missing and should install under .agents/skills/.`
1570
1583
  : content === expectedContent
1571
1584
  ? `Codex can discover the managed \`/${skillName}\` skill.`
1572
1585
  : `Codex \`/${skillName}\` skill exists but no longer matches the expected managed GDH skill.`,
@@ -1707,7 +1720,7 @@ async function inspectCodexAdapter(targetPath, guidance, projectMcp, pinnedVersi
1707
1720
  ? "ready"
1708
1721
  : "misconfigured",
1709
1722
  summary: codexSkillContent === null
1710
- ? "Codex onboarding handoff is missing and should install `/gdh-onboard` under .codex/skills/."
1723
+ ? "Codex onboarding handoff is missing and should install `/gdh-onboard` under .agents/skills/."
1711
1724
  : expectedCodexOnboardSkill === null
1712
1725
  ? "Codex onboarding handoff cannot be validated yet: no `gdh_version` is pinned (run `gdh setup` or `gdh migrate --apply`)."
1713
1726
  : codexSkillContent === expectedCodexOnboardSkill
@@ -2199,6 +2212,30 @@ function planCodexRepoInstallActions(targetPath, adapter, pinnedVersion, project
2199
2212
  content: renderManagedCodexProjectConfig(existingContent, pinnedVersion),
2200
2213
  }));
2201
2214
  }
2215
+ actions.push(...planLegacyCodexSkillCleanupActions(targetPath, pinnedVersion));
2216
+ return actions;
2217
+ }
2218
+ function planLegacyCodexSkillCleanupActions(targetPath, pinnedVersion) {
2219
+ const actions = [];
2220
+ for (const [relativePath, renderFn, skillName] of LEGACY_CODEX_SKILL_RELATIVE_PATHS) {
2221
+ const absolutePath = path.join(targetPath, relativePath);
2222
+ const content = fsSync.existsSync(absolutePath)
2223
+ ? fsSync.readFileSync(absolutePath, "utf8")
2224
+ : null;
2225
+ if (content === null || content !== renderFn(pinnedVersion)) {
2226
+ continue;
2227
+ }
2228
+ actions.push(createInstallAction({
2229
+ agent: "codex",
2230
+ kind: "remove_file",
2231
+ scope: "repo",
2232
+ targetPath,
2233
+ relativePath,
2234
+ state: "planned",
2235
+ mode: "delete",
2236
+ summary: `Remove legacy managed Codex \`/${skillName}\` skill from .codex/skills after installing the documented .agents/skills location.`,
2237
+ }));
2238
+ }
2202
2239
  return actions;
2203
2240
  }
2204
2241
  function planCodexUserInstallActions(targetPath, projectMcp, integrationRootPath, pinnedVersion) {
@@ -2415,6 +2452,12 @@ async function applyWriteFileAction(action) {
2415
2452
  await fs.mkdir(path.dirname(action.absolutePath), { recursive: true });
2416
2453
  await fs.writeFile(action.absolutePath, action.content ?? renderCursorRule(), "utf8");
2417
2454
  }
2455
+ async function applyRemoveFileAction(action) {
2456
+ if (action.absolutePath === null) {
2457
+ throw new Error("Remove-file install action is missing an absolute path.");
2458
+ }
2459
+ await fs.rm(action.absolutePath, { force: true });
2460
+ }
2418
2461
  async function applyRunCommandAction(action) {
2419
2462
  const [command, ...args] = action.command ?? [];
2420
2463
  if (!command) {
@@ -2512,6 +2555,8 @@ export function renderManagedCodexProjectSection(pinnedVersion) {
2512
2555
  "[mcp_servers.gdh]",
2513
2556
  'command = "npx"',
2514
2557
  `args = ["-y", "@skillcap/gdh@${pinnedVersion}", "mcp", "serve"]`,
2558
+ "startup_timeout_sec = 30",
2559
+ "tool_timeout_sec = 300",
2515
2560
  ].join("\n");
2516
2561
  }
2517
2562
  export function renderManagedCodexProjectConfig(existingContent, pinnedVersion) {
@@ -3048,7 +3093,8 @@ function inspectMcpManifestLifecycleSurface(targetPath, mcpEnabled, adapterStatu
3048
3093
  }
3049
3094
  const claudeMcp = findAdapterSurface(adapterStatus, "claude", "mcp_file");
3050
3095
  const cursorMcp = findAdapterSurface(adapterStatus, "cursor", "mcp_file");
3051
- const probes = [claudeMcp, cursorMcp]
3096
+ const codexMcp = findAdapterSurface(adapterStatus, "codex", "mcp_file");
3097
+ const probes = [claudeMcp, cursorMcp, codexMcp]
3052
3098
  .filter((surface) => surface !== null)
3053
3099
  .map((surface) => createVersionProbe({
3054
3100
  targetPath,
@@ -3057,13 +3103,13 @@ function inspectMcpManifestLifecycleSurface(targetPath, mcpEnabled, adapterStatu
3057
3103
  expectedVersion: null,
3058
3104
  detectedVersion: surface.present ? surface.version : null,
3059
3105
  }));
3060
- const states = [claudeMcp?.state, cursorMcp?.state].filter((state) => state !== undefined);
3106
+ const states = [claudeMcp?.state, cursorMcp?.state, codexMcp?.state].filter((state) => state !== undefined);
3061
3107
  if (states.length > 0 && states.every((state) => state === "ready")) {
3062
3108
  return createLifecycleSurfaceStatus({
3063
3109
  surface: "mcp_manifest",
3064
3110
  management: "managed",
3065
3111
  state: "compatible",
3066
- summary: "Project MCP config files are aligned for Claude and Cursor.",
3112
+ summary: "Project MCP config files are aligned for Codex, Claude, and Cursor.",
3067
3113
  reasons: [],
3068
3114
  probes,
3069
3115
  action: null,