@skillcap/gdh 1.0.0 → 2.0.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.
- package/INSTALL-BUNDLE.json +1 -1
- package/RELEASE-SPAN-UPDATE-CONTRACTS.json +55 -0
- package/node_modules/@gdh/adapters/dist/index.d.ts +1 -5
- package/node_modules/@gdh/adapters/dist/index.d.ts.map +1 -1
- package/node_modules/@gdh/adapters/dist/index.js +31 -22
- package/node_modules/@gdh/adapters/dist/index.js.map +1 -1
- package/node_modules/@gdh/adapters/dist/skill-rendering.d.ts +2 -4
- package/node_modules/@gdh/adapters/dist/skill-rendering.d.ts.map +1 -1
- package/node_modules/@gdh/adapters/dist/skill-rendering.js +16 -49
- package/node_modules/@gdh/adapters/dist/skill-rendering.js.map +1 -1
- package/node_modules/@gdh/adapters/package.json +8 -8
- package/node_modules/@gdh/authoring/package.json +2 -2
- package/node_modules/@gdh/cli/dist/index.d.ts.map +1 -1
- package/node_modules/@gdh/cli/dist/index.js +8 -7
- package/node_modules/@gdh/cli/dist/index.js.map +1 -1
- package/node_modules/@gdh/cli/package.json +10 -10
- package/node_modules/@gdh/core/dist/index.d.ts +11 -1
- package/node_modules/@gdh/core/dist/index.d.ts.map +1 -1
- package/node_modules/@gdh/core/dist/index.js +11 -1
- package/node_modules/@gdh/core/dist/index.js.map +1 -1
- package/node_modules/@gdh/core/dist/migrations/managed-surface-classes.d.ts +3 -3
- package/node_modules/@gdh/core/dist/migrations/managed-surface-classes.js +3 -3
- package/node_modules/@gdh/core/dist/migrations/managed-surface-classes.js.map +1 -1
- package/node_modules/@gdh/core/dist/migrations/managed-target-surface-inventory.d.ts +5 -5
- package/node_modules/@gdh/core/dist/migrations/managed-target-surface-inventory.d.ts.map +1 -1
- package/node_modules/@gdh/core/dist/migrations/managed-target-surface-inventory.js +33 -19
- package/node_modules/@gdh/core/dist/migrations/managed-target-surface-inventory.js.map +1 -1
- package/node_modules/@gdh/core/package.json +1 -1
- package/node_modules/@gdh/docs/package.json +2 -2
- package/node_modules/@gdh/mcp/package.json +8 -8
- package/node_modules/@gdh/observability/package.json +2 -2
- package/node_modules/@gdh/runtime/package.json +2 -2
- package/node_modules/@gdh/scan/package.json +3 -3
- package/node_modules/@gdh/verify/package.json +7 -7
- package/package.json +11 -11
package/INSTALL-BUNDLE.json
CHANGED
|
@@ -3602,6 +3602,61 @@
|
|
|
3602
3602
|
}
|
|
3603
3603
|
]
|
|
3604
3604
|
}
|
|
3605
|
+
},
|
|
3606
|
+
{
|
|
3607
|
+
"version": "2.0.0",
|
|
3608
|
+
"releaseTag": "v2.0.0",
|
|
3609
|
+
"migrationStatus": "required",
|
|
3610
|
+
"summary": "v2.0.0 contracts the agent-facing skill surface further along the human/agent boundary. Two scope changes drive the bump: (1) gdh-scan is dropped as a managed agent skill (the `gdh scan` CLI verb stays); the agent-facing skill at .claude/skills/gdh-scan/SKILL.md and .agents/skills/gdh-scan/SKILL.md, plus the legacy command shim at .claude/commands/gdh/scan.md, are retired and swept by the cleanup planner. (2) gdh-prepare becomes agent-invoked-only (user-invocable: false on Claude; equivalent on Codex), called internally by gdh-onboard or gdh-status. GDH_AGENT_CONTRACT_VERSION moves 20 -> 21 to drive a managed-target rebake covering gdh-scan retirement, the gdh-prepare agent-only switch, and the new prepareApprovalInstruction() per-agent approval narrative. The retired-managed-surface cleanup planner enumerates content-checked deletions so user-authored content at the same paths is preserved verbatim. No new class-2 or class-3 migration registry entry is introduced.",
|
|
3611
|
+
"releaseHighlights": {
|
|
3612
|
+
"summary": "v2.0.0 contracts the agent-facing skill surface further along the human/agent boundary established in v1.0.0. Two breaking changes drive the major bump (per Conventional Commits + product-only SemVer; user-facing slash commands going away is breaking): - **`gdh-scan` is dropped as a managed agent skill.** The `gdh scan` CLI verb stays, but the agent-facing skill is hard-deleted. Onboard and status now invoke the CLI directly when an inventory probe is needed; existing managed targets that still carry `.claude/skills/gdh-scan/SKILL.md`, `.agents/skills/gdh-scan/SKILL.md`, or `.claude/commands/gdh/scan.md` files have them swept on the next `gdh self-update` / `gdh migrate --apply`. - **`gdh-prepare` becomes agent-invoked-only.** It is hidden from the user slash-menu (`user-invocable: false` for Claude, equivalent for Codex) and called internally by `gdh-onboard` or `gdh-status` when worktree/import readiness is needed. The skill body re-bakes with the new `prepareApprovalInstruction()` helper that narrates per-agent approval (Claude `AskUserQuestion`, Codex `request_user_input`). Together these changes continue the contraction the v1.0.0 work started: fewer human-facing surfaces, more agent-driven internal sub-skills, and explicit per-agent approval mechanics for any operation that mutates managed surfaces or triggers non-trivial side effects.",
|
|
3613
|
+
"operatorChanges": [
|
|
3614
|
+
"**`gdh-scan` skill removed (breaking).** The `gdh scan` CLI verb is unaffected — operators who shell out directly continue to work as before. The agent-facing managed skill at `.claude/skills/gdh-scan/SKILL.md` and `.agents/skills/gdh-scan/SKILL.md`, plus the legacy command shim at `.claude/commands/gdh/scan.md`, are retired. Agents now invoke the CLI verb directly from inside `gdh-onboard` / `gdh-status` when they need an inventory probe. Existing managed targets pick up the cleanup automatically.",
|
|
3615
|
+
"**`/gdh-prepare` slash command is hidden (breaking).** The skill remains in the managed surface set (the agent calls it under the hood for cold-worktree hydration and import refresh during onboarding/status flows), but it is no longer invocable from the user slash-menu. Operators run `/gdh-onboard` or `/gdh-status`; those skills drive prepare as needed.",
|
|
3616
|
+
"**Per-agent approval narrative for `/gdh-prepare`.** Like `/gdh-update` and `/gdh-migrate`, prepare now describes the provider-specific user-question tool the agent should use when asking for approval — Claude `AskUserQuestion`, Codex `request_user_input` — rather than a generic \"ask the user\" hint. The cross-provider body equality test for managed skills explicitly exempts prepare alongside update and migrate.",
|
|
3617
|
+
"**Retired-managed-surface cleanup covers gdh-scan.** The cleanup planner now enumerates `.claude/skills/gdh-scan/SKILL.md`, `.agents/skills/gdh-scan/SKILL.md`, and `.claude/commands/gdh/scan.md` as content-checked deletions. User-authored content at the same paths is preserved verbatim.",
|
|
3618
|
+
"**Managed adapter contract version 20 → 21.** `GDH_AGENT_CONTRACT_VERSION` bumps to drive a managed-target rebake on the next `gdh self-update` / `gdh migrate --apply`, refreshing skill bodies after gdh-scan retirement and the gdh-prepare agent-only switch."
|
|
3619
|
+
]
|
|
3620
|
+
},
|
|
3621
|
+
"updateContract": {
|
|
3622
|
+
"summary": "Existing managed targets must re-bake managed adapter surfaces at GDH_AGENT_CONTRACT_VERSION 21. The `gdh scan` CLI verb is unchanged; only the agent-facing managed skill is dropped.",
|
|
3623
|
+
"steps": [
|
|
3624
|
+
{
|
|
3625
|
+
"id": "install_v1_1_0",
|
|
3626
|
+
"kind": "mechanical",
|
|
3627
|
+
"summary": "Install the v2.0.0 GDH package.",
|
|
3628
|
+
"detail": "Run gdh self-update so the target uses the v2.0.0 package with the contracted skill surface (no gdh-scan skill, agent-only gdh-prepare) and the new agent contract version.",
|
|
3629
|
+
"commands": [
|
|
3630
|
+
"gdh self-update --apply"
|
|
3631
|
+
],
|
|
3632
|
+
"validationCommands": [
|
|
3633
|
+
"gdh status",
|
|
3634
|
+
"gdh adapters status"
|
|
3635
|
+
]
|
|
3636
|
+
},
|
|
3637
|
+
{
|
|
3638
|
+
"id": "rebake_managed_surfaces_and_sweep_scan",
|
|
3639
|
+
"kind": "mechanical",
|
|
3640
|
+
"summary": "Re-bake managed surfaces at GDH_AGENT_CONTRACT_VERSION 21 and sweep retired gdh-scan surfaces.",
|
|
3641
|
+
"detail": "Run gdh migrate --apply (or invoke /gdh-update on the agent side, which calls migrate as needed). The deterministic re-bake refreshes managed skill bodies for the gdh-prepare agent-only switch and per-agent approval narrative; the retired-managed-surface cleanup planner removes any .claude/skills/gdh-scan/SKILL.md, .agents/skills/gdh-scan/SKILL.md, and .claude/commands/gdh/scan.md files that still carry GDH managed markers.",
|
|
3642
|
+
"commands": [
|
|
3643
|
+
"gdh migrate --apply"
|
|
3644
|
+
],
|
|
3645
|
+
"validationCommands": [
|
|
3646
|
+
"gdh adapters status",
|
|
3647
|
+
"gdh status"
|
|
3648
|
+
]
|
|
3649
|
+
},
|
|
3650
|
+
{
|
|
3651
|
+
"id": "switch_human_invocations_from_prepare_to_onboard_or_status",
|
|
3652
|
+
"kind": "manual_review",
|
|
3653
|
+
"summary": "Use /gdh-onboard or /gdh-status instead of /gdh-prepare from the human slash-menu.",
|
|
3654
|
+
"detail": "/gdh-prepare is now hidden from the user slash-menu (user-invocable: false on Claude; equivalent on Codex). The agent calls prepare under the hood as part of /gdh-onboard or /gdh-status when worktree/import readiness is needed; humans interact with the parent skills only. No on-disk action is required — this is a workflow change. Validate by attempting /gdh-onboard or /gdh-status on a fresh agent session.",
|
|
3655
|
+
"commands": [],
|
|
3656
|
+
"validationCommands": []
|
|
3657
|
+
}
|
|
3658
|
+
]
|
|
3659
|
+
}
|
|
3605
3660
|
}
|
|
3606
3661
|
]
|
|
3607
3662
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type GdhAgentAdaptersInstallResult, type GdhAgentAdaptersStatusResult, type GdhGsdSnapshot, type GdhProjectLifecycleCompatibilityResult, type GdhProjectLifecycleSurfaceStatus, type GdhStatusResult, type GdhSupportedAgent } from "@gdh/core";
|
|
2
2
|
import { type GdhStatusBuildAdapters } from "./deferred-actions-advisory.js";
|
|
3
|
-
export { GDH_MANAGED_AGENT_SKILL_MARKER, GDH_SKILL_DEFINITIONS, GDH_SKILL_IDS, renderGdhSkill, renderManagedSkillMarker, renderClaudeMigrateSkill, renderClaudeOnboardSkill, renderClaudePrepareSkill, renderClaudeRunGameSkill,
|
|
3
|
+
export { GDH_MANAGED_AGENT_SKILL_MARKER, GDH_SKILL_DEFINITIONS, GDH_SKILL_IDS, renderGdhSkill, renderManagedSkillMarker, renderClaudeMigrateSkill, renderClaudeOnboardSkill, renderClaudePrepareSkill, renderClaudeRunGameSkill, renderClaudeStatusSkill, renderClaudeUpdateSkill, renderCodexMigrateSkill, renderCodexOnboardSkill, renderCodexPrepareSkill, renderCodexRunGameSkill, renderCodexStatusSkill, renderCodexUpdateSkill, } from "./skill-rendering.js";
|
|
4
4
|
export declare const adaptersPackage: import("@gdh/core").GdhPackageBoundary;
|
|
5
5
|
export declare const SUPPORTED_AGENTS: readonly ["codex", "claude"];
|
|
6
6
|
export declare const CLAUDE_SHIM_RELATIVE_PATH = "CLAUDE.md";
|
|
@@ -19,8 +19,6 @@ export declare const CODEX_PREPARE_SKILL_RELATIVE_PATH = ".agents/skills/gdh-pre
|
|
|
19
19
|
export declare const CODEX_RUN_GAME_SKILL_RELATIVE_PATH = ".agents/skills/gdh-run-game/SKILL.md";
|
|
20
20
|
export declare const CLAUDE_UPDATE_SKILL_RELATIVE_PATH = ".claude/skills/gdh-update/SKILL.md";
|
|
21
21
|
export declare const CODEX_UPDATE_SKILL_RELATIVE_PATH = ".agents/skills/gdh-update/SKILL.md";
|
|
22
|
-
export declare const CLAUDE_SCAN_SKILL_RELATIVE_PATH = ".claude/skills/gdh-scan/SKILL.md";
|
|
23
|
-
export declare const CODEX_SCAN_SKILL_RELATIVE_PATH = ".agents/skills/gdh-scan/SKILL.md";
|
|
24
22
|
export declare const CLAUDE_ONBOARD_COMMAND_RELATIVE_PATH = ".claude/skills/gdh-onboard/SKILL.md";
|
|
25
23
|
export declare const CLAUDE_STATUS_COMMAND_RELATIVE_PATH = ".claude/skills/gdh-status/SKILL.md";
|
|
26
24
|
export declare const CLAUDE_MIGRATE_COMMAND_RELATIVE_PATH = ".claude/skills/gdh-migrate/SKILL.md";
|
|
@@ -28,7 +26,6 @@ export declare const CLAUDE_CHECK_COMMAND_RELATIVE_PATH = ".claude/skills/gdh-ch
|
|
|
28
26
|
export declare const CLAUDE_PREPARE_COMMAND_RELATIVE_PATH = ".claude/skills/gdh-prepare/SKILL.md";
|
|
29
27
|
export declare const CLAUDE_RUN_GAME_COMMAND_RELATIVE_PATH = ".claude/skills/gdh-run-game/SKILL.md";
|
|
30
28
|
export declare const CLAUDE_UPDATE_COMMAND_RELATIVE_PATH = ".claude/skills/gdh-update/SKILL.md";
|
|
31
|
-
export declare const CLAUDE_SCAN_COMMAND_RELATIVE_PATH = ".claude/skills/gdh-scan/SKILL.md";
|
|
32
29
|
export declare const LOCAL_PATH_HINTS_RELATIVE_PATH = ".gdh-state/local-paths.json";
|
|
33
30
|
export declare const CODEX_PROJECT_CONFIG_RELATIVE_PATH = ".codex/config.toml";
|
|
34
31
|
export declare const GDH_MCP_SERVER_NAME = "gdh";
|
|
@@ -51,7 +48,6 @@ export declare function createGsdSnapshot(targetPath: string, options?: {
|
|
|
51
48
|
}): Promise<GdhGsdSnapshot>;
|
|
52
49
|
export declare function renderClaudeOnboardCommand(pinnedVersion: string): string;
|
|
53
50
|
export declare function renderClaudeStatusCommand(pinnedVersion: string): string;
|
|
54
|
-
export declare function renderClaudeScanCommand(pinnedVersion: string): string;
|
|
55
51
|
export declare function renderClaudeMigrateCommand(pinnedVersion: string): string;
|
|
56
52
|
export declare function renderClaudeUpdateCommand(pinnedVersion: string): string;
|
|
57
53
|
export declare function renderClaudePrepareCommand(pinnedVersion: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAcL,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,cAAc,EAInB,KAAK,sCAAsC,EAE3C,KAAK,gCAAgC,EAKrC,KAAK,eAAe,EACpB,KAAK,iBAAiB,EAIvB,MAAM,WAAW,CAAC;AAyBnB,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAcL,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,cAAc,EAInB,KAAK,sCAAsC,EAE3C,KAAK,gCAAgC,EAKrC,KAAK,eAAe,EACpB,KAAK,iBAAiB,EAIvB,MAAM,WAAW,CAAC;AAyBnB,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,gCAAgC,CAAC;AAoCxC,OAAO,EACL,8BAA8B,EAC9B,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAe9B,eAAO,MAAM,eAAe,wCAa1B,CAAC;AAEH,eAAO,MAAM,gBAAgB,8BAGoB,CAAC;AAClD,eAAO,MAAM,yBAAyB,cAAc,CAAC;AACrD,eAAO,MAAM,kCAAkC,wCAAwC,CAAC;AACxF,eAAO,MAAM,yBAAyB,cAAc,CAAC;AACrD,eAAO,MAAM,iCAAiC,wCAAwC,CAAC;AACvF,eAAO,MAAM,iCAAiC,uCAAuC,CAAC;AACtF,eAAO,MAAM,kCAAkC,wCAAwC,CAAC;AACxF,eAAO,MAAM,gCAAgC,sCAAsC,CAAC;AACpF,eAAO,MAAM,kCAAkC,wCAAwC,CAAC;AACxF,eAAO,MAAM,mCAAmC,yCAAyC,CAAC;AAC1F,eAAO,MAAM,gCAAgC,uCAAuC,CAAC;AACrF,eAAO,MAAM,iCAAiC,wCAAwC,CAAC;AACvF,eAAO,MAAM,+BAA+B,sCAAsC,CAAC;AACnF,eAAO,MAAM,iCAAiC,wCAAwC,CAAC;AACvF,eAAO,MAAM,kCAAkC,yCAAyC,CAAC;AAOzF,eAAO,MAAM,iCAAiC,uCAAuC,CAAC;AACtF,eAAO,MAAM,gCAAgC,uCAAuC,CAAC;AACrF,eAAO,MAAM,oCAAoC,wCAAqC,CAAC;AACvF,eAAO,MAAM,mCAAmC,uCAAoC,CAAC;AACrF,eAAO,MAAM,oCAAoC,wCAAqC,CAAC;AACvF,eAAO,MAAM,kCAAkC,sCAAmC,CAAC;AACnF,eAAO,MAAM,oCAAoC,wCAAqC,CAAC;AACvF,eAAO,MAAM,qCAAqC,yCAAsC,CAAC;AACzF,eAAO,MAAM,mCAAmC,uCAAoC,CAAC;AAsCrF,eAAO,MAAM,8BAA8B,gCAAgC,CAAC;AAC5E,eAAO,MAAM,kCAAkC,uBAAuB,CAAC;AACvE,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AASzC,wBAAsB,+BAA+B,CACnD,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IACP,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC,GACL,OAAO,CAAC,4BAA4B,CAAC,CAsBvC;AAED,wBAAsB,6BAA6B,CACjD,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IACP,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC9B,GACL,OAAO,CAAC,6BAA6B,CAAC,CA8ExC;AAED,wBAAsB,oCAAoC,CACxD,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,sCAAsC,CAAC,CAiEjD;AAED,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,sBAAsB,GAChC,OAAO,CAAC,eAAe,CAAC,CAmC1B;AAgDD,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IACP,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B,GACL,OAAO,CAAC,cAAc,CAAC,CAsCzB;AAOD,wBAAgB,0BAA0B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAExE;AAED,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,wBAAgB,0BAA0B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAExE;AAED,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,wBAAgB,0BAA0B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAExE;AAED,wBAAgB,0BAA0B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAExE;AAo4ED,wBAAgB,gCAAgC,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAQ9E;AAED,wBAAgB,+BAA+B,CAC7C,eAAe,EAAE,MAAM,GAAG,IAAI,EAC9B,aAAa,EAAE,MAAM,GACpB,MAAM,CAOR;AAsvCD,iBAAS,sCAAsC,CAC7C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,SAAS,gCAAgC,EAAE,GACpD,sCAAsC,CAmCxC;AAiPD,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,EAAE,sCAAsC,EAAE,MAAM,gCAAgC,CAAC;AACxF,OAAO,EACL,6BAA6B,EAC7B,mCAAmC,EACnC,4BAA4B,EAC5B,kCAAkC,GACnC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,KAAK,sBAAsB,EAC3B,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,6BAA6B,EAC7B,oBAAoB,EACpB,4BAA4B,EAC5B,uBAAuB,EACvB,8BAA8B,EAC9B,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,iCAAiC,EACjC,0BAA0B,EAC1B,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,8BAA8B,GAC/B,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,iBAAiB,EACjB,4BAA4B,EAC5B,gCAAgC,EAChC,sBAAsB,GACvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,gCAAgC,EAChC,gCAAgC,EAChC,oCAAoC,EACpC,sBAAsB,EACtB,sCAAsC,EACtC,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,+BAA+B,EAC/B,0BAA0B,EAC1B,uBAAuB,EACvB,kCAAkC,EAClC,+BAA+B,EAC/B,mBAAmB,EACnB,4BAA4B,EAC5B,eAAe,EACf,8BAA8B,EAC9B,+BAA+B,GAChC,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EAAE,sCAAsC,EAAE,CAAC"}
|
|
@@ -18,8 +18,8 @@ import { removeManagedCodexAuthoringHookBlock, renderManagedCodexAuthoringHookBl
|
|
|
18
18
|
import { CLAUDE_STATUSLINE_RELATIVE_PATH, renderClaudeUpdateStatusline, } from "./claude-statusline-render.js";
|
|
19
19
|
import { CLAUDE_CHECK_UPDATE_HOOK_RELATIVE_PATH, CLAUDE_CHECK_UPDATE_WORKER_RELATIVE_PATH, renderClaudeCheckUpdateHook, } from "./claude-update-hook-render.js";
|
|
20
20
|
import { renderClaudeCheckUpdateWorker } from "./claude-update-worker-render.js";
|
|
21
|
-
import { GDH_MANAGED_AGENT_SKILL_MARKER, renderClaudeMigrateSkill, renderClaudeOnboardSkill, renderClaudePrepareSkill, renderClaudeRunGameSkill,
|
|
22
|
-
export { GDH_MANAGED_AGENT_SKILL_MARKER, GDH_SKILL_DEFINITIONS, GDH_SKILL_IDS, renderGdhSkill, renderManagedSkillMarker, renderClaudeMigrateSkill, renderClaudeOnboardSkill, renderClaudePrepareSkill, renderClaudeRunGameSkill,
|
|
21
|
+
import { GDH_MANAGED_AGENT_SKILL_MARKER, renderClaudeMigrateSkill, renderClaudeOnboardSkill, renderClaudePrepareSkill, renderClaudeRunGameSkill, renderClaudeStatusSkill, renderClaudeUpdateSkill, renderCodexMigrateSkill, renderCodexOnboardSkill, renderCodexPrepareSkill, renderCodexRunGameSkill, renderCodexStatusSkill, renderCodexUpdateSkill, } from "./skill-rendering.js";
|
|
22
|
+
export { GDH_MANAGED_AGENT_SKILL_MARKER, GDH_SKILL_DEFINITIONS, GDH_SKILL_IDS, renderGdhSkill, renderManagedSkillMarker, renderClaudeMigrateSkill, renderClaudeOnboardSkill, renderClaudePrepareSkill, renderClaudeRunGameSkill, renderClaudeStatusSkill, renderClaudeUpdateSkill, renderCodexMigrateSkill, renderCodexOnboardSkill, renderCodexPrepareSkill, renderCodexRunGameSkill, renderCodexStatusSkill, renderCodexUpdateSkill, } from "./skill-rendering.js";
|
|
23
23
|
// Module-load drift guard. See packages/core/src/migrations/managed-surface-classes.ts.
|
|
24
24
|
assertClassRegistered("claude_onboard_command", "deterministic");
|
|
25
25
|
assertClassRegistered("claude_status_command", "deterministic");
|
|
@@ -71,8 +71,6 @@ export const CODEX_RUN_GAME_SKILL_RELATIVE_PATH = ".agents/skills/gdh-run-game/S
|
|
|
71
71
|
// rendered bodies are version-agnostic by design.
|
|
72
72
|
export const CLAUDE_UPDATE_SKILL_RELATIVE_PATH = ".claude/skills/gdh-update/SKILL.md";
|
|
73
73
|
export const CODEX_UPDATE_SKILL_RELATIVE_PATH = ".agents/skills/gdh-update/SKILL.md";
|
|
74
|
-
export const CLAUDE_SCAN_SKILL_RELATIVE_PATH = ".claude/skills/gdh-scan/SKILL.md";
|
|
75
|
-
export const CODEX_SCAN_SKILL_RELATIVE_PATH = ".agents/skills/gdh-scan/SKILL.md";
|
|
76
74
|
export const CLAUDE_ONBOARD_COMMAND_RELATIVE_PATH = CLAUDE_ONBOARD_SKILL_RELATIVE_PATH;
|
|
77
75
|
export const CLAUDE_STATUS_COMMAND_RELATIVE_PATH = CLAUDE_STATUS_SKILL_RELATIVE_PATH;
|
|
78
76
|
export const CLAUDE_MIGRATE_COMMAND_RELATIVE_PATH = CLAUDE_MIGRATE_SKILL_RELATIVE_PATH;
|
|
@@ -80,7 +78,6 @@ export const CLAUDE_CHECK_COMMAND_RELATIVE_PATH = CLAUDE_CHECK_SKILL_RELATIVE_PA
|
|
|
80
78
|
export const CLAUDE_PREPARE_COMMAND_RELATIVE_PATH = CLAUDE_PREPARE_SKILL_RELATIVE_PATH;
|
|
81
79
|
export const CLAUDE_RUN_GAME_COMMAND_RELATIVE_PATH = CLAUDE_RUN_GAME_SKILL_RELATIVE_PATH;
|
|
82
80
|
export const CLAUDE_UPDATE_COMMAND_RELATIVE_PATH = CLAUDE_UPDATE_SKILL_RELATIVE_PATH;
|
|
83
|
-
export const CLAUDE_SCAN_COMMAND_RELATIVE_PATH = CLAUDE_SCAN_SKILL_RELATIVE_PATH;
|
|
84
81
|
const LEGACY_CLAUDE_SKILL_COMMAND_RELATIVE_PATHS = [
|
|
85
82
|
[".claude/commands/gdh/onboard.md", "gdh-onboard"],
|
|
86
83
|
[".claude/commands/gdh/status.md", "gdh-status"],
|
|
@@ -109,7 +106,6 @@ const CODEX_SKILL_RELATIVE_PATHS = [
|
|
|
109
106
|
path.dirname(CODEX_UPDATE_SKILL_RELATIVE_PATH),
|
|
110
107
|
path.dirname(CODEX_PREPARE_SKILL_RELATIVE_PATH),
|
|
111
108
|
path.dirname(CODEX_RUN_GAME_SKILL_RELATIVE_PATH),
|
|
112
|
-
path.dirname(CODEX_SCAN_SKILL_RELATIVE_PATH),
|
|
113
109
|
];
|
|
114
110
|
const CLAUDE_SKILL_RELATIVE_PATHS = [
|
|
115
111
|
path.dirname(CLAUDE_ONBOARD_SKILL_RELATIVE_PATH),
|
|
@@ -118,7 +114,6 @@ const CLAUDE_SKILL_RELATIVE_PATHS = [
|
|
|
118
114
|
path.dirname(CLAUDE_UPDATE_SKILL_RELATIVE_PATH),
|
|
119
115
|
path.dirname(CLAUDE_PREPARE_SKILL_RELATIVE_PATH),
|
|
120
116
|
path.dirname(CLAUDE_RUN_GAME_SKILL_RELATIVE_PATH),
|
|
121
|
-
path.dirname(CLAUDE_SCAN_SKILL_RELATIVE_PATH),
|
|
122
117
|
];
|
|
123
118
|
export const LOCAL_PATH_HINTS_RELATIVE_PATH = ".gdh-state/local-paths.json";
|
|
124
119
|
export const CODEX_PROJECT_CONFIG_RELATIVE_PATH = ".codex/config.toml";
|
|
@@ -391,9 +386,6 @@ export function renderClaudeOnboardCommand(pinnedVersion) {
|
|
|
391
386
|
export function renderClaudeStatusCommand(pinnedVersion) {
|
|
392
387
|
return renderClaudeStatusSkill(pinnedVersion);
|
|
393
388
|
}
|
|
394
|
-
export function renderClaudeScanCommand(pinnedVersion) {
|
|
395
|
-
return renderClaudeScanSkill(pinnedVersion);
|
|
396
|
-
}
|
|
397
389
|
export function renderClaudeMigrateCommand(pinnedVersion) {
|
|
398
390
|
return renderClaudeMigrateSkill(pinnedVersion);
|
|
399
391
|
}
|
|
@@ -749,9 +741,6 @@ async function inspectCodexAdapter(targetPath, guidance, projectMcp, pinnedVersi
|
|
|
749
741
|
const codexRunGameContent = await fs
|
|
750
742
|
.readFile(path.resolve(targetPath, CODEX_RUN_GAME_SKILL_RELATIVE_PATH), "utf8")
|
|
751
743
|
.catch(() => null);
|
|
752
|
-
const codexScanContent = await fs
|
|
753
|
-
.readFile(path.join(targetPath, CODEX_SCAN_SKILL_RELATIVE_PATH), "utf8")
|
|
754
|
-
.catch(() => null);
|
|
755
744
|
const codexAuthoringHookContent = await fs
|
|
756
745
|
.readFile(path.join(projectMcp.integrationRootPath, CODEX_AUTHORING_HOOK_RELATIVE_PATH), "utf8")
|
|
757
746
|
.catch(() => null);
|
|
@@ -764,7 +753,6 @@ async function inspectCodexAdapter(targetPath, guidance, projectMcp, pinnedVersi
|
|
|
764
753
|
const expectedCodexUpdateSkill = pinnedVersion === null ? null : renderCodexUpdateSkill(pinnedVersion);
|
|
765
754
|
const expectedCodexPrepareSkill = pinnedVersion === null ? null : renderCodexPrepareSkill(pinnedVersion);
|
|
766
755
|
const expectedCodexRunGameSkill = pinnedVersion === null ? null : renderCodexRunGameSkill(pinnedVersion);
|
|
767
|
-
const expectedCodexScanSkill = pinnedVersion === null ? null : renderCodexScanSkill(pinnedVersion);
|
|
768
756
|
const expectedCodexAuthoringHook = pinnedVersion === null
|
|
769
757
|
? null
|
|
770
758
|
: renderGdhAuthoringHook({
|
|
@@ -819,7 +807,6 @@ async function inspectCodexAdapter(targetPath, guidance, projectMcp, pinnedVersi
|
|
|
819
807
|
...inspectCodexSkillSurface(targetPath, CODEX_UPDATE_SKILL_RELATIVE_PATH, codexUpdateContent, expectedCodexUpdateSkill, "gdh-update"),
|
|
820
808
|
...inspectCodexSkillSurface(targetPath, CODEX_PREPARE_SKILL_RELATIVE_PATH, codexPrepareContent, expectedCodexPrepareSkill, "gdh-prepare"),
|
|
821
809
|
...inspectCodexSkillSurface(targetPath, CODEX_RUN_GAME_SKILL_RELATIVE_PATH, codexRunGameContent, expectedCodexRunGameSkill, "gdh-run-game"),
|
|
822
|
-
...inspectCodexSkillSurface(targetPath, CODEX_SCAN_SKILL_RELATIVE_PATH, codexScanContent, expectedCodexScanSkill, "gdh-scan"),
|
|
823
810
|
inspectManagedHookSurface("codex", projectMcp.integrationRootPath, CODEX_AUTHORING_HOOK_RELATIVE_PATH, codexAuthoringHookContent, expectedCodexAuthoringHook, "authoring guard"),
|
|
824
811
|
inspectCodexAuthoringHookConfig(projectMcp.integrationRootPath, codexProjectConfigContent, projectMcp.enabled),
|
|
825
812
|
];
|
|
@@ -874,9 +861,6 @@ async function inspectClaudeAdapter(targetPath, guidance, projectMcp, pinnedVers
|
|
|
874
861
|
const claudeRunGameContent = await fs
|
|
875
862
|
.readFile(path.resolve(targetPath, CLAUDE_RUN_GAME_COMMAND_RELATIVE_PATH), "utf8")
|
|
876
863
|
.catch(() => null);
|
|
877
|
-
const claudeScanContent = await fs
|
|
878
|
-
.readFile(path.join(targetPath, CLAUDE_SCAN_COMMAND_RELATIVE_PATH), "utf8")
|
|
879
|
-
.catch(() => null);
|
|
880
864
|
const claudeCheckUpdateHookContent = await fs
|
|
881
865
|
.readFile(path.join(targetPath, CLAUDE_CHECK_UPDATE_HOOK_RELATIVE_PATH), "utf8")
|
|
882
866
|
.catch(() => null);
|
|
@@ -913,7 +897,6 @@ async function inspectClaudeAdapter(targetPath, guidance, projectMcp, pinnedVers
|
|
|
913
897
|
const expectedClaudeUpdateCommand = pinnedVersion === null ? null : renderClaudeUpdateCommand(pinnedVersion);
|
|
914
898
|
const expectedClaudePrepareCommand = pinnedVersion === null ? null : renderClaudePrepareCommand(pinnedVersion);
|
|
915
899
|
const expectedClaudeRunGameCommand = pinnedVersion === null ? null : renderClaudeRunGameCommand(pinnedVersion);
|
|
916
|
-
const expectedClaudeScanCommand = pinnedVersion === null ? null : renderClaudeScanCommand(pinnedVersion);
|
|
917
900
|
const surfaces = [
|
|
918
901
|
createSurfaceStatus({
|
|
919
902
|
kind: "symlink",
|
|
@@ -962,7 +945,6 @@ async function inspectClaudeAdapter(targetPath, guidance, projectMcp, pinnedVers
|
|
|
962
945
|
...inspectClaudeSkillSurface(targetPath, CLAUDE_UPDATE_COMMAND_RELATIVE_PATH, claudeUpdateContent, expectedClaudeUpdateCommand, "gdh-update"),
|
|
963
946
|
...inspectClaudeSkillSurface(targetPath, CLAUDE_PREPARE_COMMAND_RELATIVE_PATH, claudePrepareContent, expectedClaudePrepareCommand, "gdh-prepare"),
|
|
964
947
|
...inspectClaudeSkillSurface(targetPath, CLAUDE_RUN_GAME_COMMAND_RELATIVE_PATH, claudeRunGameContent, expectedClaudeRunGameCommand, "gdh-run-game"),
|
|
965
|
-
...inspectClaudeSkillSurface(targetPath, CLAUDE_SCAN_COMMAND_RELATIVE_PATH, claudeScanContent, expectedClaudeScanCommand, "gdh-scan"),
|
|
966
948
|
inspectManagedHookSurface("claude", targetPath, CLAUDE_CHECK_UPDATE_HOOK_RELATIVE_PATH, claudeCheckUpdateHookContent, expectedClaudeCheckUpdateHook, "gdh-check-update-hook"),
|
|
967
949
|
inspectManagedHookSurface("claude", targetPath, CLAUDE_CHECK_UPDATE_WORKER_RELATIVE_PATH, claudeCheckUpdateWorkerContent, expectedClaudeCheckUpdateWorker, "gdh-check-update-worker"),
|
|
968
950
|
inspectManagedHookSurface("claude", targetPath, CLAUDE_STATUSLINE_RELATIVE_PATH, claudeStatuslineContent, expectedClaudeStatusline, "gdh-statusline"),
|
|
@@ -1337,7 +1319,6 @@ function planCodexRepoInstallActions(targetPath, adapter, pinnedVersion, project
|
|
|
1337
1319
|
planSkillInstallAction("codex", targetPath, adapter, CODEX_UPDATE_SKILL_RELATIVE_PATH, renderCodexUpdateSkill, "gdh-update", pinnedVersion),
|
|
1338
1320
|
planSkillInstallAction("codex", targetPath, adapter, CODEX_PREPARE_SKILL_RELATIVE_PATH, renderCodexPrepareSkill, "gdh-prepare", pinnedVersion),
|
|
1339
1321
|
planSkillInstallAction("codex", targetPath, adapter, CODEX_RUN_GAME_SKILL_RELATIVE_PATH, renderCodexRunGameSkill, "gdh-run-game", pinnedVersion),
|
|
1340
|
-
planSkillInstallAction("codex", targetPath, adapter, CODEX_SCAN_SKILL_RELATIVE_PATH, renderCodexScanSkill, "gdh-scan", pinnedVersion),
|
|
1341
1322
|
planSkillInstallAction("codex", integrationRootPath, adapter, CODEX_AUTHORING_HOOK_RELATIVE_PATH, (version) => renderGdhAuthoringHook({
|
|
1342
1323
|
pinnedVersion: version,
|
|
1343
1324
|
targetRelativePath: path.relative(integrationRootPath, targetPath) || ".",
|
|
@@ -1439,6 +1420,34 @@ const RETIRED_MANAGED_SURFACE_RELATIVE_PATHS = [
|
|
|
1439
1420
|
(content.includes("@skillcap/gdh@") || content.includes("gdh verify recommend")),
|
|
1440
1421
|
replacementSummary: "Agents should use `gdh authoring check --mode final` for code-validity evidence.",
|
|
1441
1422
|
},
|
|
1423
|
+
// Retired generated discovery skill (v1.1.0). The `gdh scan` CLI verb
|
|
1424
|
+
// stays — only the agent-facing skill is dropped. Targets that ran a
|
|
1425
|
+
// pre-v1.1 GDH still carry GDH-rendered SKILL.md and command files at the
|
|
1426
|
+
// managed paths; the cleanup planner removes them content-checked so
|
|
1427
|
+
// user-authored content at the same paths is preserved verbatim. Agents
|
|
1428
|
+
// now invoke `gdh scan` directly from gdh-onboard or gdh-status when an
|
|
1429
|
+
// inventory probe is needed.
|
|
1430
|
+
{
|
|
1431
|
+
agent: "codex",
|
|
1432
|
+
relativePath: ".agents/skills/gdh-scan/SKILL.md",
|
|
1433
|
+
skillName: "gdh-scan",
|
|
1434
|
+
isManaged: isManagedAgentSkillContent,
|
|
1435
|
+
replacementSummary: "The gdh-scan skill is retired; the `gdh scan` CLI verb stays and agents invoke it directly from gdh-onboard or gdh-status when an inventory probe is needed.",
|
|
1436
|
+
},
|
|
1437
|
+
{
|
|
1438
|
+
agent: "claude",
|
|
1439
|
+
relativePath: ".claude/skills/gdh-scan/SKILL.md",
|
|
1440
|
+
skillName: "gdh-scan",
|
|
1441
|
+
isManaged: isManagedAgentSkillContent,
|
|
1442
|
+
replacementSummary: "The gdh-scan skill is retired; the `gdh scan` CLI verb stays and agents invoke it directly from gdh-onboard or gdh-status when an inventory probe is needed.",
|
|
1443
|
+
},
|
|
1444
|
+
{
|
|
1445
|
+
agent: "claude",
|
|
1446
|
+
relativePath: ".claude/commands/gdh/scan.md",
|
|
1447
|
+
skillName: "gdh-scan",
|
|
1448
|
+
isManaged: isManagedAgentSkillContent,
|
|
1449
|
+
replacementSummary: "The gdh-scan command shim is retired; the `gdh scan` CLI verb stays and agents invoke it directly from gdh-onboard or gdh-status when an inventory probe is needed.",
|
|
1450
|
+
},
|
|
1442
1451
|
// Retired cursor agent (commit 7f65b098, "feat(adapters)!: drop cursor
|
|
1443
1452
|
// agent from source"). Cursor was a hard delete — no deprecation shim — so
|
|
1444
1453
|
// legacy targets that ran a pre-removal GDH still carry GDH-rendered files
|
|
@@ -1646,7 +1655,7 @@ function planClaudeInstallActions(targetPath, adapter, pinnedVersion, integratio
|
|
|
1646
1655
|
expectedTarget: "AGENTS.md",
|
|
1647
1656
|
}));
|
|
1648
1657
|
}
|
|
1649
|
-
actions.push(planSkillInstallAction("claude", targetPath, adapter, CLAUDE_ONBOARD_COMMAND_RELATIVE_PATH, renderClaudeOnboardCommand, "gdh-onboard", pinnedVersion), planSkillInstallAction("claude", targetPath, adapter, CLAUDE_STATUS_COMMAND_RELATIVE_PATH, renderClaudeStatusCommand, "gdh-status", pinnedVersion), planSkillInstallAction("claude", targetPath, adapter, CLAUDE_MIGRATE_COMMAND_RELATIVE_PATH, renderClaudeMigrateCommand, "gdh-migrate", pinnedVersion), planSkillInstallAction("claude", targetPath, adapter, CLAUDE_UPDATE_COMMAND_RELATIVE_PATH, renderClaudeUpdateCommand, "gdh-update", pinnedVersion), planSkillInstallAction("claude", targetPath, adapter, CLAUDE_PREPARE_COMMAND_RELATIVE_PATH, renderClaudePrepareCommand, "gdh-prepare", pinnedVersion), planSkillInstallAction("claude", targetPath, adapter, CLAUDE_RUN_GAME_COMMAND_RELATIVE_PATH, renderClaudeRunGameCommand, "gdh-run-game", pinnedVersion),
|
|
1658
|
+
actions.push(planSkillInstallAction("claude", targetPath, adapter, CLAUDE_ONBOARD_COMMAND_RELATIVE_PATH, renderClaudeOnboardCommand, "gdh-onboard", pinnedVersion), planSkillInstallAction("claude", targetPath, adapter, CLAUDE_STATUS_COMMAND_RELATIVE_PATH, renderClaudeStatusCommand, "gdh-status", pinnedVersion), planSkillInstallAction("claude", targetPath, adapter, CLAUDE_MIGRATE_COMMAND_RELATIVE_PATH, renderClaudeMigrateCommand, "gdh-migrate", pinnedVersion), planSkillInstallAction("claude", targetPath, adapter, CLAUDE_UPDATE_COMMAND_RELATIVE_PATH, renderClaudeUpdateCommand, "gdh-update", pinnedVersion), planSkillInstallAction("claude", targetPath, adapter, CLAUDE_PREPARE_COMMAND_RELATIVE_PATH, renderClaudePrepareCommand, "gdh-prepare", pinnedVersion), planSkillInstallAction("claude", targetPath, adapter, CLAUDE_RUN_GAME_COMMAND_RELATIVE_PATH, renderClaudeRunGameCommand, "gdh-run-game", pinnedVersion),
|
|
1650
1659
|
// UPD-01 managed hook surfaces baked at the pinned version.
|
|
1651
1660
|
planHookInstallAction("claude", targetPath, adapter, CLAUDE_CHECK_UPDATE_HOOK_RELATIVE_PATH, renderClaudeCheckUpdateHook, "gdh-check-update-hook", pinnedVersion), planHookInstallAction("claude", targetPath, adapter, CLAUDE_CHECK_UPDATE_WORKER_RELATIVE_PATH, renderClaudeCheckUpdateWorker, "gdh-check-update-worker", pinnedVersion),
|
|
1652
1661
|
// Optional statusline script baked at the pinned version. The .js file is
|