@skillcap/gdh 0.15.0 → 0.16.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/README.md +37 -108
- package/RELEASE-SPAN-UPDATE-CONTRACTS.json +178 -0
- package/node_modules/@gdh/adapters/dist/index.d.ts.map +1 -1
- package/node_modules/@gdh/adapters/dist/index.js +11 -9
- package/node_modules/@gdh/adapters/dist/index.js.map +1 -1
- package/node_modules/@gdh/adapters/package.json +8 -8
- package/node_modules/@gdh/authoring/dist/project.d.ts.map +1 -1
- package/node_modules/@gdh/authoring/dist/project.js +28 -1
- package/node_modules/@gdh/authoring/dist/project.js.map +1 -1
- 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 +5 -17
- package/node_modules/@gdh/cli/dist/index.js.map +1 -1
- package/node_modules/@gdh/cli/dist/migrate.d.ts +1 -0
- package/node_modules/@gdh/cli/dist/migrate.d.ts.map +1 -1
- package/node_modules/@gdh/cli/dist/migrate.js +144 -16
- package/node_modules/@gdh/cli/dist/migrate.js.map +1 -1
- package/node_modules/@gdh/cli/package.json +10 -10
- package/node_modules/@gdh/core/dist/index.d.ts +62 -2
- package/node_modules/@gdh/core/dist/index.d.ts.map +1 -1
- package/node_modules/@gdh/core/dist/index.js +3 -2
- package/node_modules/@gdh/core/dist/index.js.map +1 -1
- package/node_modules/@gdh/core/package.json +1 -1
- package/node_modules/@gdh/docs/dist/guidance.d.ts.map +1 -1
- package/node_modules/@gdh/docs/dist/guidance.js +22 -0
- package/node_modules/@gdh/docs/dist/guidance.js.map +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/dist/bridge-surface.d.ts.map +1 -1
- package/node_modules/@gdh/runtime/dist/bridge-surface.js +128 -18
- package/node_modules/@gdh/runtime/dist/bridge-surface.js.map +1 -1
- package/node_modules/@gdh/runtime/dist/index.d.ts +1 -0
- package/node_modules/@gdh/runtime/dist/index.d.ts.map +1 -1
- package/node_modules/@gdh/runtime/dist/index.js +189 -0
- package/node_modules/@gdh/runtime/dist/index.js.map +1 -1
- package/node_modules/@gdh/runtime/dist/knowledge-surface.d.ts +6 -0
- package/node_modules/@gdh/runtime/dist/knowledge-surface.d.ts.map +1 -0
- package/node_modules/@gdh/runtime/dist/knowledge-surface.js +216 -0
- package/node_modules/@gdh/runtime/dist/knowledge-surface.js.map +1 -0
- package/node_modules/@gdh/runtime/package.json +2 -2
- package/node_modules/@gdh/scan/dist/onboard.d.ts.map +1 -1
- package/node_modules/@gdh/scan/dist/onboard.js +13 -0
- package/node_modules/@gdh/scan/dist/onboard.js.map +1 -1
- 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
package/README.md
CHANGED
|
@@ -1,131 +1,60 @@
|
|
|
1
1
|
# GDH
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/@skillcap/gdh)
|
|
4
|
+
[](./LICENSE)
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
[](LICENSE)
|
|
6
|
+
GDH helps AI coding agents work inside Godot projects without guessing the project shape, commands, runtime setup, or validation evidence.
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-

|
|
8
|
+
## Quick Start
|
|
11
9
|
|
|
12
|
-
|
|
10
|
+
Run this from the Godot project or repo you want GDH to manage:
|
|
13
11
|
|
|
14
12
|
```sh
|
|
15
|
-
npx -y @skillcap/gdh@
|
|
13
|
+
npx -y @skillcap/gdh@latest setup
|
|
16
14
|
```
|
|
17
15
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
From `0.9.0` onward, the shipped package also carries bounded release-span update metadata in `RELEASE-SPAN-UPDATE-CONTRACTS.json` so update flows can explain release-specific migration steps without reading repo-only `docs/releases/` files at target runtime.
|
|
21
|
-
|
|
22
|
-
The current update flow is preview-first and sequential on apply: `gdh self-update --dry-run` emits machine-readable release-span preview data, and approved apply runs one ordered update -> migrate -> validate path. Apply now ends in an explicit terminal class: `healthy`, `follow_up_required`, `manual_review_required`, or `blocked`.
|
|
23
|
-
|
|
24
|
-
Automatic backup and patch reapply for customized managed surfaces are not shipped yet; that preservation work remains future backlog, not part of the current update contract.
|
|
25
|
-
|
|
26
|
-
The full install and update contract lives in [install-and-update.md](docs/development/install-and-update.md).
|
|
27
|
-
|
|
28
|
-
## Requirements
|
|
29
|
-
|
|
30
|
-
- **Node.js** ≥ 20 (per `package.json` engines)
|
|
31
|
-
- **Godot** 4.4 through 4.6 stable — see [runtime-support-matrix.md](docs/development/runtime-support-matrix.md) for the full bounded support contract
|
|
32
|
-
- **Host OS** macOS for the currently supported development environment
|
|
33
|
-
- **Yarn 4** via `corepack` (required only for contributors working on the GDH implementation repo itself; end users invoking `npx @skillcap/gdh` do not need Yarn)
|
|
34
|
-
|
|
35
|
-
## Quick Start
|
|
36
|
-
|
|
37
|
-
```sh
|
|
38
|
-
# 1. Run setup in your Godot project
|
|
39
|
-
npx -y @skillcap/gdh@0.15.0 setup
|
|
16
|
+
Then open your agent in that project and run:
|
|
40
17
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
# 3. Run the onboarding handoff
|
|
18
|
+
```text
|
|
44
19
|
/gdh-onboard
|
|
45
20
|
```
|
|
46
21
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
## What GDH Does
|
|
50
|
-
|
|
51
|
-
### Detects your Godot target
|
|
52
|
-
|
|
53
|
-
Finds the Godot project inside your repo or monorepo automatically. Handles nested targets, worktrees, and non-obvious layouts.
|
|
54
|
-
|
|
55
|
-
### Configures your AI agents
|
|
56
|
-
|
|
57
|
-
Scaffolds a minimal `.gdh/` surface and wires up agent-specific guidance so Claude, Cursor, and Codex know how to work with your project from the first session — all pinned to one canonical guidance chain.
|
|
58
|
-
|
|
59
|
-
### Searches Godot docs with version awareness
|
|
22
|
+
GDH writes the project guidance, command surfaces, MCP config, and local state that supported agents use for future work. Setup records the resolved GDH version in the target project so later updates can migrate that project deliberately.
|
|
60
23
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
### Validates with evidence
|
|
64
|
-
|
|
65
|
-
Runs authoring and runtime checks through inspectable surfaces. Agents get structured results they can reason about, not just pass/fail.
|
|
66
|
-
The current line also ships one Docker-backed rendered runtime provider for compatible run configurations, plus bounded screenshot artifacts on rendered-capable paths when verification asks for them.
|
|
67
|
-
|
|
68
|
-
### Signals completion with evidence
|
|
69
|
-
|
|
70
|
-
Evidence-backed "done" decisions replace confidence-based guessing. Run records capture what happened; verification scenarios define what must be true.
|
|
71
|
-
|
|
72
|
-
### What GDH does not do
|
|
73
|
-
|
|
74
|
-
GDH is not a general project planner, PR/release orchestrator, or generic codebase knowledge system. It does not manage non-Godot runtimes. Use it for Godot-specific authoring, validation, worktree/import handling, and evidence-backed done decisions — and hand the rest to tools built for those jobs.
|
|
75
|
-
|
|
76
|
-
## Core Concepts
|
|
77
|
-
|
|
78
|
-
| Concept | What it is |
|
|
79
|
-
|---------|-----------|
|
|
80
|
-
| **Target** | The Godot project root or subproject GDH operates on |
|
|
81
|
-
| **Run configuration** | How GDH launches a target |
|
|
82
|
-
| **Verification scenario** | What GDH verifies once a target is running |
|
|
83
|
-
| **Run record** | Structured evidence from one execution or verification run |
|
|
84
|
-
|
|
85
|
-
## Daily Usage
|
|
86
|
-
|
|
87
|
-
Normal usage happens through your AI agent, not by memorizing CLI commands.
|
|
88
|
-
|
|
89
|
-
1. Open your agent in the repo
|
|
90
|
-
2. The agent uses GDH surfaces to check readiness, pick validation, run checks
|
|
91
|
-
3. You intervene only for narrow decisions or missing environment input
|
|
92
|
-
|
|
93
|
-
The CLI exists for advanced operators, debugging, and automation. Update preview now uses a structured `preview` payload instead of changelog scraping, and update apply surfaces exact terminal follow-up data in `migration` + `terminal`. See [Advanced CLI Usage](docs/development/advanced-cli-usage.md).
|
|
94
|
-
|
|
95
|
-
## Documentation
|
|
96
|
-
|
|
97
|
-
- [Install and Update](docs/development/install-and-update.md) — alternative install modes, updating
|
|
98
|
-
- [Advanced CLI Usage](docs/development/advanced-cli-usage.md) — raw CLI reference
|
|
99
|
-
- [Runtime Support Matrix](docs/development/runtime-support-matrix.md) — what's supported today
|
|
100
|
-
- [Runtime Release Readiness](docs/development/runtime-release-readiness.md) — current release stage
|
|
101
|
-
|
|
102
|
-
## Status
|
|
103
|
-
|
|
104
|
-
GDH now ships the current `0.15.0` release line and remains ready for broader internal use within the documented support contract. The current release line is `0.15.0` at the `broader_internal_release` stage.
|
|
105
|
-
That line includes one first-class Docker-backed rendered runtime provider and bounded screenshot evidence on rendered-capable paths.
|
|
106
|
-
|
|
107
|
-
The release-stage label applies only to the documented support window in [runtime-support-matrix.md](docs/development/runtime-support-matrix.md) and [runtime-release-readiness.md](docs/development/runtime-release-readiness.md). It is not a blanket claim that every Godot project shape is supported or that this implementation checkout should behave like a GDH-managed target repo.
|
|
24
|
+
## Requirements
|
|
108
25
|
|
|
109
|
-
|
|
26
|
+
- Node.js 20 or newer.
|
|
27
|
+
- A local Godot project, currently focused on Godot 4.4 through 4.6.
|
|
28
|
+
- A supported AI coding agent: Codex, Claude, or Cursor.
|
|
29
|
+
- Optional: `GDH_GODOT_EDITOR_BIN` for Godot import refresh or direct local runtime checks.
|
|
30
|
+
- Optional: Docker for the Docker-backed rendered runtime path.
|
|
110
31
|
|
|
111
|
-
|
|
32
|
+
## What It Does
|
|
112
33
|
|
|
113
|
-
-
|
|
114
|
-
-
|
|
34
|
+
- Finds Godot project roots and writes `.gdh/project.yaml` plus `.gdh-state/` derived state.
|
|
35
|
+
- Installs agent commands and skills such as `/gdh-status`, `/gdh-prepare`, `/gdh-check`, `/gdh-verify`, `/gdh-migrate`, and `/gdh-update`.
|
|
36
|
+
- Exposes MCP tools for project status, authoring checks, docs lookup, runtime bridge operations, and verification.
|
|
37
|
+
- Keeps generated target-project files inside the managed project, not in GDH's own implementation repo.
|
|
115
38
|
|
|
116
|
-
|
|
39
|
+
## Common Commands
|
|
117
40
|
|
|
118
|
-
|
|
41
|
+
```sh
|
|
42
|
+
npx -y @skillcap/gdh@latest setup
|
|
43
|
+
gdh status
|
|
44
|
+
gdh target prepare --dry-run
|
|
45
|
+
gdh authoring check
|
|
46
|
+
gdh verify recommend --since main
|
|
47
|
+
gdh self-update --dry-run --target .
|
|
48
|
+
```
|
|
119
49
|
|
|
120
|
-
|
|
50
|
+
## More Docs
|
|
121
51
|
|
|
122
|
-
- [
|
|
123
|
-
- [
|
|
124
|
-
- [
|
|
125
|
-
- [
|
|
126
|
-
- [
|
|
52
|
+
- [Install and update](./docs/development/install-and-update.md)
|
|
53
|
+
- [Advanced CLI usage](./docs/development/advanced-cli-usage.md)
|
|
54
|
+
- [Runtime support matrix](./docs/development/runtime-support-matrix.md)
|
|
55
|
+
- [Runtime release readiness](./docs/development/runtime-release-readiness.md)
|
|
56
|
+
- [All docs](./docs/README.md)
|
|
127
57
|
|
|
128
|
-
|
|
58
|
+
## License
|
|
129
59
|
|
|
130
|
-
|
|
131
|
-
Each live release line also carries a machine-readable update contract in [docs/releases/migrations/](docs/releases/migrations/README.md), which is compiled into the packaged `RELEASE-SPAN-UPDATE-CONTRACTS.json` asset for runtime update guidance.
|
|
60
|
+
MIT
|
|
@@ -1091,6 +1091,184 @@
|
|
|
1091
1091
|
}
|
|
1092
1092
|
]
|
|
1093
1093
|
}
|
|
1094
|
+
},
|
|
1095
|
+
{
|
|
1096
|
+
"version": "0.15.1",
|
|
1097
|
+
"releaseTag": "v0.15.1",
|
|
1098
|
+
"migrationStatus": "required",
|
|
1099
|
+
"summary": "v0.15.1 fixes rendered bridge screenshot orientation and changes update follow-through so auto-applicable runtime bridge repair is agent-owned work instead of a user review gate. The release changes GDH_RUNTIME_BRIDGE_SURFACE_VERSION (5 -> 6), so bridge-enabled managed targets need release-specific bridge repair and plugin/autoload follow-through when required.",
|
|
1100
|
+
"releaseHighlights": {
|
|
1101
|
+
"summary": "v0.15.1 fixes the active bridge screenshot path shipped in v0.15.0. On-demand and startup-triggered rendered screenshots now save with the expected vertical orientation, and update/migration follow-through treats auto-applicable bridge repair as agent-owned work instead of a user review gate. Because the managed runtime bridge surface changed, bridge-enabled targets need the bounded bridge repair path.",
|
|
1102
|
+
"operatorChanges": [
|
|
1103
|
+
"**Rendered bridge screenshots keep the expected orientation.** The managed runtime bridge no longer flips the viewport image before saving PNG artifacts for `screenshot.capture` or startup screenshot capture.",
|
|
1104
|
+
"**Bridge repair is no longer presented as a manual review prompt.** Auto-applicable runtime bridge drift now surfaces as `follow_up_required`, so agents run the surfaced `gdh bridge repair` command and validation commands instead of asking the user to approve ordinary repair.",
|
|
1105
|
+
"**Update guidance owns stale MCP cleanup.** `/gdh-update` guidance now tells agents to stop stale GDH MCP server processes themselves when possible before trusting MCP follow-up output.",
|
|
1106
|
+
"**The managed bridge surface moves to the next contract version.** Bridge-enabled targets repair from runtime bridge surface `5` to `6` to receive the screenshot-orientation fix."
|
|
1107
|
+
]
|
|
1108
|
+
},
|
|
1109
|
+
"updateContract": {
|
|
1110
|
+
"summary": "Bridge-enabled managed targets need a release-specific bridge repair path for v0.15.1 because the runtime bridge surface moves from version 5 to version 6. Agents should run surfaced follow-up commands directly for auto-applicable bridge repair, then validate with bridge status and project status.",
|
|
1111
|
+
"steps": [
|
|
1112
|
+
{
|
|
1113
|
+
"id": "verify_post_update_status",
|
|
1114
|
+
"kind": "mechanical",
|
|
1115
|
+
"summary": "Run the standard post-update lifecycle check.",
|
|
1116
|
+
"detail": "Start with `gdh status` so GDH can report whether the target entered the v0.15.1 runtime bridge repair branch.",
|
|
1117
|
+
"commands": [
|
|
1118
|
+
"gdh status"
|
|
1119
|
+
],
|
|
1120
|
+
"validationCommands": [
|
|
1121
|
+
"gdh status"
|
|
1122
|
+
]
|
|
1123
|
+
},
|
|
1124
|
+
{
|
|
1125
|
+
"id": "inspect_bridge_specific_branch",
|
|
1126
|
+
"kind": "agent_reasoning",
|
|
1127
|
+
"summary": "Decide whether bridge repair is active for this target.",
|
|
1128
|
+
"detail": "If `gdh status` surfaces runtime-bridge reasons, inspect `gdh bridge status` and treat the surfaced `terminal.commands` as the release-specific follow-up. If no runtime-bridge reasons appear, no release-specific bridge repair is needed.",
|
|
1129
|
+
"commands": [
|
|
1130
|
+
"gdh bridge status"
|
|
1131
|
+
],
|
|
1132
|
+
"validationCommands": [
|
|
1133
|
+
"gdh status"
|
|
1134
|
+
]
|
|
1135
|
+
},
|
|
1136
|
+
{
|
|
1137
|
+
"id": "repair_runtime_bridge_surface",
|
|
1138
|
+
"kind": "mechanical",
|
|
1139
|
+
"summary": "Repair the managed runtime bridge files when the bridge branch is active.",
|
|
1140
|
+
"detail": "Bridge-enabled `v0.15.0` targets drift from runtime bridge surface version 6. Run `gdh bridge repair` to rewrite the managed bridge files and remove the extra screenshot flip.",
|
|
1141
|
+
"commands": [
|
|
1142
|
+
"gdh bridge repair"
|
|
1143
|
+
],
|
|
1144
|
+
"validationCommands": [
|
|
1145
|
+
"gdh bridge status"
|
|
1146
|
+
]
|
|
1147
|
+
},
|
|
1148
|
+
{
|
|
1149
|
+
"id": "enable_plugin_and_finish_gdhbridge_registration",
|
|
1150
|
+
"kind": "manual_review",
|
|
1151
|
+
"summary": "Enable the GDH Runtime Bridge plugin so GDHBridge registers when required.",
|
|
1152
|
+
"detail": "GDH does not hand-edit `project.godot` for operators. After bridge repair, if bridge status still reports plugin/autoload follow-through, open the project in the Godot editor and enable the `GDH Runtime Bridge` plugin so it can register `GDHBridge`.",
|
|
1153
|
+
"commands": [],
|
|
1154
|
+
"validationCommands": [
|
|
1155
|
+
"gdh bridge status",
|
|
1156
|
+
"gdh status"
|
|
1157
|
+
]
|
|
1158
|
+
},
|
|
1159
|
+
{
|
|
1160
|
+
"id": "validate_repaired_lifecycle",
|
|
1161
|
+
"kind": "mechanical",
|
|
1162
|
+
"summary": "Validate the repaired bridge and project lifecycle.",
|
|
1163
|
+
"detail": "After repair and any plugin follow-through, rerun `gdh bridge status` and `gdh status`. The target should return to the healthy lifecycle state for the repaired bridge surface.",
|
|
1164
|
+
"commands": [
|
|
1165
|
+
"gdh bridge status",
|
|
1166
|
+
"gdh status"
|
|
1167
|
+
],
|
|
1168
|
+
"validationCommands": [
|
|
1169
|
+
"gdh bridge status",
|
|
1170
|
+
"gdh status"
|
|
1171
|
+
]
|
|
1172
|
+
}
|
|
1173
|
+
]
|
|
1174
|
+
}
|
|
1175
|
+
},
|
|
1176
|
+
{
|
|
1177
|
+
"version": "0.16.0",
|
|
1178
|
+
"releaseTag": "v0.16.0",
|
|
1179
|
+
"migrationStatus": "required",
|
|
1180
|
+
"summary": "v0.16.0 adds project-owned bridge entries, scene-scoped runtime reachability knowledge, navigation feasibility probes, and timed/sequenced runtime input. The release changes GDH_GUIDANCE_UNIT_VERSION (4 -> 6) and GDH_RUNTIME_BRIDGE_SURFACE_VERSION (6 -> 7), so managed targets need guidance migration and bridge repair before they are treated as current.",
|
|
1181
|
+
"releaseHighlights": {
|
|
1182
|
+
"summary": "v0.16.0 moves bridge extension and runtime-navigation knowledge into project-owned surfaces, adds a fixture-backed navigation lab for collision and route-probing experiments, and expands bounded runtime input with timed holds plus short action sequences. Agents can now create custom bridge entries outside the managed addon tree, reuse scene-scoped waypoint knowledge, and reduce latency-sensitive input failures without treating GDH as arbitrary gameplay automation.",
|
|
1183
|
+
"operatorChanges": [
|
|
1184
|
+
"**Project-owned bridge entries live outside `addons/gdh_bridge/`.** GDH scaffolds `.gdh/bridge/entries/` with a tracked `.gitkeep`, loads bounded project entries from that folder, and keeps the generated addon tree as GDH-owned output.",
|
|
1185
|
+
"**Runtime reachability knowledge is durable and scene-scoped.** GDH scaffolds `.gdh/runtime-knowledge/` and supports YAML scene records for waypoints, routes, transitions, dynamic blockers, trust, and stale-status notes.",
|
|
1186
|
+
"**Navigation exploration has fixture-backed probes.** The runtime bridge fixture now includes controlled-node/world-collider inspection plus segment and route probes so navigation approaches can be tested before GDH commits to a broad product API.",
|
|
1187
|
+
"**Timed input and bounded action sequences are supported.** The bridge exposes `input.action.hold` with `durationMs` or live `physicsFrames`, and the host exposes `input.sequence.run` for short ordered bridge action flows.",
|
|
1188
|
+
"**Generated guidance teaches the new boundaries.** Agent guidance covers project-owned bridge entries, runtime reachability knowledge, timed/sequenced input, and the line between live physics-frame holds and unsupported manual time-control."
|
|
1189
|
+
]
|
|
1190
|
+
},
|
|
1191
|
+
"updateContract": {
|
|
1192
|
+
"summary": "Managed targets need release-specific migration for v0.16.0 because generated guidance and the runtime bridge surface changed. Agents should migrate guidance/scaffolded project-owned folders, repair the runtime bridge when GDH reports drift, complete plugin/autoload follow-through when required, and validate the target lifecycle.",
|
|
1193
|
+
"steps": [
|
|
1194
|
+
{
|
|
1195
|
+
"id": "verify_post_update_status",
|
|
1196
|
+
"kind": "mechanical",
|
|
1197
|
+
"summary": "Run the standard post-update lifecycle check.",
|
|
1198
|
+
"detail": "Start with `gdh status` so GDH can report whether the target needs guidance migration, runtime bridge repair, or plugin/autoload follow-through for v0.16.0.",
|
|
1199
|
+
"commands": [
|
|
1200
|
+
"gdh status"
|
|
1201
|
+
],
|
|
1202
|
+
"validationCommands": [
|
|
1203
|
+
"gdh status"
|
|
1204
|
+
]
|
|
1205
|
+
},
|
|
1206
|
+
{
|
|
1207
|
+
"id": "apply_guidance_and_project_surface_migration",
|
|
1208
|
+
"kind": "mechanical",
|
|
1209
|
+
"summary": "Apply managed guidance and project-owned surface migration.",
|
|
1210
|
+
"detail": "When `gdh status` or `gdh migrate` reports migration work, run `gdh migrate --apply` to refresh guidance units and scaffold `.gdh/bridge/entries/` plus `.gdh/runtime-knowledge/` without storing project extensions inside the managed addon tree.",
|
|
1211
|
+
"commands": [
|
|
1212
|
+
"gdh migrate --apply"
|
|
1213
|
+
],
|
|
1214
|
+
"validationCommands": [
|
|
1215
|
+
"gdh guidance status",
|
|
1216
|
+
"gdh status"
|
|
1217
|
+
]
|
|
1218
|
+
},
|
|
1219
|
+
{
|
|
1220
|
+
"id": "inspect_bridge_repair_branch",
|
|
1221
|
+
"kind": "agent_reasoning",
|
|
1222
|
+
"summary": "Decide whether runtime bridge repair is active for this target.",
|
|
1223
|
+
"detail": "If lifecycle output surfaces runtime-bridge reasons, inspect `gdh bridge status` and treat the surfaced terminal commands as release-specific follow-up. If no runtime-bridge reasons appear, no release-specific bridge repair is needed.",
|
|
1224
|
+
"commands": [
|
|
1225
|
+
"gdh bridge status"
|
|
1226
|
+
],
|
|
1227
|
+
"validationCommands": [
|
|
1228
|
+
"gdh status"
|
|
1229
|
+
]
|
|
1230
|
+
},
|
|
1231
|
+
{
|
|
1232
|
+
"id": "repair_runtime_bridge_surface",
|
|
1233
|
+
"kind": "mechanical",
|
|
1234
|
+
"summary": "Repair managed runtime bridge files when drift is active.",
|
|
1235
|
+
"detail": "Bridge-enabled targets on the previous surface drift from runtime bridge surface version 7. Run `gdh bridge repair` to rewrite the managed bridge addon with project-owned entry loading and timed hold support.",
|
|
1236
|
+
"commands": [
|
|
1237
|
+
"gdh bridge repair"
|
|
1238
|
+
],
|
|
1239
|
+
"validationCommands": [
|
|
1240
|
+
"gdh bridge status"
|
|
1241
|
+
]
|
|
1242
|
+
},
|
|
1243
|
+
{
|
|
1244
|
+
"id": "enable_plugin_and_finish_gdhbridge_registration",
|
|
1245
|
+
"kind": "manual_review",
|
|
1246
|
+
"summary": "Enable the GDH Runtime Bridge plugin so GDHBridge registers when required.",
|
|
1247
|
+
"detail": "GDH does not hand-edit `project.godot` for operators. After bridge repair, if bridge status still reports plugin/autoload follow-through, open the project in the Godot editor and enable the `GDH Runtime Bridge` plugin so it can register `GDHBridge`.",
|
|
1248
|
+
"commands": [],
|
|
1249
|
+
"validationCommands": [
|
|
1250
|
+
"gdh bridge status",
|
|
1251
|
+
"gdh status"
|
|
1252
|
+
]
|
|
1253
|
+
},
|
|
1254
|
+
{
|
|
1255
|
+
"id": "validate_repaired_lifecycle",
|
|
1256
|
+
"kind": "mechanical",
|
|
1257
|
+
"summary": "Validate guidance, bridge, and project lifecycle after migration.",
|
|
1258
|
+
"detail": "After migration, bridge repair, and any plugin follow-through, rerun `gdh guidance status`, `gdh bridge status`, and `gdh status`. The target should return to the current lifecycle state for the refreshed guidance and bridge surfaces.",
|
|
1259
|
+
"commands": [
|
|
1260
|
+
"gdh guidance status",
|
|
1261
|
+
"gdh bridge status",
|
|
1262
|
+
"gdh status"
|
|
1263
|
+
],
|
|
1264
|
+
"validationCommands": [
|
|
1265
|
+
"gdh guidance status",
|
|
1266
|
+
"gdh bridge status",
|
|
1267
|
+
"gdh status"
|
|
1268
|
+
]
|
|
1269
|
+
}
|
|
1270
|
+
]
|
|
1271
|
+
}
|
|
1094
1272
|
}
|
|
1095
1273
|
]
|
|
1096
1274
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA8BA,OAAO,EAiBL,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,cAAc,EAGnB,KAAK,sCAAsC,EAE3C,KAAK,gCAAgC,EAIrC,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACvB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ import { CLAUDE_SETTINGS_RELATIVE_PATH, patchClaudeSettingsForGdhSessionStart, p
|
|
|
12
12
|
import { 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, assertProjectLifecycleCompatibilityInvariant, definePackageBoundary, resolveCurrentGdhInstall, resolveConfiguredGodotEditorBin, resolveGdhProductMetadata, } from "@gdh/core";
|
|
13
13
|
import { createDefaultGuidanceUnits, getGuidanceStatus, resolveGuidanceQuery, resolveRecoveryHints, } from "@gdh/docs";
|
|
14
14
|
import { inspectGuidanceAudit } from "@gdh/observability";
|
|
15
|
-
import { inspectRuntimeBridgeSurface } from "@gdh/runtime";
|
|
15
|
+
import { inspectRuntimeBridgeSurface, inspectRuntimeKnowledgeSurface, } from "@gdh/runtime";
|
|
16
16
|
import { readInventoryCacheOrScan } from "@gdh/scan";
|
|
17
17
|
import { evaluateDonePolicy, recommendValidationForChange } from "@gdh/verify";
|
|
18
18
|
export const adaptersPackage = definePackageBoundary({
|
|
@@ -227,6 +227,10 @@ export async function inspectProjectLifecycleCompatibility(targetPath) {
|
|
|
227
227
|
export async function buildGdhStatusResult(targetPath) {
|
|
228
228
|
const context = await buildAuthoringContext(targetPath);
|
|
229
229
|
const projectLifecycle = await inspectProjectLifecycleCompatibility(targetPath);
|
|
230
|
+
const runtimeKnowledge = await inspectRuntimeKnowledgeSurface({
|
|
231
|
+
targetPath: context.status.targetPath,
|
|
232
|
+
runtimeKnowledgePath: context.projectConfig?.runtimeKnowledge.path ?? null,
|
|
233
|
+
});
|
|
230
234
|
const recoveryHints = resolveRecoveryHints(projectLifecycle.reasons);
|
|
231
235
|
const capabilities = await addOperationalCapabilityStatus(context.status.capabilities, context.status.targetPath);
|
|
232
236
|
const detectedProjects = summarizeDetectedProjects(context.inventory.projects, context.status.primaryProjectPath);
|
|
@@ -236,6 +240,7 @@ export async function buildGdhStatusResult(targetPath) {
|
|
|
236
240
|
detectedProjects,
|
|
237
241
|
product: resolveGdhProductMetadata(),
|
|
238
242
|
projectLifecycle,
|
|
243
|
+
runtimeKnowledge,
|
|
239
244
|
recoveryHints,
|
|
240
245
|
};
|
|
241
246
|
}
|
|
@@ -868,7 +873,7 @@ export function renderClaudeUpdateCommand(_pinnedVersion) {
|
|
|
868
873
|
"3. When `preview.state` is `ready`, summarize the current version, target version, intervening releases, bounded release highlights, ordered steps, and which work is `mechanical`, `agent_reasoning`, or `manual_review`.",
|
|
869
874
|
"4. Ask for explicit approval before apply.",
|
|
870
875
|
"5. Apply: run `npx -y @skillcap/gdh@latest self-update [version]` (omit `[version]` to apply against npm latest; forward whatever positional the user passed to `/gdh-update`).",
|
|
871
|
-
"6. If this chat or editor keeps a long-lived GDH MCP session alive,
|
|
876
|
+
"6. If this chat or editor keeps a long-lived GDH MCP session alive, do the MCP cleanup yourself before trusting MCP follow-up output: stop stale `gdh mcp serve` / `@skillcap/gdh ... mcp serve` processes for this target when possible, then let the next MCP connection restart from the updated config. If the client owns reconnection and the process cannot be controlled from Bash, report that limitation after attempting cleanup.",
|
|
872
877
|
"7. Verify baked pinning: run `npx -y @skillcap/gdh@latest verify drift` to confirm every managed skill/command surface matches the new pin. This does not validate runtime bridge or other lifecycle surfaces.",
|
|
873
878
|
"8. Read `terminal.state` in the apply stdout JSON and treat it as the lifecycle/runtime truth.",
|
|
874
879
|
"9. If `terminal.state` is `healthy`, confirm the update completed and stop.",
|
|
@@ -915,7 +920,7 @@ export function renderCodexUpdateSkill(_pinnedVersion) {
|
|
|
915
920
|
"3. When `preview.state` is `ready`, summarize the current version, target version, intervening releases, bounded release highlights, ordered steps, and which work is `mechanical`, `agent_reasoning`, or `manual_review`.",
|
|
916
921
|
"4. Ask for explicit approval before apply.",
|
|
917
922
|
"5. Apply: run `npx -y @skillcap/gdh@latest self-update [version]` (omit `[version]` to apply against npm latest; forward whatever positional the user passed to `/gdh-update`).",
|
|
918
|
-
"6. If this chat or editor keeps a long-lived GDH MCP session alive,
|
|
923
|
+
"6. If this chat or editor keeps a long-lived GDH MCP session alive, do the MCP cleanup yourself before trusting MCP follow-up output: stop stale `gdh mcp serve` / `@skillcap/gdh ... mcp serve` processes for this target when possible, then let the next MCP connection restart from the updated config. If the client owns reconnection and the process cannot be controlled from Bash, report that limitation after attempting cleanup.",
|
|
919
924
|
"7. Verify baked pinning: run `npx -y @skillcap/gdh@latest verify drift` to confirm every managed skill/command surface matches the new pin. This does not validate runtime bridge or other lifecycle surfaces.",
|
|
920
925
|
"8. Read `terminal.state` in the apply stdout JSON and treat it as the lifecycle/runtime truth.",
|
|
921
926
|
"9. If `terminal.state` is `healthy`, confirm the update completed and stop.",
|
|
@@ -960,7 +965,7 @@ export function renderCursorUpdateSkill(_pinnedVersion) {
|
|
|
960
965
|
"3. When `preview.state` is `ready`, summarize the current version, target version, intervening releases, bounded release highlights, ordered steps, and which work is `mechanical`, `agent_reasoning`, or `manual_review`.",
|
|
961
966
|
"4. Ask for explicit approval before apply.",
|
|
962
967
|
"5. Apply: run `npx -y @skillcap/gdh@latest self-update [version]` (omit `[version]` to apply against npm latest; forward whatever positional the user passed to `/gdh-update`).",
|
|
963
|
-
"6. If this chat or editor keeps a long-lived GDH MCP session alive,
|
|
968
|
+
"6. If this chat or editor keeps a long-lived GDH MCP session alive, do the MCP cleanup yourself before trusting MCP follow-up output: stop stale `gdh mcp serve` / `@skillcap/gdh ... mcp serve` processes for this target when possible, then let the next MCP connection restart from the updated config. If the client owns reconnection and the process cannot be controlled from Bash, report that limitation after attempting cleanup.",
|
|
964
969
|
"7. Verify baked pinning: run `npx -y @skillcap/gdh@latest verify drift` to confirm every managed skill/command surface matches the new pin. This does not validate runtime bridge or other lifecycle surfaces.",
|
|
965
970
|
"8. Read `terminal.state` in the apply stdout JSON and treat it as the lifecycle/runtime truth.",
|
|
966
971
|
"9. If `terminal.state` is `healthy`, confirm the update completed and stop.",
|
|
@@ -3216,20 +3221,17 @@ function inspectRuntimeBridgeLifecycleSurface(targetPath, bridgeStatus) {
|
|
|
3216
3221
|
surface: "runtime_bridge_surface",
|
|
3217
3222
|
management: "managed",
|
|
3218
3223
|
state: "compatibility_degraded",
|
|
3219
|
-
summary: "Runtime bridge managed files are present but drifted from the current GDH surface and
|
|
3224
|
+
summary: "Runtime bridge managed files are present but drifted from the current GDH surface and can be repaired automatically.",
|
|
3220
3225
|
reasons: bridgeStatus.reasons,
|
|
3221
3226
|
probes,
|
|
3222
3227
|
action: {
|
|
3223
3228
|
kind: "run_repair",
|
|
3224
|
-
summary: "Run GDH bridge repair
|
|
3229
|
+
summary: "Run GDH bridge repair to rewrite the drifted runtime bridge files.",
|
|
3225
3230
|
command: ["gdh", "bridge", "repair", targetPath],
|
|
3226
3231
|
validationCommands: [
|
|
3227
3232
|
["gdh", "bridge", "status", targetPath],
|
|
3228
3233
|
["gdh", "status", targetPath],
|
|
3229
3234
|
],
|
|
3230
|
-
manualSteps: [
|
|
3231
|
-
"Review the drifted runtime bridge files before running automated repair.",
|
|
3232
|
-
],
|
|
3233
3235
|
autoApplicable: true,
|
|
3234
3236
|
},
|
|
3235
3237
|
});
|