@skillcap/gdh 0.15.1 → 0.17.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 (75) hide show
  1. package/INSTALL-BUNDLE.json +1 -1
  2. package/README.md +37 -108
  3. package/RELEASE-SPAN-UPDATE-CONTRACTS.json +184 -0
  4. package/node_modules/@gdh/adapters/dist/index.d.ts +2 -2
  5. package/node_modules/@gdh/adapters/dist/index.d.ts.map +1 -1
  6. package/node_modules/@gdh/adapters/dist/index.js +148 -110
  7. package/node_modules/@gdh/adapters/dist/index.js.map +1 -1
  8. package/node_modules/@gdh/adapters/package.json +8 -8
  9. package/node_modules/@gdh/authoring/dist/index.d.ts +4 -3
  10. package/node_modules/@gdh/authoring/dist/index.d.ts.map +1 -1
  11. package/node_modules/@gdh/authoring/dist/index.js +80 -9
  12. package/node_modules/@gdh/authoring/dist/index.js.map +1 -1
  13. package/node_modules/@gdh/authoring/dist/lsp-client.d.ts +47 -0
  14. package/node_modules/@gdh/authoring/dist/lsp-client.d.ts.map +1 -0
  15. package/node_modules/@gdh/authoring/dist/lsp-client.js +371 -0
  16. package/node_modules/@gdh/authoring/dist/lsp-client.js.map +1 -0
  17. package/node_modules/@gdh/authoring/dist/lsp-test-server.test-utils.d.ts +35 -0
  18. package/node_modules/@gdh/authoring/dist/lsp-test-server.test-utils.d.ts.map +1 -0
  19. package/node_modules/@gdh/authoring/dist/lsp-test-server.test-utils.js +194 -0
  20. package/node_modules/@gdh/authoring/dist/lsp-test-server.test-utils.js.map +1 -0
  21. package/node_modules/@gdh/authoring/dist/lsp.d.ts +62 -1
  22. package/node_modules/@gdh/authoring/dist/lsp.d.ts.map +1 -1
  23. package/node_modules/@gdh/authoring/dist/lsp.js +1207 -109
  24. package/node_modules/@gdh/authoring/dist/lsp.js.map +1 -1
  25. package/node_modules/@gdh/authoring/dist/project.d.ts.map +1 -1
  26. package/node_modules/@gdh/authoring/dist/project.js +28 -1
  27. package/node_modules/@gdh/authoring/dist/project.js.map +1 -1
  28. package/node_modules/@gdh/authoring/dist/scene-resource.d.ts +39 -0
  29. package/node_modules/@gdh/authoring/dist/scene-resource.d.ts.map +1 -0
  30. package/node_modules/@gdh/authoring/dist/scene-resource.js +544 -0
  31. package/node_modules/@gdh/authoring/dist/scene-resource.js.map +1 -0
  32. package/node_modules/@gdh/authoring/package.json +2 -2
  33. package/node_modules/@gdh/cli/dist/index.d.ts.map +1 -1
  34. package/node_modules/@gdh/cli/dist/index.js +121 -35
  35. package/node_modules/@gdh/cli/dist/index.js.map +1 -1
  36. package/node_modules/@gdh/cli/dist/migrate.d.ts +1 -0
  37. package/node_modules/@gdh/cli/dist/migrate.d.ts.map +1 -1
  38. package/node_modules/@gdh/cli/dist/migrate.js +140 -13
  39. package/node_modules/@gdh/cli/dist/migrate.js.map +1 -1
  40. package/node_modules/@gdh/cli/package.json +10 -10
  41. package/node_modules/@gdh/core/dist/index.d.ts +109 -14
  42. package/node_modules/@gdh/core/dist/index.d.ts.map +1 -1
  43. package/node_modules/@gdh/core/dist/index.js +16 -18
  44. package/node_modules/@gdh/core/dist/index.js.map +1 -1
  45. package/node_modules/@gdh/core/package.json +1 -1
  46. package/node_modules/@gdh/docs/dist/guidance.d.ts.map +1 -1
  47. package/node_modules/@gdh/docs/dist/guidance.js +34 -2
  48. package/node_modules/@gdh/docs/dist/guidance.js.map +1 -1
  49. package/node_modules/@gdh/docs/dist/rules.d.ts.map +1 -1
  50. package/node_modules/@gdh/docs/dist/rules.js +2 -2
  51. package/node_modules/@gdh/docs/dist/rules.js.map +1 -1
  52. package/node_modules/@gdh/docs/package.json +2 -2
  53. package/node_modules/@gdh/mcp/package.json +8 -8
  54. package/node_modules/@gdh/observability/package.json +2 -2
  55. package/node_modules/@gdh/runtime/dist/bridge-surface.d.ts.map +1 -1
  56. package/node_modules/@gdh/runtime/dist/bridge-surface.js +128 -16
  57. package/node_modules/@gdh/runtime/dist/bridge-surface.js.map +1 -1
  58. package/node_modules/@gdh/runtime/dist/index.d.ts +1 -0
  59. package/node_modules/@gdh/runtime/dist/index.d.ts.map +1 -1
  60. package/node_modules/@gdh/runtime/dist/index.js +189 -0
  61. package/node_modules/@gdh/runtime/dist/index.js.map +1 -1
  62. package/node_modules/@gdh/runtime/dist/knowledge-surface.d.ts +6 -0
  63. package/node_modules/@gdh/runtime/dist/knowledge-surface.d.ts.map +1 -0
  64. package/node_modules/@gdh/runtime/dist/knowledge-surface.js +216 -0
  65. package/node_modules/@gdh/runtime/dist/knowledge-surface.js.map +1 -0
  66. package/node_modules/@gdh/runtime/package.json +2 -2
  67. package/node_modules/@gdh/scan/dist/onboard.d.ts.map +1 -1
  68. package/node_modules/@gdh/scan/dist/onboard.js +13 -0
  69. package/node_modules/@gdh/scan/dist/onboard.js.map +1 -1
  70. package/node_modules/@gdh/scan/package.json +3 -3
  71. package/node_modules/@gdh/verify/dist/policy.d.ts.map +1 -1
  72. package/node_modules/@gdh/verify/dist/policy.js +157 -29
  73. package/node_modules/@gdh/verify/dist/policy.js.map +1 -1
  74. package/node_modules/@gdh/verify/package.json +7 -7
  75. package/package.json +11 -11
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "product": "GDH",
3
- "version": "0.15.1",
3
+ "version": "0.17.0",
4
4
  "installMode": "packaged_install"
5
5
  }
package/README.md CHANGED
@@ -1,131 +1,60 @@
1
1
  # GDH
2
2
 
3
- > Godot authoring and validation harness for AI agents
3
+ [![npm version](https://img.shields.io/npm/v/@skillcap/gdh.svg)](https://www.npmjs.com/package/@skillcap/gdh)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)
4
5
 
5
- [![npm](https://img.shields.io/npm/v/@skillcap/gdh)](https://www.npmjs.com/package/@skillcap/gdh)
6
- [![license](https://img.shields.io/github/license/Skillcap-Studio/gdh)](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
- GDH detects your Godot project, configures your AI agents, and gives them the context they need to author, validate, and verify Godot work with real evidence instead of guesswork.
9
-
10
- ![GDH setup demo](demo.gif)
8
+ ## Quick Start
11
9
 
12
- ## Install
10
+ Run this from the Godot project or repo you want GDH to manage:
13
11
 
14
12
  ```sh
15
- npx -y @skillcap/gdh@0.15.1 setup
13
+ npx -y @skillcap/gdh@latest setup
16
14
  ```
17
15
 
18
- Replace `0.15.1` with the GDH version you want to pin this project to. `gdh setup` records the pinned version in `.gdh/project.yaml`; every managed surface generated from that config invokes GDH at that exact pinned version, so future sessions stay reproducible.
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.1 setup
16
+ Then open your agent in that project and run:
40
17
 
41
- # 2. Open your AI agent (Claude, Cursor, Codex) in the repo
42
-
43
- # 3. Run the onboarding handoff
18
+ ```text
44
19
  /gdh-onboard
45
20
  ```
46
21
 
47
- That's it. GDH handles detection, scaffolding, and agent configuration. The agent takes over from `/gdh-onboard`.
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
- Fetches and searches official Godot documentation through CLI and MCP surfaces, pinned to your project's engine version. Bounded machine-local cache, explicit provenance.
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.1` release line and remains ready for broader internal use within the documented support contract. The current release line is `0.15.1` 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
- This repository is the GDH implementation repo. Treat `gdh setup`, `gdh status`, and `/gdh-onboard` here as product smoke-check paths, not as the primary way to learn the state of GDH itself — authoritative product truth lives in the source, tests, release artifacts, and `.planning/` surfaces in this checkout.
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
- ### Support
32
+ ## What It Does
112
33
 
113
- - **Issues:** [github.com/Skillcap-Studio/gdh/issues](https://github.com/Skillcap-Studio/gdh/issues) reproducible bugs, concrete feature requests, documentation problems
114
- - **Contributing:** see [CONTRIBUTING.md](CONTRIBUTING.md) for workflow and commit policy
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
- This repo does not currently promise a dedicated public support channel for project-specific troubleshooting; keep issues focused and reproducible.
39
+ ## Common Commands
117
40
 
118
- ## Development
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
- If you are working on the GDH implementation repo itself, use these contributor surfaces instead of treating this checkout as a freshly managed target:
50
+ ## More Docs
121
51
 
122
- - [docs/development/install-and-update.md](docs/development/install-and-update.md)
123
- - [docs/development/release-workflow.md](docs/development/release-workflow.md)
124
- - [docs/development/conventions.md](docs/development/conventions.md)
125
- - [docs/development/open-source-maintainer-contract.md](docs/development/open-source-maintainer-contract.md)
126
- - [fixtures/README.md](fixtures/README.md)
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
- When cutting a GDH release in this repo with Claude, Codex, or Cursor, use `/gdh-release` so the agent loads the canonical release guidance and runs `corepack yarn check:public-release` before `release:apply`. Use `/gdh-migration-verify` for the dedicated migration-proof step before the final release gate. Use `/gdh-publish` only when you explicitly want an already-cut release published to npm.
58
+ ## License
129
59
 
130
- Release history lives in the generated root [CHANGELOG.md](CHANGELOG.md); curated release notes live under [docs/releases/](docs/releases/README.md).
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
@@ -1172,6 +1172,190 @@
1172
1172
  }
1173
1173
  ]
1174
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
+ }
1272
+ },
1273
+ {
1274
+ "version": "0.17.0",
1275
+ "releaseTag": "v0.17.0",
1276
+ "migrationStatus": "required",
1277
+ "summary": "v0.17.0 completes real Godot authoring validation policy and guidance. The release changes GDH_GUIDANCE_UNIT_VERSION (6 -> 7) and GDH_RULES_SCHEMA_VERSION (1 -> 2), so managed targets need `gdh migrate --apply` to refresh generated guidance with the managed LSP lifecycle, validator-family split, and done-policy evidence rules, plus manual review for project-owned stale rules files.",
1278
+ "releaseHighlights": {
1279
+ "summary": "v0.17.0 makes authoring validation real instead of lifecycle-shaped. GDH now manages a Godot LSP protocol client, separates LSP process health from diagnostic evidence, collects GDScript diagnostics, validates `.tscn` and `.tres` resources through Godot, and teaches agents that required authoring checks stay blocked when evidence is unavailable or degraded.",
1280
+ "operatorChanges": [
1281
+ "**Managed LSP health requires protocol evidence.** `gdh lsp status` reports lifecycle state from a real initialized LSP connection and no longer treats a launched process as validation proof.",
1282
+ "**LSP state is worktree-safe.** Managed LSP identity includes worktree, project, launcher, editor binary, and editor version data; GDH mutates registry state through a lock and exposes bounded `gdh lsp prune` / `gdh lsp stop` cleanup commands.",
1283
+ "**GDScript diagnostics are collected through the LSP.** `gdh authoring check` can surface real `.gd` diagnostics with source, severity, range, and provenance instead of a placeholder readiness result.",
1284
+ "**Scene and resource files have their own validator.** `.tscn` and `.tres` files route through the `godot_scene_resource` validator, while unsupported authoring files remain manual-validation work.",
1285
+ "**Done policy is validator-aware.** `gdh verify recommend` and `gdh verify done` distinguish `gdscript_lsp`, `godot_scene_resource`, and unsupported authoring surfaces so agents do not claim completion from incomplete evidence.",
1286
+ "**Generated guidance rejects fake readiness.** Managed guidance and adapter skills now tell agents to use `gdh authoring check` for evidence and treat lifecycle-only LSP status as operational visibility."
1287
+ ]
1288
+ },
1289
+ "updateContract": {
1290
+ "summary": "Managed targets need release-specific migration for v0.17.0 because generated authoring guidance and default authoring rules changed. Agents should refresh guidance/adapters, manually review stale project-owned rules before adopting schema version 2, inspect LSP lifecycle state without treating it as evidence, run authoring checks for validator evidence, and use bounded LSP cleanup commands only when stale GDH-owned state is suspected.",
1291
+ "steps": [
1292
+ {
1293
+ "id": "verify_post_update_status",
1294
+ "kind": "mechanical",
1295
+ "summary": "Run the standard post-update lifecycle check.",
1296
+ "detail": "Start with `gdh status` so GDH can report whether the target needs guidance migration for v0.17.0.",
1297
+ "commands": [
1298
+ "gdh status"
1299
+ ],
1300
+ "validationCommands": [
1301
+ "gdh status"
1302
+ ]
1303
+ },
1304
+ {
1305
+ "id": "apply_authoring_guidance_migration",
1306
+ "kind": "mechanical",
1307
+ "summary": "Refresh managed authoring guidance and adapter skills.",
1308
+ "detail": "When `gdh status` or `gdh migrate` reports guidance migration work, run `gdh migrate --apply` to regenerate managed guidance and re-bake adapter skill surfaces at the current pin.",
1309
+ "commands": [
1310
+ "gdh migrate --apply"
1311
+ ],
1312
+ "validationCommands": [
1313
+ "gdh guidance status",
1314
+ "gdh status"
1315
+ ]
1316
+ },
1317
+ {
1318
+ "id": "review_rules_schema_v2",
1319
+ "kind": "manual_review",
1320
+ "summary": "Review stale project-owned rules before adopting schema version 2.",
1321
+ "detail": "If `gdh status` reports `rules_version_unrecognized`, inspect `.gdh/rules.yaml` manually. The v0.17 default authoring path scope includes `.tres` resources; because rules are project-owned, GDH does not overwrite existing rules automatically.",
1322
+ "commands": [
1323
+ "gdh status"
1324
+ ],
1325
+ "validationCommands": [
1326
+ "gdh guidance status",
1327
+ "gdh status"
1328
+ ]
1329
+ },
1330
+ {
1331
+ "id": "inspect_lsp_lifecycle_without_claiming_evidence",
1332
+ "kind": "agent_reasoning",
1333
+ "summary": "Inspect managed LSP lifecycle state separately from authoring evidence.",
1334
+ "detail": "`gdh lsp status` reports lifecycle state only. If it reports stale GDH-owned state, use `gdh lsp prune` or `gdh lsp stop` as bounded cleanup. Do not hand-manage Godot LSP/editor processes and do not treat lifecycle readiness as diagnostics.",
1335
+ "commands": [
1336
+ "gdh lsp status"
1337
+ ],
1338
+ "validationCommands": [
1339
+ "gdh lsp status"
1340
+ ]
1341
+ },
1342
+ {
1343
+ "id": "validate_authoring_evidence",
1344
+ "kind": "mechanical",
1345
+ "summary": "Collect real authoring validator evidence.",
1346
+ "detail": "Run `gdh authoring check`, then use `gdh verify recommend` and `gdh verify done` for changed files. Required authoring checks remain blocked when validator evidence is unavailable, degraded, or missing.",
1347
+ "commands": [
1348
+ "gdh authoring check",
1349
+ "gdh verify recommend",
1350
+ "gdh verify done"
1351
+ ],
1352
+ "validationCommands": [
1353
+ "gdh authoring check",
1354
+ "gdh verify done"
1355
+ ]
1356
+ }
1357
+ ]
1358
+ }
1175
1359
  }
1176
1360
  ]
1177
1361
  }
@@ -78,8 +78,8 @@ export declare function renderCursorVerifySkill(pinnedVersion: string): string;
78
78
  export declare function renderManagedCodexProjectSection(pinnedVersion: string): string;
79
79
  export declare function renderManagedCodexProjectConfig(existingContent: string | null, pinnedVersion: string): string;
80
80
  declare function summarizeProjectLifecycleCompatibility(targetPath: string, surfaces: readonly GdhProjectLifecycleSurfaceStatus[]): GdhProjectLifecycleCompatibilityResult;
81
- export { bumpAndRebakePin, type BumpAndRebakePinResult, } from "./self-update-mechanics.js";
82
- export { CLAUDE_CHECK_UPDATE_HOOK_RELATIVE_PATH } from "./claude-update-hook-render.js";
83
81
  export { CLAUDE_STATUSLINE_RELATIVE_PATH } from "./claude-statusline-render.js";
82
+ export { CLAUDE_CHECK_UPDATE_HOOK_RELATIVE_PATH } from "./claude-update-hook-render.js";
83
+ export { type BumpAndRebakePinResult, bumpAndRebakePin, } from "./self-update-mechanics.js";
84
84
  export { summarizeProjectLifecycleCompatibility };
85
85
  //# sourceMappingURL=index.d.ts.map
@@ -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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"}