gsd-antigravity-kit 1.32.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/.agent/skills/gsd/SKILL.md +152 -123
  2. package/.agent/skills/gsd/VERSION +1 -0
  3. package/.agent/skills/gsd/assets/templates/user-profile.md +8 -8
  4. package/.agent/skills/gsd/bin/gsd-tools.cjs +81 -3
  5. package/.agent/skills/gsd/bin/help-manifest.json +24 -1
  6. package/.agent/skills/gsd/bin/hooks/gsd-check-update.js +15 -5
  7. package/.agent/skills/gsd/bin/hooks/gsd-context-monitor.js +1 -1
  8. package/.agent/skills/gsd/bin/hooks/gsd-phase-boundary.sh +27 -0
  9. package/.agent/skills/gsd/bin/hooks/gsd-prompt-guard.js +2 -1
  10. package/.agent/skills/gsd/bin/hooks/gsd-read-guard.js +1 -1
  11. package/.agent/skills/gsd/bin/hooks/gsd-session-state.sh +33 -0
  12. package/.agent/skills/gsd/bin/hooks/gsd-statusline.js +5 -5
  13. package/.agent/skills/gsd/bin/hooks/gsd-validate-commit.sh +47 -0
  14. package/.agent/skills/gsd/bin/hooks/gsd-workflow-guard.js +1 -1
  15. package/.agent/skills/gsd/bin/lib/config.cjs +31 -10
  16. package/.agent/skills/gsd/bin/lib/core.cjs +48 -13
  17. package/.agent/skills/gsd/bin/lib/frontmatter.cjs +34 -2
  18. package/.agent/skills/gsd/bin/lib/intel.cjs +660 -0
  19. package/.agent/skills/gsd/bin/lib/learnings.cjs +378 -0
  20. package/.agent/skills/gsd/bin/lib/milestone.cjs +13 -4
  21. package/.agent/skills/gsd/bin/lib/model-profiles.cjs +17 -17
  22. package/.agent/skills/gsd/bin/lib/profile-output.cjs +31 -31
  23. package/.agent/skills/gsd/bin/lib/security.cjs +119 -0
  24. package/.agent/skills/gsd/bin/lib/verify.cjs +15 -15
  25. package/.agent/skills/gsd/migration_report.md +7 -0
  26. package/.agent/skills/gsd/references/agents/gsd-code-fixer.md +516 -0
  27. package/.agent/skills/gsd/references/agents/gsd-code-reviewer.md +355 -0
  28. package/.agent/skills/gsd/references/agents/gsd-debugger.md +10 -1
  29. package/.agent/skills/gsd/references/agents/gsd-executor.md +3 -0
  30. package/.agent/skills/gsd/references/agents/gsd-intel-updater.md +314 -0
  31. package/.agent/skills/gsd/references/agents/gsd-phase-researcher.md +3 -0
  32. package/.agent/skills/gsd/references/agents/gsd-plan-checker.md +16 -4
  33. package/.agent/skills/gsd/references/agents/gsd-planner.md +7 -0
  34. package/.agent/skills/gsd/references/agents/gsd-user-profiler.md +5 -5
  35. package/.agent/skills/gsd/references/agents/gsd-verifier.md +55 -1
  36. package/.agent/skills/gsd/references/agents/profiles/dev.md +21 -0
  37. package/.agent/skills/gsd/references/agents/profiles/research.md +22 -0
  38. package/.agent/skills/gsd/references/agents/profiles/review.md +22 -0
  39. package/.agent/skills/gsd/references/commands/{gsd-add-todo.md → atomic/add-todo.md} +5 -4
  40. package/.agent/skills/gsd/references/commands/{gsd-check-todos.md → atomic/check-todos.md} +5 -4
  41. package/.agent/skills/gsd/references/commands/{gsd-cleanup.md → atomic/cleanup.md} +4 -3
  42. package/.agent/skills/gsd/references/commands/{gsd-do.md → atomic/do.md} +4 -3
  43. package/.agent/skills/gsd/references/commands/{gsd-help.md → atomic/help.md} +4 -3
  44. package/.agent/skills/gsd/references/commands/{gsd-join-discord.md → atomic/join-discord.md} +21 -19
  45. package/.agent/skills/gsd/references/commands/{gsd-note.md → atomic/note.md} +4 -3
  46. package/.agent/skills/gsd/references/commands/{gsd-session-report.md → atomic/session-report.md} +4 -3
  47. package/.agent/skills/gsd/references/commands/{gsd-ship.md → atomic/ship.md} +4 -3
  48. package/.agent/skills/gsd/references/commands/{gsd-stats.md → atomic/stats.md} +4 -3
  49. package/.agent/skills/gsd/references/commands/{gsd-thread.md → atomic/thread.md} +7 -6
  50. package/.agent/skills/gsd/references/commands/atomic/undo.md +36 -0
  51. package/.agent/skills/gsd/references/commands/{gsd-add-backlog.md → milestone/add-backlog.md} +8 -7
  52. package/.agent/skills/gsd/references/commands/{gsd-audit-milestone.md → milestone/audit-milestone.md} +4 -3
  53. package/.agent/skills/gsd/references/commands/{gsd-complete-milestone.md → milestone/complete-milestone.md} +6 -4
  54. package/.agent/skills/gsd/references/commands/{gsd-milestone-summary.md → milestone/milestone-summary.md} +5 -3
  55. package/.agent/skills/gsd/references/commands/{gsd-new-milestone.md → milestone/new-milestone.md} +4 -3
  56. package/.agent/skills/gsd/references/commands/{gsd-plan-milestone-gaps.md → milestone/plan-milestone-gaps.md} +4 -3
  57. package/.agent/skills/gsd/references/commands/{gsd-plant-seed.md → milestone/plant-seed.md} +4 -3
  58. package/.agent/skills/gsd/references/commands/{gsd-review-backlog.md → milestone/review-backlog.md} +6 -5
  59. package/.agent/skills/gsd/references/commands/misc/audit-fix.md +35 -0
  60. package/.agent/skills/gsd/references/commands/{gsd-audit-uat.md → misc/audit-uat.md} +4 -3
  61. package/.agent/skills/gsd/references/commands/{gsd-next.md → misc/next.md} +6 -3
  62. package/.agent/skills/gsd/references/commands/{gsd-progress.md → misc/progress.md} +4 -3
  63. package/.agent/skills/gsd/references/commands/{gsd-verify-work.md → misc/verify-work.md} +4 -3
  64. package/.agent/skills/gsd/references/commands/{gsd-add-phase.md → phase/add-phase.md} +5 -4
  65. package/.agent/skills/gsd/references/commands/{gsd-add-tests.md → phase/add-tests.md} +8 -3
  66. package/.agent/skills/gsd/references/commands/{gsd-discuss-phase.md → phase/discuss-phase.md} +5 -4
  67. package/.agent/skills/gsd/references/commands/{gsd-execute-phase.md → phase/execute-phase.md} +4 -3
  68. package/.agent/skills/gsd/references/commands/{gsd-insert-phase.md → phase/insert-phase.md} +5 -4
  69. package/.agent/skills/gsd/references/commands/{gsd-list-phase-assumptions.md → phase/list-phase-assumptions.md} +4 -3
  70. package/.agent/skills/gsd/references/commands/{gsd-plan-phase.md → phase/plan-phase.md} +4 -3
  71. package/.agent/skills/gsd/references/commands/{gsd-remove-phase.md → phase/remove-phase.md} +5 -4
  72. package/.agent/skills/gsd/references/commands/{gsd-research-phase.md → phase/research-phase.md} +7 -6
  73. package/.agent/skills/gsd/references/commands/{gsd-secure-phase.md → phase/secure-phase.md} +4 -3
  74. package/.agent/skills/gsd/references/commands/{gsd-ui-phase.md → phase/ui-phase.md} +4 -3
  75. package/.agent/skills/gsd/references/commands/{gsd-ui-review.md → phase/ui-review.md} +4 -3
  76. package/.agent/skills/gsd/references/commands/{gsd-validate-phase.md → phase/validate-phase.md} +4 -3
  77. package/.agent/skills/gsd/references/commands/{gsd-workstreams.md → phase/workstreams.md} +71 -70
  78. package/.agent/skills/gsd/references/commands/{gsd-analyze-dependencies.md → project/analyze-dependencies.md} +5 -4
  79. package/.agent/skills/gsd/references/commands/project/explore.md +29 -0
  80. package/.agent/skills/gsd/references/commands/project/import.md +38 -0
  81. package/.agent/skills/gsd/references/commands/project/intel.md +181 -0
  82. package/.agent/skills/gsd/references/commands/{gsd-list-workspaces.md → project/list-workspaces.md} +4 -3
  83. package/.agent/skills/gsd/references/commands/{gsd-map-codebase.md → project/map-codebase.md} +4 -3
  84. package/.agent/skills/gsd/references/commands/{gsd-new-project.md → project/new-project.md} +4 -3
  85. package/.agent/skills/gsd/references/commands/{gsd-new-workspace.md → project/new-workspace.md} +4 -3
  86. package/.agent/skills/gsd/references/commands/{gsd-remove-workspace.md → project/remove-workspace.md} +4 -3
  87. package/.agent/skills/gsd/references/commands/project/scan.md +28 -0
  88. package/.agent/skills/gsd/references/commands/{gsd-autonomous.md → system/autonomous.md} +4 -3
  89. package/.agent/skills/gsd/references/commands/system/code-review-fix.md +54 -0
  90. package/.agent/skills/gsd/references/commands/system/code-review.md +57 -0
  91. package/.agent/skills/gsd/references/commands/{gsd-debug.md → system/debug.md} +7 -6
  92. package/.agent/skills/gsd/references/commands/{gsd-docs-update.md → system/docs-update.md} +4 -3
  93. package/.agent/skills/gsd/references/commands/{gsd-fast.md → system/fast.md} +4 -3
  94. package/.agent/skills/gsd/references/commands/{gsd-forensics.md → system/forensics.md} +5 -3
  95. package/.agent/skills/gsd/references/commands/{gsd-health.md → system/health.md} +5 -4
  96. package/.agent/skills/gsd/references/commands/{gsd-manager.md → system/manager.md} +4 -3
  97. package/.agent/skills/gsd/references/commands/{gsd-pause-work.md → system/pause-work.md} +4 -3
  98. package/.agent/skills/gsd/references/commands/{gsd-pr-branch.md → system/pr-branch.md} +4 -3
  99. package/.agent/skills/gsd/references/commands/{gsd-profile-user.md → system/profile-user.md} +4 -3
  100. package/.agent/skills/gsd/references/commands/{gsd-quick.md → system/quick.md} +4 -3
  101. package/.agent/skills/gsd/references/commands/{gsd-reapply-patches.md → system/reapply-patches.md} +25 -7
  102. package/.agent/skills/gsd/references/commands/{gsd-resume-work.md → system/resume-work.md} +4 -3
  103. package/.agent/skills/gsd/references/commands/{gsd-review.md → system/review.md} +4 -3
  104. package/.agent/skills/gsd/references/commands/system/set-profile.md +14 -0
  105. package/.agent/skills/gsd/references/commands/{gsd-settings.md → system/settings.md} +4 -3
  106. package/.agent/skills/gsd/references/commands/{gsd-update.md → system/update.md} +4 -3
  107. package/.agent/skills/gsd/references/docs/agent-contracts.md +79 -0
  108. package/.agent/skills/gsd/references/docs/common-bug-patterns.md +114 -0
  109. package/.agent/skills/gsd/references/docs/context-budget.md +49 -0
  110. package/.agent/skills/gsd/references/docs/domain-probes.md +125 -0
  111. package/.agent/skills/gsd/references/docs/few-shot-examples/plan-checker.md +73 -0
  112. package/.agent/skills/gsd/references/docs/few-shot-examples/verifier.md +109 -0
  113. package/.agent/skills/gsd/references/docs/gate-prompts.md +100 -0
  114. package/.agent/skills/gsd/references/docs/gates.md +70 -0
  115. package/.agent/skills/gsd/references/docs/model-profile-resolution.md +2 -0
  116. package/.agent/skills/gsd/references/docs/model-profiles.md +20 -14
  117. package/.agent/skills/gsd/references/docs/planning-config.md +216 -1
  118. package/.agent/skills/gsd/references/docs/revision-loop.md +97 -0
  119. package/.agent/skills/gsd/references/docs/thinking-models-debug.md +44 -0
  120. package/.agent/skills/gsd/references/docs/thinking-models-execution.md +50 -0
  121. package/.agent/skills/gsd/references/docs/thinking-models-planning.md +62 -0
  122. package/.agent/skills/gsd/references/docs/thinking-models-research.md +50 -0
  123. package/.agent/skills/gsd/references/docs/thinking-models-verification.md +55 -0
  124. package/.agent/skills/gsd/references/docs/thinking-partner.md +96 -0
  125. package/.agent/skills/gsd/references/docs/universal-anti-patterns.md +58 -0
  126. package/.agent/skills/gsd/references/docs/user-profiling.md +10 -10
  127. package/.agent/skills/gsd/references/docs/verification-overrides.md +227 -0
  128. package/.agent/skills/gsd/references/docs/workstream-flag.md +2 -2
  129. package/.agent/skills/gsd/references/mapping.md +11 -21
  130. package/.agent/skills/gsd/references/workflows/analyze-dependencies.md +3 -3
  131. package/.agent/skills/gsd/references/workflows/audit-fix.md +157 -0
  132. package/.agent/skills/gsd/references/workflows/autonomous.md +22 -1
  133. package/.agent/skills/gsd/references/workflows/code-review-fix.md +497 -0
  134. package/.agent/skills/gsd/references/workflows/code-review.md +515 -0
  135. package/.agent/skills/gsd/references/workflows/discuss-phase-power.md +3 -3
  136. package/.agent/skills/gsd/references/workflows/discuss-phase.md +20 -0
  137. package/.agent/skills/gsd/references/workflows/execute-phase.md +103 -0
  138. package/.agent/skills/gsd/references/workflows/explore.md +139 -0
  139. package/.agent/skills/gsd/references/workflows/import.md +274 -0
  140. package/.agent/skills/gsd/references/workflows/inbox.md +384 -0
  141. package/.agent/skills/gsd/references/workflows/manager.md +5 -5
  142. package/.agent/skills/gsd/references/workflows/new-milestone.md +1 -1
  143. package/.agent/skills/gsd/references/workflows/next.md +56 -0
  144. package/.agent/skills/gsd/references/workflows/plan-phase.md +48 -1
  145. package/.agent/skills/gsd/references/workflows/quick.md +96 -2
  146. package/.agent/skills/gsd/references/workflows/review.md +23 -3
  147. package/.agent/skills/gsd/references/workflows/scan.md +102 -0
  148. package/.agent/skills/gsd/references/workflows/settings.md +1 -1
  149. package/.agent/skills/gsd/references/workflows/ui-review.md +2 -2
  150. package/.agent/skills/gsd/references/workflows/undo.md +312 -0
  151. package/.agent/skills/gsd/references/workflows/update.md +5 -5
  152. package/.agent/skills/gsd-converter/SKILL.md +67 -59
  153. package/.agent/skills/gsd-converter/assets/migration-manifest.json +74 -0
  154. package/.agent/skills/gsd-converter/references/mapping.md +6 -16
  155. package/.agent/skills/gsd-converter/scripts/convert.py +419 -80
  156. package/.agent/skills/gsd-converter/scripts/regression_test.py +33 -0
  157. package/.agent/skills/selectpaste-update/SKILL.md +46 -0
  158. package/.agent/skills/selectpaste-update/scripts/sync-commands.py +317 -0
  159. package/README.md +4 -2
  160. package/bin/install.js +116 -116
  161. package/package.json +1 -1
  162. package/.agent/skills/gsd/references/commands/gsd-set-profile.md +0 -12
  163. /package/.agent/skills/gsd/references/commands/{gsd-tools.md → system/gsd-tools.md} +0 -0
@@ -152,6 +152,25 @@ const INJECTION_PATTERNS = [
152
152
  /(?:run|execute|call|invoke)\s+(?:the\s+)?(?:bash|shell|exec|spawn)\s+(?:tool|command)/i,
153
153
  ];
154
154
 
155
+ /**
156
+ * Layer 2: Encoding-obfuscation patterns with custom finding messages.
157
+ * Each entry: { pattern: RegExp, message: string }
158
+ */
159
+ const OBFUSCATION_PATTERN_ENTRIES = [
160
+ {
161
+ pattern: /\b(\w\s){4,}\w\b/,
162
+ message: 'Character-spacing obfuscation pattern detected (e.g. "i g n o r e")',
163
+ },
164
+ {
165
+ pattern: /<\/?(system|human|assistant|user)\s*>/i,
166
+ message: 'Delimiter injection pattern: <system>/<assistant>/<user> tag detected',
167
+ },
168
+ {
169
+ pattern: /0x[0-9a-fA-F]{16,}/,
170
+ message: 'Long hex sequence detected — possible encoded payload',
171
+ },
172
+ ];
173
+
155
174
  /**
156
175
  * Scan text for potential prompt injection patterns.
157
176
  * Returns an array of findings (empty = clean).
@@ -174,6 +193,13 @@ function scanForInjection(text, opts = {}) {
174
193
  }
175
194
  }
176
195
 
196
+ // Layer 2: encoding-obfuscation patterns with custom messages
197
+ for (const entry of OBFUSCATION_PATTERN_ENTRIES) {
198
+ if (entry.pattern.test(text)) {
199
+ findings.push(entry.message);
200
+ }
201
+ }
202
+
177
203
  if (opts.strict) {
178
204
  // Check for suspicious Unicode that could hide instructions
179
205
  // (zero-width chars, RTL override, homoglyph attacks)
@@ -181,6 +207,12 @@ function scanForInjection(text, opts = {}) {
181
207
  findings.push('Contains suspicious zero-width or invisible Unicode characters');
182
208
  }
183
209
 
210
+ // Layer 1: Unicode tag block U+E0000–U+E007F (2025 supply-chain attack vector)
211
+ // These characters are invisible and can embed hidden instructions
212
+ if (/[\uDB40\uDC00-\uDB40\uDC7F]/u.test(text) || /[\u{E0000}-\u{E007F}]/u.test(text)) {
213
+ findings.push('Contains Unicode tag block characters (U+E0000–E007F) — invisible instruction injection vector');
214
+ }
215
+
184
216
  // Check for extremely long strings that could be prompt stuffing.
185
217
  // Normalize CRLF → LF before measuring so Windows checkouts don't inflate the count.
186
218
  const normalizedLength = text.replace(/\r\n/g, '\n').replace(/\r/g, '\n').length;
@@ -361,6 +393,87 @@ function validateFieldName(field) {
361
393
  return { valid: false, error: `Invalid field name: "${field}"` };
362
394
  }
363
395
 
396
+ // ─── Layer 3: Structural Schema Validation ───────────────────────────────────
397
+
398
+ const KNOWN_VALID_TAGS = new Set([
399
+ 'objective', 'process', 'step', 'success_criteria', 'critical_rules',
400
+ 'available_agent_types', 'purpose', 'required_reading',
401
+ ]);
402
+
403
+ /**
404
+ * Validate the XML structure of a prompt file.
405
+ * For agent/workflow files, flags any XML tag not in the known-valid set.
406
+ *
407
+ * @param {string} text - The file content to validate
408
+ * @param {'agent'|'workflow'|'unknown'} fileType - The type of prompt file
409
+ * @returns {{ valid: boolean, violations: string[] }}
410
+ */
411
+ function validatePromptStructure(text, fileType) {
412
+ if (!text || typeof text !== 'string') {
413
+ return { valid: true, violations: [] };
414
+ }
415
+
416
+ if (fileType !== 'agent' && fileType !== 'workflow') {
417
+ return { valid: true, violations: [] };
418
+ }
419
+
420
+ const violations = [];
421
+ const tagRegex = /<([A-Za-z][A-Za-z0-9_-]*)/g;
422
+ let match;
423
+ while ((match = tagRegex.exec(text)) !== null) {
424
+ const tag = match[1].toLowerCase();
425
+ if (!KNOWN_VALID_TAGS.has(tag)) {
426
+ violations.push(`Unknown XML tag in ${fileType} file: <${tag}>`);
427
+ }
428
+ }
429
+
430
+ return { valid: violations.length === 0, violations };
431
+ }
432
+
433
+ // ─── Layer 4: Paragraph-Level Entropy Anomaly Detection ─────────────────────
434
+
435
+ function shannonEntropy(text) {
436
+ if (!text || text.length === 0) return 0;
437
+ const freq = {};
438
+ for (const ch of text) {
439
+ freq[ch] = (freq[ch] || 0) + 1;
440
+ }
441
+ const len = text.length;
442
+ let entropy = 0;
443
+ for (const count of Object.values(freq)) {
444
+ const p = count / len;
445
+ entropy -= p * Math.log2(p);
446
+ }
447
+ return entropy;
448
+ }
449
+
450
+ /**
451
+ * Scan text for paragraphs with anomalously high Shannon entropy.
452
+ *
453
+ * @param {string} text - The text to scan
454
+ * @returns {{ clean: boolean, findings: string[] }}
455
+ */
456
+ function scanEntropyAnomalies(text) {
457
+ if (!text || typeof text !== 'string') {
458
+ return { clean: true, findings: [] };
459
+ }
460
+
461
+ const findings = [];
462
+ const paragraphs = text.split(/\n\n+/);
463
+
464
+ for (const para of paragraphs) {
465
+ if (para.length <= 50) continue;
466
+ const entropy = shannonEntropy(para);
467
+ if (entropy > 5.5) {
468
+ findings.push(
469
+ `High-entropy paragraph detected (${entropy.toFixed(2)} bits/char) — possible encoded payload`
470
+ );
471
+ }
472
+ }
473
+
474
+ return { clean: findings.length === 0, findings };
475
+ }
476
+
364
477
  module.exports = {
365
478
  // Path safety
366
479
  validatePath,
@@ -381,4 +494,10 @@ module.exports = {
381
494
  // Input validation
382
495
  validatePhaseNumber,
383
496
  validateFieldName,
497
+
498
+ // Structural validation (Layer 3)
499
+ validatePromptStructure,
500
+
501
+ // Entropy anomaly detection (Layer 4)
502
+ scanEntropyAnomalies,
384
503
  };
@@ -5,7 +5,7 @@
5
5
  const fs = require('fs');
6
6
  const path = require('path');
7
7
  const os = require('os');
8
- const { safeReadFile, loadConfig, normalizePhaseName, escapeRegex, execGit, findPhaseInternal, getMilestoneInfo, stripShippedMilestones, extractCurrentMilestone, planningDir, planningRoot, output, error, checkAgentsInstalled } = require('./core.cjs');
8
+ const { safeReadFile, loadConfig, normalizePhaseName, escapeRegex, execGit, findPhaseInternal, getMilestoneInfo, stripShippedMilestones, extractCurrentMilestone, planningDir, planningRoot, output, error, checkAgentsInstalled, CONFIG_DEFAULTS } = require('./core.cjs');
9
9
  const { extractFrontmatter, parseMustHavesBlock } = require('./frontmatter.cjs');
10
10
  const { writeStateMd } = require('./state.cjs');
11
11
 
@@ -777,7 +777,7 @@ function cmdValidateHealth(cwd, options, raw) {
777
777
  if (statusVal !== 'complete' && statusVal !== 'done') {
778
778
  addIssue('warning', 'W011',
779
779
  `STATE.md says current phase is ${statePhase} (status: ${statusVal || 'unknown'}) but ROADMAP.md shows it as [x] complete — state files may be out of sync`,
780
- 'Run /gsd:progress to re-derive current position, or manually update STATE.md');
780
+ 'Run /gsd-progress to re-derive current position, or manually update STATE.md');
781
781
  }
782
782
  }
783
783
  }
@@ -831,21 +831,21 @@ function cmdValidateHealth(cwd, options, raw) {
831
831
  case 'createConfig':
832
832
  case 'resetConfig': {
833
833
  const defaults = {
834
- model_profile: 'balanced',
835
- commit_docs: true,
836
- search_gitignored: false,
837
- branching_strategy: 'none',
838
- phase_branch_template: 'gsd/phase-{phase}-{slug}',
839
- milestone_branch_template: 'gsd/{milestone}-{slug}',
840
- quick_branch_template: null,
834
+ model_profile: CONFIG_DEFAULTS.model_profile,
835
+ commit_docs: CONFIG_DEFAULTS.commit_docs,
836
+ search_gitignored: CONFIG_DEFAULTS.search_gitignored,
837
+ branching_strategy: CONFIG_DEFAULTS.branching_strategy,
838
+ phase_branch_template: CONFIG_DEFAULTS.phase_branch_template,
839
+ milestone_branch_template: CONFIG_DEFAULTS.milestone_branch_template,
840
+ quick_branch_template: CONFIG_DEFAULTS.quick_branch_template,
841
841
  workflow: {
842
- research: true,
843
- plan_check: true,
844
- verifier: true,
845
- nyquist_validation: true,
842
+ research: CONFIG_DEFAULTS.research,
843
+ plan_check: CONFIG_DEFAULTS.plan_checker,
844
+ verifier: CONFIG_DEFAULTS.verifier,
845
+ nyquist_validation: CONFIG_DEFAULTS.nyquist_validation,
846
846
  },
847
- parallelization: true,
848
- brave_search: false,
847
+ parallelization: CONFIG_DEFAULTS.parallelization,
848
+ brave_search: CONFIG_DEFAULTS.brave_search,
849
849
  };
850
850
  fs.writeFileSync(configPath, JSON.stringify(defaults, null, 2), 'utf-8');
851
851
  repairActions.push({ action: repair, success: true, path: 'config.json' });
@@ -0,0 +1,7 @@
1
+ # GSD Migration Report
2
+
3
+ - **Timestamp**: 2026-04-08T07:18:24.858917
4
+ - **Version**: 1.34.2 -> 1.34.2
5
+ - **Skill Name**: gsd
6
+
7
+ ✅ All recognized source directories were successfully mapped and migrated.