@opengsd/gsd-core 1.5.0 → 1.6.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/agents/gsd-plan-checker.md +34 -0
  3. package/agents/gsd-planner.md +2 -0
  4. package/agents/gsd-roadmapper.md +6 -0
  5. package/bin/install.js +199 -365
  6. package/commands/gsd/capture.md +5 -1
  7. package/gemini-extension.json +1 -1
  8. package/gsd-core/bin/gsd-tools.cjs +695 -5
  9. package/gsd-core/bin/lib/adr-parser.cjs +45 -23
  10. package/gsd-core/bin/lib/audit.cjs +2 -2
  11. package/gsd-core/bin/lib/capability-consent.cjs +763 -0
  12. package/gsd-core/bin/lib/capability-ledger.cjs +831 -0
  13. package/gsd-core/bin/lib/capability-lifecycle.cjs +1551 -0
  14. package/gsd-core/bin/lib/capability-loader.cjs +764 -0
  15. package/gsd-core/bin/lib/capability-lock.cjs +553 -0
  16. package/gsd-core/bin/lib/capability-registry.cjs +198 -4
  17. package/gsd-core/bin/lib/capability-source.cjs +1242 -0
  18. package/gsd-core/bin/lib/capability-state.cjs +9 -6
  19. package/gsd-core/bin/lib/capability-trust.cjs +550 -0
  20. package/gsd-core/bin/lib/capability-validator.cjs +2066 -0
  21. package/gsd-core/bin/lib/capability-writer.cjs +14 -5
  22. package/gsd-core/bin/lib/check-command-router.cjs +69 -18
  23. package/gsd-core/bin/lib/command-aliases.cjs +8 -0
  24. package/gsd-core/bin/lib/commands.cjs +247 -0
  25. package/gsd-core/bin/lib/config-loader.cjs +98 -84
  26. package/gsd-core/bin/lib/config-schema.cjs +26 -7
  27. package/gsd-core/bin/lib/config.cjs +7 -1
  28. package/gsd-core/bin/lib/decisions.cjs +149 -60
  29. package/gsd-core/bin/lib/frontmatter.cjs +7 -3
  30. package/gsd-core/bin/lib/gap-checker.cjs +126 -11
  31. package/gsd-core/bin/lib/init.cjs +91 -22
  32. package/gsd-core/bin/lib/legacy-cleanup.cjs +96 -0
  33. package/gsd-core/bin/lib/loop-resolver.cjs +26 -2
  34. package/gsd-core/bin/lib/markdown-sectionizer.cjs +471 -0
  35. package/gsd-core/bin/lib/milestone.cjs +41 -2
  36. package/gsd-core/bin/lib/phase-command-router.cjs +5 -0
  37. package/gsd-core/bin/lib/phase-id.cjs +25 -11
  38. package/gsd-core/bin/lib/phase-lifecycle.cjs +14 -5
  39. package/gsd-core/bin/lib/phase.cjs +33 -4
  40. package/gsd-core/bin/lib/probe-core.cjs +7 -0
  41. package/gsd-core/bin/lib/prohibition-enforcement.cjs +59 -26
  42. package/gsd-core/bin/lib/project-root.cjs +89 -2
  43. package/gsd-core/bin/lib/resolution.cjs +26 -0
  44. package/gsd-core/bin/lib/roadmap-command-router.cjs +16 -3
  45. package/gsd-core/bin/lib/roadmap-parser.cjs +73 -106
  46. package/gsd-core/bin/lib/roadmap-upgrade.cjs +47 -17
  47. package/gsd-core/bin/lib/roadmap.cjs +5 -2
  48. package/gsd-core/bin/lib/runtime-artifact-conversion.cjs +423 -3
  49. package/gsd-core/bin/lib/runtime-artifact-install-plan.cjs +77 -0
  50. package/gsd-core/bin/lib/runtime-artifact-layout.cjs +1 -28
  51. package/gsd-core/bin/lib/runtime-homes.cjs +53 -1
  52. package/gsd-core/bin/lib/runtime-name-policy.cjs +44 -0
  53. package/gsd-core/bin/lib/semver-compare.cjs +127 -0
  54. package/gsd-core/bin/lib/shell-command-projection.cjs +55 -1
  55. package/gsd-core/bin/lib/state-document.cjs +4 -2
  56. package/gsd-core/bin/lib/state.cjs +317 -161
  57. package/gsd-core/bin/lib/surface.cjs +12 -19
  58. package/gsd-core/bin/lib/uat-predicate.cjs +7 -47
  59. package/gsd-core/bin/lib/uat.cjs +39 -26
  60. package/gsd-core/bin/lib/validate.cjs +5 -2
  61. package/gsd-core/bin/lib/verify.cjs +40 -15
  62. package/gsd-core/bin/lib/worktree-safety.cjs +202 -0
  63. package/gsd-core/bin/shared/config-defaults.manifest.json +6 -1
  64. package/gsd-core/bin/shared/config-schema.manifest.json +5 -1
  65. package/gsd-core/references/context-budget.md +8 -8
  66. package/gsd-core/references/execute-phase-between-wave-reset.md +43 -0
  67. package/gsd-core/references/execute-phase-context-guard.md +16 -0
  68. package/gsd-core/references/execute-phase-wave-guard.md +33 -0
  69. package/gsd-core/references/planner-antipatterns.md +48 -0
  70. package/gsd-core/references/planning-config.md +4 -0
  71. package/gsd-core/references/prohibition-probe.md +15 -9
  72. package/gsd-core/references/scout-codebase.md +2 -2
  73. package/gsd-core/workflows/autonomous.md +33 -33
  74. package/gsd-core/workflows/diagnose-issues.md +6 -1
  75. package/gsd-core/workflows/discuss-phase/templates/context.md +1 -1
  76. package/gsd-core/workflows/discuss-phase.md +1 -2
  77. package/gsd-core/workflows/execute-phase.md +12 -12
  78. package/gsd-core/workflows/help/modes/full.md +10 -0
  79. package/gsd-core/workflows/list-seeds.md +63 -0
  80. package/gsd-core/workflows/manager.md +37 -37
  81. package/gsd-core/workflows/pr-branch.md +156 -0
  82. package/gsd-core/workflows/quick.md +6 -1
  83. package/gsd-core/workflows/review.md +10 -2
  84. package/gsd-core/workflows/spec-phase.md +8 -3
  85. package/gsd-core/workflows/verify-phase.md +2 -2
  86. package/package.json +6 -3
  87. package/scripts/gen-capability-matrix.cjs +284 -0
  88. package/scripts/gen-capability-registry.cjs +96 -1853
  89. package/scripts/lint-regression-test-names.allowlist.json +1 -0
  90. package/scripts/lint-resolution-provenance.allowlist.json +1 -0
  91. package/scripts/lint-resolution-provenance.cjs +192 -0
  92. package/scripts/lint-test-file-count.allowlist.json +9 -0
  93. package/scripts/prompt-injection-scan.sh +1 -0
  94. package/scripts/run-tests.cjs +14 -0
  95. package/scripts/sync-manifest-versions.cjs +77 -5
@@ -10,10 +10,14 @@ const capabilities = {
10
10
  "ai-integration": {
11
11
  "id": "ai-integration",
12
12
  "role": "feature",
13
+ "version": "1.6.0-rc.2",
13
14
  "title": "AI design contract",
14
15
  "description": "AI-SPEC design contract workflow for phases that build AI systems; owns the AI integration command, agents, and workflow.ai_integration_phase activation key.",
15
16
  "tier": "full",
16
17
  "requires": [],
18
+ "engines": {
19
+ "gsd": ">=1.6.0"
20
+ },
17
21
  "runtimeCompat": {
18
22
  "supported": [
19
23
  "*"
@@ -59,10 +63,14 @@ const capabilities = {
59
63
  "antigravity": {
60
64
  "id": "antigravity",
61
65
  "role": "runtime",
66
+ "version": "1.6.0-rc.2",
62
67
  "title": "Antigravity",
63
68
  "description": "Google Antigravity IDE — nested under ~/.gemini/antigravity; probed across 1.x and 2.x layouts; Gemini hook event dialect; nested skill layout; tier-1 support.",
64
69
  "tier": "core",
65
70
  "requires": [],
71
+ "engines": {
72
+ "gsd": ">=1.6.0"
73
+ },
66
74
  "runtime": {
67
75
  "configHome": {
68
76
  "kind": "dot-home-nested",
@@ -75,7 +83,8 @@ const capabilities = {
75
83
  "antigravity",
76
84
  "antigravity-ide",
77
85
  "antigravity-cli"
78
- ]
86
+ ],
87
+ "probeExists": "gsd-core/VERSION"
79
88
  },
80
89
  "configFormat": "settings-json",
81
90
  "artifactLayout": {
@@ -114,10 +123,14 @@ const capabilities = {
114
123
  "audit": {
115
124
  "id": "audit",
116
125
  "role": "feature",
126
+ "version": "1.6.0-rc.2",
117
127
  "title": "Audit",
118
128
  "description": "Open-artifact audit and UAT-gap audit for milestone close gates; exposes `gsd-tools audit-uat` (cross-phase UAT outstanding items) and `gsd-tools audit-open` (structured open-artifact scan across debug, tasks, threads, todos, seeds, UAT, verification, context-questions).",
119
129
  "tier": "full",
120
130
  "requires": [],
131
+ "engines": {
132
+ "gsd": ">=1.6.0"
133
+ },
121
134
  "runtimeCompat": {
122
135
  "supported": [
123
136
  "*"
@@ -147,10 +160,14 @@ const capabilities = {
147
160
  "augment": {
148
161
  "id": "augment",
149
162
  "role": "runtime",
163
+ "version": "1.6.0-rc.2",
150
164
  "title": "Augment Code",
151
165
  "description": "Augment Code CLI — commands + nested-skill artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
152
166
  "tier": "core",
153
167
  "requires": [],
168
+ "engines": {
169
+ "gsd": ">=1.6.0"
170
+ },
154
171
  "runtime": {
155
172
  "configHome": {
156
173
  "kind": "dot-home",
@@ -212,10 +229,14 @@ const capabilities = {
212
229
  "claude": {
213
230
  "id": "claude",
214
231
  "role": "runtime",
232
+ "version": "1.6.0-rc.2",
215
233
  "title": "Claude Code",
216
234
  "description": "Anthropic Claude Code — primary development runtime; tier-1 support with full hook surface and skills-based global install.",
217
235
  "tier": "core",
218
236
  "requires": [],
237
+ "engines": {
238
+ "gsd": ">=1.6.0"
239
+ },
219
240
  "runtime": {
220
241
  "configHome": {
221
242
  "kind": "dot-home",
@@ -239,7 +260,7 @@ const capabilities = {
239
260
  "local": [
240
261
  {
241
262
  "kind": "commands",
242
- "destSubpath": "commands/gsd",
263
+ "destSubpath": "commands",
243
264
  "prefix": "gsd-",
244
265
  "nesting": "flat",
245
266
  "recursive": false,
@@ -274,10 +295,14 @@ const capabilities = {
274
295
  "cline": {
275
296
  "id": "cline",
276
297
  "role": "runtime",
298
+ "version": "1.6.0-rc.2",
277
299
  "title": "Cline",
278
300
  "description": "Cline (VS Code extension) — global-only nested-skill layout; cline-rules hook surface (.clinerules); no hook events emitted; tier-2 support.",
279
301
  "tier": "core",
280
302
  "requires": [],
303
+ "engines": {
304
+ "gsd": ">=1.6.0"
305
+ },
281
306
  "runtime": {
282
307
  "configHome": {
283
308
  "kind": "dot-home",
@@ -313,10 +338,14 @@ const capabilities = {
313
338
  "code-review": {
314
339
  "id": "code-review",
315
340
  "role": "feature",
341
+ "version": "1.6.0-rc.2",
316
342
  "title": "Code review",
317
343
  "description": "Source-file code review and review-fix workflow support for completed execution work.",
318
344
  "tier": "full",
319
345
  "requires": [],
346
+ "engines": {
347
+ "gsd": ">=1.6.0"
348
+ },
320
349
  "runtimeCompat": {
321
350
  "supported": [
322
351
  "*"
@@ -370,10 +399,14 @@ const capabilities = {
370
399
  "codebuddy": {
371
400
  "id": "codebuddy",
372
401
  "role": "runtime",
402
+ "version": "1.6.0-rc.2",
373
403
  "title": "CodeBuddy",
374
404
  "description": "CodeBuddy (Tencent) — converted commands + skills artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
375
405
  "tier": "core",
376
406
  "requires": [],
407
+ "engines": {
408
+ "gsd": ">=1.6.0"
409
+ },
377
410
  "runtime": {
378
411
  "configHome": {
379
412
  "kind": "dot-home",
@@ -435,10 +468,14 @@ const capabilities = {
435
468
  "codex": {
436
469
  "id": "codex",
437
470
  "role": "runtime",
471
+ "version": "1.6.0-rc.2",
438
472
  "title": "OpenAI Codex CLI",
439
473
  "description": "OpenAI Codex CLI — shell-var command style; per-agent sandbox tiers; config.toml + hooks.json hook surface; tier-1 support.",
440
474
  "tier": "core",
441
475
  "requires": [],
476
+ "engines": {
477
+ "gsd": ">=1.6.0"
478
+ },
442
479
  "runtime": {
443
480
  "configHome": {
444
481
  "kind": "dot-home",
@@ -484,10 +521,14 @@ const capabilities = {
484
521
  "copilot": {
485
522
  "id": "copilot",
486
523
  "role": "runtime",
524
+ "version": "1.6.0-rc.2",
487
525
  "title": "GitHub Copilot",
488
526
  "description": "GitHub Copilot (VS Code) — markdown config format; copilot-inline hook surface; no hook events emitted; flat skill nesting (unconfirmed recursive loader); tier-2 support.",
489
527
  "tier": "core",
490
528
  "requires": [],
529
+ "engines": {
530
+ "gsd": ">=1.6.0"
531
+ },
491
532
  "runtime": {
492
533
  "configHome": {
493
534
  "kind": "dot-home",
@@ -533,10 +574,14 @@ const capabilities = {
533
574
  "cursor": {
534
575
  "id": "cursor",
535
576
  "role": "runtime",
577
+ "version": "1.6.0-rc.2",
536
578
  "title": "Cursor",
537
579
  "description": "Cursor IDE — skills + converted commands artifact layout; hooks.json surface; Claude hook event dialect; recursive skill loader (flat nesting); tier-2 support.",
538
580
  "tier": "core",
539
581
  "requires": [],
582
+ "engines": {
583
+ "gsd": ">=1.6.0"
584
+ },
540
585
  "runtime": {
541
586
  "configHome": {
542
587
  "kind": "dot-home",
@@ -598,10 +643,14 @@ const capabilities = {
598
643
  "drift": {
599
644
  "id": "drift",
600
645
  "role": "feature",
646
+ "version": "1.6.0-rc.2",
601
647
  "title": "Drift detection gates",
602
648
  "description": "Post-execution drift detection gates that run after each wave completes. Provides two gates at execute:wave:post: a blocking schema drift gate (detects schema files changed without a database push) and a non-blocking codebase drift gate (detects structural additions not reflected in STRUCTURE.md).",
603
649
  "tier": "full",
604
650
  "requires": [],
651
+ "engines": {
652
+ "gsd": ">=1.6.0"
653
+ },
605
654
  "runtimeCompat": {
606
655
  "supported": [
607
656
  "*"
@@ -658,10 +707,14 @@ const capabilities = {
658
707
  "gap-analysis": {
659
708
  "id": "gap-analysis",
660
709
  "role": "feature",
710
+ "version": "1.6.0-rc.2",
661
711
  "title": "Post-planning gap analysis",
662
712
  "description": "Proactive, non-blocking post-planning coverage report. After all PLAN.md files are generated, cross-references every REQ-ID and D-ID from REQUIREMENTS.md and CONTEXT.md against plan bodies. Emits a Source | Item | Status table. Does not block phase advancement.",
663
713
  "tier": "standard",
664
714
  "requires": [],
715
+ "engines": {
716
+ "gsd": ">=1.6.0"
717
+ },
665
718
  "runtimeCompat": {
666
719
  "supported": [
667
720
  "*"
@@ -695,10 +748,14 @@ const capabilities = {
695
748
  "gemini": {
696
749
  "id": "gemini",
697
750
  "role": "runtime",
751
+ "version": "1.6.0-rc.2",
698
752
  "title": "Gemini CLI",
699
753
  "description": "Google Gemini CLI — commands-only artifact layout (TOML); Gemini hook event dialect; settings-json hook surface; tier-2 support.",
700
754
  "tier": "core",
701
755
  "requires": [],
756
+ "engines": {
757
+ "gsd": ">=1.6.0"
758
+ },
702
759
  "runtime": {
703
760
  "configHome": {
704
761
  "kind": "dot-home",
@@ -748,10 +805,14 @@ const capabilities = {
748
805
  "graphify": {
749
806
  "id": "graphify",
750
807
  "role": "feature",
808
+ "version": "1.6.0-rc.2",
751
809
  "title": "Knowledge graph",
752
810
  "description": "Build, query, and inspect the project knowledge graph in `.planning/graphs/`; exposes graphify CLI subcommands (build, query, status, diff) and the /gsd-graphify skill.",
753
811
  "tier": "full",
754
812
  "requires": [],
813
+ "engines": {
814
+ "gsd": ">=1.6.0"
815
+ },
755
816
  "runtimeCompat": {
756
817
  "supported": [
757
818
  "*"
@@ -785,10 +846,14 @@ const capabilities = {
785
846
  "hermes": {
786
847
  "id": "hermes",
787
848
  "role": "runtime",
849
+ "version": "1.6.0-rc.2",
788
850
  "title": "Hermes Agent",
789
851
  "description": "Hermes Agent (NousResearch) — skills nest under skills/gsd/ category bucket; nested skill layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
790
852
  "tier": "core",
791
853
  "requires": [],
854
+ "engines": {
855
+ "gsd": ">=1.6.0"
856
+ },
792
857
  "runtime": {
793
858
  "configHome": {
794
859
  "kind": "dot-home",
@@ -834,10 +899,14 @@ const capabilities = {
834
899
  "intel": {
835
900
  "id": "intel",
836
901
  "role": "feature",
902
+ "version": "1.6.0-rc.2",
837
903
  "title": "Codebase intelligence",
838
904
  "description": "Code-intelligence store for codebase querying, diff, snapshot, and API-surface extraction; exposes `gsd-tools intel` subcommands (query, status, update, diff, snapshot, patch-meta, validate, extract-exports, api-surface) and backs `/gsd-map-codebase` and `gsd-intel-updater`.",
839
905
  "tier": "full",
840
906
  "requires": [],
907
+ "engines": {
908
+ "gsd": ">=1.6.0"
909
+ },
841
910
  "runtimeCompat": {
842
911
  "supported": [
843
912
  "*"
@@ -882,10 +951,14 @@ const capabilities = {
882
951
  "kilo": {
883
952
  "id": "kilo",
884
953
  "role": "runtime",
954
+ "version": "1.6.0-rc.2",
885
955
  "title": "Kilo Code",
886
956
  "description": "Kilo Code — XDG-based config dir; global skills at ~/.kilo/skills (separate from XDG config); flat command/ + skills artifact layout; no lifecycle hook registration; tier-2 support.",
887
957
  "tier": "core",
888
958
  "requires": [],
959
+ "engines": {
960
+ "gsd": ">=1.6.0"
961
+ },
889
962
  "runtime": {
890
963
  "configHome": {
891
964
  "kind": "xdg",
@@ -953,10 +1026,14 @@ const capabilities = {
953
1026
  "kimi": {
954
1027
  "id": "kimi",
955
1028
  "role": "runtime",
1029
+ "version": "1.6.0-rc.2",
956
1030
  "title": "Kimi CLI",
957
1031
  "description": "Kimi CLI (Moonshot AI) — generic agents root at ~/.config/agents; skills + kimi-agents artifact layout; no hook surface; no hook events; tier-2 support.",
958
1032
  "tier": "core",
959
1033
  "requires": [],
1034
+ "engines": {
1035
+ "gsd": ">=1.6.0"
1036
+ },
960
1037
  "runtime": {
961
1038
  "configHome": {
962
1039
  "kind": "generic-agents-root",
@@ -1005,10 +1082,14 @@ const capabilities = {
1005
1082
  "mempalace": {
1006
1083
  "id": "mempalace",
1007
1084
  "role": "feature",
1085
+ "version": "1.6.0-rc.2",
1008
1086
  "title": "MemPalace memory",
1009
1087
  "description": "Cross-session, cross-project memory: deliberate recall before discuss/plan and verbatim capture + temporal-KG sync at phase boundaries, via the MemPalace MCP server and CLI.",
1010
1088
  "tier": "full",
1011
1089
  "requires": [],
1090
+ "engines": {
1091
+ "gsd": ">=1.6.0"
1092
+ },
1012
1093
  "runtimeCompat": {
1013
1094
  "supported": [
1014
1095
  "*"
@@ -1175,10 +1256,14 @@ const capabilities = {
1175
1256
  "nyquist": {
1176
1257
  "id": "nyquist",
1177
1258
  "role": "feature",
1259
+ "version": "1.6.0-rc.2",
1178
1260
  "title": "Nyquist validation",
1179
1261
  "description": "Validation coverage audit that maps executed work back to tests and manual-only evidence.",
1180
1262
  "tier": "full",
1181
1263
  "requires": [],
1264
+ "engines": {
1265
+ "gsd": ">=1.6.0"
1266
+ },
1182
1267
  "runtimeCompat": {
1183
1268
  "supported": [
1184
1269
  "*"
@@ -1221,10 +1306,14 @@ const capabilities = {
1221
1306
  "opencode": {
1222
1307
  "id": "opencode",
1223
1308
  "role": "runtime",
1309
+ "version": "1.6.0-rc.2",
1224
1310
  "title": "OpenCode",
1225
1311
  "description": "OpenCode — XDG-based config dir; flat command/ + skills artifact layout; settings-json config format; no lifecycle hook registration; tier-2 support.",
1226
1312
  "tier": "core",
1227
1313
  "requires": [],
1314
+ "engines": {
1315
+ "gsd": ">=1.6.0"
1316
+ },
1228
1317
  "runtime": {
1229
1318
  "configHome": {
1230
1319
  "kind": "xdg",
@@ -1287,12 +1376,16 @@ const capabilities = {
1287
1376
  "pattern-mapper": {
1288
1377
  "id": "pattern-mapper",
1289
1378
  "role": "feature",
1379
+ "version": "1.6.0-rc.2",
1290
1380
  "title": "Pattern mapping",
1291
1381
  "description": "Optional codebase-pattern mapping before planning; owns the pattern mapper agent and workflow.pattern_mapper activation key.",
1292
1382
  "tier": "full",
1293
1383
  "requires": [
1294
1384
  "research"
1295
1385
  ],
1386
+ "engines": {
1387
+ "gsd": ">=1.6.0"
1388
+ },
1296
1389
  "runtimeCompat": {
1297
1390
  "supported": [
1298
1391
  "*"
@@ -1337,10 +1430,14 @@ const capabilities = {
1337
1430
  "profile-pipeline": {
1338
1431
  "id": "profile-pipeline",
1339
1432
  "role": "feature",
1433
+ "version": "1.6.0-rc.2",
1340
1434
  "title": "Developer profiling pipeline",
1341
1435
  "description": "Developer behavioral profiling from Claude Code session history; scans session JSONL files, extracts and samples user messages, and generates profile artifacts (USER-PROFILE.md, dev-preferences.md, CLAUDE.md sections). Exposes eight `gsd-tools` commands: scan-sessions, extract-messages, profile-sample (pipeline phase) and write-profile, profile-questionnaire, generate-dev-preferences, generate-claude-profile, generate-claude-md (output phase). Backs the /gsd-profile-user skill and gsd-user-profiler agent.",
1342
1436
  "tier": "full",
1343
1437
  "requires": [],
1438
+ "engines": {
1439
+ "gsd": ">=1.6.0"
1440
+ },
1344
1441
  "runtimeCompat": {
1345
1442
  "supported": [
1346
1443
  "*"
@@ -1410,10 +1507,14 @@ const capabilities = {
1410
1507
  "qwen": {
1411
1508
  "id": "qwen",
1412
1509
  "role": "runtime",
1510
+ "version": "1.6.0-rc.2",
1413
1511
  "title": "Qwen Code",
1414
1512
  "description": "Qwen Code (Alibaba) — nested-skill artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
1415
1513
  "tier": "core",
1416
1514
  "requires": [],
1515
+ "engines": {
1516
+ "gsd": ">=1.6.0"
1517
+ },
1417
1518
  "runtime": {
1418
1519
  "configHome": {
1419
1520
  "kind": "dot-home",
@@ -1463,10 +1564,14 @@ const capabilities = {
1463
1564
  "research": {
1464
1565
  "id": "research",
1465
1566
  "role": "feature",
1567
+ "version": "1.6.0-rc.2",
1466
1568
  "title": "Phase research",
1467
1569
  "description": "Optional phase research before planning; owns the phase researcher agent and workflow.research activation key.",
1468
1570
  "tier": "standard",
1469
1571
  "requires": [],
1572
+ "engines": {
1573
+ "gsd": ">=1.6.0"
1574
+ },
1470
1575
  "runtimeCompat": {
1471
1576
  "supported": [
1472
1577
  "*"
@@ -1511,10 +1616,14 @@ const capabilities = {
1511
1616
  "schema-gate": {
1512
1617
  "id": "schema-gate",
1513
1618
  "role": "feature",
1619
+ "version": "1.6.0-rc.2",
1514
1620
  "title": "Schema push detection gate",
1515
1621
  "description": "Detects ORM schema-relevant files in the phase scope during planning and injects a mandatory [BLOCKING] schema push task into the plan. Prevents false-positive verification where build/types pass because TypeScript types come from config, not the live database.",
1516
1622
  "tier": "full",
1517
1623
  "requires": [],
1624
+ "engines": {
1625
+ "gsd": ">=1.6.0"
1626
+ },
1518
1627
  "runtimeCompat": {
1519
1628
  "supported": [
1520
1629
  "*"
@@ -1553,10 +1662,14 @@ const capabilities = {
1553
1662
  "security": {
1554
1663
  "id": "security",
1555
1664
  "role": "feature",
1665
+ "version": "1.6.0-rc.2",
1556
1666
  "title": "Security enforcement",
1557
1667
  "description": "Threat mitigation verification and ship-time security blocking for phases with security enforcement enabled.",
1558
1668
  "tier": "full",
1559
1669
  "requires": [],
1670
+ "engines": {
1671
+ "gsd": ">=1.6.0"
1672
+ },
1560
1673
  "runtimeCompat": {
1561
1674
  "supported": [
1562
1675
  "*"
@@ -1648,10 +1761,14 @@ const capabilities = {
1648
1761
  "tdd": {
1649
1762
  "id": "tdd",
1650
1763
  "role": "feature",
1764
+ "version": "1.6.0-rc.2",
1651
1765
  "title": "Test-driven development",
1652
1766
  "description": "Injects TDD heuristics into the planner and enforces RED/GREEN gate compliance on type:tdd plans after execution. Owns workflow.tdd_mode; the --tdd CLI flag is the ephemeral override.",
1653
1767
  "tier": "full",
1654
1768
  "requires": [],
1769
+ "engines": {
1770
+ "gsd": ">=1.6.0"
1771
+ },
1655
1772
  "runtimeCompat": {
1656
1773
  "supported": [
1657
1774
  "*"
@@ -1697,10 +1814,14 @@ const capabilities = {
1697
1814
  "trae": {
1698
1815
  "id": "trae",
1699
1816
  "role": "runtime",
1817
+ "version": "1.6.0-rc.2",
1700
1818
  "title": "Trae IDE",
1701
1819
  "description": "Trae IDE — nested-skill artifact layout; no hook surface (profile-marker-only config); tier-2 support.",
1702
1820
  "tier": "core",
1703
1821
  "requires": [],
1822
+ "engines": {
1823
+ "gsd": ">=1.6.0"
1824
+ },
1704
1825
  "runtime": {
1705
1826
  "configHome": {
1706
1827
  "kind": "dot-home",
@@ -1745,10 +1866,14 @@ const capabilities = {
1745
1866
  "ui": {
1746
1867
  "id": "ui",
1747
1868
  "role": "feature",
1869
+ "version": "1.6.0-rc.2",
1748
1870
  "title": "UI design contracts",
1749
1871
  "description": "UI-SPEC design contract + retrospective UI audit for frontend phases.",
1750
1872
  "tier": "full",
1751
1873
  "requires": [],
1874
+ "engines": {
1875
+ "gsd": ">=1.6.0"
1876
+ },
1752
1877
  "runtimeCompat": {
1753
1878
  "supported": [
1754
1879
  "*"
@@ -1836,10 +1961,14 @@ const capabilities = {
1836
1961
  "windsurf": {
1837
1962
  "id": "windsurf",
1838
1963
  "role": "runtime",
1964
+ "version": "1.6.0-rc.2",
1839
1965
  "title": "Windsurf",
1840
1966
  "description": "Windsurf (Codeium) — nested under ~/.codeium/windsurf; skills-only artifact layout; no hook surface; no hook events; tier-2 support.",
1841
1967
  "tier": "core",
1842
1968
  "requires": [],
1969
+ "engines": {
1970
+ "gsd": ">=1.6.0"
1971
+ },
1843
1972
  "runtime": {
1844
1973
  "configHome": {
1845
1974
  "kind": "dot-home-nested",
@@ -2592,10 +2721,14 @@ const runtimes = {
2592
2721
  "antigravity": {
2593
2722
  "id": "antigravity",
2594
2723
  "role": "runtime",
2724
+ "version": "1.6.0-rc.2",
2595
2725
  "title": "Antigravity",
2596
2726
  "description": "Google Antigravity IDE — nested under ~/.gemini/antigravity; probed across 1.x and 2.x layouts; Gemini hook event dialect; nested skill layout; tier-1 support.",
2597
2727
  "tier": "core",
2598
2728
  "requires": [],
2729
+ "engines": {
2730
+ "gsd": ">=1.6.0"
2731
+ },
2599
2732
  "runtime": {
2600
2733
  "configHome": {
2601
2734
  "kind": "dot-home-nested",
@@ -2608,7 +2741,8 @@ const runtimes = {
2608
2741
  "antigravity",
2609
2742
  "antigravity-ide",
2610
2743
  "antigravity-cli"
2611
- ]
2744
+ ],
2745
+ "probeExists": "gsd-core/VERSION"
2612
2746
  },
2613
2747
  "configFormat": "settings-json",
2614
2748
  "artifactLayout": {
@@ -2647,10 +2781,14 @@ const runtimes = {
2647
2781
  "augment": {
2648
2782
  "id": "augment",
2649
2783
  "role": "runtime",
2784
+ "version": "1.6.0-rc.2",
2650
2785
  "title": "Augment Code",
2651
2786
  "description": "Augment Code CLI — commands + nested-skill artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
2652
2787
  "tier": "core",
2653
2788
  "requires": [],
2789
+ "engines": {
2790
+ "gsd": ">=1.6.0"
2791
+ },
2654
2792
  "runtime": {
2655
2793
  "configHome": {
2656
2794
  "kind": "dot-home",
@@ -2712,10 +2850,14 @@ const runtimes = {
2712
2850
  "claude": {
2713
2851
  "id": "claude",
2714
2852
  "role": "runtime",
2853
+ "version": "1.6.0-rc.2",
2715
2854
  "title": "Claude Code",
2716
2855
  "description": "Anthropic Claude Code — primary development runtime; tier-1 support with full hook surface and skills-based global install.",
2717
2856
  "tier": "core",
2718
2857
  "requires": [],
2858
+ "engines": {
2859
+ "gsd": ">=1.6.0"
2860
+ },
2719
2861
  "runtime": {
2720
2862
  "configHome": {
2721
2863
  "kind": "dot-home",
@@ -2739,7 +2881,7 @@ const runtimes = {
2739
2881
  "local": [
2740
2882
  {
2741
2883
  "kind": "commands",
2742
- "destSubpath": "commands/gsd",
2884
+ "destSubpath": "commands",
2743
2885
  "prefix": "gsd-",
2744
2886
  "nesting": "flat",
2745
2887
  "recursive": false,
@@ -2774,10 +2916,14 @@ const runtimes = {
2774
2916
  "cline": {
2775
2917
  "id": "cline",
2776
2918
  "role": "runtime",
2919
+ "version": "1.6.0-rc.2",
2777
2920
  "title": "Cline",
2778
2921
  "description": "Cline (VS Code extension) — global-only nested-skill layout; cline-rules hook surface (.clinerules); no hook events emitted; tier-2 support.",
2779
2922
  "tier": "core",
2780
2923
  "requires": [],
2924
+ "engines": {
2925
+ "gsd": ">=1.6.0"
2926
+ },
2781
2927
  "runtime": {
2782
2928
  "configHome": {
2783
2929
  "kind": "dot-home",
@@ -2813,10 +2959,14 @@ const runtimes = {
2813
2959
  "codebuddy": {
2814
2960
  "id": "codebuddy",
2815
2961
  "role": "runtime",
2962
+ "version": "1.6.0-rc.2",
2816
2963
  "title": "CodeBuddy",
2817
2964
  "description": "CodeBuddy (Tencent) — converted commands + skills artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
2818
2965
  "tier": "core",
2819
2966
  "requires": [],
2967
+ "engines": {
2968
+ "gsd": ">=1.6.0"
2969
+ },
2820
2970
  "runtime": {
2821
2971
  "configHome": {
2822
2972
  "kind": "dot-home",
@@ -2878,10 +3028,14 @@ const runtimes = {
2878
3028
  "codex": {
2879
3029
  "id": "codex",
2880
3030
  "role": "runtime",
3031
+ "version": "1.6.0-rc.2",
2881
3032
  "title": "OpenAI Codex CLI",
2882
3033
  "description": "OpenAI Codex CLI — shell-var command style; per-agent sandbox tiers; config.toml + hooks.json hook surface; tier-1 support.",
2883
3034
  "tier": "core",
2884
3035
  "requires": [],
3036
+ "engines": {
3037
+ "gsd": ">=1.6.0"
3038
+ },
2885
3039
  "runtime": {
2886
3040
  "configHome": {
2887
3041
  "kind": "dot-home",
@@ -2927,10 +3081,14 @@ const runtimes = {
2927
3081
  "copilot": {
2928
3082
  "id": "copilot",
2929
3083
  "role": "runtime",
3084
+ "version": "1.6.0-rc.2",
2930
3085
  "title": "GitHub Copilot",
2931
3086
  "description": "GitHub Copilot (VS Code) — markdown config format; copilot-inline hook surface; no hook events emitted; flat skill nesting (unconfirmed recursive loader); tier-2 support.",
2932
3087
  "tier": "core",
2933
3088
  "requires": [],
3089
+ "engines": {
3090
+ "gsd": ">=1.6.0"
3091
+ },
2934
3092
  "runtime": {
2935
3093
  "configHome": {
2936
3094
  "kind": "dot-home",
@@ -2976,10 +3134,14 @@ const runtimes = {
2976
3134
  "cursor": {
2977
3135
  "id": "cursor",
2978
3136
  "role": "runtime",
3137
+ "version": "1.6.0-rc.2",
2979
3138
  "title": "Cursor",
2980
3139
  "description": "Cursor IDE — skills + converted commands artifact layout; hooks.json surface; Claude hook event dialect; recursive skill loader (flat nesting); tier-2 support.",
2981
3140
  "tier": "core",
2982
3141
  "requires": [],
3142
+ "engines": {
3143
+ "gsd": ">=1.6.0"
3144
+ },
2983
3145
  "runtime": {
2984
3146
  "configHome": {
2985
3147
  "kind": "dot-home",
@@ -3041,10 +3203,14 @@ const runtimes = {
3041
3203
  "gemini": {
3042
3204
  "id": "gemini",
3043
3205
  "role": "runtime",
3206
+ "version": "1.6.0-rc.2",
3044
3207
  "title": "Gemini CLI",
3045
3208
  "description": "Google Gemini CLI — commands-only artifact layout (TOML); Gemini hook event dialect; settings-json hook surface; tier-2 support.",
3046
3209
  "tier": "core",
3047
3210
  "requires": [],
3211
+ "engines": {
3212
+ "gsd": ">=1.6.0"
3213
+ },
3048
3214
  "runtime": {
3049
3215
  "configHome": {
3050
3216
  "kind": "dot-home",
@@ -3094,10 +3260,14 @@ const runtimes = {
3094
3260
  "hermes": {
3095
3261
  "id": "hermes",
3096
3262
  "role": "runtime",
3263
+ "version": "1.6.0-rc.2",
3097
3264
  "title": "Hermes Agent",
3098
3265
  "description": "Hermes Agent (NousResearch) — skills nest under skills/gsd/ category bucket; nested skill layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
3099
3266
  "tier": "core",
3100
3267
  "requires": [],
3268
+ "engines": {
3269
+ "gsd": ">=1.6.0"
3270
+ },
3101
3271
  "runtime": {
3102
3272
  "configHome": {
3103
3273
  "kind": "dot-home",
@@ -3143,10 +3313,14 @@ const runtimes = {
3143
3313
  "kilo": {
3144
3314
  "id": "kilo",
3145
3315
  "role": "runtime",
3316
+ "version": "1.6.0-rc.2",
3146
3317
  "title": "Kilo Code",
3147
3318
  "description": "Kilo Code — XDG-based config dir; global skills at ~/.kilo/skills (separate from XDG config); flat command/ + skills artifact layout; no lifecycle hook registration; tier-2 support.",
3148
3319
  "tier": "core",
3149
3320
  "requires": [],
3321
+ "engines": {
3322
+ "gsd": ">=1.6.0"
3323
+ },
3150
3324
  "runtime": {
3151
3325
  "configHome": {
3152
3326
  "kind": "xdg",
@@ -3214,10 +3388,14 @@ const runtimes = {
3214
3388
  "kimi": {
3215
3389
  "id": "kimi",
3216
3390
  "role": "runtime",
3391
+ "version": "1.6.0-rc.2",
3217
3392
  "title": "Kimi CLI",
3218
3393
  "description": "Kimi CLI (Moonshot AI) — generic agents root at ~/.config/agents; skills + kimi-agents artifact layout; no hook surface; no hook events; tier-2 support.",
3219
3394
  "tier": "core",
3220
3395
  "requires": [],
3396
+ "engines": {
3397
+ "gsd": ">=1.6.0"
3398
+ },
3221
3399
  "runtime": {
3222
3400
  "configHome": {
3223
3401
  "kind": "generic-agents-root",
@@ -3266,10 +3444,14 @@ const runtimes = {
3266
3444
  "opencode": {
3267
3445
  "id": "opencode",
3268
3446
  "role": "runtime",
3447
+ "version": "1.6.0-rc.2",
3269
3448
  "title": "OpenCode",
3270
3449
  "description": "OpenCode — XDG-based config dir; flat command/ + skills artifact layout; settings-json config format; no lifecycle hook registration; tier-2 support.",
3271
3450
  "tier": "core",
3272
3451
  "requires": [],
3452
+ "engines": {
3453
+ "gsd": ">=1.6.0"
3454
+ },
3273
3455
  "runtime": {
3274
3456
  "configHome": {
3275
3457
  "kind": "xdg",
@@ -3332,10 +3514,14 @@ const runtimes = {
3332
3514
  "qwen": {
3333
3515
  "id": "qwen",
3334
3516
  "role": "runtime",
3517
+ "version": "1.6.0-rc.2",
3335
3518
  "title": "Qwen Code",
3336
3519
  "description": "Qwen Code (Alibaba) — nested-skill artifact layout; settings-json hook surface; Claude hook event dialect; tier-2 support.",
3337
3520
  "tier": "core",
3338
3521
  "requires": [],
3522
+ "engines": {
3523
+ "gsd": ">=1.6.0"
3524
+ },
3339
3525
  "runtime": {
3340
3526
  "configHome": {
3341
3527
  "kind": "dot-home",
@@ -3385,10 +3571,14 @@ const runtimes = {
3385
3571
  "trae": {
3386
3572
  "id": "trae",
3387
3573
  "role": "runtime",
3574
+ "version": "1.6.0-rc.2",
3388
3575
  "title": "Trae IDE",
3389
3576
  "description": "Trae IDE — nested-skill artifact layout; no hook surface (profile-marker-only config); tier-2 support.",
3390
3577
  "tier": "core",
3391
3578
  "requires": [],
3579
+ "engines": {
3580
+ "gsd": ">=1.6.0"
3581
+ },
3392
3582
  "runtime": {
3393
3583
  "configHome": {
3394
3584
  "kind": "dot-home",
@@ -3433,10 +3623,14 @@ const runtimes = {
3433
3623
  "windsurf": {
3434
3624
  "id": "windsurf",
3435
3625
  "role": "runtime",
3626
+ "version": "1.6.0-rc.2",
3436
3627
  "title": "Windsurf",
3437
3628
  "description": "Windsurf (Codeium) — nested under ~/.codeium/windsurf; skills-only artifact layout; no hook surface; no hook events; tier-2 support.",
3438
3629
  "tier": "core",
3439
3630
  "requires": [],
3631
+ "engines": {
3632
+ "gsd": ">=1.6.0"
3633
+ },
3440
3634
  "runtime": {
3441
3635
  "configHome": {
3442
3636
  "kind": "dot-home-nested",