gsd-pi 2.10.12 → 2.12.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 (504) hide show
  1. package/dist/bundled-extension-paths.d.ts +2 -0
  2. package/dist/bundled-extension-paths.js +10 -0
  3. package/dist/loader.js +45 -28
  4. package/dist/onboarding.js +100 -0
  5. package/dist/resource-loader.js +12 -3
  6. package/dist/resources/GSD-WORKFLOW.md +661 -0
  7. package/dist/resources/agents/researcher.md +29 -0
  8. package/dist/resources/agents/scout.md +56 -0
  9. package/dist/resources/agents/worker.md +31 -0
  10. package/dist/resources/extensions/ask-user-questions.ts +289 -0
  11. package/dist/resources/extensions/async-jobs/async-bash-tool.ts +211 -0
  12. package/dist/resources/extensions/async-jobs/await-tool.ts +101 -0
  13. package/dist/resources/extensions/async-jobs/cancel-job-tool.ts +34 -0
  14. package/dist/resources/extensions/async-jobs/index.ts +133 -0
  15. package/dist/resources/extensions/async-jobs/job-manager.ts +211 -0
  16. package/dist/resources/extensions/bg-shell/index.ts +3179 -0
  17. package/dist/resources/extensions/browser-tools/BROWSER-TOOLS-V2-PROPOSAL.md +1277 -0
  18. package/dist/resources/extensions/browser-tools/capture.ts +165 -0
  19. package/dist/resources/extensions/browser-tools/core.d.ts +205 -0
  20. package/dist/resources/extensions/browser-tools/core.js +1057 -0
  21. package/dist/resources/extensions/browser-tools/evaluate-helpers.ts +184 -0
  22. package/dist/resources/extensions/browser-tools/index.ts +51 -0
  23. package/dist/resources/extensions/browser-tools/lifecycle.ts +270 -0
  24. package/dist/resources/extensions/browser-tools/package.json +24 -0
  25. package/dist/resources/extensions/browser-tools/refs.ts +264 -0
  26. package/dist/resources/extensions/browser-tools/settle.ts +197 -0
  27. package/dist/resources/extensions/browser-tools/state.ts +408 -0
  28. package/dist/resources/extensions/browser-tools/tests/browser-tools-integration.test.mjs +652 -0
  29. package/dist/resources/extensions/browser-tools/tests/browser-tools-unit.test.cjs +614 -0
  30. package/dist/resources/extensions/browser-tools/tools/assertions.ts +342 -0
  31. package/dist/resources/extensions/browser-tools/tools/forms.ts +801 -0
  32. package/dist/resources/extensions/browser-tools/tools/inspection.ts +492 -0
  33. package/dist/resources/extensions/browser-tools/tools/intent.ts +614 -0
  34. package/dist/resources/extensions/browser-tools/tools/interaction.ts +865 -0
  35. package/dist/resources/extensions/browser-tools/tools/navigation.ts +232 -0
  36. package/dist/resources/extensions/browser-tools/tools/pages.ts +303 -0
  37. package/dist/resources/extensions/browser-tools/tools/refs.ts +541 -0
  38. package/dist/resources/extensions/browser-tools/tools/screenshot.ts +83 -0
  39. package/dist/resources/extensions/browser-tools/tools/session.ts +400 -0
  40. package/dist/resources/extensions/browser-tools/tools/wait.ts +247 -0
  41. package/dist/resources/extensions/browser-tools/utils.ts +660 -0
  42. package/dist/resources/extensions/context7/index.ts +428 -0
  43. package/dist/resources/extensions/context7/package.json +11 -0
  44. package/dist/resources/extensions/get-secrets-from-user.ts +625 -0
  45. package/dist/resources/extensions/google-search/index.ts +336 -0
  46. package/dist/resources/extensions/google-search/package.json +9 -0
  47. package/dist/resources/extensions/gsd/activity-log.ts +116 -0
  48. package/dist/resources/extensions/gsd/auto.ts +3732 -0
  49. package/dist/resources/extensions/gsd/commands.ts +544 -0
  50. package/dist/resources/extensions/gsd/crash-recovery.ts +105 -0
  51. package/dist/resources/extensions/gsd/dashboard-overlay.ts +564 -0
  52. package/dist/resources/extensions/gsd/dispatch-guard.ts +78 -0
  53. package/dist/resources/extensions/gsd/docs/preferences-reference.md +278 -0
  54. package/dist/resources/extensions/gsd/doctor.ts +766 -0
  55. package/dist/resources/extensions/gsd/exit-command.ts +18 -0
  56. package/dist/resources/extensions/gsd/files.ts +857 -0
  57. package/dist/resources/extensions/gsd/git-service.ts +904 -0
  58. package/dist/resources/extensions/gsd/gitignore.ts +200 -0
  59. package/dist/resources/extensions/gsd/guided-flow.ts +1054 -0
  60. package/dist/resources/extensions/gsd/index.ts +735 -0
  61. package/dist/resources/extensions/gsd/metrics.ts +374 -0
  62. package/dist/resources/extensions/gsd/migrate/command.ts +218 -0
  63. package/dist/resources/extensions/gsd/migrate/index.ts +42 -0
  64. package/dist/resources/extensions/gsd/migrate/parser.ts +323 -0
  65. package/dist/resources/extensions/gsd/migrate/parsers.ts +624 -0
  66. package/dist/resources/extensions/gsd/migrate/preview.ts +48 -0
  67. package/dist/resources/extensions/gsd/migrate/transformer.ts +346 -0
  68. package/dist/resources/extensions/gsd/migrate/types.ts +370 -0
  69. package/dist/resources/extensions/gsd/migrate/validator.ts +55 -0
  70. package/dist/resources/extensions/gsd/migrate/writer.ts +539 -0
  71. package/dist/resources/extensions/gsd/native-git-bridge.ts +181 -0
  72. package/dist/resources/extensions/gsd/native-parser-bridge.ts +135 -0
  73. package/dist/resources/extensions/gsd/observability-validator.ts +408 -0
  74. package/dist/resources/extensions/gsd/package.json +11 -0
  75. package/dist/resources/extensions/gsd/paths.ts +339 -0
  76. package/dist/resources/extensions/gsd/post-unit-hooks.ts +449 -0
  77. package/dist/resources/extensions/gsd/preferences.ts +988 -0
  78. package/dist/resources/extensions/gsd/prompt-loader.ts +92 -0
  79. package/dist/resources/extensions/gsd/prompts/complete-milestone.md +25 -0
  80. package/dist/resources/extensions/gsd/prompts/complete-slice.md +27 -0
  81. package/dist/resources/extensions/gsd/prompts/discuss.md +237 -0
  82. package/dist/resources/extensions/gsd/prompts/doctor-heal.md +29 -0
  83. package/dist/resources/extensions/gsd/prompts/execute-task.md +63 -0
  84. package/dist/resources/extensions/gsd/prompts/guided-complete-slice.md +3 -0
  85. package/dist/resources/extensions/gsd/prompts/guided-discuss-milestone.md +5 -0
  86. package/dist/resources/extensions/gsd/prompts/guided-discuss-slice.md +61 -0
  87. package/dist/resources/extensions/gsd/prompts/guided-execute-task.md +3 -0
  88. package/dist/resources/extensions/gsd/prompts/guided-plan-milestone.md +29 -0
  89. package/dist/resources/extensions/gsd/prompts/guided-plan-slice.md +3 -0
  90. package/dist/resources/extensions/gsd/prompts/guided-research-slice.md +13 -0
  91. package/dist/resources/extensions/gsd/prompts/guided-resume-task.md +1 -0
  92. package/dist/resources/extensions/gsd/prompts/plan-milestone.md +78 -0
  93. package/dist/resources/extensions/gsd/prompts/plan-slice.md +55 -0
  94. package/dist/resources/extensions/gsd/prompts/queue.md +100 -0
  95. package/dist/resources/extensions/gsd/prompts/reassess-roadmap.md +48 -0
  96. package/dist/resources/extensions/gsd/prompts/replan-slice.md +39 -0
  97. package/dist/resources/extensions/gsd/prompts/research-milestone.md +37 -0
  98. package/dist/resources/extensions/gsd/prompts/research-slice.md +28 -0
  99. package/dist/resources/extensions/gsd/prompts/review-migration.md +66 -0
  100. package/dist/resources/extensions/gsd/prompts/run-uat.md +109 -0
  101. package/dist/resources/extensions/gsd/prompts/system.md +190 -0
  102. package/dist/resources/extensions/gsd/prompts/worktree-merge.md +123 -0
  103. package/dist/resources/extensions/gsd/roadmap-slices.ts +50 -0
  104. package/dist/resources/extensions/gsd/session-forensics.ts +500 -0
  105. package/dist/resources/extensions/gsd/skill-discovery.ts +137 -0
  106. package/dist/resources/extensions/gsd/state.ts +569 -0
  107. package/dist/resources/extensions/gsd/templates/context.md +76 -0
  108. package/dist/resources/extensions/gsd/templates/decisions.md +8 -0
  109. package/dist/resources/extensions/gsd/templates/milestone-summary.md +73 -0
  110. package/dist/resources/extensions/gsd/templates/plan.md +131 -0
  111. package/dist/resources/extensions/gsd/templates/preferences.md +23 -0
  112. package/dist/resources/extensions/gsd/templates/project.md +31 -0
  113. package/dist/resources/extensions/gsd/templates/reassessment.md +28 -0
  114. package/dist/resources/extensions/gsd/templates/requirements.md +81 -0
  115. package/dist/resources/extensions/gsd/templates/research.md +46 -0
  116. package/dist/resources/extensions/gsd/templates/roadmap.md +118 -0
  117. package/dist/resources/extensions/gsd/templates/secrets-manifest.md +22 -0
  118. package/dist/resources/extensions/gsd/templates/slice-context.md +58 -0
  119. package/dist/resources/extensions/gsd/templates/slice-summary.md +99 -0
  120. package/dist/resources/extensions/gsd/templates/state.md +19 -0
  121. package/dist/resources/extensions/gsd/templates/task-plan.md +52 -0
  122. package/dist/resources/extensions/gsd/templates/task-summary.md +57 -0
  123. package/dist/resources/extensions/gsd/templates/uat.md +54 -0
  124. package/dist/resources/extensions/gsd/tests/activity-log-prune.test.ts +297 -0
  125. package/dist/resources/extensions/gsd/tests/activity-log-save.test.ts +127 -0
  126. package/dist/resources/extensions/gsd/tests/auto-draft-pause.test.ts +109 -0
  127. package/dist/resources/extensions/gsd/tests/auto-preflight.test.ts +45 -0
  128. package/dist/resources/extensions/gsd/tests/auto-secrets-gate.test.ts +196 -0
  129. package/dist/resources/extensions/gsd/tests/auto-supervisor.test.mjs +53 -0
  130. package/dist/resources/extensions/gsd/tests/collect-from-manifest.test.ts +469 -0
  131. package/dist/resources/extensions/gsd/tests/complete-milestone.test.ts +200 -0
  132. package/dist/resources/extensions/gsd/tests/cost-projection.test.ts +134 -0
  133. package/dist/resources/extensions/gsd/tests/derive-state-deps.test.ts +312 -0
  134. package/dist/resources/extensions/gsd/tests/derive-state-draft.test.ts +299 -0
  135. package/dist/resources/extensions/gsd/tests/derive-state.test.ts +660 -0
  136. package/dist/resources/extensions/gsd/tests/discuss-prompt.test.ts +27 -0
  137. package/dist/resources/extensions/gsd/tests/dispatch-guard.test.ts +91 -0
  138. package/dist/resources/extensions/gsd/tests/doctor-fixlevel.test.ts +170 -0
  139. package/dist/resources/extensions/gsd/tests/doctor.test.ts +594 -0
  140. package/dist/resources/extensions/gsd/tests/draft-promotion.test.ts +169 -0
  141. package/dist/resources/extensions/gsd/tests/exit-command.test.ts +50 -0
  142. package/dist/resources/extensions/gsd/tests/git-service.test.ts +1788 -0
  143. package/dist/resources/extensions/gsd/tests/idle-recovery.test.ts +577 -0
  144. package/dist/resources/extensions/gsd/tests/integration-mixed-milestones.test.ts +580 -0
  145. package/dist/resources/extensions/gsd/tests/manifest-status.test.ts +283 -0
  146. package/dist/resources/extensions/gsd/tests/metrics-io.test.ts +176 -0
  147. package/dist/resources/extensions/gsd/tests/metrics.test.ts +188 -0
  148. package/dist/resources/extensions/gsd/tests/migrate-command.test.ts +369 -0
  149. package/dist/resources/extensions/gsd/tests/migrate-parser.test.ts +757 -0
  150. package/dist/resources/extensions/gsd/tests/migrate-transformer.test.ts +635 -0
  151. package/dist/resources/extensions/gsd/tests/migrate-validator-parsers.test.ts +414 -0
  152. package/dist/resources/extensions/gsd/tests/migrate-writer-integration.test.ts +297 -0
  153. package/dist/resources/extensions/gsd/tests/migrate-writer.test.ts +398 -0
  154. package/dist/resources/extensions/gsd/tests/must-have-parser.test.ts +291 -0
  155. package/dist/resources/extensions/gsd/tests/network-error-fallback.test.ts +54 -0
  156. package/dist/resources/extensions/gsd/tests/next-milestone-id.test.ts +66 -0
  157. package/dist/resources/extensions/gsd/tests/orphaned-branch.test.ts +353 -0
  158. package/dist/resources/extensions/gsd/tests/parsers.test.ts +1664 -0
  159. package/dist/resources/extensions/gsd/tests/plan-milestone.test.ts +133 -0
  160. package/dist/resources/extensions/gsd/tests/plan-quality-validator.test.ts +363 -0
  161. package/dist/resources/extensions/gsd/tests/post-unit-hooks.test.ts +297 -0
  162. package/dist/resources/extensions/gsd/tests/preferences-hooks.test.ts +226 -0
  163. package/dist/resources/extensions/gsd/tests/queue-draft-detection.test.ts +126 -0
  164. package/dist/resources/extensions/gsd/tests/reassess-prompt.test.ts +142 -0
  165. package/dist/resources/extensions/gsd/tests/regex-hardening.test.ts +281 -0
  166. package/dist/resources/extensions/gsd/tests/remote-questions.test.ts +155 -0
  167. package/dist/resources/extensions/gsd/tests/remote-status.test.ts +99 -0
  168. package/dist/resources/extensions/gsd/tests/replan-slice.test.ts +493 -0
  169. package/dist/resources/extensions/gsd/tests/requirements.test.ts +106 -0
  170. package/dist/resources/extensions/gsd/tests/resolve-ts-hooks.mjs +35 -0
  171. package/dist/resources/extensions/gsd/tests/resolve-ts.mjs +11 -0
  172. package/dist/resources/extensions/gsd/tests/roadmap-slices.test.ts +41 -0
  173. package/dist/resources/extensions/gsd/tests/run-uat.test.ts +316 -0
  174. package/dist/resources/extensions/gsd/tests/secure-env-collect.test.ts +185 -0
  175. package/dist/resources/extensions/gsd/tests/smart-entry-draft.test.ts +123 -0
  176. package/dist/resources/extensions/gsd/tests/test-helpers.ts +61 -0
  177. package/dist/resources/extensions/gsd/tests/unique-milestone-ids.test.ts +219 -0
  178. package/dist/resources/extensions/gsd/tests/unit-runtime.test.ts +234 -0
  179. package/dist/resources/extensions/gsd/tests/workspace-index.test.ts +75 -0
  180. package/dist/resources/extensions/gsd/tests/worktree-integration.test.ts +234 -0
  181. package/dist/resources/extensions/gsd/tests/worktree-manager.test.ts +141 -0
  182. package/dist/resources/extensions/gsd/tests/worktree.test.ts +597 -0
  183. package/dist/resources/extensions/gsd/tests/write-gate.test.ts +122 -0
  184. package/dist/resources/extensions/gsd/types.ts +296 -0
  185. package/dist/resources/extensions/gsd/unit-runtime.ts +184 -0
  186. package/dist/resources/extensions/gsd/workspace-index.ts +189 -0
  187. package/dist/resources/extensions/gsd/worktree-command.ts +845 -0
  188. package/dist/resources/extensions/gsd/worktree-manager.ts +459 -0
  189. package/dist/resources/extensions/gsd/{worktree.js → worktree.ts} +92 -61
  190. package/dist/resources/extensions/mac-tools/index.ts +852 -0
  191. package/dist/resources/extensions/mac-tools/swift-cli/Package.swift +22 -0
  192. package/dist/resources/extensions/mac-tools/swift-cli/Sources/main.swift +1318 -0
  193. package/dist/resources/extensions/mcporter/index.ts +429 -0
  194. package/dist/resources/extensions/remote-questions/config.ts +81 -0
  195. package/dist/resources/extensions/remote-questions/discord-adapter.ts +128 -0
  196. package/dist/resources/extensions/remote-questions/format.ts +163 -0
  197. package/dist/resources/extensions/remote-questions/manager.ts +192 -0
  198. package/dist/resources/extensions/remote-questions/remote-command.ts +361 -0
  199. package/dist/resources/extensions/remote-questions/slack-adapter.ts +92 -0
  200. package/dist/resources/extensions/remote-questions/status.ts +31 -0
  201. package/dist/resources/extensions/remote-questions/store.ts +77 -0
  202. package/dist/resources/extensions/remote-questions/types.ts +75 -0
  203. package/dist/resources/extensions/search-the-web/cache.ts +78 -0
  204. package/dist/resources/extensions/search-the-web/command-search-provider.ts +99 -0
  205. package/dist/resources/extensions/search-the-web/format.ts +258 -0
  206. package/dist/resources/extensions/search-the-web/http.ts +238 -0
  207. package/dist/resources/extensions/search-the-web/index.ts +65 -0
  208. package/dist/resources/extensions/search-the-web/native-search.ts +165 -0
  209. package/dist/resources/extensions/search-the-web/provider.ts +136 -0
  210. package/dist/resources/extensions/search-the-web/tavily.ts +116 -0
  211. package/dist/resources/extensions/search-the-web/tool-fetch-page.ts +581 -0
  212. package/dist/resources/extensions/search-the-web/tool-llm-context.ts +620 -0
  213. package/dist/resources/extensions/search-the-web/tool-search.ts +635 -0
  214. package/dist/resources/extensions/search-the-web/url-utils.ts +91 -0
  215. package/dist/resources/extensions/shared/bundled-extension-paths.ts +11 -0
  216. package/dist/resources/extensions/shared/confirm-ui.ts +126 -0
  217. package/dist/resources/extensions/shared/interview-ui.ts +613 -0
  218. package/dist/resources/extensions/shared/next-action-ui.ts +197 -0
  219. package/dist/resources/extensions/shared/progress-widget.ts +282 -0
  220. package/dist/resources/extensions/shared/terminal.ts +23 -0
  221. package/dist/resources/extensions/shared/thinking-widget.ts +107 -0
  222. package/dist/resources/extensions/shared/ui.ts +400 -0
  223. package/dist/resources/extensions/shared/wizard-ui.ts +551 -0
  224. package/dist/resources/extensions/slash-commands/audit.ts +88 -0
  225. package/dist/resources/extensions/slash-commands/clear.ts +10 -0
  226. package/dist/resources/extensions/slash-commands/create-extension.ts +297 -0
  227. package/dist/resources/extensions/slash-commands/create-slash-command.ts +234 -0
  228. package/dist/resources/extensions/slash-commands/index.ts +12 -0
  229. package/dist/resources/extensions/subagent/agents.ts +126 -0
  230. package/dist/resources/extensions/subagent/index.ts +1072 -0
  231. package/dist/resources/extensions/subagent/isolation.ts +498 -0
  232. package/dist/resources/extensions/ttsr/index.ts +163 -0
  233. package/dist/resources/extensions/ttsr/rule-loader.ts +121 -0
  234. package/dist/resources/extensions/ttsr/ttsr-interrupt.md +6 -0
  235. package/dist/resources/extensions/ttsr/ttsr-manager.ts +430 -0
  236. package/dist/resources/extensions/universal-config/discovery.ts +78 -0
  237. package/dist/resources/extensions/universal-config/format.ts +160 -0
  238. package/dist/resources/extensions/universal-config/index.ts +118 -0
  239. package/dist/resources/extensions/universal-config/package.json +11 -0
  240. package/dist/resources/extensions/universal-config/scanners.ts +579 -0
  241. package/dist/resources/extensions/universal-config/tests/discovery.test.ts +111 -0
  242. package/dist/resources/extensions/universal-config/tests/format.test.ts +111 -0
  243. package/dist/resources/extensions/universal-config/tests/scanners.test.ts +438 -0
  244. package/dist/resources/extensions/universal-config/tools.ts +60 -0
  245. package/dist/resources/extensions/universal-config/types.ts +116 -0
  246. package/dist/resources/extensions/voice/index.ts +271 -0
  247. package/dist/resources/extensions/voice/speech-recognizer.py +504 -0
  248. package/dist/resources/extensions/voice/speech-recognizer.swift +154 -0
  249. package/dist/resources/skills/debug-like-expert/SKILL.md +231 -0
  250. package/dist/resources/skills/debug-like-expert/references/debugging-mindset.md +253 -0
  251. package/dist/resources/skills/debug-like-expert/references/hypothesis-testing.md +373 -0
  252. package/dist/resources/skills/debug-like-expert/references/investigation-techniques.md +337 -0
  253. package/dist/resources/skills/debug-like-expert/references/verification-patterns.md +425 -0
  254. package/dist/resources/skills/debug-like-expert/references/when-to-research.md +361 -0
  255. package/dist/resources/skills/frontend-design/SKILL.md +45 -0
  256. package/dist/resources/skills/github-workflows/SKILL.md +92 -0
  257. package/dist/resources/skills/github-workflows/references/gh/SKILL.md +255 -0
  258. package/dist/resources/skills/github-workflows/references/gh/references/issue-stories.md +204 -0
  259. package/dist/resources/skills/github-workflows/references/gh/references/labels.md +170 -0
  260. package/dist/resources/skills/github-workflows/references/gh/references/milestones.md +158 -0
  261. package/dist/resources/skills/github-workflows/references/gh/references/projects-v2.md +177 -0
  262. package/dist/resources/skills/github-workflows/references/gh/scripts/experiment_cleanup.py +191 -0
  263. package/dist/resources/skills/github-workflows/references/gh/scripts/github_project_setup.py +799 -0
  264. package/dist/resources/skills/github-workflows/references/gh/tests/__init__.py +0 -0
  265. package/dist/resources/skills/github-workflows/references/gh/tests/test_github_project_setup.py +608 -0
  266. package/dist/resources/skills/swiftui/SKILL.md +208 -0
  267. package/dist/resources/skills/swiftui/references/animations.md +921 -0
  268. package/dist/resources/skills/swiftui/references/architecture.md +1561 -0
  269. package/dist/resources/skills/swiftui/references/layout-system.md +1186 -0
  270. package/dist/resources/skills/swiftui/references/navigation.md +1492 -0
  271. package/dist/resources/skills/swiftui/references/networking-async.md +214 -0
  272. package/dist/resources/skills/swiftui/references/performance.md +1706 -0
  273. package/dist/resources/skills/swiftui/references/platform-integration.md +204 -0
  274. package/dist/resources/skills/swiftui/references/state-management.md +1443 -0
  275. package/dist/resources/skills/swiftui/references/swiftdata.md +297 -0
  276. package/dist/resources/skills/swiftui/references/testing-debugging.md +247 -0
  277. package/dist/resources/skills/swiftui/references/uikit-appkit-interop.md +218 -0
  278. package/dist/resources/skills/swiftui/workflows/add-feature.md +191 -0
  279. package/dist/resources/skills/swiftui/workflows/build-new-app.md +311 -0
  280. package/dist/resources/skills/swiftui/workflows/debug-swiftui.md +192 -0
  281. package/dist/resources/skills/swiftui/workflows/optimize-performance.md +197 -0
  282. package/dist/resources/skills/swiftui/workflows/ship-app.md +203 -0
  283. package/dist/resources/skills/swiftui/workflows/write-tests.md +235 -0
  284. package/dist/wizard.js +1 -0
  285. package/package.json +8 -6
  286. package/packages/native/dist/fd/index.d.ts +1 -0
  287. package/packages/native/dist/fd/index.js +1 -0
  288. package/packages/native/dist/grep/index.d.ts +2 -1
  289. package/packages/native/dist/grep/index.js +1 -0
  290. package/packages/native/src/__tests__/fd.test.mjs +35 -0
  291. package/packages/native/src/__tests__/grep.test.mjs +26 -9
  292. package/packages/native/src/fd/index.ts +1 -0
  293. package/packages/native/src/grep/index.ts +3 -2
  294. package/packages/pi-agent-core/dist/agent-loop.d.ts.map +1 -1
  295. package/packages/pi-agent-core/dist/agent-loop.js +169 -55
  296. package/packages/pi-agent-core/dist/agent-loop.js.map +1 -1
  297. package/packages/pi-agent-core/dist/agent.d.ts +13 -1
  298. package/packages/pi-agent-core/dist/agent.d.ts.map +1 -1
  299. package/packages/pi-agent-core/dist/agent.js +16 -0
  300. package/packages/pi-agent-core/dist/agent.js.map +1 -1
  301. package/packages/pi-agent-core/dist/types.d.ts +91 -1
  302. package/packages/pi-agent-core/dist/types.d.ts.map +1 -1
  303. package/packages/pi-agent-core/dist/types.js.map +1 -1
  304. package/packages/pi-agent-core/src/agent-loop.ts +273 -63
  305. package/packages/pi-agent-core/src/agent.ts +24 -0
  306. package/packages/pi-agent-core/src/types.ts +98 -0
  307. package/packages/pi-ai/dist/env-api-keys.js +2 -0
  308. package/packages/pi-ai/dist/env-api-keys.js.map +1 -1
  309. package/packages/pi-ai/dist/models.generated.d.ts +314 -0
  310. package/packages/pi-ai/dist/models.generated.d.ts.map +1 -1
  311. package/packages/pi-ai/dist/models.generated.js +236 -0
  312. package/packages/pi-ai/dist/models.generated.js.map +1 -1
  313. package/packages/pi-ai/dist/providers/google-gemini-cli.d.ts.map +1 -1
  314. package/packages/pi-ai/dist/providers/google-gemini-cli.js +6 -0
  315. package/packages/pi-ai/dist/providers/google-gemini-cli.js.map +1 -1
  316. package/packages/pi-ai/dist/providers/openai-completions.d.ts.map +1 -1
  317. package/packages/pi-ai/dist/providers/openai-completions.js +2 -0
  318. package/packages/pi-ai/dist/providers/openai-completions.js.map +1 -1
  319. package/packages/pi-ai/dist/types.d.ts +1 -1
  320. package/packages/pi-ai/dist/types.d.ts.map +1 -1
  321. package/packages/pi-ai/dist/types.js.map +1 -1
  322. package/packages/pi-ai/src/env-api-keys.ts +2 -0
  323. package/packages/pi-ai/src/models.generated.ts +236 -0
  324. package/packages/pi-ai/src/providers/google-gemini-cli.ts +8 -0
  325. package/packages/pi-ai/src/providers/openai-completions.ts +3 -0
  326. package/packages/pi-ai/src/types.ts +2 -1
  327. package/packages/pi-coding-agent/dist/cli/args.d.ts.map +1 -1
  328. package/packages/pi-coding-agent/dist/cli/args.js +1 -0
  329. package/packages/pi-coding-agent/dist/cli/args.js.map +1 -1
  330. package/packages/pi-coding-agent/dist/core/agent-session.d.ts +26 -0
  331. package/packages/pi-coding-agent/dist/core/agent-session.d.ts.map +1 -1
  332. package/packages/pi-coding-agent/dist/core/agent-session.js +137 -22
  333. package/packages/pi-coding-agent/dist/core/agent-session.js.map +1 -1
  334. package/packages/pi-coding-agent/dist/core/auth-storage.d.ts +20 -0
  335. package/packages/pi-coding-agent/dist/core/auth-storage.d.ts.map +1 -1
  336. package/packages/pi-coding-agent/dist/core/auth-storage.js +43 -0
  337. package/packages/pi-coding-agent/dist/core/auth-storage.js.map +1 -1
  338. package/packages/pi-coding-agent/dist/core/fallback-resolver.d.ts +51 -0
  339. package/packages/pi-coding-agent/dist/core/fallback-resolver.d.ts.map +1 -0
  340. package/packages/pi-coding-agent/dist/core/fallback-resolver.js +119 -0
  341. package/packages/pi-coding-agent/dist/core/fallback-resolver.js.map +1 -0
  342. package/packages/pi-coding-agent/dist/core/fallback-resolver.test.d.ts +2 -0
  343. package/packages/pi-coding-agent/dist/core/fallback-resolver.test.d.ts.map +1 -0
  344. package/packages/pi-coding-agent/dist/core/fallback-resolver.test.js +183 -0
  345. package/packages/pi-coding-agent/dist/core/fallback-resolver.test.js.map +1 -0
  346. package/packages/pi-coding-agent/dist/core/index.d.ts +1 -0
  347. package/packages/pi-coding-agent/dist/core/index.d.ts.map +1 -1
  348. package/packages/pi-coding-agent/dist/core/index.js +1 -0
  349. package/packages/pi-coding-agent/dist/core/index.js.map +1 -1
  350. package/packages/pi-coding-agent/dist/core/model-resolver.d.ts.map +1 -1
  351. package/packages/pi-coding-agent/dist/core/model-resolver.js +1 -0
  352. package/packages/pi-coding-agent/dist/core/model-resolver.js.map +1 -1
  353. package/packages/pi-coding-agent/dist/core/session-manager.d.ts +12 -1
  354. package/packages/pi-coding-agent/dist/core/session-manager.d.ts.map +1 -1
  355. package/packages/pi-coding-agent/dist/core/session-manager.js +37 -1
  356. package/packages/pi-coding-agent/dist/core/session-manager.js.map +1 -1
  357. package/packages/pi-coding-agent/dist/core/session-manager.test.d.ts +2 -0
  358. package/packages/pi-coding-agent/dist/core/session-manager.test.d.ts.map +1 -0
  359. package/packages/pi-coding-agent/dist/core/session-manager.test.js +61 -0
  360. package/packages/pi-coding-agent/dist/core/session-manager.test.js.map +1 -0
  361. package/packages/pi-coding-agent/dist/core/settings-manager.d.ts +20 -0
  362. package/packages/pi-coding-agent/dist/core/settings-manager.d.ts.map +1 -1
  363. package/packages/pi-coding-agent/dist/core/settings-manager.js +47 -0
  364. package/packages/pi-coding-agent/dist/core/settings-manager.js.map +1 -1
  365. package/packages/pi-coding-agent/dist/core/tools/find.d.ts.map +1 -1
  366. package/packages/pi-coding-agent/dist/core/tools/find.js +1 -0
  367. package/packages/pi-coding-agent/dist/core/tools/find.js.map +1 -1
  368. package/packages/pi-coding-agent/dist/modes/interactive/components/footer.d.ts.map +1 -1
  369. package/packages/pi-coding-agent/dist/modes/interactive/components/footer.js +6 -15
  370. package/packages/pi-coding-agent/dist/modes/interactive/components/footer.js.map +1 -1
  371. package/packages/pi-coding-agent/dist/modes/interactive/components/login-dialog.d.ts +18 -1
  372. package/packages/pi-coding-agent/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  373. package/packages/pi-coding-agent/dist/modes/interactive/components/login-dialog.js +46 -4
  374. package/packages/pi-coding-agent/dist/modes/interactive/components/login-dialog.js.map +1 -1
  375. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  376. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js +25 -2
  377. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
  378. package/packages/pi-coding-agent/src/cli/args.ts +1 -0
  379. package/packages/pi-coding-agent/src/core/agent-session.ts +167 -22
  380. package/packages/pi-coding-agent/src/core/auth-storage.ts +45 -0
  381. package/packages/pi-coding-agent/src/core/fallback-resolver.test.ts +229 -0
  382. package/packages/pi-coding-agent/src/core/fallback-resolver.ts +165 -0
  383. package/packages/pi-coding-agent/src/core/index.ts +1 -0
  384. package/packages/pi-coding-agent/src/core/model-resolver.ts +1 -0
  385. package/packages/pi-coding-agent/src/core/session-manager.test.ts +65 -0
  386. package/packages/pi-coding-agent/src/core/session-manager.ts +51 -1
  387. package/packages/pi-coding-agent/src/core/settings-manager.ts +66 -0
  388. package/packages/pi-coding-agent/src/core/tools/find.ts +1 -0
  389. package/packages/pi-coding-agent/src/modes/interactive/components/footer.ts +6 -16
  390. package/packages/pi-coding-agent/src/modes/interactive/components/login-dialog.ts +49 -4
  391. package/packages/pi-coding-agent/src/modes/interactive/interactive-mode.ts +28 -2
  392. package/packages/pi-tui/dist/autocomplete.d.ts.map +1 -1
  393. package/packages/pi-tui/dist/autocomplete.js +3 -4
  394. package/packages/pi-tui/dist/autocomplete.js.map +1 -1
  395. package/packages/pi-tui/dist/components/editor.d.ts +7 -0
  396. package/packages/pi-tui/dist/components/editor.d.ts.map +1 -1
  397. package/packages/pi-tui/dist/components/editor.js +57 -50
  398. package/packages/pi-tui/dist/components/editor.js.map +1 -1
  399. package/packages/pi-tui/src/autocomplete.ts +3 -5
  400. package/packages/pi-tui/src/components/editor.ts +70 -49
  401. package/pkg/dist/core/export-html/ansi-to-html.d.ts +22 -0
  402. package/pkg/dist/core/export-html/ansi-to-html.d.ts.map +1 -0
  403. package/pkg/dist/core/export-html/ansi-to-html.js +249 -0
  404. package/pkg/dist/core/export-html/ansi-to-html.js.map +1 -0
  405. package/pkg/dist/core/export-html/index.d.ts +37 -0
  406. package/pkg/dist/core/export-html/index.d.ts.map +1 -0
  407. package/pkg/dist/core/export-html/index.js +223 -0
  408. package/pkg/dist/core/export-html/index.js.map +1 -0
  409. package/pkg/dist/core/export-html/template.css +971 -0
  410. package/pkg/dist/core/export-html/template.html +54 -0
  411. package/pkg/dist/core/export-html/template.js +1583 -0
  412. package/pkg/dist/core/export-html/tool-renderer.d.ts +38 -0
  413. package/pkg/dist/core/export-html/tool-renderer.d.ts.map +1 -0
  414. package/pkg/dist/core/export-html/tool-renderer.js +70 -0
  415. package/pkg/dist/core/export-html/tool-renderer.js.map +1 -0
  416. package/pkg/dist/core/export-html/vendor/highlight.min.js +1213 -0
  417. package/pkg/dist/core/export-html/vendor/marked.min.js +6 -0
  418. package/scripts/postinstall.js +30 -17
  419. package/src/resources/extensions/bg-shell/index.ts +51 -7
  420. package/src/resources/extensions/gsd/activity-log.ts +61 -14
  421. package/src/resources/extensions/gsd/auto.ts +288 -19
  422. package/src/resources/extensions/gsd/commands.ts +9 -3
  423. package/src/resources/extensions/gsd/dashboard-overlay.ts +55 -12
  424. package/src/resources/extensions/gsd/docs/preferences-reference.md +25 -0
  425. package/src/resources/extensions/gsd/doctor.ts +60 -3
  426. package/src/resources/extensions/gsd/files.ts +45 -1
  427. package/src/resources/extensions/gsd/git-service.ts +46 -41
  428. package/src/resources/extensions/gsd/guided-flow.ts +81 -9
  429. package/src/resources/extensions/gsd/index.ts +62 -1
  430. package/src/resources/extensions/gsd/native-git-bridge.ts +181 -0
  431. package/src/resources/extensions/gsd/paths.ts +35 -4
  432. package/src/resources/extensions/gsd/post-unit-hooks.ts +449 -0
  433. package/src/resources/extensions/gsd/preferences.ts +232 -1
  434. package/src/resources/extensions/gsd/prompt-loader.ts +45 -3
  435. package/src/resources/extensions/gsd/prompts/complete-milestone.md +1 -1
  436. package/src/resources/extensions/gsd/prompts/complete-slice.md +1 -3
  437. package/src/resources/extensions/gsd/prompts/discuss.md +10 -8
  438. package/src/resources/extensions/gsd/prompts/execute-task.md +4 -2
  439. package/src/resources/extensions/gsd/prompts/guided-complete-slice.md +3 -1
  440. package/src/resources/extensions/gsd/prompts/guided-discuss-milestone.md +3 -1
  441. package/src/resources/extensions/gsd/prompts/guided-discuss-slice.md +3 -1
  442. package/src/resources/extensions/gsd/prompts/guided-execute-task.md +3 -1
  443. package/src/resources/extensions/gsd/prompts/guided-plan-milestone.md +4 -2
  444. package/src/resources/extensions/gsd/prompts/guided-plan-slice.md +3 -1
  445. package/src/resources/extensions/gsd/prompts/guided-research-slice.md +3 -1
  446. package/src/resources/extensions/gsd/prompts/plan-milestone.md +9 -12
  447. package/src/resources/extensions/gsd/prompts/plan-slice.md +1 -3
  448. package/src/resources/extensions/gsd/prompts/queue.md +3 -1
  449. package/src/resources/extensions/gsd/prompts/research-milestone.md +1 -1
  450. package/src/resources/extensions/gsd/prompts/research-slice.md +1 -1
  451. package/src/resources/extensions/gsd/state.ts +130 -18
  452. package/src/resources/extensions/gsd/templates/context.md +1 -1
  453. package/src/resources/extensions/gsd/templates/state.md +3 -3
  454. package/src/resources/extensions/gsd/tests/activity-log-save.test.ts +127 -0
  455. package/src/resources/extensions/gsd/tests/complete-milestone.test.ts +5 -1
  456. package/src/resources/extensions/gsd/tests/doctor.test.ts +115 -1
  457. package/src/resources/extensions/gsd/tests/draft-promotion.test.ts +6 -2
  458. package/src/resources/extensions/gsd/tests/git-service.test.ts +35 -35
  459. package/src/resources/extensions/gsd/tests/idle-recovery.test.ts +8 -8
  460. package/src/resources/extensions/gsd/tests/integration-mixed-milestones.test.ts +4 -1
  461. package/src/resources/extensions/gsd/tests/network-error-fallback.test.ts +54 -0
  462. package/src/resources/extensions/gsd/tests/orphaned-branch.test.ts +5 -5
  463. package/src/resources/extensions/gsd/tests/post-unit-hooks.test.ts +297 -0
  464. package/src/resources/extensions/gsd/tests/preferences-hooks.test.ts +226 -0
  465. package/src/resources/extensions/gsd/tests/regex-hardening.test.ts +12 -0
  466. package/src/resources/extensions/gsd/tests/unit-runtime.test.ts +6 -0
  467. package/src/resources/extensions/gsd/tests/worktree-integration.test.ts +4 -4
  468. package/src/resources/extensions/gsd/tests/worktree-manager.test.ts +4 -4
  469. package/src/resources/extensions/gsd/tests/worktree.test.ts +19 -19
  470. package/src/resources/extensions/gsd/types.ts +109 -0
  471. package/src/resources/extensions/gsd/worktree-manager.ts +72 -13
  472. package/src/resources/extensions/gsd/worktree.ts +5 -4
  473. package/src/resources/extensions/search-the-web/command-search-provider.ts +8 -4
  474. package/src/resources/extensions/search-the-web/native-search.ts +32 -23
  475. package/src/resources/extensions/search-the-web/provider.ts +19 -2
  476. package/src/resources/extensions/search-the-web/tool-fetch-page.ts +62 -0
  477. package/src/resources/extensions/search-the-web/tool-llm-context.ts +62 -3
  478. package/src/resources/extensions/search-the-web/tool-search.ts +62 -3
  479. package/src/resources/extensions/shared/bundled-extension-paths.ts +11 -0
  480. package/src/resources/extensions/subagent/index.ts +2 -1
  481. package/src/resources/skills/github-workflows/SKILL.md +5 -0
  482. package/dist/resources/extensions/gsd/git-service.d.ts +0 -225
  483. package/dist/resources/extensions/gsd/git-service.js +0 -756
  484. package/dist/resources/extensions/gsd/preferences.d.ts +0 -122
  485. package/dist/resources/extensions/gsd/preferences.js +0 -616
  486. package/dist/resources/extensions/gsd/worktree.d.ts +0 -106
  487. package/dist/resources/extensions/remote-questions/config.d.ts +0 -14
  488. package/dist/resources/extensions/remote-questions/config.js +0 -68
  489. package/dist/resources/extensions/remote-questions/discord-adapter.d.ts +0 -17
  490. package/dist/resources/extensions/remote-questions/discord-adapter.js +0 -118
  491. package/dist/resources/extensions/remote-questions/format.d.ts +0 -38
  492. package/dist/resources/extensions/remote-questions/format.js +0 -119
  493. package/dist/resources/extensions/remote-questions/manager.d.ts +0 -23
  494. package/dist/resources/extensions/remote-questions/manager.js +0 -161
  495. package/dist/resources/extensions/remote-questions/remote-command.d.ts +0 -6
  496. package/dist/resources/extensions/remote-questions/remote-command.js +0 -358
  497. package/dist/resources/extensions/remote-questions/slack-adapter.d.ts +0 -15
  498. package/dist/resources/extensions/remote-questions/slack-adapter.js +0 -82
  499. package/dist/resources/extensions/remote-questions/status.d.ts +0 -9
  500. package/dist/resources/extensions/remote-questions/status.js +0 -25
  501. package/dist/resources/extensions/remote-questions/store.d.ts +0 -11
  502. package/dist/resources/extensions/remote-questions/store.js +0 -66
  503. package/dist/resources/extensions/remote-questions/types.d.ts +0 -68
  504. package/dist/resources/extensions/remote-questions/types.js +0 -4
@@ -0,0 +1,73 @@
1
+ ---
2
+ id: {{milestoneId}}
3
+ provides:
4
+ - {{whatThisMilestoneProvides}}
5
+ key_decisions:
6
+ - {{decision}}
7
+ patterns_established:
8
+ - {{pattern}}
9
+ observability_surfaces:
10
+ - {{status endpoint, structured log, persisted failure state, diagnostic command, or none}}
11
+ requirement_outcomes:
12
+ - id: {{requirementId}}
13
+ from_status: {{active|blocked|deferred}}
14
+ to_status: {{validated|deferred|blocked|out_of_scope}}
15
+ proof: {{whatEvidenceSupportsThisTransition}}
16
+ duration: {{duration}}
17
+ verification_result: passed
18
+ completed_at: {{date}}
19
+ ---
20
+
21
+ # {{milestoneId}}: {{milestoneTitle}}
22
+
23
+ <!-- One-liner must say what the milestone actually delivered, not just that it completed.
24
+ Good: "State machine integrity with completing-milestone gating, doctor audits, and observability validation"
25
+ Bad: "Milestone 2 completed" -->
26
+
27
+ **{{oneLiner}}**
28
+
29
+ ## What Happened
30
+
31
+ <!-- Cross-slice narrative: compress all slice summaries into a coherent story.
32
+ Focus on what was built, how the slices connected, and what the milestone
33
+ achieved as a whole — not a task-by-task replay. -->
34
+
35
+ {{crossSliceNarrative}}
36
+
37
+ ## Cross-Slice Verification
38
+
39
+ <!-- How were the milestone's success criteria verified?
40
+ Reference specific tests, commands, browser checks, or observable behaviors.
41
+ Each success criterion from the roadmap should have a corresponding verification entry. -->
42
+
43
+ {{howSuccessCriteriaWereVerified}}
44
+
45
+ ## Requirement Changes
46
+
47
+ <!-- Transitions with evidence. Each requirement that changed status during this milestone
48
+ should be listed with the proof that supports the transition. -->
49
+
50
+ - {{requirementId}}: {{fromStatus}} → {{toStatus}} — {{evidence}}
51
+
52
+ ## Forward Intelligence
53
+
54
+ <!-- Write what you wish you'd known at the start of this milestone.
55
+ This section is read by the next milestone's planning and research steps.
56
+ Be specific and concrete — this is the most valuable context you can transfer. -->
57
+
58
+ ### What the next milestone should know
59
+ - {{insightThatWouldHelpDownstreamWork}}
60
+
61
+ ### What's fragile
62
+ - {{fragileAreaOrThinImplementation}} — {{whyItMatters}}
63
+
64
+ ### Authoritative diagnostics
65
+ - {{whereAFutureAgentShouldLookFirst}} — {{whyThisSignalIsTrustworthy}}
66
+
67
+ ### What assumptions changed
68
+ - {{originalAssumption}} — {{whatActuallyHappened}}
69
+
70
+ ## Files Created/Modified
71
+
72
+ - `{{filePath}}` — {{description}}
73
+ - `{{filePath}}` — {{description}}
@@ -0,0 +1,131 @@
1
+ # {{sliceId}}: {{sliceTitle}}
2
+
3
+ **Goal:** {{goal}}
4
+ **Demo:** {{demo}}
5
+
6
+ ## Must-Haves
7
+
8
+ - {{mustHave}}
9
+ - {{mustHave}}
10
+
11
+ ## Proof Level
12
+
13
+ <!-- Omit this section entirely for simple slices where the answer is trivially obvious. -->
14
+
15
+ - This slice proves: {{contract | integration | operational | final-assembly}}
16
+ - Real runtime required: {{yes/no}}
17
+ - Human/UAT required: {{yes/no}}
18
+
19
+ ## Verification
20
+
21
+ <!-- Define what "done" looks like BEFORE detailing tasks.
22
+ This section is the slice's objective stopping condition — execution isn't done
23
+ until everything here passes.
24
+
25
+ For non-trivial projects:
26
+ - Write actual test files into the codebase during the first task
27
+ - Tests should assert on the slice's demo outcome and boundary contracts
28
+ - Name the test files here so execution has an unambiguous target
29
+
30
+ For simple projects or scripts:
31
+ - Executable verification commands (bash assertions, curl checks, etc.) are sufficient
32
+
33
+ If the project has no test framework and the work is non-trivial,
34
+ the first task should set one up. A test runner costs 2 minutes
35
+ and pays for itself immediately.
36
+
37
+ For non-trivial backend, integration, async, stateful, or UI work:
38
+ - Include at least one verification check for an observability or failure-path signal
39
+ - Verify not just that the feature works, but that a future agent can inspect its state when it fails -->
40
+
41
+ - {{testFileOrCommand — e.g. `npm test -- --grep "auth flow"` or `bash scripts/verify-s01.sh`}}
42
+ - {{testFileOrCommand}}
43
+
44
+ ## Observability / Diagnostics
45
+
46
+ <!-- Include this section for non-trivial backend, integration, async, stateful, or UI slices.
47
+ OMIT ENTIRELY for simple slices where all fields would be "none".
48
+
49
+ When included, describe how a future agent will inspect current state, detect failure,
50
+ and localize the problem with minimal ambiguity. Keep it concise and high-signal. -->
51
+
52
+ - Runtime signals: {{structured log/event, state transition, metric, or none}}
53
+ - Inspection surfaces: {{status endpoint, CLI command, script, UI state, DB table, or none}}
54
+ - Failure visibility: {{last error, retry count, phase, timestamp, correlation id, or none}}
55
+ - Redaction constraints: {{secret/PII boundary or none}}
56
+
57
+ ## Integration Closure
58
+
59
+ <!-- Omit this section entirely for simple slices with no meaningful integration concerns. -->
60
+
61
+ - Upstream surfaces consumed: {{specific files / modules / contracts}}
62
+ - New wiring introduced in this slice: {{entrypoint / composition / runtime hookup, or none}}
63
+ - What remains before the milestone is truly usable end-to-end: {{list or "nothing"}}
64
+
65
+ ## Tasks
66
+
67
+ <!--
68
+ If every task below is completed exactly as written, the Goal and Demo above
69
+ should be true at the stated proof level. Tasks should close the loop on the
70
+ slice, not merely prepare for later work unless the Demo truthfully says the
71
+ slice only proves fixture/contract-level behavior.
72
+
73
+ Write each task as an executable increment, not a vague intention.
74
+
75
+ Prefer action-oriented titles:
76
+ - "Wire real auth middleware into dashboard routes"
77
+ - "Persist job status and expose failure diagnostics"
78
+ - "Add browser test covering empty-state recovery"
79
+
80
+ Avoid vague titles:
81
+ - "Set up auth"
82
+ - "Handle errors"
83
+ - "Improve UI"
84
+
85
+ Each task should usually include:
86
+ - Why: why this task exists / what part of the slice it closes
87
+ - Files: the main files likely touched
88
+ - Do: concrete implementation steps and important constraints
89
+ - Verify: the command, test, or runtime check that proves it worked
90
+ - Done when: a measurable acceptance condition
91
+
92
+ Keep the checkbox line format exactly:
93
+ - [ ] **T01: Title** `est:30m`
94
+ -->
95
+
96
+ - [ ] **T01: {{taskTitle}}** `est:{{estimate}}`
97
+ - Why: {{whyThisTaskExists}}
98
+ - Files: `{{filePath}}`, `{{filePath}}`
99
+ - Do: {{specificImplementationStepsAndConstraints}}
100
+ - Verify: {{testCommandOrRuntimeCheck}}
101
+ - Done when: {{measurableAcceptanceCondition}}
102
+ - [ ] **T02: {{taskTitle}}** `est:{{estimate}}`
103
+ - Why: {{whyThisTaskExists}}
104
+ - Files: `{{filePath}}`, `{{filePath}}`
105
+ - Do: {{specificImplementationStepsAndConstraints}}
106
+ - Verify: {{testCommandOrRuntimeCheck}}
107
+ - Done when: {{measurableAcceptanceCondition}}
108
+ - [ ] **T03: {{taskTitle}}** `est:{{estimate}}`
109
+ - Why: {{whyThisTaskExists}}
110
+ - Files: `{{filePath}}`, `{{filePath}}`
111
+ - Do: {{specificImplementationStepsAndConstraints}}
112
+ - Verify: {{testCommandOrRuntimeCheck}}
113
+ - Done when: {{measurableAcceptanceCondition}}
114
+
115
+ <!--
116
+ Format rules (parsers depend on this exact structure):
117
+ - Checkbox line: - [ ] **T01: Title** `est:30m`
118
+ - Description: indented text on the next line(s)
119
+ - Mark done: change [ ] to [x]
120
+ - Tasks execute sequentially in order (T01, T02, T03, ...)
121
+ - est: is informational (e.g. 30m, 1h, 2h) and optional
122
+
123
+ Integration closure rule:
124
+ - At least one slice in any multi-boundary milestone should perform real composition/wiring, not just contract hardening
125
+ - For the final assembly slice, verification must exercise the real entrypoint or runtime path
126
+ -->
127
+
128
+ ## Files Likely Touched
129
+
130
+ - `{{filePath}}`
131
+ - `{{filePath}}`
@@ -0,0 +1,23 @@
1
+ ---
2
+ version: 1
3
+ always_use_skills: []
4
+ prefer_skills: []
5
+ avoid_skills: []
6
+ skill_rules: []
7
+ custom_instructions: []
8
+ models: {}
9
+ skill_discovery:
10
+ auto_supervisor: {}
11
+ git:
12
+ auto_push:
13
+ push_branches:
14
+ remote:
15
+ snapshots:
16
+ pre_merge_check:
17
+ commit_type:
18
+ unique_milestone_ids:
19
+ ---
20
+
21
+ # GSD Skill Preferences
22
+
23
+ See `~/.gsd/agent/extensions/gsd/docs/preferences-reference.md` for full field documentation and examples.
@@ -0,0 +1,31 @@
1
+ # Project
2
+
3
+ ## What This Is
4
+
5
+ {{whatTheProjectDoes — plain language, current state, not aspirational}}
6
+
7
+ ## Core Value
8
+
9
+ <!-- This is the primary value anchor for prioritization and tradeoffs.
10
+ If scope must shrink, this should survive. -->
11
+
12
+ {{theOneThingThatMustWorkEvenIfEverythingElseIsCut}}
13
+
14
+ ## Current State
15
+
16
+ {{whatHasBeenBuiltSoFar — what works, what exists, what's deployed}}
17
+
18
+ ## Architecture / Key Patterns
19
+
20
+ {{howItsStructured — conventions, tech stack, key modules, established patterns}}
21
+
22
+ ## Capability Contract
23
+
24
+ See `.gsd/REQUIREMENTS.md` for the explicit capability contract, requirement status, and coverage mapping.
25
+
26
+ ## Milestone Sequence
27
+
28
+ <!-- Check off milestones as they complete. One-liners should describe intent, not implementation detail. -->
29
+
30
+ - [ ] M001: {{title}} — {{oneLiner}}
31
+ - [ ] M002: {{title}} — {{oneLiner}}
@@ -0,0 +1,28 @@
1
+ ---
2
+ date: {{YYYY-MM-DD}}
3
+ triggering_slice: {{milestoneId/sliceId}}
4
+ verdict: {{no-change | modified}}
5
+ ---
6
+
7
+ # Reassessment: {{triggering_slice}}
8
+
9
+ ## Changes Made
10
+
11
+ <!-- What changed in the roadmap as a result of this reassessment.
12
+ Write "No changes." if verdict is no-change. -->
13
+
14
+ {{placeholder}}
15
+
16
+ ## Requirement Coverage Impact
17
+
18
+ <!-- Which requirements were added, removed, deferred, or reordered.
19
+ Write "None." if no requirements were affected. -->
20
+
21
+ {{placeholder}}
22
+
23
+ ## Decision References
24
+
25
+ <!-- D-numbers from DECISIONS.md that informed or resulted from this reassessment.
26
+ Write "None." if no recorded decisions apply. -->
27
+
28
+ {{placeholder}}
@@ -0,0 +1,81 @@
1
+ # Requirements
2
+
3
+ This file is the explicit capability and coverage contract for the project.
4
+
5
+ Use it to track what is actively in scope, what has been validated by completed work, what is intentionally deferred, and what is explicitly out of scope.
6
+
7
+ Guidelines:
8
+ - Keep requirements capability-oriented, not a giant feature wishlist.
9
+ - Requirements should be atomic, testable, and stated in plain language.
10
+ - Every **Active** requirement should be mapped to a slice, deferred, blocked with reason, or moved out of scope.
11
+ - Each requirement should have one accountable primary owner and may have supporting slices.
12
+ - Research may suggest requirements, but research does not silently make them binding.
13
+ - Validation means the requirement was actually proven by completed work and verification, not just discussed.
14
+
15
+ ## Active
16
+
17
+ ### R001 — {{requirementTitle}}
18
+ - Class: {{core-capability | primary-user-loop | launchability | continuity | failure-visibility | integration | quality-attribute | operability | admin/support | compliance/security | differentiator | constraint | anti-feature}}
19
+ - Status: active
20
+ - Description: {{what must be true in plain language}}
21
+ - Why it matters: {{why this matters to actual product usefulness/completeness}}
22
+ - Source: {{user | inferred | research | execution}}
23
+ - Primary owning slice: {{M001/S01 | none yet}}
24
+ - Supporting slices: {{M001/S02, M001/S03 | none}}
25
+ - Validation: {{unmapped | mapped | partial | validated}}
26
+ - Notes: {{constraints / acceptance nuance / why not yet validated}}
27
+
28
+ ## Validated
29
+
30
+ ### R010 — {{requirementTitle}}
31
+ - Class: {{failure-visibility}}
32
+ - Status: validated
33
+ - Description: {{what was proven}}
34
+ - Why it matters: {{why it matters}}
35
+ - Source: {{user | inferred | research | execution}}
36
+ - Primary owning slice: {{M001/S01}}
37
+ - Supporting slices: {{none}}
38
+ - Validation: validated
39
+ - Notes: {{what verification proved this}}
40
+
41
+ ## Deferred
42
+
43
+ ### R020 — {{requirementTitle}}
44
+ - Class: {{admin/support}}
45
+ - Status: deferred
46
+ - Description: {{useful later, not now}}
47
+ - Why it matters: {{why it might matter later}}
48
+ - Source: {{user | inferred | research | execution}}
49
+ - Primary owning slice: {{none}}
50
+ - Supporting slices: {{none}}
51
+ - Validation: unmapped
52
+ - Notes: {{why deferred now}}
53
+
54
+ ## Out of Scope
55
+
56
+ ### R030 — {{requirementTitle}}
57
+ - Class: {{anti-feature | constraint | core-capability}}
58
+ - Status: out-of-scope
59
+ - Description: {{what is explicitly excluded}}
60
+ - Why it matters: {{what scope confusion this prevents}}
61
+ - Source: {{user | inferred | research | execution}}
62
+ - Primary owning slice: {{none}}
63
+ - Supporting slices: {{none}}
64
+ - Validation: n/a
65
+ - Notes: {{why excluded}}
66
+
67
+ ## Traceability
68
+
69
+ | ID | Class | Status | Primary owner | Supporting | Proof |
70
+ |---|---|---|---|---|---|
71
+ | R001 | primary-user-loop | active | M001/S01 | none | mapped |
72
+ | R010 | failure-visibility | validated | M001/S01 | none | validated |
73
+ | R020 | admin/support | deferred | none | none | unmapped |
74
+ | R030 | anti-feature | out-of-scope | none | none | n/a |
75
+
76
+ ## Coverage Summary
77
+
78
+ - Active requirements: {{count}}
79
+ - Mapped to slices: {{count}}
80
+ - Validated: {{count}}
81
+ - Unmapped active requirements: {{count}}
@@ -0,0 +1,46 @@
1
+ # {{scope}} — Research
2
+
3
+ **Date:** {{date}}
4
+
5
+ ## Summary
6
+
7
+ {{summary — 2-3 paragraphs with primary recommendation}}
8
+
9
+ ## Recommendation
10
+
11
+ {{whatApproachToTake_AND_why}}
12
+
13
+ ## Don't Hand-Roll
14
+
15
+ | Problem | Existing Solution | Why Use It |
16
+ |---------|------------------|------------|
17
+ | {{problem}} | {{solution}} | {{why}} |
18
+
19
+ ## Existing Code and Patterns
20
+
21
+ - `{{filePath}}` — {{whatItDoesAndHowToReuseIt}}
22
+ - `{{filePath}}` — {{patternToFollowOrAvoid}}
23
+
24
+ ## Constraints
25
+
26
+ - {{hardConstraintFromCodebaseOrRuntime}}
27
+ - {{constraintFromDependencies}}
28
+
29
+ ## Common Pitfalls
30
+
31
+ - **{{pitfall}}** — {{howToAvoid}}
32
+ - **{{pitfall}}** — {{howToAvoid}}
33
+
34
+ ## Open Risks
35
+
36
+ - {{riskThatCouldSurfaceDuringExecution}}
37
+
38
+ ## Skills Discovered
39
+
40
+ | Technology | Skill | Status |
41
+ |------------|-------|--------|
42
+ | {{technology}} | {{owner/repo@skill}} | {{installed / available / none found}} |
43
+
44
+ ## Sources
45
+
46
+ - {{whatWasLearned}} (source: [{{title}}]({{url}}))
@@ -0,0 +1,118 @@
1
+ # {{milestoneId}}: {{milestoneTitle}}
2
+
3
+ **Vision:** {{vision}}
4
+
5
+ ## Success Criteria
6
+
7
+ <!-- Write success criteria as observable truths, not implementation tasks.
8
+ Prefer user-visible or runtime-visible outcomes that can be re-checked at
9
+ milestone completion.
10
+
11
+ Good:
12
+ - "User can complete the full import flow end-to-end"
13
+ - "The daemon reconnects automatically after restart"
14
+
15
+ Bad:
16
+ - "Add import API and UI"
17
+ - "Refactor reconnect logic" -->
18
+
19
+ - {{criterion}}
20
+ - {{criterion}}
21
+
22
+ ## Key Risks / Unknowns
23
+
24
+ <!-- List the real risks and uncertainties that shape how slices are ordered.
25
+ If the project is straightforward, this section can be short or empty.
26
+ Don't invent risks — only list things that could actually invalidate downstream work. -->
27
+
28
+ - {{risk}} — {{whyItMatters}}
29
+ - {{risk}} — {{whyItMatters}}
30
+
31
+ ## Proof Strategy
32
+
33
+ <!-- For each real risk above, name which slice retires it and what "proven" looks like.
34
+ Proof comes from building the real thing, not from spikes or research.
35
+ Skip this section for straightforward projects with no major unknowns. -->
36
+
37
+ - {{riskOrUnknown}} → retire in {{sliceId}} by proving {{whatWillBeProven}}
38
+ - {{riskOrUnknown}} → retire in {{sliceId}} by proving {{whatWillBeProven}}
39
+
40
+ ## Verification Classes
41
+
42
+ - Contract verification: {{tests / shell verifiers / fixtures / artifact checks}}
43
+ - Integration verification: {{real subsystem interaction that must be exercised, or none}}
44
+ - Operational verification: {{service lifecycle / restart / reconnect / supervision / deploy-install behavior, or none}}
45
+ - UAT / human verification: {{what needs real human judgment, or none}}
46
+
47
+ ## Milestone Definition of Done
48
+
49
+ This milestone is complete only when all are true:
50
+
51
+ - {{all slice deliverables are complete}}
52
+ - {{shared components are actually wired together}}
53
+ - {{the real entrypoint exists and is exercised}}
54
+ - {{success criteria are re-checked against live behavior, not just artifacts}}
55
+ - {{final integrated acceptance scenarios pass}}
56
+
57
+ ## Requirement Coverage
58
+
59
+ - Covers: {{R001, R002}}
60
+ - Partially covers: {{R003 or none}}
61
+ - Leaves for later: {{R004 or none}}
62
+ - Orphan risks: {{none or what is still unmapped}}
63
+
64
+ ## Slices
65
+
66
+ - [ ] **S01: {{sliceTitle}}** `risk:high` `depends:[]`
67
+ > After this: {{whatIsDemoableWhenThisSliceIsDone}}
68
+ - [ ] **S02: {{sliceTitle}}** `risk:medium` `depends:[S01]`
69
+ > After this: {{whatIsDemoableWhenThisSliceIsDone}}
70
+ - [ ] **S03: {{sliceTitle}}** `risk:low` `depends:[S01]`
71
+ > After this: {{whatIsDemoableWhenThisSliceIsDone}}
72
+
73
+ <!--
74
+ Format rules (parsers depend on this exact structure):
75
+ - Checkbox line: - [ ] **S01: Title** `risk:high|medium|low` `depends:[S01,S02]`
76
+ - Demo line: > After this: one sentence showing what's demoable
77
+ - Mark done: change [ ] to [x]
78
+ - Order slices by risk (highest first)
79
+ - Each slice must be a vertical, demoable increment — not a layer
80
+ - If all slices are completed exactly as written, the milestone's promised outcome should actually work at the stated proof level
81
+ - depends:[X,Y] means X and Y must be done before this slice starts
82
+
83
+ Planning quality rules:
84
+ - Every slice must ship real, working, demoable code — no research-only or foundation-only slices
85
+ - Early slices should prove the hardest thing works by building through the uncertain path
86
+ - Each slice should establish a stable surface that downstream slices can depend on
87
+ - Demo lines should describe concrete, verifiable evidence — not vague claims
88
+ - In brownfield projects, ground slices in existing modules and patterns
89
+ - If a slice doesn't produce something testable end-to-end, it's probably a layer — restructure it
90
+ - If the milestone crosses multiple runtime boundaries (for example daemon + API + UI, bot + subprocess + service manager, or extension + RPC + filesystem), include an explicit final integration slice that proves the assembled system works end-to-end in a real environment
91
+ - Contract or fixture proof does not replace final assembly proof when the user-visible outcome depends on live wiring
92
+ - Each "After this" line must be truthful about proof level: if only fixtures or tests prove it, say so; do not imply the user can already perform the live end-to-end behavior unless that has actually been exercised
93
+ -->
94
+
95
+ ## Boundary Map
96
+
97
+ <!-- Be specific. Name concrete outputs: API endpoints, event payloads, shared types/interfaces,
98
+ persisted record shapes, CLI contracts, file formats, or invariants.
99
+ "Produces: auth system" is too vague. "Produces: session middleware that attaches
100
+ authenticated user to request context" is useful.
101
+ Consumes should name what downstream slices assume is already available and stable.
102
+ If the project has a test framework, boundary contracts should ideally be exercised by tests. -->
103
+
104
+ ### S01 → S02
105
+
106
+ Produces:
107
+ - {{concreteOutput — API, type, data shape, interface, or invariant}}
108
+
109
+ Consumes:
110
+ - nothing (first slice)
111
+
112
+ ### S01 → S03
113
+
114
+ Produces:
115
+ - {{concreteOutput — API, type, data shape, interface, or invariant}}
116
+
117
+ Consumes:
118
+ - nothing (first slice)
@@ -0,0 +1,22 @@
1
+ # Secrets Manifest
2
+
3
+ <!-- This file lists predicted API keys and secrets for the milestone.
4
+ Each H3 section defines one secret with setup guidance.
5
+ The parser extracts entries by H3 heading (the env var name).
6
+ Bold fields: Service, Dashboard, Format hint, Status, Destination.
7
+ Guidance is a numbered list under each entry. -->
8
+
9
+ **Milestone:** {{milestone}}
10
+ **Generated:** {{generatedAt}}
11
+
12
+ ### {{ENV_VAR_NAME}}
13
+
14
+ **Service:** {{serviceName}}
15
+ **Dashboard:** {{dashboardUrl}}
16
+ **Format hint:** {{formatHint}}
17
+ **Status:** pending
18
+ **Destination:** dotenv
19
+
20
+ 1. {{Step 1 guidance}}
21
+ 2. {{Step 2 guidance}}
22
+ 3. {{Step 3 guidance}}
@@ -0,0 +1,58 @@
1
+ ---
2
+ id: {{sliceId}}
3
+ milestone: {{milestoneId}}
4
+ status: {{draft|ready|in_progress|complete}}
5
+ ---
6
+
7
+ # {{sliceId}}: {{sliceTitle}} — Context
8
+
9
+ <!-- Slice-scoped context. Milestone-only sections (acceptance criteria, completion class,
10
+ milestone sequence) do not belong here — those live in the milestone context. -->
11
+
12
+ ## Goal
13
+
14
+ <!-- One sentence: what this slice delivers when it is done. -->
15
+
16
+ {{sliceGoal}}
17
+
18
+ ## Why this Slice
19
+
20
+ <!-- Why this slice is being done now. What does it unblock, and why does order matter? -->
21
+
22
+ {{whyNowAndWhatItUnblocks}}
23
+
24
+ ## Scope
25
+
26
+ <!-- What is and is not in scope for this slice. Be explicit about non-goals. -->
27
+
28
+ ### In Scope
29
+
30
+ - {{inScopeItem}}
31
+
32
+ ### Out of Scope
33
+
34
+ - {{outOfScopeItem}}
35
+
36
+ ## Constraints
37
+
38
+ <!-- Known constraints: time-boxes, hard dependencies, prior decisions this slice must respect. -->
39
+
40
+ - {{constraint}}
41
+
42
+ ## Integration Points
43
+
44
+ <!-- Artifacts or subsystems this slice consumes and produces. -->
45
+
46
+ ### Consumes
47
+
48
+ - `{{fileOrArtifact}}` — {{howItIsUsed}}
49
+
50
+ ### Produces
51
+
52
+ - `{{fileOrArtifact}}` — {{whatItProvides}}
53
+
54
+ ## Open Questions
55
+
56
+ <!-- Unresolved questions at planning time. Answer them before or during execution. -->
57
+
58
+ - {{question}} — {{currentThinking}}