pi-gsd 2.0.22 → 2.0.24

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 (213) hide show
  1. package/README.md +1 -1
  2. package/dist/pi-gsd-hooks.js +38 -11
  3. package/dist/pi-gsd-tools.js +87 -76
  4. package/{.gsd/harnesses/pi/get-shit-done → gsd}/agents/gsd-codebase-mapper.md +13 -13
  5. package/{.gsd/harnesses/pi/get-shit-done → gsd}/agents/gsd-debugger.md +37 -37
  6. package/{.gsd/harnesses/pi/get-shit-done → gsd}/agents/gsd-executor.md +8 -8
  7. package/{.gsd/harnesses/pi/get-shit-done → gsd}/agents/gsd-nyquist-auditor.md +31 -31
  8. package/{.gsd/harnesses/pi/get-shit-done → gsd}/agents/gsd-phase-researcher.md +85 -85
  9. package/{.gsd/harnesses/pi/get-shit-done → gsd}/agents/gsd-plan-checker.md +32 -32
  10. package/{.gsd/harnesses/pi/get-shit-done → gsd}/agents/gsd-planner.md +108 -108
  11. package/{.gsd/harnesses/pi/get-shit-done → gsd}/agents/gsd-project-researcher.md +76 -76
  12. package/{.gsd/harnesses/pi/get-shit-done → gsd}/agents/gsd-research-synthesizer.md +16 -16
  13. package/{.gsd/harnesses/pi/get-shit-done → gsd}/agents/gsd-roadmapper.md +39 -39
  14. package/{.gsd/harnesses/pi/get-shit-done → gsd}/agents/gsd-ui-auditor.md +24 -24
  15. package/{.gsd/harnesses/pi/get-shit-done → gsd}/agents/gsd-ui-checker.md +21 -21
  16. package/{.gsd/harnesses/pi/get-shit-done → gsd}/agents/gsd-ui-researcher.md +35 -35
  17. package/{.gsd/harnesses/pi/get-shit-done → gsd}/agents/gsd-verifier.md +30 -30
  18. package/gsd/hooks/gsd-context-monitor.js +164 -0
  19. package/gsd/hooks/gsd-prompt-guard.js +99 -0
  20. package/{.gsd/harnesses/pi → gsd}/hooks/gsd-statusline.js +2 -2
  21. package/gsd/hooks/gsd-workflow-guard.js +98 -0
  22. package/{.gsd/harnesses/pi/get-shit-done → gsd}/references/continuation-format.md +11 -11
  23. package/{.gsd/harnesses/pi/get-shit-done → gsd}/references/ui-brand.md +1 -1
  24. package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/DEBUG.md +4 -4
  25. package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/UAT.md +1 -1
  26. package/gsd/workflows/add-phase.md +135 -0
  27. package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/audit-milestone.md +3 -3
  28. package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/complete-milestone.md +1 -1
  29. package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/discuss-phase-assumptions.md +1 -1
  30. package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/discuss-phase.md +2 -2
  31. package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/execute-phase.md +2 -2
  32. package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/execute-plan.md +1 -1
  33. package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/help.md +5 -5
  34. package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/insert-phase.md +1 -1
  35. package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/map-codebase.md +1 -1
  36. package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/new-milestone.md +1 -1
  37. package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/new-project.md +2 -2
  38. package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/plan-milestone-gaps.md +1 -1
  39. package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/plan-phase.md +1 -1
  40. package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/progress.md +10 -10
  41. package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/resume-project.md +2 -2
  42. package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/settings.md +1 -1
  43. package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/transition.md +3 -3
  44. package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/ui-phase.md +1 -1
  45. package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/ui-review.md +1 -1
  46. package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/validate-phase.md +1 -1
  47. package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/verify-work.md +1 -1
  48. package/package.json +4 -5
  49. package/scripts/postinstall.js +119 -334
  50. package/.gsd/harnesses/pi/get-shit-done/workflows/add-phase.md +0 -167
  51. package/.gsd/harnesses/pi/get-shit-done/workflows/discuss-phase.md.bak +0 -1049
  52. package/.gsd/harnesses/pi/get-shit-done/workflows/execute-phase.md.bak +0 -846
  53. package/.gsd/harnesses/pi/get-shit-done/workflows/new-milestone.md.bak +0 -486
  54. package/.gsd/harnesses/pi/get-shit-done/workflows/new-project.md.bak +0 -1250
  55. package/.gsd/harnesses/pi/get-shit-done/workflows/plan-phase.md.bak +0 -859
  56. package/.gsd/harnesses/pi/gsd-file-manifest.json +0 -219
  57. package/.gsd/harnesses/pi/hooks/gsd-context-monitor.js +0 -159
  58. package/.gsd/harnesses/pi/hooks/gsd-prompt-guard.js +0 -99
  59. package/.gsd/harnesses/pi/hooks/gsd-workflow-guard.js +0 -97
  60. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/VERSION +0 -0
  61. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/agents/gsd-advisor-researcher.md +0 -0
  62. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/agents/gsd-assumptions-analyzer.md +0 -0
  63. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/agents/gsd-integration-checker.md +0 -0
  64. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/agents/gsd-user-profiler.md +0 -0
  65. /package/{.gsd/harnesses/pi → gsd}/hooks/gsd-check-update.js +0 -0
  66. /package/{prompts → gsd/prompts}/gsd-add-backlog.md +0 -0
  67. /package/{prompts → gsd/prompts}/gsd-add-phase.md +0 -0
  68. /package/{prompts → gsd/prompts}/gsd-add-tests.md +0 -0
  69. /package/{prompts → gsd/prompts}/gsd-add-todo.md +0 -0
  70. /package/{prompts → gsd/prompts}/gsd-audit-milestone.md +0 -0
  71. /package/{prompts → gsd/prompts}/gsd-audit-uat.md +0 -0
  72. /package/{prompts → gsd/prompts}/gsd-autonomous.md +0 -0
  73. /package/{prompts → gsd/prompts}/gsd-check-todos.md +0 -0
  74. /package/{prompts → gsd/prompts}/gsd-cleanup.md +0 -0
  75. /package/{prompts → gsd/prompts}/gsd-complete-milestone.md +0 -0
  76. /package/{prompts → gsd/prompts}/gsd-debug.md +0 -0
  77. /package/{prompts → gsd/prompts}/gsd-discuss-phase.md +0 -0
  78. /package/{prompts → gsd/prompts}/gsd-do.md +0 -0
  79. /package/{prompts → gsd/prompts}/gsd-execute-milestone.md +0 -0
  80. /package/{prompts → gsd/prompts}/gsd-execute-phase.md +0 -0
  81. /package/{prompts → gsd/prompts}/gsd-fast.md +0 -0
  82. /package/{prompts → gsd/prompts}/gsd-forensics.md +0 -0
  83. /package/{prompts → gsd/prompts}/gsd-insert-phase.md +0 -0
  84. /package/{prompts → gsd/prompts}/gsd-join-discord.md +0 -0
  85. /package/{prompts → gsd/prompts}/gsd-list-phase-assumptions.md +0 -0
  86. /package/{prompts → gsd/prompts}/gsd-list-workspaces.md +0 -0
  87. /package/{prompts → gsd/prompts}/gsd-manager.md +0 -0
  88. /package/{prompts → gsd/prompts}/gsd-map-codebase.md +0 -0
  89. /package/{prompts → gsd/prompts}/gsd-milestone-summary.md +0 -0
  90. /package/{prompts → gsd/prompts}/gsd-new-milestone.md +0 -0
  91. /package/{prompts → gsd/prompts}/gsd-new-project.md +0 -0
  92. /package/{prompts → gsd/prompts}/gsd-new-workspace.md +0 -0
  93. /package/{prompts → gsd/prompts}/gsd-note.md +0 -0
  94. /package/{prompts → gsd/prompts}/gsd-pause-work.md +0 -0
  95. /package/{prompts → gsd/prompts}/gsd-plan-milestone-gaps.md +0 -0
  96. /package/{prompts → gsd/prompts}/gsd-plan-milestone.md +0 -0
  97. /package/{prompts → gsd/prompts}/gsd-plan-phase.md +0 -0
  98. /package/{prompts → gsd/prompts}/gsd-plant-seed.md +0 -0
  99. /package/{prompts → gsd/prompts}/gsd-pr-branch.md +0 -0
  100. /package/{prompts → gsd/prompts}/gsd-profile-user.md +0 -0
  101. /package/{prompts → gsd/prompts}/gsd-quick.md +0 -0
  102. /package/{prompts → gsd/prompts}/gsd-reapply-patches.md +0 -0
  103. /package/{prompts → gsd/prompts}/gsd-remove-phase.md +0 -0
  104. /package/{prompts → gsd/prompts}/gsd-remove-workspace.md +0 -0
  105. /package/{prompts → gsd/prompts}/gsd-research-phase.md +0 -0
  106. /package/{prompts → gsd/prompts}/gsd-resume-work.md +0 -0
  107. /package/{prompts → gsd/prompts}/gsd-review-backlog.md +0 -0
  108. /package/{prompts → gsd/prompts}/gsd-review.md +0 -0
  109. /package/{prompts → gsd/prompts}/gsd-session-report.md +0 -0
  110. /package/{prompts → gsd/prompts}/gsd-set-profile.md +0 -0
  111. /package/{prompts → gsd/prompts}/gsd-settings.md +0 -0
  112. /package/{prompts → gsd/prompts}/gsd-ship.md +0 -0
  113. /package/{prompts → gsd/prompts}/gsd-thread.md +0 -0
  114. /package/{prompts → gsd/prompts}/gsd-ui-phase.md +0 -0
  115. /package/{prompts → gsd/prompts}/gsd-ui-review.md +0 -0
  116. /package/{prompts → gsd/prompts}/gsd-validate-phase.md +0 -0
  117. /package/{prompts → gsd/prompts}/gsd-verify-work.md +0 -0
  118. /package/{prompts → gsd/prompts}/gsd-workstreams.md +0 -0
  119. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/references/checkpoints.md +0 -0
  120. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/references/decimal-phase-calculation.md +0 -0
  121. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/references/git-integration.md +0 -0
  122. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/references/git-planning-commit.md +0 -0
  123. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/references/model-profile-resolution.md +0 -0
  124. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/references/model-profiles.md +0 -0
  125. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/references/phase-argument-parsing.md +0 -0
  126. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/references/planning-config.md +0 -0
  127. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/references/questioning.md +0 -0
  128. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/references/tdd.md +0 -0
  129. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/references/user-profiling.md +0 -0
  130. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/references/verification-patterns.md +0 -0
  131. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/references/workstream-flag.md +0 -0
  132. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/UI-SPEC.md +0 -0
  133. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/VALIDATION.md +0 -0
  134. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/claude-md.md +0 -0
  135. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/codebase/architecture.md +0 -0
  136. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/codebase/concerns.md +0 -0
  137. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/codebase/conventions.md +0 -0
  138. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/codebase/integrations.md +0 -0
  139. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/codebase/stack.md +0 -0
  140. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/codebase/structure.md +0 -0
  141. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/codebase/testing.md +0 -0
  142. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/config.json +0 -0
  143. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/context.md +0 -0
  144. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/continue-here.md +0 -0
  145. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/copilot-instructions.md +0 -0
  146. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/debug-subagent-prompt.md +0 -0
  147. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/dev-preferences.md +0 -0
  148. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/discovery.md +0 -0
  149. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/discussion-log.md +0 -0
  150. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/milestone-archive.md +0 -0
  151. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/milestone.md +0 -0
  152. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/phase-prompt.md +0 -0
  153. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/planner-subagent-prompt.md +0 -0
  154. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/project.md +0 -0
  155. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/requirements.md +0 -0
  156. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/research-project/ARCHITECTURE.md +0 -0
  157. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/research-project/FEATURES.md +0 -0
  158. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/research-project/PITFALLS.md +0 -0
  159. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/research-project/STACK.md +0 -0
  160. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/research-project/SUMMARY.md +0 -0
  161. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/research.md +0 -0
  162. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/retrospective.md +0 -0
  163. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/roadmap.md +0 -0
  164. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/state.md +0 -0
  165. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/summary-complex.md +0 -0
  166. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/summary-minimal.md +0 -0
  167. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/summary-standard.md +0 -0
  168. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/summary.md +0 -0
  169. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/user-profile.md +0 -0
  170. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/user-setup.md +0 -0
  171. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/templates/verification-report.md +0 -0
  172. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/add-backlog.md +0 -0
  173. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/add-tests.md +0 -0
  174. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/add-todo.md +0 -0
  175. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/audit-uat.md +0 -0
  176. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/autonomous.md +0 -0
  177. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/check-todos.md +0 -0
  178. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/cleanup.md +0 -0
  179. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/debug.md +0 -0
  180. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/diagnose-issues.md +0 -0
  181. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/discovery-phase.md +0 -0
  182. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/do.md +0 -0
  183. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/execute-milestone.md +0 -0
  184. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/fast.md +0 -0
  185. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/forensics.md +0 -0
  186. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/health.md +0 -0
  187. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/list-phase-assumptions.md +0 -0
  188. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/list-workspaces.md +0 -0
  189. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/manager.md +0 -0
  190. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/milestone-summary.md +0 -0
  191. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/new-workspace.md +0 -0
  192. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/next.md +0 -0
  193. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/node-repair.md +0 -0
  194. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/note.md +0 -0
  195. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/pause-work.md +0 -0
  196. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/plan-milestone.md +0 -0
  197. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/plant-seed.md +0 -0
  198. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/pr-branch.md +0 -0
  199. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/profile-user.md +0 -0
  200. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/quick.md +0 -0
  201. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/remove-phase.md +0 -0
  202. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/remove-workspace.md +0 -0
  203. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/research-phase.md +0 -0
  204. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/review-backlog.md +0 -0
  205. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/review.md +0 -0
  206. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/session-report.md +0 -0
  207. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/set-profile.md +0 -0
  208. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/ship.md +0 -0
  209. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/stats.md +0 -0
  210. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/thread.md +0 -0
  211. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/update.md +0 -0
  212. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/verify-phase.md +0 -0
  213. /package/{.gsd/harnesses/pi/get-shit-done → gsd}/workflows/workstreams.md +0 -0
package/README.md CHANGED
@@ -49,7 +49,7 @@ Then start your first project:
49
49
  └─► (next phase or /gsd-complete-milestone)
50
50
  ```
51
51
 
52
- All project state lives in `.planning/` - committed to git, survives `/clear` and context resets.
52
+ All project state lives in `.planning/` - committed to git, survives `/new` and context resets.
53
53
 
54
54
  ---
55
55
 
@@ -27,7 +27,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
 
30
- // .gsd/extensions/pi-gsd-hooks.ts
30
+ // src/pi-gsd-hooks.ts
31
31
  var pi_gsd_hooks_exports = {};
32
32
  __export(pi_gsd_hooks_exports, {
33
33
  default: () => pi_gsd_hooks_default
@@ -849,7 +849,7 @@ function readWorkflowVersionTag(content) {
849
849
  return { version: m[1], doNotUpdate: Boolean(m[2]) };
850
850
  }
851
851
 
852
- // .gsd/extensions/pi-gsd-hooks.ts
852
+ // src/pi-gsd-hooks.ts
853
853
  function copyHarness(src, dest) {
854
854
  let symlinksReplaced = 0;
855
855
  let filesCopied = 0;
@@ -933,8 +933,10 @@ function pi_gsd_hooks_default(pi) {
933
933
  }
934
934
  }
935
935
  if (raw === null) {
936
- errors.push("File not found: " + filePath);
937
- return null;
936
+ return `
937
+ > \u26A0\uFE0F **GSD include error:** workflow \`${filePath}\` not found.
938
+ > Run \`/gsd-health\` to diagnose, or reinstall with \`npm install pi-gsd\`.
939
+ `;
938
940
  }
939
941
  let result = raw;
940
942
  if (!selectExpr) return result;
@@ -990,7 +992,7 @@ function pi_gsd_hooks_default(pi) {
990
992
  pi.on("context", async (event, ctx) => {
991
993
  const includePattern = /<gsd-include\s+path="([^"]+)"(?:\s+select="([^"]*)")?\s*\/>/g;
992
994
  const extFile = typeof __filename !== "undefined" ? __filename : "";
993
- const pkgHarness = extFile ? (0, import_node_path4.join)((0, import_node_path4.dirname)(extFile), "..", ".gsd", "harnesses", "pi", "get-shit-done") : "";
995
+ const pkgHarness = extFile ? (0, import_node_path4.join)((0, import_node_path4.dirname)(extFile), "..", "gsd") : "";
994
996
  const errors = [];
995
997
  const messages = event.messages;
996
998
  const rawArgsMap = /* @__PURE__ */ new Map();
@@ -1028,7 +1030,6 @@ function pi_gsd_hooks_default(pi) {
1028
1030
  }
1029
1031
  if (errors.length > 0) {
1030
1032
  ctx.ui.notify("\u274C GSD include failed:\n" + errors.map((e) => " \u2022 " + e).join("\n"), "error");
1031
- return { messages: [] };
1032
1033
  }
1033
1034
  const extFile2 = typeof __filename !== "undefined" ? __filename : "";
1034
1035
  const pkgRoot2 = (0, import_node_path4.join)((0, import_node_path4.dirname)(extFile2), "..");
@@ -1052,7 +1053,7 @@ function pi_gsd_hooks_default(pi) {
1052
1053
  trustedPaths: [
1053
1054
  ...globalSettings.trustedPaths ?? [],
1054
1055
  ...projectSettings.trustedPaths ?? [],
1055
- { position: "pkg", path: ".gsd/harnesses/pi/get-shit-done" },
1056
+ { position: "pkg", path: "gsd" },
1056
1057
  { position: "project", path: ".pi/gsd" }
1057
1058
  ],
1058
1059
  untrustedPaths: [
@@ -1066,6 +1067,19 @@ function pi_gsd_hooks_default(pi) {
1066
1067
  ],
1067
1068
  shellTimeoutMs: projectSettings.shellTimeoutMs ?? globalSettings.shellTimeoutMs ?? 3e4
1068
1069
  };
1070
+ const preWxpSnapshots = /* @__PURE__ */ new Map();
1071
+ for (let msgIdx = 0; msgIdx < messages.length; msgIdx++) {
1072
+ const msg = messages[msgIdx];
1073
+ if (msg.role !== "user") continue;
1074
+ if (typeof msg.content === "string" && msg.content.includes("<gsd-")) {
1075
+ preWxpSnapshots.set(msgIdx, msg.content);
1076
+ } else if (Array.isArray(msg.content)) {
1077
+ const blocks = msg.content;
1078
+ if (blocks.some((b) => b.type === "text" && b.text?.includes("<gsd-"))) {
1079
+ preWxpSnapshots.set(msgIdx, blocks.map((b) => ({ ...b })));
1080
+ }
1081
+ }
1082
+ }
1069
1083
  try {
1070
1084
  for (let msgIdx = 0; msgIdx < messages.length; msgIdx++) {
1071
1085
  const msg = messages[msgIdx];
@@ -1087,10 +1101,23 @@ function pi_gsd_hooks_default(pi) {
1087
1101
  } catch (wxpErr) {
1088
1102
  if (wxpErr instanceof WxpProcessingError) {
1089
1103
  ctx.ui.notify(wxpErr.message, "error");
1090
- return { messages: [] };
1104
+ for (let msgIdx = 0; msgIdx < messages.length; msgIdx++) {
1105
+ const snap = preWxpSnapshots.get(msgIdx);
1106
+ if (snap === void 0) continue;
1107
+ const msg = messages[msgIdx];
1108
+ if (typeof msg.content === "string") {
1109
+ msg.content = snap;
1110
+ } else if (Array.isArray(msg.content)) {
1111
+ const snapArr = snap;
1112
+ const blocks = msg.content;
1113
+ for (let bi = 0; bi < blocks.length; bi++) {
1114
+ const b = blocks[bi];
1115
+ const sb = snapArr[bi];
1116
+ if (b.type === "text" && sb?.text !== void 0) b.text = sb.text;
1117
+ }
1118
+ }
1119
+ }
1091
1120
  }
1092
- const errMsg = wxpErr instanceof Error ? wxpErr.message : String(wxpErr);
1093
- ctx.ui.notify(`GSD WXP: unexpected context error: ${errMsg}`, "info");
1094
1121
  }
1095
1122
  return { messages };
1096
1123
  });
@@ -1098,7 +1125,7 @@ function pi_gsd_hooks_default(pi) {
1098
1125
  try {
1099
1126
  const extFile = typeof __filename !== "undefined" ? __filename : "";
1100
1127
  const pkgRoot = (0, import_node_path4.join)((0, import_node_path4.dirname)(extFile), "..");
1101
- const pkgHarness = (0, import_node_path4.join)(pkgRoot, ".gsd", "harnesses", "pi", "get-shit-done");
1128
+ const pkgHarness = (0, import_node_path4.join)(pkgRoot, "gsd");
1102
1129
  const projectHarness = (0, import_node_path4.join)(ctx.cwd, ".pi", "gsd");
1103
1130
  if ((0, import_node_fs3.existsSync)(pkgHarness)) {
1104
1131
  const { symlinksReplaced } = copyHarness(pkgHarness, projectHarness);