eai-cli 0.0.0-bootstrap.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 (690) hide show
  1. package/LICENSE +183 -0
  2. package/NOTICE +4 -0
  3. package/README.md +14 -0
  4. package/dist/commands/agent.d.ts +3 -0
  5. package/dist/commands/agent.d.ts.map +1 -0
  6. package/dist/commands/agent.js +69 -0
  7. package/dist/commands/agent.js.map +1 -0
  8. package/dist/commands/blocks.d.ts +3 -0
  9. package/dist/commands/blocks.d.ts.map +1 -0
  10. package/dist/commands/blocks.js +249 -0
  11. package/dist/commands/blocks.js.map +1 -0
  12. package/dist/commands/chat.d.ts +6 -0
  13. package/dist/commands/chat.d.ts.map +1 -0
  14. package/dist/commands/chat.js +105 -0
  15. package/dist/commands/chat.js.map +1 -0
  16. package/dist/commands/deploy.d.ts +36 -0
  17. package/dist/commands/deploy.d.ts.map +1 -0
  18. package/dist/commands/deploy.js +712 -0
  19. package/dist/commands/deploy.js.map +1 -0
  20. package/dist/commands/dev.d.ts +15 -0
  21. package/dist/commands/dev.d.ts.map +1 -0
  22. package/dist/commands/dev.js +133 -0
  23. package/dist/commands/dev.js.map +1 -0
  24. package/dist/commands/docs.d.ts +6 -0
  25. package/dist/commands/docs.d.ts.map +1 -0
  26. package/dist/commands/docs.js +118 -0
  27. package/dist/commands/docs.js.map +1 -0
  28. package/dist/commands/env.d.ts +10 -0
  29. package/dist/commands/env.d.ts.map +1 -0
  30. package/dist/commands/env.js +200 -0
  31. package/dist/commands/env.js.map +1 -0
  32. package/dist/commands/errors.d.ts +3 -0
  33. package/dist/commands/errors.d.ts.map +1 -0
  34. package/dist/commands/errors.js +72 -0
  35. package/dist/commands/errors.js.map +1 -0
  36. package/dist/commands/gofer.d.ts +3 -0
  37. package/dist/commands/gofer.d.ts.map +1 -0
  38. package/dist/commands/gofer.js +134 -0
  39. package/dist/commands/gofer.js.map +1 -0
  40. package/dist/commands/init.d.ts +14 -0
  41. package/dist/commands/init.d.ts.map +1 -0
  42. package/dist/commands/init.js +1437 -0
  43. package/dist/commands/init.js.map +1 -0
  44. package/dist/commands/login.d.ts +7 -0
  45. package/dist/commands/login.d.ts.map +1 -0
  46. package/dist/commands/login.js +117 -0
  47. package/dist/commands/login.js.map +1 -0
  48. package/dist/commands/provision.d.ts +6 -0
  49. package/dist/commands/provision.d.ts.map +1 -0
  50. package/dist/commands/provision.js +855 -0
  51. package/dist/commands/provision.js.map +1 -0
  52. package/dist/commands/publicapi.d.ts +6 -0
  53. package/dist/commands/publicapi.d.ts.map +1 -0
  54. package/dist/commands/publicapi.js +184 -0
  55. package/dist/commands/publicapi.js.map +1 -0
  56. package/dist/commands/resources.d.ts +38 -0
  57. package/dist/commands/resources.d.ts.map +1 -0
  58. package/dist/commands/resources.js +1010 -0
  59. package/dist/commands/resources.js.map +1 -0
  60. package/dist/commands/runtime.d.ts +3 -0
  61. package/dist/commands/runtime.d.ts.map +1 -0
  62. package/dist/commands/runtime.js +78 -0
  63. package/dist/commands/runtime.js.map +1 -0
  64. package/dist/commands/template.d.ts +3 -0
  65. package/dist/commands/template.d.ts.map +1 -0
  66. package/dist/commands/template.js +365 -0
  67. package/dist/commands/template.js.map +1 -0
  68. package/dist/commands/tenant.d.ts +45 -0
  69. package/dist/commands/tenant.d.ts.map +1 -0
  70. package/dist/commands/tenant.js +1036 -0
  71. package/dist/commands/tenant.js.map +1 -0
  72. package/dist/commands/types.d.ts +130 -0
  73. package/dist/commands/types.d.ts.map +1 -0
  74. package/dist/commands/types.js +1636 -0
  75. package/dist/commands/types.js.map +1 -0
  76. package/dist/commands/update.d.ts +13 -0
  77. package/dist/commands/update.d.ts.map +1 -0
  78. package/dist/commands/update.js +163 -0
  79. package/dist/commands/update.js.map +1 -0
  80. package/dist/commands/user.d.ts +6 -0
  81. package/dist/commands/user.d.ts.map +1 -0
  82. package/dist/commands/user.js +359 -0
  83. package/dist/commands/user.js.map +1 -0
  84. package/dist/commands/verify.d.ts +40 -0
  85. package/dist/commands/verify.d.ts.map +1 -0
  86. package/dist/commands/verify.js +1442 -0
  87. package/dist/commands/verify.js.map +1 -0
  88. package/dist/commands/vertical.d.ts +24 -0
  89. package/dist/commands/vertical.d.ts.map +1 -0
  90. package/dist/commands/vertical.js +301 -0
  91. package/dist/commands/vertical.js.map +1 -0
  92. package/dist/commands/whoami.d.ts +6 -0
  93. package/dist/commands/whoami.d.ts.map +1 -0
  94. package/dist/commands/whoami.js +73 -0
  95. package/dist/commands/whoami.js.map +1 -0
  96. package/dist/commands/workflow.d.ts +6 -0
  97. package/dist/commands/workflow.d.ts.map +1 -0
  98. package/dist/commands/workflow.js +400 -0
  99. package/dist/commands/workflow.js.map +1 -0
  100. package/dist/index.d.ts +10 -0
  101. package/dist/index.d.ts.map +1 -0
  102. package/dist/index.js +272 -0
  103. package/dist/index.js.map +1 -0
  104. package/dist/lib/agent-guide.d.ts +24 -0
  105. package/dist/lib/agent-guide.d.ts.map +1 -0
  106. package/dist/lib/agent-guide.js +155 -0
  107. package/dist/lib/agent-guide.js.map +1 -0
  108. package/dist/lib/api.d.ts +338 -0
  109. package/dist/lib/api.d.ts.map +1 -0
  110. package/dist/lib/api.js +991 -0
  111. package/dist/lib/api.js.map +1 -0
  112. package/dist/lib/auth.d.ts +65 -0
  113. package/dist/lib/auth.d.ts.map +1 -0
  114. package/dist/lib/auth.js +592 -0
  115. package/dist/lib/auth.js.map +1 -0
  116. package/dist/lib/azure-cli.d.ts +6 -0
  117. package/dist/lib/azure-cli.d.ts.map +1 -0
  118. package/dist/lib/azure-cli.js +13 -0
  119. package/dist/lib/azure-cli.js.map +1 -0
  120. package/dist/lib/block-catalog-normalize.d.ts +47 -0
  121. package/dist/lib/block-catalog-normalize.d.ts.map +1 -0
  122. package/dist/lib/block-catalog-normalize.js +355 -0
  123. package/dist/lib/block-catalog-normalize.js.map +1 -0
  124. package/dist/lib/block-catalog-types.d.ts +111 -0
  125. package/dist/lib/block-catalog-types.d.ts.map +1 -0
  126. package/dist/lib/block-catalog-types.js +41 -0
  127. package/dist/lib/block-catalog-types.js.map +1 -0
  128. package/dist/lib/block-catalog-utils.d.ts +7 -0
  129. package/dist/lib/block-catalog-utils.d.ts.map +1 -0
  130. package/dist/lib/block-catalog-utils.js +47 -0
  131. package/dist/lib/block-catalog-utils.js.map +1 -0
  132. package/dist/lib/block-catalog-validation.d.ts +5 -0
  133. package/dist/lib/block-catalog-validation.d.ts.map +1 -0
  134. package/dist/lib/block-catalog-validation.js +112 -0
  135. package/dist/lib/block-catalog-validation.js.map +1 -0
  136. package/dist/lib/block-catalog.d.ts +3 -0
  137. package/dist/lib/block-catalog.d.ts.map +1 -0
  138. package/dist/lib/block-catalog.js +284 -0
  139. package/dist/lib/block-catalog.js.map +1 -0
  140. package/dist/lib/cloud-env.d.ts +25 -0
  141. package/dist/lib/cloud-env.d.ts.map +1 -0
  142. package/dist/lib/cloud-env.js +79 -0
  143. package/dist/lib/cloud-env.js.map +1 -0
  144. package/dist/lib/config.d.ts +116 -0
  145. package/dist/lib/config.d.ts.map +1 -0
  146. package/dist/lib/config.js +195 -0
  147. package/dist/lib/config.js.map +1 -0
  148. package/dist/lib/context.d.ts +43 -0
  149. package/dist/lib/context.d.ts.map +1 -0
  150. package/dist/lib/context.js +68 -0
  151. package/dist/lib/context.js.map +1 -0
  152. package/dist/lib/error-codes.d.ts +56 -0
  153. package/dist/lib/error-codes.d.ts.map +1 -0
  154. package/dist/lib/error-codes.js +211 -0
  155. package/dist/lib/error-codes.js.map +1 -0
  156. package/dist/lib/error-guidance/catalog.d.ts +648 -0
  157. package/dist/lib/error-guidance/catalog.d.ts.map +1 -0
  158. package/dist/lib/error-guidance/catalog.js +940 -0
  159. package/dist/lib/error-guidance/catalog.js.map +1 -0
  160. package/dist/lib/error-guidance/match.d.ts +3 -0
  161. package/dist/lib/error-guidance/match.d.ts.map +1 -0
  162. package/dist/lib/error-guidance/match.js +46 -0
  163. package/dist/lib/error-guidance/match.js.map +1 -0
  164. package/dist/lib/error-guidance/render.d.ts +5 -0
  165. package/dist/lib/error-guidance/render.d.ts.map +1 -0
  166. package/dist/lib/error-guidance/render.js +92 -0
  167. package/dist/lib/error-guidance/render.js.map +1 -0
  168. package/dist/lib/error-guidance/types.d.ts +76 -0
  169. package/dist/lib/error-guidance/types.d.ts.map +1 -0
  170. package/dist/lib/error-guidance/types.js +2 -0
  171. package/dist/lib/error-guidance/types.js.map +1 -0
  172. package/dist/lib/error-guidance/validate.d.ts +3 -0
  173. package/dist/lib/error-guidance/validate.d.ts.map +1 -0
  174. package/dist/lib/error-guidance/validate.js +59 -0
  175. package/dist/lib/error-guidance/validate.js.map +1 -0
  176. package/dist/lib/gofer-installer.d.ts +32 -0
  177. package/dist/lib/gofer-installer.d.ts.map +1 -0
  178. package/dist/lib/gofer-installer.js +589 -0
  179. package/dist/lib/gofer-installer.js.map +1 -0
  180. package/dist/lib/gofer-refresh.d.ts +46 -0
  181. package/dist/lib/gofer-refresh.d.ts.map +1 -0
  182. package/dist/lib/gofer-refresh.js +536 -0
  183. package/dist/lib/gofer-refresh.js.map +1 -0
  184. package/dist/lib/next-route-exports.d.ts +6 -0
  185. package/dist/lib/next-route-exports.d.ts.map +1 -0
  186. package/dist/lib/next-route-exports.js +127 -0
  187. package/dist/lib/next-route-exports.js.map +1 -0
  188. package/dist/lib/npm.d.ts +2 -0
  189. package/dist/lib/npm.d.ts.map +1 -0
  190. package/dist/lib/npm.js +4 -0
  191. package/dist/lib/npm.js.map +1 -0
  192. package/dist/lib/object-type-defaults.d.ts +4 -0
  193. package/dist/lib/object-type-defaults.d.ts.map +1 -0
  194. package/dist/lib/object-type-defaults.js +72 -0
  195. package/dist/lib/object-type-defaults.js.map +1 -0
  196. package/dist/lib/output.d.ts +35 -0
  197. package/dist/lib/output.d.ts.map +1 -0
  198. package/dist/lib/output.js +166 -0
  199. package/dist/lib/output.js.map +1 -0
  200. package/dist/lib/profile.d.ts +52 -0
  201. package/dist/lib/profile.d.ts.map +1 -0
  202. package/dist/lib/profile.js +116 -0
  203. package/dist/lib/profile.js.map +1 -0
  204. package/dist/lib/project-manifest.d.ts +42 -0
  205. package/dist/lib/project-manifest.d.ts.map +1 -0
  206. package/dist/lib/project-manifest.js +191 -0
  207. package/dist/lib/project-manifest.js.map +1 -0
  208. package/dist/lib/resourceapi-bundle.d.ts +33 -0
  209. package/dist/lib/resourceapi-bundle.d.ts.map +1 -0
  210. package/dist/lib/resourceapi-bundle.js +79 -0
  211. package/dist/lib/resourceapi-bundle.js.map +1 -0
  212. package/dist/lib/runtime-contract.d.ts +84 -0
  213. package/dist/lib/runtime-contract.d.ts.map +1 -0
  214. package/dist/lib/runtime-contract.js +318 -0
  215. package/dist/lib/runtime-contract.js.map +1 -0
  216. package/dist/lib/schema-builder.d.ts +28 -0
  217. package/dist/lib/schema-builder.d.ts.map +1 -0
  218. package/dist/lib/schema-builder.js +69 -0
  219. package/dist/lib/schema-builder.js.map +1 -0
  220. package/dist/lib/tenant-context.d.ts +127 -0
  221. package/dist/lib/tenant-context.d.ts.map +1 -0
  222. package/dist/lib/tenant-context.js +573 -0
  223. package/dist/lib/tenant-context.js.map +1 -0
  224. package/dist/lib/update-check.d.ts +52 -0
  225. package/dist/lib/update-check.d.ts.map +1 -0
  226. package/dist/lib/update-check.js +271 -0
  227. package/dist/lib/update-check.js.map +1 -0
  228. package/dist/lib/update-maintenance.d.ts +15 -0
  229. package/dist/lib/update-maintenance.d.ts.map +1 -0
  230. package/dist/lib/update-maintenance.js +187 -0
  231. package/dist/lib/update-maintenance.js.map +1 -0
  232. package/dist/lib/utils.d.ts +23 -0
  233. package/dist/lib/utils.d.ts.map +1 -0
  234. package/dist/lib/utils.js +48 -0
  235. package/dist/lib/utils.js.map +1 -0
  236. package/dist/lib/workflow-provisioning.d.ts +54 -0
  237. package/dist/lib/workflow-provisioning.d.ts.map +1 -0
  238. package/dist/lib/workflow-provisioning.js +281 -0
  239. package/dist/lib/workflow-provisioning.js.map +1 -0
  240. package/package.json +51 -0
  241. package/resources/gofer/.gofer-version +7 -0
  242. package/resources/gofer/agents-skills/0_gofer_start/SKILL.md +1287 -0
  243. package/resources/gofer/agents-skills/0a_problem_validation/SKILL.md +429 -0
  244. package/resources/gofer/agents-skills/10_gofer_cloud/SKILL.md +635 -0
  245. package/resources/gofer/agents-skills/1_gofer_research/SKILL.md +1159 -0
  246. package/resources/gofer/agents-skills/2_gofer_specify/SKILL.md +860 -0
  247. package/resources/gofer/agents-skills/3_gofer_plan/SKILL.md +886 -0
  248. package/resources/gofer/agents-skills/4_gofer_tasks/SKILL.md +748 -0
  249. package/resources/gofer/agents-skills/5_gofer_implement/SKILL.md +924 -0
  250. package/resources/gofer/agents-skills/6_gofer_validate/SKILL.md +2269 -0
  251. package/resources/gofer/agents-skills/7_gofer_save/SKILL.md +423 -0
  252. package/resources/gofer/agents-skills/7a_stakeholder_comms/SKILL.md +508 -0
  253. package/resources/gofer/agents-skills/8_gofer_branding/SKILL.md +315 -0
  254. package/resources/gofer/agents-skills/9_gofer_tests/SKILL.md +558 -0
  255. package/resources/gofer/agents-skills/gofer_bootstrap_workspace/SKILL.md +148 -0
  256. package/resources/gofer/agents-skills/gofer_check_workspace/SKILL.md +119 -0
  257. package/resources/gofer/agents-skills/gofer_constitution/SKILL.md +612 -0
  258. package/resources/gofer/agents-skills/gofer_diagnose/SKILL.md +114 -0
  259. package/resources/gofer/agents-skills/gofer_eai_first_run/SKILL.md +397 -0
  260. package/resources/gofer/agents-skills/gofer_hydrate/SKILL.md +561 -0
  261. package/resources/gofer/agents-skills/gofer_personality/SKILL.md +44 -0
  262. package/resources/gofer/agents-skills/gofer_plan/SKILL.md +40 -0
  263. package/resources/gofer/agents-skills/gofer_side/SKILL.md +45 -0
  264. package/resources/gofer/agents-skills/gofer_spec_summary/SKILL.md +112 -0
  265. package/resources/gofer/agents-skills/gofer_tdd/SKILL.md +112 -0
  266. package/resources/gofer/agents-skills/gofer_vocabulary/SKILL.md +112 -0
  267. package/resources/gofer/agents-skills/gofer_zoom_out/SKILL.md +112 -0
  268. package/resources/gofer/bash-scripts/check-context-health.sh +365 -0
  269. package/resources/gofer/bash-scripts/check-persona-pack.sh +81 -0
  270. package/resources/gofer/bash-scripts/check-prerequisites.sh +168 -0
  271. package/resources/gofer/bash-scripts/common.sh +192 -0
  272. package/resources/gofer/bash-scripts/create-new-feature.sh +260 -0
  273. package/resources/gofer/bash-scripts/install-optional-tools.sh +270 -0
  274. package/resources/gofer/bash-scripts/log-stage.sh +224 -0
  275. package/resources/gofer/bash-scripts/mark-task-complete.sh +74 -0
  276. package/resources/gofer/bash-scripts/pipeline-state.sh +306 -0
  277. package/resources/gofer/bash-scripts/read-failed-approaches.sh +114 -0
  278. package/resources/gofer/bash-scripts/read-session-memories.sh +96 -0
  279. package/resources/gofer/bash-scripts/save-checkpoint.sh +407 -0
  280. package/resources/gofer/bash-scripts/setup-plan.sh +62 -0
  281. package/resources/gofer/bash-scripts/sync-implementation-status.sh +47 -0
  282. package/resources/gofer/bash-scripts/update-agent-context.sh +772 -0
  283. package/resources/gofer/bash-scripts/validate-artifact.sh +335 -0
  284. package/resources/gofer/bash-scripts/verify-task.sh +384 -0
  285. package/resources/gofer/bash-scripts/write-failed-approach.sh +110 -0
  286. package/resources/gofer/bash-scripts/write-periodic-checkpoint.sh +128 -0
  287. package/resources/gofer/bash-scripts/write-session-memory.sh +118 -0
  288. package/resources/gofer/claude-agents/assumption-tracker.md +168 -0
  289. package/resources/gofer/claude-agents/business-metrics-analyzer.md +169 -0
  290. package/resources/gofer/claude-agents/business-problem-validator.md +168 -0
  291. package/resources/gofer/claude-agents/codebase-analyzer.md +124 -0
  292. package/resources/gofer/claude-agents/codebase-locator.md +95 -0
  293. package/resources/gofer/claude-agents/codebase-pattern-finder.md +180 -0
  294. package/resources/gofer/claude-agents/comms-writer.md +158 -0
  295. package/resources/gofer/claude-agents/engineer-review.md +169 -0
  296. package/resources/gofer/claude-agents/implement-bug-triangulator.md +94 -0
  297. package/resources/gofer/claude-agents/implement-code-review-council.md +89 -0
  298. package/resources/gofer/claude-agents/implement-doc-writer.md +89 -0
  299. package/resources/gofer/claude-agents/implement-error-hardener.md +84 -0
  300. package/resources/gofer/claude-agents/implement-performance-explorer.md +95 -0
  301. package/resources/gofer/claude-agents/implement-test-diversifier.md +82 -0
  302. package/resources/gofer/claude-agents/implement-variant-generator.md +80 -0
  303. package/resources/gofer/claude-agents/multi-perspective-judge.md +114 -0
  304. package/resources/gofer/claude-agents/plan-api-comparator.md +90 -0
  305. package/resources/gofer/claude-agents/plan-architecture-diverger.md +100 -0
  306. package/resources/gofer/claude-agents/plan-data-model-stress-tester.md +95 -0
  307. package/resources/gofer/claude-agents/plan-migration-path-finder.md +95 -0
  308. package/resources/gofer/claude-agents/plan-refactor-rewrite-advisor.md +97 -0
  309. package/resources/gofer/claude-agents/research-dependency-evaluator.md +106 -0
  310. package/resources/gofer/claude-agents/research-horizon-scanner.md +100 -0
  311. package/resources/gofer/claude-agents/research-market-scanner.md +137 -0
  312. package/resources/gofer/claude-agents/research-perspective-multiplier.md +102 -0
  313. package/resources/gofer/claude-agents/scope-creep-detector.md +152 -0
  314. package/resources/gofer/claude-agents/specify-ambiguity-detector.md +95 -0
  315. package/resources/gofer/claude-agents/specify-journey-stress-tester.md +92 -0
  316. package/resources/gofer/claude-agents/tasks-cross-cutting-scanner.md +91 -0
  317. package/resources/gofer/claude-agents/tasks-rollback-planner.md +89 -0
  318. package/resources/gofer/claude-agents/validate-security-red-team.md +102 -0
  319. package/resources/gofer/claude-agents/validation-correctness.md +103 -0
  320. package/resources/gofer/claude-agents/validation-integration.md +129 -0
  321. package/resources/gofer/claude-agents/validation-performance.md +120 -0
  322. package/resources/gofer/claude-agents/validation-security.md +115 -0
  323. package/resources/gofer/claude-agents/validation-standards.md +151 -0
  324. package/resources/gofer/claude-agents/validation-test-quality.md +146 -0
  325. package/resources/gofer/claude-agents/visual-bounded-context-writer.md +40 -0
  326. package/resources/gofer/claude-agents/visual-c4-writer.md +45 -0
  327. package/resources/gofer/claude-agents/visual-erd-writer.md +34 -0
  328. package/resources/gofer/claude-agents/visual-heatmap-writer.md +63 -0
  329. package/resources/gofer/claude-agents/visual-risk-writer.md +64 -0
  330. package/resources/gofer/claude-commands/0_gofer_start.md +1282 -0
  331. package/resources/gofer/claude-commands/0a_problem_validation.md +424 -0
  332. package/resources/gofer/claude-commands/10_gofer_cloud.md +630 -0
  333. package/resources/gofer/claude-commands/1_gofer_research.md +1154 -0
  334. package/resources/gofer/claude-commands/2_gofer_specify.md +855 -0
  335. package/resources/gofer/claude-commands/3_gofer_plan.md +881 -0
  336. package/resources/gofer/claude-commands/4_gofer_tasks.md +743 -0
  337. package/resources/gofer/claude-commands/5_gofer_implement.md +919 -0
  338. package/resources/gofer/claude-commands/6_gofer_validate.md +2264 -0
  339. package/resources/gofer/claude-commands/7_gofer_save.md +418 -0
  340. package/resources/gofer/claude-commands/7a_stakeholder_comms.md +503 -0
  341. package/resources/gofer/claude-commands/8_gofer_branding.md +310 -0
  342. package/resources/gofer/claude-commands/9_gofer_tests.md +553 -0
  343. package/resources/gofer/claude-commands/gofer_bootstrap_workspace.md +143 -0
  344. package/resources/gofer/claude-commands/gofer_check_workspace.md +114 -0
  345. package/resources/gofer/claude-commands/gofer_constitution.md +607 -0
  346. package/resources/gofer/claude-commands/gofer_diagnose.md +109 -0
  347. package/resources/gofer/claude-commands/gofer_eai_first_run.md +392 -0
  348. package/resources/gofer/claude-commands/gofer_hydrate.md +556 -0
  349. package/resources/gofer/claude-commands/gofer_personality.md +39 -0
  350. package/resources/gofer/claude-commands/gofer_plan.md +35 -0
  351. package/resources/gofer/claude-commands/gofer_side.md +40 -0
  352. package/resources/gofer/claude-commands/gofer_spec_summary.md +107 -0
  353. package/resources/gofer/claude-commands/gofer_tdd.md +107 -0
  354. package/resources/gofer/claude-commands/gofer_vocabulary.md +107 -0
  355. package/resources/gofer/claude-commands/gofer_zoom_out.md +107 -0
  356. package/resources/gofer/claude-skills/eai-gofer/SKILL.md +56 -0
  357. package/resources/gofer/commands/.gitkeep +0 -0
  358. package/resources/gofer/commands/0_gofer_start.md +1299 -0
  359. package/resources/gofer/commands/0a_problem_validation.md +405 -0
  360. package/resources/gofer/commands/10_gofer_cloud.md +611 -0
  361. package/resources/gofer/commands/1_gofer_research.md +1135 -0
  362. package/resources/gofer/commands/2_gofer_specify.md +836 -0
  363. package/resources/gofer/commands/3_gofer_plan.md +862 -0
  364. package/resources/gofer/commands/4_gofer_tasks.md +724 -0
  365. package/resources/gofer/commands/5_gofer_implement.md +900 -0
  366. package/resources/gofer/commands/6_gofer_validate.md +2245 -0
  367. package/resources/gofer/commands/7_gofer_save.md +399 -0
  368. package/resources/gofer/commands/7a_stakeholder_comms.md +484 -0
  369. package/resources/gofer/commands/8_gofer_branding.md +291 -0
  370. package/resources/gofer/commands/9_gofer_tests.md +534 -0
  371. package/resources/gofer/commands/gofer_bootstrap_workspace.md +159 -0
  372. package/resources/gofer/commands/gofer_check_workspace.md +130 -0
  373. package/resources/gofer/commands/gofer_constitution.md +588 -0
  374. package/resources/gofer/commands/gofer_diagnose.md +89 -0
  375. package/resources/gofer/commands/gofer_eai_first_run.md +392 -0
  376. package/resources/gofer/commands/gofer_hydrate.md +537 -0
  377. package/resources/gofer/commands/gofer_personality.md +61 -0
  378. package/resources/gofer/commands/gofer_plan.md +51 -0
  379. package/resources/gofer/commands/gofer_side.md +56 -0
  380. package/resources/gofer/commands/gofer_spec_summary.md +87 -0
  381. package/resources/gofer/commands/gofer_tdd.md +87 -0
  382. package/resources/gofer/commands/gofer_vocabulary.md +87 -0
  383. package/resources/gofer/commands/gofer_zoom_out.md +87 -0
  384. package/resources/gofer/copilot-instructions/gofer-cost.instructions.md +13 -0
  385. package/resources/gofer/copilot-instructions/language-server.instructions.md +49 -0
  386. package/resources/gofer/copilot-instructions/typescript.instructions.md +47 -0
  387. package/resources/gofer/copilot-instructions/vscode-extension.instructions.md +46 -0
  388. package/resources/gofer/copilot-prompts/0_gofer_start.prompt.md +1308 -0
  389. package/resources/gofer/copilot-prompts/0a_problem_validation.prompt.md +429 -0
  390. package/resources/gofer/copilot-prompts/10_gofer_cloud.prompt.md +644 -0
  391. package/resources/gofer/copilot-prompts/1_gofer_research.prompt.md +1177 -0
  392. package/resources/gofer/copilot-prompts/2_gofer_specify.prompt.md +878 -0
  393. package/resources/gofer/copilot-prompts/3_gofer_plan.prompt.md +904 -0
  394. package/resources/gofer/copilot-prompts/4_gofer_tasks.prompt.md +766 -0
  395. package/resources/gofer/copilot-prompts/5_gofer_implement.prompt.md +942 -0
  396. package/resources/gofer/copilot-prompts/6_gofer_validate.prompt.md +2277 -0
  397. package/resources/gofer/copilot-prompts/7_gofer_save.prompt.md +433 -0
  398. package/resources/gofer/copilot-prompts/7a_stakeholder_comms.prompt.md +516 -0
  399. package/resources/gofer/copilot-prompts/8_gofer_branding.prompt.md +323 -0
  400. package/resources/gofer/copilot-prompts/9_gofer_tests.prompt.md +566 -0
  401. package/resources/gofer/copilot-prompts/gofer_bootstrap_workspace.prompt.md +161 -0
  402. package/resources/gofer/copilot-prompts/gofer_check_workspace.prompt.md +132 -0
  403. package/resources/gofer/copilot-prompts/gofer_constitution.prompt.md +621 -0
  404. package/resources/gofer/copilot-prompts/gofer_diagnose.prompt.md +127 -0
  405. package/resources/gofer/copilot-prompts/gofer_eai_first_run.prompt.md +410 -0
  406. package/resources/gofer/copilot-prompts/gofer_hydrate.prompt.md +571 -0
  407. package/resources/gofer/copilot-prompts/gofer_personality.prompt.md +57 -0
  408. package/resources/gofer/copilot-prompts/gofer_plan.prompt.md +53 -0
  409. package/resources/gofer/copilot-prompts/gofer_side.prompt.md +58 -0
  410. package/resources/gofer/copilot-prompts/gofer_spec_summary.prompt.md +125 -0
  411. package/resources/gofer/copilot-prompts/gofer_tdd.prompt.md +125 -0
  412. package/resources/gofer/copilot-prompts/gofer_vocabulary.prompt.md +125 -0
  413. package/resources/gofer/copilot-prompts/gofer_zoom_out.prompt.md +125 -0
  414. package/resources/gofer/gemini/agents/assumption-tracker.md +171 -0
  415. package/resources/gofer/gemini/agents/business-metrics-analyzer.md +172 -0
  416. package/resources/gofer/gemini/agents/business-problem-validator.md +171 -0
  417. package/resources/gofer/gemini/agents/codebase-analyzer.md +127 -0
  418. package/resources/gofer/gemini/agents/codebase-locator.md +98 -0
  419. package/resources/gofer/gemini/agents/codebase-pattern-finder.md +183 -0
  420. package/resources/gofer/gemini/agents/comms-writer.md +161 -0
  421. package/resources/gofer/gemini/agents/engineer-review.md +172 -0
  422. package/resources/gofer/gemini/agents/implement-bug-triangulator.md +97 -0
  423. package/resources/gofer/gemini/agents/implement-code-review-council.md +92 -0
  424. package/resources/gofer/gemini/agents/implement-doc-writer.md +92 -0
  425. package/resources/gofer/gemini/agents/implement-error-hardener.md +87 -0
  426. package/resources/gofer/gemini/agents/implement-performance-explorer.md +98 -0
  427. package/resources/gofer/gemini/agents/implement-test-diversifier.md +85 -0
  428. package/resources/gofer/gemini/agents/implement-variant-generator.md +83 -0
  429. package/resources/gofer/gemini/agents/multi-perspective-judge.md +117 -0
  430. package/resources/gofer/gemini/agents/plan-api-comparator.md +93 -0
  431. package/resources/gofer/gemini/agents/plan-architecture-diverger.md +103 -0
  432. package/resources/gofer/gemini/agents/plan-data-model-stress-tester.md +98 -0
  433. package/resources/gofer/gemini/agents/plan-migration-path-finder.md +98 -0
  434. package/resources/gofer/gemini/agents/plan-refactor-rewrite-advisor.md +100 -0
  435. package/resources/gofer/gemini/agents/research-dependency-evaluator.md +109 -0
  436. package/resources/gofer/gemini/agents/research-horizon-scanner.md +103 -0
  437. package/resources/gofer/gemini/agents/research-market-scanner.md +140 -0
  438. package/resources/gofer/gemini/agents/research-perspective-multiplier.md +105 -0
  439. package/resources/gofer/gemini/agents/scope-creep-detector.md +155 -0
  440. package/resources/gofer/gemini/agents/specify-ambiguity-detector.md +98 -0
  441. package/resources/gofer/gemini/agents/specify-journey-stress-tester.md +95 -0
  442. package/resources/gofer/gemini/agents/tasks-cross-cutting-scanner.md +94 -0
  443. package/resources/gofer/gemini/agents/tasks-rollback-planner.md +92 -0
  444. package/resources/gofer/gemini/agents/validate-security-red-team.md +105 -0
  445. package/resources/gofer/gemini/agents/validation-correctness.md +106 -0
  446. package/resources/gofer/gemini/agents/validation-integration.md +132 -0
  447. package/resources/gofer/gemini/agents/validation-performance.md +123 -0
  448. package/resources/gofer/gemini/agents/validation-security.md +118 -0
  449. package/resources/gofer/gemini/agents/validation-standards.md +154 -0
  450. package/resources/gofer/gemini/agents/validation-test-quality.md +149 -0
  451. package/resources/gofer/gemini/agents/visual-bounded-context-writer.md +40 -0
  452. package/resources/gofer/gemini/agents/visual-c4-writer.md +44 -0
  453. package/resources/gofer/gemini/agents/visual-erd-writer.md +36 -0
  454. package/resources/gofer/gemini/agents/visual-heatmap-writer.md +63 -0
  455. package/resources/gofer/gemini/agents/visual-risk-writer.md +64 -0
  456. package/resources/gofer/gemini/commands/gofer/.gitkeep +0 -0
  457. package/resources/gofer/gemini/commands/gofer/0_gofer_start.md +1282 -0
  458. package/resources/gofer/gemini/commands/gofer/0_gofer_start.toml +2 -0
  459. package/resources/gofer/gemini/commands/gofer/0a_problem_validation.md +424 -0
  460. package/resources/gofer/gemini/commands/gofer/0a_problem_validation.toml +2 -0
  461. package/resources/gofer/gemini/commands/gofer/10_gofer_cloud.md +630 -0
  462. package/resources/gofer/gemini/commands/gofer/10_gofer_cloud.toml +2 -0
  463. package/resources/gofer/gemini/commands/gofer/1_gofer_research.md +1154 -0
  464. package/resources/gofer/gemini/commands/gofer/1_gofer_research.toml +2 -0
  465. package/resources/gofer/gemini/commands/gofer/2_gofer_specify.md +855 -0
  466. package/resources/gofer/gemini/commands/gofer/2_gofer_specify.toml +2 -0
  467. package/resources/gofer/gemini/commands/gofer/3_gofer_plan.md +881 -0
  468. package/resources/gofer/gemini/commands/gofer/3_gofer_plan.toml +2 -0
  469. package/resources/gofer/gemini/commands/gofer/4_gofer_tasks.md +743 -0
  470. package/resources/gofer/gemini/commands/gofer/4_gofer_tasks.toml +2 -0
  471. package/resources/gofer/gemini/commands/gofer/5_gofer_implement.md +919 -0
  472. package/resources/gofer/gemini/commands/gofer/5_gofer_implement.toml +2 -0
  473. package/resources/gofer/gemini/commands/gofer/6_gofer_validate.md +2264 -0
  474. package/resources/gofer/gemini/commands/gofer/6_gofer_validate.toml +2 -0
  475. package/resources/gofer/gemini/commands/gofer/7_gofer_save.md +418 -0
  476. package/resources/gofer/gemini/commands/gofer/7_gofer_save.toml +2 -0
  477. package/resources/gofer/gemini/commands/gofer/7a_stakeholder_comms.md +503 -0
  478. package/resources/gofer/gemini/commands/gofer/7a_stakeholder_comms.toml +2 -0
  479. package/resources/gofer/gemini/commands/gofer/8_gofer_branding.md +310 -0
  480. package/resources/gofer/gemini/commands/gofer/8_gofer_branding.toml +2 -0
  481. package/resources/gofer/gemini/commands/gofer/9_gofer_tests.md +553 -0
  482. package/resources/gofer/gemini/commands/gofer/9_gofer_tests.toml +2 -0
  483. package/resources/gofer/gemini/commands/gofer/gofer_bootstrap_workspace.md +143 -0
  484. package/resources/gofer/gemini/commands/gofer/gofer_bootstrap_workspace.toml +2 -0
  485. package/resources/gofer/gemini/commands/gofer/gofer_check_workspace.md +114 -0
  486. package/resources/gofer/gemini/commands/gofer/gofer_check_workspace.toml +2 -0
  487. package/resources/gofer/gemini/commands/gofer/gofer_constitution.md +607 -0
  488. package/resources/gofer/gemini/commands/gofer/gofer_constitution.toml +2 -0
  489. package/resources/gofer/gemini/commands/gofer/gofer_diagnose.md +109 -0
  490. package/resources/gofer/gemini/commands/gofer/gofer_diagnose.toml +2 -0
  491. package/resources/gofer/gemini/commands/gofer/gofer_eai_first_run.md +392 -0
  492. package/resources/gofer/gemini/commands/gofer/gofer_eai_first_run.toml +2 -0
  493. package/resources/gofer/gemini/commands/gofer/gofer_hydrate.md +556 -0
  494. package/resources/gofer/gemini/commands/gofer/gofer_hydrate.toml +2 -0
  495. package/resources/gofer/gemini/commands/gofer/gofer_personality.md +39 -0
  496. package/resources/gofer/gemini/commands/gofer/gofer_personality.toml +2 -0
  497. package/resources/gofer/gemini/commands/gofer/gofer_plan.md +35 -0
  498. package/resources/gofer/gemini/commands/gofer/gofer_plan.toml +2 -0
  499. package/resources/gofer/gemini/commands/gofer/gofer_side.md +40 -0
  500. package/resources/gofer/gemini/commands/gofer/gofer_side.toml +2 -0
  501. package/resources/gofer/gemini/commands/gofer/gofer_spec_summary.md +107 -0
  502. package/resources/gofer/gemini/commands/gofer/gofer_spec_summary.toml +2 -0
  503. package/resources/gofer/gemini/commands/gofer/gofer_tdd.md +107 -0
  504. package/resources/gofer/gemini/commands/gofer/gofer_tdd.toml +2 -0
  505. package/resources/gofer/gemini/commands/gofer/gofer_vocabulary.md +107 -0
  506. package/resources/gofer/gemini/commands/gofer/gofer_vocabulary.toml +2 -0
  507. package/resources/gofer/gemini/commands/gofer/gofer_zoom_out.md +107 -0
  508. package/resources/gofer/gemini/commands/gofer/gofer_zoom_out.toml +2 -0
  509. package/resources/gofer/gemini/commands/gofer/manifest.json +32 -0
  510. package/resources/gofer/gemini/extension.json +16 -0
  511. package/resources/gofer/github-agents/gofer-business.agent.md +20 -0
  512. package/resources/gofer/github-agents/gofer-implement.agent.md +15 -0
  513. package/resources/gofer/github-agents/gofer-plan.agent.md +15 -0
  514. package/resources/gofer/github-agents/gofer-research.agent.md +15 -0
  515. package/resources/gofer/github-agents/gofer-validate.agent.md +10 -0
  516. package/resources/gofer/github-skills/eai-gofer/SKILL.md +56 -0
  517. package/resources/gofer/hook-scripts/agent-stop.mjs +655 -0
  518. package/resources/gofer/hook-scripts/log-stage-launch-time.mjs +77 -0
  519. package/resources/gofer/hook-scripts/post-tool-use.mjs +333 -0
  520. package/resources/gofer/hook-scripts/queued-input.mjs +188 -0
  521. package/resources/gofer/hook-scripts/session-lifecycle.mjs +93 -0
  522. package/resources/gofer/hook-scripts/user-prompt-submit.mjs +228 -0
  523. package/resources/gofer/instruction-templates/base/agents-base.md +37 -0
  524. package/resources/gofer/instruction-templates/base/claude-base.md +7 -0
  525. package/resources/gofer/instruction-templates/base/copilot-base.md +26 -0
  526. package/resources/gofer/instruction-templates/gofer/gofer-claude.md +5 -0
  527. package/resources/gofer/instruction-templates/gofer/gofer-copilot.md +9 -0
  528. package/resources/gofer/instruction-templates/languages/generic.md +7 -0
  529. package/resources/gofer/instruction-templates/languages/go.md +8 -0
  530. package/resources/gofer/instruction-templates/languages/java.md +8 -0
  531. package/resources/gofer/instruction-templates/languages/python.md +9 -0
  532. package/resources/gofer/instruction-templates/languages/rust.md +9 -0
  533. package/resources/gofer/instruction-templates/languages/typescript.md +19 -0
  534. package/resources/gofer/instruction-templates/workflow/principles.md +52 -0
  535. package/resources/gofer/memory/constitution.md +391 -0
  536. package/resources/gofer/memory/context-profiles.yaml +74 -0
  537. package/resources/gofer/memory/decisions/000-use-adr-for-decisions.md +67 -0
  538. package/resources/gofer/memory/decisions/001-di-framework.md +190 -0
  539. package/resources/gofer/memory/decisions/002-module-extraction.md +305 -0
  540. package/resources/gofer/memory/decisions/003-error-handling.md +368 -0
  541. package/resources/gofer/memory/decisions/004-cache-eviction.md +436 -0
  542. package/resources/gofer/memory/decisions/005-constants-management.md +520 -0
  543. package/resources/gofer/memory/decisions/README.md +129 -0
  544. package/resources/gofer/memory/diagrams/di-container.mmd +321 -0
  545. package/resources/gofer/memory/diagrams/extension-activation.mmd +184 -0
  546. package/resources/gofer/memory/diagrams/module-dependencies.mmd +264 -0
  547. package/resources/gofer/memory/gofer-model-policy.yaml +97 -0
  548. package/resources/gofer/memory/lessons.md +46 -0
  549. package/resources/gofer/node-scripts/canonical-descriptions.mjs +86 -0
  550. package/resources/gofer/node-scripts/check-version-alignment.mjs +131 -0
  551. package/resources/gofer/node-scripts/codex-doctor.mjs +425 -0
  552. package/resources/gofer/node-scripts/generate-commands.mjs +1366 -0
  553. package/resources/gofer/node-scripts/generate-issues.js +563 -0
  554. package/resources/gofer/node-scripts/gofer-closed-loop-audit.mjs +893 -0
  555. package/resources/gofer/node-scripts/gofer-loop-audit.mjs +541 -0
  556. package/resources/gofer/node-scripts/gofer-performance-report.mjs +306 -0
  557. package/resources/gofer/node-scripts/gofer-workspace-bootstrap.mjs +56 -0
  558. package/resources/gofer/node-scripts/gofer-workspace-check.mjs +56 -0
  559. package/resources/gofer/node-scripts/lib/ai-leverage-tagger.mjs +103 -0
  560. package/resources/gofer/node-scripts/lib/assemble-stakeholder-pack.mjs +114 -0
  561. package/resources/gofer/node-scripts/lib/marp-deck.mjs +87 -0
  562. package/resources/gofer/node-scripts/lib/mermaid-tabular-fallback.mjs +264 -0
  563. package/resources/gofer/node-scripts/lib/render-visual.mjs +54 -0
  564. package/resources/gofer/node-scripts/lib/validate-aliases.mjs +85 -0
  565. package/resources/gofer/node-scripts/lib/visual-counts.mjs +44 -0
  566. package/resources/gofer/node-scripts/lib/visual-pass-pipeline.mjs +134 -0
  567. package/resources/gofer/node-scripts/mermaid-export.mjs +72 -0
  568. package/resources/gofer/node-scripts/package-agent-plugin.mjs +940 -0
  569. package/resources/gofer/node-scripts/parse-stage-command.mjs +211 -0
  570. package/resources/gofer/node-scripts/schemas/.gitkeep +0 -0
  571. package/resources/gofer/node-scripts/schemas/stage-command.schema.json +72 -0
  572. package/resources/gofer/node-scripts/sync-extension-resources.mjs +110 -0
  573. package/resources/gofer/node-scripts/workspace-bootstrap-lib.mjs +1166 -0
  574. package/resources/gofer/powershell-scripts/install-optional-tools.ps1 +214 -0
  575. package/resources/gofer/references/platform/README.md +17 -0
  576. package/resources/gofer/references/platform/deployment-repo.md +9 -0
  577. package/resources/gofer/references/platform/eai-app-template.md +45 -0
  578. package/resources/gofer/references/platform/eai-config-driven-ui.md +156 -0
  579. package/resources/gofer/references/platform/eai-error-catalog.yaml +197 -0
  580. package/resources/gofer/references/platform/eai-repo-contract.md +134 -0
  581. package/resources/gofer/references/platform/eai-service-patterns.md +56 -0
  582. package/resources/gofer/references/platform/eai.md +85 -0
  583. package/resources/gofer/references/platform/vertical-template.md +49 -0
  584. package/resources/gofer/specify-commands/.gitkeep +0 -0
  585. package/resources/gofer/specify-commands/0_gofer_start.md +1299 -0
  586. package/resources/gofer/specify-commands/0a_problem_validation.md +405 -0
  587. package/resources/gofer/specify-commands/10_gofer_cloud.md +611 -0
  588. package/resources/gofer/specify-commands/1_gofer_research.md +1135 -0
  589. package/resources/gofer/specify-commands/2_gofer_specify.md +836 -0
  590. package/resources/gofer/specify-commands/3_gofer_plan.md +862 -0
  591. package/resources/gofer/specify-commands/4_gofer_tasks.md +724 -0
  592. package/resources/gofer/specify-commands/5_gofer_implement.md +900 -0
  593. package/resources/gofer/specify-commands/6_gofer_validate.md +2245 -0
  594. package/resources/gofer/specify-commands/7_gofer_save.md +399 -0
  595. package/resources/gofer/specify-commands/7a_stakeholder_comms.md +484 -0
  596. package/resources/gofer/specify-commands/8_gofer_branding.md +291 -0
  597. package/resources/gofer/specify-commands/9_gofer_tests.md +534 -0
  598. package/resources/gofer/specify-commands/gofer_bootstrap_workspace.md +159 -0
  599. package/resources/gofer/specify-commands/gofer_check_workspace.md +130 -0
  600. package/resources/gofer/specify-commands/gofer_constitution.md +588 -0
  601. package/resources/gofer/specify-commands/gofer_diagnose.md +89 -0
  602. package/resources/gofer/specify-commands/gofer_eai_first_run.md +392 -0
  603. package/resources/gofer/specify-commands/gofer_hydrate.md +537 -0
  604. package/resources/gofer/specify-commands/gofer_personality.md +61 -0
  605. package/resources/gofer/specify-commands/gofer_plan.md +51 -0
  606. package/resources/gofer/specify-commands/gofer_side.md +56 -0
  607. package/resources/gofer/specify-commands/gofer_spec_summary.md +87 -0
  608. package/resources/gofer/specify-commands/gofer_tdd.md +87 -0
  609. package/resources/gofer/specify-commands/gofer_vocabulary.md +87 -0
  610. package/resources/gofer/specify-commands/gofer_zoom_out.md +87 -0
  611. package/resources/gofer/system-skills/0_gofer_start/SKILL.md +1287 -0
  612. package/resources/gofer/system-skills/0a_problem_validation/SKILL.md +429 -0
  613. package/resources/gofer/system-skills/10_gofer_cloud/SKILL.md +635 -0
  614. package/resources/gofer/system-skills/1_gofer_research/SKILL.md +1159 -0
  615. package/resources/gofer/system-skills/2_gofer_specify/SKILL.md +860 -0
  616. package/resources/gofer/system-skills/3_gofer_plan/SKILL.md +886 -0
  617. package/resources/gofer/system-skills/4_gofer_tasks/SKILL.md +748 -0
  618. package/resources/gofer/system-skills/5_gofer_implement/SKILL.md +924 -0
  619. package/resources/gofer/system-skills/6_gofer_validate/SKILL.md +2269 -0
  620. package/resources/gofer/system-skills/7_gofer_save/SKILL.md +423 -0
  621. package/resources/gofer/system-skills/7a_stakeholder_comms/SKILL.md +508 -0
  622. package/resources/gofer/system-skills/8_gofer_branding/SKILL.md +315 -0
  623. package/resources/gofer/system-skills/9_gofer_tests/SKILL.md +558 -0
  624. package/resources/gofer/system-skills/gofer_bootstrap_workspace/SKILL.md +148 -0
  625. package/resources/gofer/system-skills/gofer_check_workspace/SKILL.md +119 -0
  626. package/resources/gofer/system-skills/gofer_constitution/SKILL.md +612 -0
  627. package/resources/gofer/system-skills/gofer_diagnose/SKILL.md +114 -0
  628. package/resources/gofer/system-skills/gofer_eai_first_run/SKILL.md +397 -0
  629. package/resources/gofer/system-skills/gofer_hydrate/SKILL.md +561 -0
  630. package/resources/gofer/system-skills/gofer_personality/SKILL.md +44 -0
  631. package/resources/gofer/system-skills/gofer_plan/SKILL.md +40 -0
  632. package/resources/gofer/system-skills/gofer_side/SKILL.md +45 -0
  633. package/resources/gofer/system-skills/gofer_spec_summary/SKILL.md +112 -0
  634. package/resources/gofer/system-skills/gofer_tdd/SKILL.md +112 -0
  635. package/resources/gofer/system-skills/gofer_vocabulary/SKILL.md +112 -0
  636. package/resources/gofer/system-skills/gofer_zoom_out/SKILL.md +112 -0
  637. package/resources/gofer/templates/agent-file-template.md +28 -0
  638. package/resources/gofer/templates/assumptions-template.md +94 -0
  639. package/resources/gofer/templates/audit-history-template.md +35 -0
  640. package/resources/gofer/templates/brand/brand-profile-template.json +45 -0
  641. package/resources/gofer/templates/brand/document-style-template.md +50 -0
  642. package/resources/gofer/templates/brand/marp-theme-template.css +58 -0
  643. package/resources/gofer/templates/brownfield-analysis.md +44 -0
  644. package/resources/gofer/templates/business-metrics-template.md +120 -0
  645. package/resources/gofer/templates/business-owner-summary-template.md +83 -0
  646. package/resources/gofer/templates/checklist-template.md +40 -0
  647. package/resources/gofer/templates/ciso-security-summary-template.md +70 -0
  648. package/resources/gofer/templates/context-bundle-template.md +76 -0
  649. package/resources/gofer/templates/contract-pack-template.md +109 -0
  650. package/resources/gofer/templates/cto-architecture-summary-template.md +83 -0
  651. package/resources/gofer/templates/discovery-template.md +92 -0
  652. package/resources/gofer/templates/eai-preflight-template.md +144 -0
  653. package/resources/gofer/templates/goal-ledger-template.json +69 -0
  654. package/resources/gofer/templates/gofer-model-policy.yaml +97 -0
  655. package/resources/gofer/templates/issues-template.md +106 -0
  656. package/resources/gofer/templates/journey/base-journey.md +95 -0
  657. package/resources/gofer/templates/journey/industry-variants.yaml +277 -0
  658. package/resources/gofer/templates/loop-contract-template.json +68 -0
  659. package/resources/gofer/templates/plan-template.md +215 -0
  660. package/resources/gofer/templates/problem-brief-template.md +85 -0
  661. package/resources/gofer/templates/proposal-review-template.md +79 -0
  662. package/resources/gofer/templates/research-template.md +222 -0
  663. package/resources/gofer/templates/reuse-scan-template.md +43 -0
  664. package/resources/gofer/templates/sequence-diagrams/option-spectrum.yaml +178 -0
  665. package/resources/gofer/templates/service-fit-matrix-template.md +29 -0
  666. package/resources/gofer/templates/session-handoff-template.md +172 -0
  667. package/resources/gofer/templates/spec-summary-template.md +118 -0
  668. package/resources/gofer/templates/spec-template.md +196 -0
  669. package/resources/gofer/templates/stakeholder-comms-template.md +330 -0
  670. package/resources/gofer/templates/stakeholder-review-index-template.md +54 -0
  671. package/resources/gofer/templates/tasks-template.md +323 -0
  672. package/resources/gofer/templates/ui-approval-template.md +32 -0
  673. package/resources/gofer/templates/ui-preview-brief-template.md +65 -0
  674. package/resources/gofer/templates/ui-review-log-template.md +11 -0
  675. package/resources/gofer/templates/visuals/.gitkeep +0 -0
  676. package/resources/gofer/templates/visuals/bounded-context-map.md +19 -0
  677. package/resources/gofer/templates/visuals/bounded-context-template.md +47 -0
  678. package/resources/gofer/templates/visuals/c4-container-template.md +38 -0
  679. package/resources/gofer/templates/visuals/c4-container.md +20 -0
  680. package/resources/gofer/templates/visuals/c4-context-template.md +46 -0
  681. package/resources/gofer/templates/visuals/capability-heatmap-template.md +54 -0
  682. package/resources/gofer/templates/visuals/data-model-erd-template.md +41 -0
  683. package/resources/gofer/templates/visuals/erd.md +19 -0
  684. package/resources/gofer/templates/visuals/impact-canvas.md +40 -0
  685. package/resources/gofer/templates/visuals/risk-heatmap-template.md +51 -0
  686. package/resources/gofer/templates/visuals/roi-projection.md +17 -0
  687. package/resources/gofer/templates/visuals/value-stream-asis.md +16 -0
  688. package/resources/gofer/templates/visuals/value-stream-tobe.md +18 -0
  689. package/resources/gofer/templates/working-backwards-prfaq-template.md +165 -0
  690. package/resources/linked-sources.json +25 -0
@@ -0,0 +1,1177 @@
1
+ ---
2
+ name: 1_gofer_research
3
+ description: Deep codebase and technology research for feature implementation
4
+ agent: copilot-workspace
5
+ tools:
6
+ - Read
7
+ - Grep
8
+ - Glob
9
+ - Bash
10
+ - WebSearch
11
+ argument-hint: feature-name-or-description
12
+ gofer:
13
+ workflowProfile: standard
14
+ canonicalSource: .specify/commands/1_gofer_research.md
15
+ canonicalChecksum: 3c8ac46aed7878b648bf178d3dc93c1532bf2102870bb288ecf2dd9e55cb8770
16
+ metadataSource: scripts/generate-commands.ts
17
+ ---
18
+
19
+ ## Workspace Preflight
20
+
21
+ Before doing stage/helper work:
22
+
23
+ 1. Resolve the repository root.
24
+ 2. Check the core Gofer sentinels:
25
+ - `.specify/.gofer-version`
26
+ - `.specify/commands/0_gofer_start.md`
27
+ - `.specify/templates/spec-template.md`
28
+ - `.specify/templates/loop-contract-template.json`
29
+ - `.specify/templates/working-backwards-prfaq-template.md`
30
+ - `.specify/templates/business-owner-summary-template.md`
31
+ - `.specify/templates/cto-architecture-summary-template.md`
32
+ - `.specify/templates/ciso-security-summary-template.md`
33
+ - `.specify/templates/stakeholder-review-index-template.md`
34
+ - `.specify/scripts/bash/create-new-feature.sh`
35
+ - `.specify/scripts/node/parse-stage-command.mjs`
36
+ - `.specify/scripts/node/gofer-loop-audit.mjs`
37
+ - `.specify/scripts/hooks/post-tool-use.mjs`
38
+ - `.specify/scripts/powershell/install-optional-tools.ps1`
39
+ - `.specify/templates/gofer-model-policy.yaml`
40
+ - `.specify/memory/gofer-model-policy.yaml`
41
+ - `.specify/specs/`
42
+ - `.specify/memory/`
43
+ 3. Check host-specific repo-owned files when relevant:
44
+ - Claude: `AGENTS.md`, `CLAUDE.md`, `.claude/settings.json`
45
+ - Codex: `AGENTS.md`
46
+ - Copilot: `.github/copilot-instructions.md`
47
+ - VS Code extension mirrors Claude/Copilot/Gemini resources itself and should still keep the core scaffold healthy
48
+ 4. If the repo already has the workspace checker script, prefer running:
49
+ - `node .specify/scripts/node/gofer-workspace-check.mjs --host copilot --json`
50
+ 5. If the workspace is missing or stale, ask exactly:
51
+ - **"This repo is missing or stale for Gofer. Initialize/update it now?"**
52
+ 6. If the user says yes, run the Gofer workspace bootstrap helper and then resume this command from the top.
53
+ 7. If the user says no, stop and explain that Gofer stage/helper work depends on the repo-owned scaffold.
54
+
55
+
56
+ # Gofer Research
57
+
58
+ ## EAI Platform Session Preflight
59
+
60
+ Before any Gofer stage/helper command does pipeline work:
61
+
62
+ 1. Treat durable delivery as EAI Platform delivery by default, with Azure second
63
+ and every other stack only by explicit exception.
64
+ 2. Run `eai whoami` and confirm the EAI CLI is installed, the user is logged in,
65
+ and an active tenant is visible.
66
+ 3. If `eai` is missing, `eai whoami` fails, the token is expired, or no active
67
+ tenant is available, stop and run `/gofer:eai-first-run` or ask the user to
68
+ approve login/setup before continuing.
69
+ 4. For EAI app delivery, do not continue into research, specification, planning,
70
+ tasks, implementation, or validation until
71
+ `.specify/specs/{feature}/eai-preflight.md` records login, tenant, template,
72
+ app-readiness, and next-action evidence.
73
+ 5. Do not write tokens, secrets, private tenant IDs, or local `.env` values into
74
+ Gofer artifacts; record only product-safe readiness status and evidence.
75
+
76
+ ## Token And Cost Policy
77
+ <!-- gofer:token-cost-policy:start -->
78
+
79
+ Before spawning agents, calling tools, or loading large files:
80
+
81
+ 1. Treat `.specify/memory/gofer-model-policy.yaml` as the repo-owned source of truth for simple, medium, hard, and arbiter model routing. If it is missing, run `/gofer:bootstrap-workspace` before continuing.
82
+ 2. Use the cheapest capable model first.
83
+ - Claude: Haiku for scouting/extraction; Sonnet for normal implementation, synthesis, validation, and security; Opus for high-risk arbitration or release-critical failures.
84
+ - Codex/OpenAI: GPT mini for simple coding; GPT nano only for locate/classify/summarize/mechanical work; GPT-5.3-Codex or flagship GPT for tool-heavy coding, architecture, and release-critical validation.
85
+ - Gemini: Flash-Lite for cheap large-context scan/summarize; Flash for default research synthesis; Pro for large-context architecture or high-risk arbitration.
86
+ - Copilot: prefer Auto for simple and default work; ask the user before choosing a paid/high-tier picker model for hard security, architecture, or release gates.
87
+ 3. Keep raw tool output out of the main conversation context. Save stable findings to `.specify/specs/{feature}/context-bundle.md`, then work from summaries.
88
+ 4. Use provider prompt/context caching only for stable, non-secret prefixes: Gofer scaffold, AGENTS/CLAUDE/Copilot instructions, constitution, repo map, stage contracts, and validation rubric.
89
+ 5. Before continuing after large research, planning, implementation, or validation bursts, checkpoint the durable artifacts and compact/clear/resume context when the host supports it.
90
+ 6. Escalate model tier only when a cheaper pass is low-confidence, contradictory, security-sensitive, or blocking release quality.
91
+ <!-- gofer:token-cost-policy:end -->
92
+
93
+ ## User Input
94
+
95
+ ```text
96
+ $ARGUMENTS
97
+ ```
98
+
99
+ You **MUST** consider the user input before proceeding (if not empty).
100
+
101
+ ## Execution Profile And Public Risk Labels
102
+
103
+ Classify the request before spawning agents. Choose exactly one effective
104
+ execution profile. This is a per-run depth decision: it controls research
105
+ depth, agent fanout, and artifact production for this feature. It does not
106
+ change the repo's broader workflow/content family, such as the optional VS Code
107
+ `gofer.workflowProfile` setting.
108
+
109
+ Use repository-neutral labels only: `docs-only`, `single-repo-code`,
110
+ `cross-repo`, `api-contract`, `auth-security`, `data-model`, `infra-config`,
111
+ `release-critical`, `broad-fanout`, `unknown-blast-radius`, or `unknown`.
112
+
113
+ - **fast**: docs-only, small clarification work, or clearly bounded low-risk
114
+ single-repo work. Use one locator/summarizer, keep existing required
115
+ artifacts concise, and skip optional councils unless evidence contradicts the
116
+ request.
117
+ - **standard**: ordinary single-repository feature work. Standard is the
118
+ catch-all for work that is not fast, full, or dynamic.
119
+ - **full**: bounded high-risk work such as known cross-repo impact, API
120
+ contracts, auth/security, data model, infra/config, release risk, or migration
121
+ risk. Use specialist fan-out, explicit evidence, blast-radius notes, and
122
+ richer test/release obligations.
123
+ - **dynamic**: explicit dynamic workflow requests, workspace-wide
124
+ audits/sweeps/migrations, unknown blast radius, broad fanout, or work spanning
125
+ more than three repos/workstreams. Do not launch broad shard fanout during
126
+ research; identify shard candidates and confirmation gates first.
127
+
128
+ Use this priority order so profiles are mutually exclusive and collectively
129
+ exhaustive: dynamic first, then full, then fast, then standard as the catch-all.
130
+ Users may request a deeper profile. Do not run below the computed
131
+ `profileFloor` without explicit approval.
132
+
133
+ Record the decision in `.specify/specs/{feature}/execution-profile.md` with
134
+ frontmatter fields: `classificationVersion`, `requestedProfile`,
135
+ `profileFloor`, `effectiveProfile`, `riskLabels`, `overrideStatus`,
136
+ `requiresConfirmation`, and `classificationReason`. If `dynamic` is selected by
137
+ the classifier but was not explicitly requested, set `requiresConfirmation:
138
+ true` and stop for confirmation before broad fanout work.
139
+
140
+ Artifact-churn rule: preserve existing required artifacts, but do not create
141
+ large optional diagrams, councils, issue lists, workflow DAGs, or extended
142
+ reports unless the classified risk or user request justifies them. Mark weak
143
+ claims as inferred or unknown instead of inventing certainty.
144
+
145
+ ## Outline
146
+
147
+ This is the **first stage** of the unified Gofer pipeline. Your job is to:
148
+
149
+ 1. Check context health
150
+ 2. Understand what the user wants to build
151
+ 3. Research the codebase to find where it should be implemented
152
+ 4. Identify patterns, existing code, and integration points
153
+ 5. Document technology decisions, business scenarios, and architecture options
154
+ 6. Prepare any supporting review context needed before specification begins
155
+
156
+ **Output**:
157
+
158
+ - `.specify/specs/{feature}/research.md`
159
+ - `.specify/specs/{feature}/goal-ledger.json`
160
+ - `.specify/specs/{feature}/loop-contract.json`
161
+ - `.specify/specs/{feature}/working-backwards-prfaq.md`
162
+ - `.specify/specs/{feature}/prfaq-history/01-research.md`
163
+ - `.specify/specs/{feature}/business-owner-summary.md` (draft; mark missing inputs pending)
164
+ - `.specify/specs/{feature}/stakeholder-review-index.md`
165
+ - `.specify/specs/{feature}/proposal-review.md` (optional supporting review context)
166
+ - `.specify/specs/{feature}/journeys/base-journey.md` (application delivery default)
167
+ - `.specify/specs/{feature}/eai-preflight.md` (EAI app delivery default)
168
+ - `.specify/specs/{feature}/ui-preview-brief.md` (application delivery default)
169
+ - `.specify/specs/{feature}/context-bundle.md` (EnterpriseAI profile only)
170
+ - `.specify/specs/{feature}/reuse-scan.md` (EnterpriseAI profile only)
171
+
172
+ ---
173
+
174
+ ## Step 0: Context Health Check
175
+
176
+ Before starting research, assess context window health:
177
+
178
+ ```bash
179
+ .specify/scripts/bash/check-context-health.sh
180
+ ```
181
+
182
+ - If **< 50%**: Proceed normally
183
+ - If **50-70%**: Consider compacting after this stage completes
184
+ - If **> 70%**: Start a new session with a handoff summary
185
+
186
+ Research is typically the heaviest context stage - monitor usage.
187
+
188
+ ---
189
+
190
+ ## Step 0.5: Load Discovery Context (If Available)
191
+
192
+ Check if discovery.md exists for this feature:
193
+
194
+ ```bash
195
+ ls -la .specify/specs/{feature}/discovery.md 2>/dev/null
196
+ ls -la .specify/specs/{feature}/eai-preflight.md 2>/dev/null
197
+ ```
198
+
199
+ If discovery.md exists:
200
+
201
+ 1. **Load the discovery findings** to inform research focus:
202
+ - Problem Statement → Focus research on solving this specific problem
203
+ - Target Users → Research UX patterns appropriate for these users
204
+ - Value Proposition → Research metrics and measurement approaches
205
+ - Competitive Analysis → If researched, focus on differentiation
206
+ - Application Classification → Determine whether a four-step AI-augmented
207
+ app journey is required
208
+ - AI-Augmented Journey → If app delivery, preserve the four-step-or-fewer
209
+ journey as the scope spine for research
210
+ - EAI Preflight → If present, preserve CLI install/login/tenant/template/app
211
+ readiness decisions and do not re-ask for information already confirmed
212
+ - Shared numbered-stage contract → if non-app, preserve the current shared
213
+ stages without adding app-only preview or service-fit requirements
214
+
215
+ 2. **Use discovery to guide agent prompts**:
216
+ - Codebase Locator: Focus on areas related to the discovered problem
217
+ - Codebase Analyzer: Analyze patterns relevant to target users
218
+ - Pattern Finder: Find examples that deliver similar value
219
+ - AI Pattern Finder: Find existing chatbot, voice, accessibility,
220
+ translation, contextual prefill, recommendation, validation, or
221
+ human-review patterns that can support each journey step
222
+
223
+ 3. **Load discovery memories** via MemoryManager if available:
224
+ ```
225
+ Category: 'discovery'
226
+ Tags: ['#feature-{id}']
227
+ ```
228
+
229
+ If no discovery.md exists, proceed with standard research flow.
230
+
231
+ ---
232
+
233
+ ## Step 1: Get Feature Context
234
+
235
+ If no feature description provided in $ARGUMENTS:
236
+
237
+ 1. Ask: **"What feature or change would you like to work on?"**
238
+ 2. Wait for user response
239
+
240
+ Once you have the feature description:
241
+
242
+ 1. **Generate a short name** (2-4 words) for the feature
243
+ 2. Run `.specify/scripts/bash/create-new-feature.sh --json "$DESCRIPTION"` with
244
+ `--short-name "your-short-name"` to create the feature directory
245
+ 3. Parse JSON output for FEATURE_DIR and BRANCH_NAME
246
+
247
+ ---
248
+
249
+ ## Step 2: Spawn Parallel Research Agents
250
+
251
+ **CRITICAL**: You **MUST** launch these agents using the Task tool. Do NOT
252
+ perform this research work inline in the main context. The main context should
253
+ only orchestrate and review agent outputs.
254
+
255
+ ### Agent 1: Codebase Locator
256
+
257
+ ```
258
+ Task: subagent_type="codebase-locator", model="haiku"
259
+ Prompt: "Find all code related to [FEATURE AREA] in this codebase.
260
+ Identify: entry points, related files, directory structure, key classes/functions.
261
+ Focus on: [specific aspects from user's description]"
262
+ ```
263
+
264
+ ### Agent 2: Codebase Analyzer
265
+
266
+ ```
267
+ Task: subagent_type="codebase-analyzer", model="sonnet"
268
+ Prompt: "Analyze how [RELATED FUNCTIONALITY] is implemented in this codebase.
269
+ Explain: architecture patterns, data flow, key abstractions.
270
+ Focus on: [how similar features work]"
271
+ ```
272
+
273
+ ### Agent 3: Pattern Finder
274
+
275
+ ```
276
+ Task: subagent_type="codebase-pattern-finder", model="haiku"
277
+ Prompt: "Find examples of [PATTERN TYPE] in this codebase.
278
+ Show: similar implementations we should model after.
279
+ Include: file paths, code snippets, conventions used."
280
+ ```
281
+
282
+ **Run all three agents in parallel** for maximum efficiency in standard/full
283
+ mode. In fast mode, collapse this into one concise locator/summarizer unless
284
+ the feature touches a full-depth risk label. In dynamic mode, do not start broad
285
+ fanout yet; have these agents identify candidate shards, unresolved ownership,
286
+ and evidence needed before P3 builds the workflow DAG.
287
+
288
+ ---
289
+
290
+ ## Step 2.5: Multi-Perspective Research (Optional)
291
+
292
+ After the core research agents complete, optionally run additional perspective
293
+ strategies for deeper analysis. **Skip this step if the feature is
294
+ straightforward or time-constrained.** For dynamic mode, use this step to test
295
+ the proposed shard boundaries and stop conditions, not to execute the shards.
296
+
297
+ ### Strategy #6: Research Perspective Multiplier
298
+
299
+ When the feature involves complex integration or unfamiliar territory, spawn 5
300
+ perspective agents:
301
+
302
+ ```
303
+ Task: subagent_type="research-perspective-multiplier", model="haiku"
304
+ Prompt: "Research [TOPIC] from perspective [1-5].
305
+ Perspective 1: Existing codebase patterns
306
+ Perspective 2: Open-source project approaches
307
+ Perspective 3: Latest documentation/guides
308
+ Perspective 4: Anti-patterns to avoid
309
+ Perspective 5: Emerging approaches
310
+ Context: [summary of feature and existing research findings]"
311
+ ```
312
+
313
+ Run all 5 perspectives in parallel, then synthesize with judge:
314
+
315
+ ```
316
+ Task: subagent_type="multi-perspective-judge", model="opus"
317
+ Prompt: "Judge verdict type: research synthesis.
318
+ Synthesize these 5 research perspectives into a unified recommendation.
319
+ [paste all 5 agent outputs]"
320
+ ```
321
+
322
+ ### Strategy #9: Dependency Evaluator
323
+
324
+ When the research proposes new dependencies, evaluate each one:
325
+
326
+ ```
327
+ Task: subagent_type="research-dependency-evaluator", model="haiku"
328
+ Prompt: "Evaluate [LIBRARY NAME] from perspective [1-3].
329
+ Perspective 1: Evaluate the proposed library
330
+ Perspective 2: Find alternatives
331
+ Perspective 3: Estimate building without it
332
+ Needed functionality: [what we need from it]"
333
+ ```
334
+
335
+ Run all 3 perspectives in parallel, then synthesize with judge:
336
+
337
+ ```
338
+ Task: subagent_type="multi-perspective-judge", model="opus"
339
+ Prompt: "Judge verdict type: dependency decision.
340
+ Decide whether to adopt, find alternative, or build in-house.
341
+ [paste all 3 agent outputs]"
342
+ ```
343
+
344
+ ### Strategy #20: Technology Horizon Scanner
345
+
346
+ For features touching evolving technology areas:
347
+
348
+ ```
349
+ Task: subagent_type="research-horizon-scanner", model="haiku"
350
+ Prompt: "Scan for emerging alternatives and approaches relevant to [TOPIC].
351
+ Current approach: [what we're considering]
352
+ Tech stack: [relevant technologies]"
353
+ ```
354
+
355
+ This is a single agent — no judge synthesis needed. Include findings in the
356
+ research document.
357
+
358
+ ---
359
+
360
+ ## Step 3: Technology Research
361
+
362
+ While waiting for agents, research any technology questions:
363
+
364
+ 1. **Identify unknowns** from the feature description:
365
+ - New libraries or frameworks needed?
366
+ - Integration patterns to research?
367
+ - Best practices to follow?
368
+
369
+ 2. **Research each unknown** (use WebSearch if needed):
370
+ - Decision: [what to use]
371
+ - Rationale: [why chosen]
372
+ - Alternatives: [what else considered]
373
+
374
+ ---
375
+
376
+ ## Step 3.5: Competitive Analysis Stage Flag (Optional, Run-Level)
377
+
378
+ Before drafting `research.md`, resolve competitive-analysis behavior for the
379
+ run:
380
+
381
+ - Treat competitive analysis as an explicit stage flag:
382
+ `includeCompetitiveAnalysis` (alias: `competitiveAnalysisEnabled`).
383
+ - Default for `workflowProfile=enterpriseai`: `includeCompetitiveAnalysis=true`.
384
+ - Allow per-run override to disable competitive analysis without blocking the
385
+ rest of the pipeline.
386
+ - Always generate `business-analysis.md` for EnterpriseAI runs.
387
+ - Always generate `market-analysis.md` for EnterpriseAI runs.
388
+ - When competitive analysis is disabled:
389
+ - Record `competitiveAnalysisEnabled=false` in research outputs.
390
+ - Keep `market-analysis.md` as a baseline traceability artifact with
391
+ disabled-state messaging (no comparative metrics).
392
+ - Continue to `#2_gofer_specify` normally (no stage failure).
393
+
394
+ When enabled, `market-analysis.md` must include:
395
+
396
+ - At least 3 alternatives.
397
+ - Explicit EnterpriseAI-selected direction rationale.
398
+ - Traceability indicators for downstream `spec.md` and `plan.md` references.
399
+
400
+ ---
401
+
402
+ ## Step 3.6: Context Bundle and Reuse-Before-Create Scan
403
+
404
+ The standard Gofer workflow is the public default. When `workflowProfile` is
405
+ explicitly `enterpriseai`, generate:
406
+
407
+ 1. `{FEATURE_DIR}/context-bundle.md`
408
+ - Feature summary and approved business scenario.
409
+ - Application classification: app delivery or non-app work, with rationale.
410
+ - Four-step-or-fewer AI-augmented journey summary when app delivery applies.
411
+ - AI-readable blocks bridge summary: external/internal/hybrid profile
412
+ choice, package lane, coupling status, public-readiness target, and block
413
+ porting posture.
414
+ - Relevant existing specs, code paths, platform references, and API surfaces.
415
+ - EAI preflight summary: CLI version, login/account status, tenant readiness,
416
+ template initialization state, app enrollment readiness, block catalog
417
+ readiness, and next action. Do not include tokens, secrets, tenant-private
418
+ payloads, or `.env.local` values.
419
+ - EnterpriseAI object types, tenant assumptions, deployment target, and
420
+ validation criteria.
421
+ - A compact "what the next agent needs" section to avoid dumping entire
422
+ source files into later stages.
423
+ 2. `{FEATURE_DIR}/reuse-scan.md`
424
+ - Existing object types, APIs/events, workflows, modules, specs, and
425
+ reference implementations that may satisfy the need.
426
+ - Existing AI assistance capabilities: chat, voice, accessibility,
427
+ translation, contextual prefill, recommendation, validation, completion
428
+ checks, audit logging, and escalation.
429
+ - Existing UI block/package assets, Storybook story IDs, theme override
430
+ points, and source-platform dependencies that affect reuse, porting, or decoupling.
431
+ - EAI Platform/Azure stack fit for every app-delivery capability. Treat EAI
432
+ Platform services as primary evidence, Azure as the preferred supporting
433
+ substrate, and unrelated app stacks as exceptions only.
434
+ - Decision for each candidate: reuse, extend, or create new.
435
+ - Rationale, evidence path, and stakeholder/architecture owner if a new
436
+ platform concept is recommended.
437
+ 3. `{FEATURE_DIR}/ui-preview-brief.md` (application delivery only)
438
+ - MVP preview scope: target users, must-have screens, target workflow, and
439
+ the smallest useful UI slice to show first.
440
+ - Package profile: selected external/internal/hybrid profile choice, package
441
+ lane, coupling status, public-readiness target, and why that lane is
442
+ appropriate for this feature.
443
+ - EAI App Template constraint map: which approved template blocks or layout
444
+ patterns the preview should use before any create-new UI concept is
445
+ considered.
446
+ - Block catalog evidence: run `eai --describe`, `eai blocks list`,
447
+ `eai blocks describe <id>` for each candidate, and
448
+ `eai resources schema --format json`; record stable block IDs, required resources,
449
+ data/action bindings, Storybook story IDs, theme override points, package
450
+ lane, coupling status, and any custom-block exception that needs approval.
451
+ - Block porting and source-platform decoupling evidence: identify whether
452
+ each selected block is reused as-is, ported into a package lane, or
453
+ blocked by source-platform coupling; define the adapter/resource-schema
454
+ boundary for any decoupling work.
455
+ - Public-readiness evidence: for external or hybrid profiles, capture package
456
+ exports, consumer-facing constraints, accessibility/theming expectations,
457
+ and what still prevents public consumption.
458
+ - Branding inputs: whether client styling, logos, colors, copy tone, or
459
+ other corporate-brand artifacts must be applied.
460
+ - Preview validation plan: what screenshot, browser-render, or
461
+ Playwright-style self-review evidence must exist before Gofer presents the
462
+ preview to the stakeholder.
463
+ - Non-app runs MUST skip this artifact and record "Not applicable" in
464
+ `research.md`.
465
+ 4. `{FEATURE_DIR}/eai-preflight.md` (EAI app delivery only, created by
466
+ `#0_gofer_start` when possible and updated here when missing or stale)
467
+ - Verify the safe public EAI source set used for research:
468
+ `https://eai-tools.github.io/eai/docs/overview`,
469
+ `https://eai-tools.github.io/eai/docs/api-reference`,
470
+ `https://eai-tools.github.io/eai/registry/`,
471
+ `https://eai-tools.github.io/eai/scenarios`, and
472
+ `https://github.com/eai-tools/eai-app-template`.
473
+ - Record whether `eai --describe` found the expected scaffolding,
474
+ authentication, tenant, app, resource schema, workflow
475
+ readiness, block catalog, diagnostics, Gofer-refresh, and template-check
476
+ commands.
477
+ - Record whether `eai update --check` reports the installed CLI is current
478
+ or requires an upgrade before app delivery proceeds.
479
+ - Record whether the app template markers exist:
480
+ `src/eai.config/object-types.ts`, `src/eai.config/register.ts`,
481
+ `.env.example`, `.npmrc`, and `package.json`.
482
+ - Record whether the current repo is ready for `eai verify`, needs
483
+ `eai init <app-name>`, or must avoid scaffolding because it is a non-empty
484
+ non-EAI repo.
485
+ - Record whether `eai template check --format json` and `eai gofer refresh
486
+ --check --format json` succeed, report drift, or return `E001` because the
487
+ repo is not yet an EAI app project.
488
+ - Record the app stack policy decision: EAI Platform including the EAI app
489
+ template first, Azure second, or approved non-EAI exception.
490
+ - Record the selected package profile and block-catalog readiness evidence
491
+ from `eai blocks list`, `eai blocks readiness`, and selected
492
+ `eai blocks describe <id>` calls.
493
+ - Record resource provisioning state, object-type publish state,
494
+ schema/storage health state, workflow readiness, last completed gate,
495
+ blocked gate, and next recovery command so later stages inherit the real
496
+ platform lifecycle instead of guessing.
497
+ - Use `.specify/references/platform/eai-repo-contract.md` and
498
+ `.specify/references/platform/eai-error-catalog.yaml` whenever recovery,
499
+ command ordering, or drift handling is unclear.
500
+ - Record only product-safe status labels such as `ready`,
501
+ `account_required`, `login_required`, `tenant_required`,
502
+ `operator_required`, `template_required`, `user_confirmation_required`,
503
+ or `not_applicable`.
504
+
505
+ Do not recommend a new EnterpriseAI object type, API/event, workflow, or module
506
+ until the reuse-before-create scan is complete. Do not recommend a non-EAI app
507
+ runtime, database, hosting platform, or primary service as the default app
508
+ substrate; use it only as an explicit integration/migration reference or
509
+ approved exception after the EAI Platform/Azure fit has been evaluated.
510
+
511
+ ---
512
+
513
+ ## Step 4: Synthesize Findings
514
+
515
+ Once all agents complete:
516
+
517
+ 1. **Compile findings** from all sources
518
+ 2. **Identify key integration points** in the codebase
519
+ 3. **Document patterns to follow** from existing code
520
+ 4. **Note constraints and considerations**
521
+ 5. **Distill business scenario options and architecture recommendations** for
522
+ user review before specification
523
+
524
+ ### Structured Discovery Outputs (MANDATORY)
525
+
526
+ `research.md` MUST include all of the following in explicit sections:
527
+
528
+ 1. **Structured Problem Statement**
529
+ - Problem summary
530
+ - Current state friction
531
+ - Desired EnterpriseAI-oriented outcome
532
+ 2. **Structured Target Persona**
533
+ - Primary persona name/role
534
+ - Skill level (novice/intermediate/advanced)
535
+ - Primary needs and constraints
536
+ 3. **Structured Value Proposition**
537
+ - Primary value delivered
538
+ - Quantified or measurable goal
539
+ - Why this should be EnterpriseAI-first
540
+ 4. **Application-Delivery Gate Summary** (app delivery only)
541
+ - Preview-first rationale and the smallest useful MVP to show first
542
+ - EAI App Template reuse constraints and any approved extension gaps
543
+ - External/internal/hybrid profile choice, package lane, coupling status,
544
+ public-readiness target, block-porting needs, and source-platform decoupling status
545
+ - Candidate capability-discovery inputs for the later service-fit gate
546
+ - Non-app runs must explicitly state "Not applicable"
547
+ 5. **Goal Ledger Seed**
548
+ - Goal IDs, business outcomes, metrics, targets, owners, and confidence
549
+ - Delivery states for any capability that starts mock/hybrid before going live
550
+ - Re-loop triggers for objective drift, assumption expiry, contract drift,
551
+ UX scope changes, and post-validation code/test movement
552
+ 6. **Loop Contract Seed**
553
+ - Initialize `{FEATURE_DIR}/loop-contract.json` if it is missing:
554
+ `node .specify/scripts/node/gofer-loop-audit.mjs --feature-dir {FEATURE_DIR} --stage 1_research --init --json`
555
+ - Align the loop objective, maximum iterations, evaluation commands, success
556
+ criteria, stop conditions, and human escalation rules with the research
557
+ risk profile.
558
+ - Keep the default contract for ordinary work, but tighten it for
559
+ release-critical, security, data, auth, platform, or cross-repo work.
560
+
561
+ ### Novice Walkthrough Guardrail (MANDATORY)
562
+
563
+ Assume a novice user can read only in-repo/generated artifacts.
564
+
565
+ - Do not require external docs to understand or act on research output.
566
+ - Explain terms and recommendations in plain language before advanced details.
567
+
568
+ ---
569
+
570
+ ## Step 4.5: Generate Research Visuals (Persona Pack — US4)
571
+
572
+ After synthesis, dispatch the visual writers in parallel to produce the
573
+ research-stage visuals. These run AFTER research findings are compiled so they
574
+ can cite real integration points and capability mentions, but BEFORE
575
+ `research.md` is finalized so the writers can append cross-references to the
576
+ generated artefacts.
577
+
578
+ Run two sub-agents concurrently:
579
+
580
+ 1. **`visual-c4-writer`** (Context level only at this stage)
581
+ - Inputs:
582
+ - `<feature_dir>/research.md` (working draft)
583
+ - `<feature_dir>/discovery.md` (if present)
584
+ - Template: `.specify/templates/visuals/c4-context-template.md`
585
+ - Output: `<feature_dir>/visuals/c4-context.md`
586
+ - Required: Mermaid `C4Context` block with named external systems and at
587
+ least one Person; plain-language preamble ≥30 ≤200 words.
588
+
589
+ 2. **`visual-heatmap-writer`** (Capability heatmap)
590
+ - Inputs:
591
+ - `<feature_dir>/research.md` (working draft)
592
+ - Template: `.specify/templates/visuals/capability-heatmap-template.md`
593
+ - Output: `<feature_dir>/visuals/capability-heatmap.md`
594
+ - Required: Mermaid `quadrantChart` placing each capability on maturity ×
595
+ strategic-value axes plus tabular complement listing touched / extended /
596
+ replaced capabilities.
597
+
598
+ Both writers must honour the ≥30 ≤200 word plain-language preamble rule
599
+ (NFR-010). If a renderer fails downstream, the `mermaid-tabular-fallback.mjs`
600
+ helper provides a markdown-table replacement without losing information.
601
+
602
+ Cross-reference the generated artefacts from `research.md` (Step 5) under a new
603
+ `## Visuals` section.
604
+
605
+ ---
606
+
607
+ ## Step 5: Generate Research Document
608
+
609
+ Write to `{FEATURE_DIR}/research.md`:
610
+
611
+ ````markdown
612
+ ---
613
+ date: [ISO timestamp]
614
+ researcher: Gofer
615
+ feature: '[Feature Name]'
616
+ status: complete
617
+ ---
618
+
619
+ # Research: [Feature Name]
620
+
621
+ ## Feature Summary
622
+
623
+ [Brief description of what we're building]
624
+
625
+ ## Goal Ledger Seed
626
+
627
+ Reference `.specify/specs/{feature}/goal-ledger.json` and capture:
628
+
629
+ - Goal IDs with business outcomes, metrics, targets, owners, and confidence
630
+ - Delivery-state discipline (`mock`, `hybrid`, `live`) for each risky capability
631
+ - Re-loop triggers that should reopen `#2_gofer_specify`, `#3_gofer_plan`,
632
+ `#4_gofer_tasks`, or `#6_gofer_validate`
633
+
634
+ ## Loop Contract Seed
635
+
636
+ Reference `.specify/specs/{feature}/loop-contract.json` and capture:
637
+
638
+ - The current feature objective in one measurable sentence
639
+ - Evaluation commands that must pass before implementation and validation close
640
+ - Maximum check-repair iterations before human escalation
641
+ - Stop conditions that define when Gofer should stop looping
642
+
643
+ ## Structured Discovery Output
644
+
645
+ ### Problem Statement
646
+
647
+ - **Problem**: [What is not working today]
648
+ - **Current State Friction**: [Where users lose time/quality]
649
+ - **Desired EnterpriseAI Outcome**: [What success looks like in EAI terms]
650
+
651
+ ### Target Persona
652
+
653
+ - **Primary Persona**: [Name/role]
654
+ - **Skill Level**: [novice/intermediate/advanced]
655
+ - **Top Needs**: [Need 1, Need 2, Need 3]
656
+ - **Constraints**: [Constraints that shape delivery]
657
+
658
+ ### Value Proposition
659
+
660
+ - **Primary Value**: [Core value delivered]
661
+ - **Measurable Goal**: [Quantified target]
662
+ - **EnterpriseAI-First Rationale**: [Why EAI is the primary fit]
663
+ - **EAI Platform/Azure Stack Fit**: [EAI services and Azure capabilities to use;
664
+ exceptions only if approved]
665
+
666
+ ## Context Bundle Summary
667
+
668
+ - **Relevant Specs**: [Existing specs to carry forward]
669
+ - **Relevant Code Paths**: [Files/directories and why they matter]
670
+ - **EnterpriseAI Object Types**: [Known or candidate object types]
671
+ - **EAI Platform Services and Azure Capabilities**: [Primary platform services,
672
+ supporting Azure services, and any blocked capabilities]
673
+ - **Tenant and Deployment Assumptions**: [Tenant, identity, runtime, target environment]
674
+ - **Validation Criteria**: [Business, security, data, architecture, and operational checks]
675
+
676
+ ## Reuse-Before-Create Scan
677
+
678
+ | Candidate | Existing Evidence | Decision | Rationale | Owner |
679
+ | --------- | ----------------- | -------- | --------- | ----- |
680
+ | [Object type/API/workflow/module/spec] | [Path or reference] | Reuse/Extend/Create New | [Why] | [Owner] |
681
+
682
+ ## Business Scenario Analysis
683
+
684
+ ### Scenario Options Considered
685
+
686
+ | Scenario | User/Business Fit | Delivery Trade-off | Recommendation |
687
+ | ---------- | ----------------- | ------------------ | -------------- |
688
+ | [Option 1] | [Why it fits] | [Cost/complexity] | [Adopt/defer] |
689
+ | [Option 2] | [Why it fits] | [Cost/complexity] | [Adopt/defer] |
690
+
691
+ ### Recommended Scenario
692
+
693
+ [Which scenario should move forward into specification and why]
694
+
695
+ ## Codebase Analysis
696
+
697
+ ### Where to Implement
698
+
699
+ | Component | Location | Purpose |
700
+ | ------------- | ----------------- | -------------- |
701
+ | [Component 1] | `path/to/file.ts` | [What it does] |
702
+ | [Component 2] | `path/to/dir/` | [What it does] |
703
+
704
+ ### Existing Patterns to Follow
705
+
706
+ #### Pattern 1: [Name]
707
+
708
+ Found in: `path/to/example.ts:45-67`
709
+
710
+ ```typescript
711
+ // Example code showing the pattern
712
+ ```
713
+ ````
714
+
715
+ Why relevant: [Explanation]
716
+
717
+ #### Pattern 2: [Name]
718
+
719
+ ...
720
+
721
+ ### Integration Points
722
+
723
+ 1. **[Integration 1]**: How to connect with existing code
724
+ 2. **[Integration 2]**: ...
725
+
726
+ ### Related Code
727
+
728
+ - `path/file.ts:123` - [Description]
729
+ - `path/other.ts:45` - [Description]
730
+
731
+ ## Technology Decisions
732
+
733
+ ### Decision 1: [Topic]
734
+
735
+ - **Choice**: [What we'll use]
736
+ - **Rationale**: [Why]
737
+ - **Alternatives considered**: [What else]
738
+
739
+ ### Decision 2: [Topic]
740
+
741
+ ...
742
+
743
+ ## Recommended Architecture Direction
744
+
745
+ ### Recommended Architecture
746
+
747
+ [Plain-language summary of the architecture direction this feature should use]
748
+
749
+ ### Architecture Options Considered
750
+
751
+ | Option | Why choose it | Why not choose it now |
752
+ | ---------- | ------------- | --------------------- |
753
+ | [Option 1] | [Benefit] | [Trade-off] |
754
+ | [Option 2] | [Benefit] | [Trade-off] |
755
+
756
+ ## Constraints & Considerations
757
+
758
+ - [Constraint 1]: [Impact on implementation]
759
+ - [Constraint 2]: ...
760
+
761
+ ## Open Questions
762
+
763
+ - [ ] [Question needing user input]
764
+ - [ ] [Another question]
765
+
766
+ ## Recommendations
767
+
768
+ 1. [Key recommendation for implementation]
769
+ 2. [Another recommendation]
770
+
771
+ `````
772
+
773
+ ---
774
+
775
+ ## Step 5.5: Generate Supporting Proposal Review Document
776
+
777
+ Write to `{FEATURE_DIR}/proposal-review.md`:
778
+
779
+ ````markdown
780
+ ---
781
+ feature: '[Feature Name]'
782
+ created: [ISO timestamp]
783
+ status: supporting_context
784
+ recommendedScenario: '[short label]'
785
+ recommendedArchitecture: '[short label]'
786
+ selectedOption: ''
787
+ approvedBy: ''
788
+ approvedAt: ''
789
+ ---
790
+
791
+ # Proposal Review: [Feature Name]
792
+
793
+ ## What We Found
794
+
795
+ [Short, evidence-backed summary of the research findings]
796
+
797
+ ## Business Scenarios Considered
798
+
799
+ | Scenario | User Value | Delivery Trade-off | Recommendation |
800
+ | -------- | ---------- | ------------------ | -------------- |
801
+ | [Option 1] | [Value] | [Trade-off] | [Adopt/defer] |
802
+ | [Option 2] | [Value] | [Trade-off] | [Adopt/defer] |
803
+
804
+ ## Recommended Business Scenario
805
+
806
+ [What should be specified next and why]
807
+
808
+ ## Technology Architecture Recommendation
809
+
810
+ ### Recommended Architecture
811
+
812
+ [Plain-language architecture direction]
813
+
814
+ ### Architecture Options
815
+
816
+ | Option | Why choose it | Why not choose it now |
817
+ | ------ | ------------- | --------------------- |
818
+ | [Option 1] | [Benefit] | [Trade-off] |
819
+ | [Option 2] | [Benefit] | [Trade-off] |
820
+
821
+ ## Key Decisions and Why
822
+
823
+ - [Decision]: [Rationale]
824
+ - [Decision]: [Rationale]
825
+
826
+ ## What Can Change Before Specification
827
+
828
+ - Scope changes the user may request
829
+ - Architecture changes the user may request
830
+ - Options that can be revisited before writing spec.md
831
+
832
+ ## Open Questions
833
+
834
+ - [ ] [Question needing user input]
835
+ - [ ] [Another question]
836
+
837
+ ## User Feedback and Overrides
838
+
839
+ - Pending user review
840
+
841
+ ## Approval
842
+
843
+ - Status: supporting_context
844
+ - Next action: carry any user feedback into `#2_gofer_specify`
845
+ `````
846
+
847
+ ---
848
+
849
+ ## Step 6: Review, Discuss, and Hand Off To Specification
850
+
851
+ Before presenting the handoff, update the stakeholder-facing product release
852
+ PR/FAQ artifacts:
853
+
854
+ 1. Create or update `{FEATURE_DIR}/working-backwards-prfaq.md` from
855
+ `.specify/templates/working-backwards-prfaq-template.md`.
856
+ - Fill the Press Release with the best current customer problem, launch
857
+ promise, customer benefit, and "How To Get Started" story from research.
858
+ - Fill External FAQ with researched customer/process evidence and mark
859
+ unknown claims as `Pending research validation` instead of inventing them.
860
+ - Fill Internal FAQ Business Owner and CTO sections with research options,
861
+ platform constraints, and architecture trade-offs.
862
+ 2. Write an immutable snapshot to
863
+ `{FEATURE_DIR}/prfaq-history/01-research.md`.
864
+ 3. Create or update `{FEATURE_DIR}/business-owner-summary.md` from
865
+ `.specify/templates/business-owner-summary-template.md` using
866
+ `problem-brief.md`, `discovery.md`, `research.md`, value-stream, and ROI
867
+ evidence when present. If `spec-summary.md` or `business-metrics.md` does
868
+ not exist yet, keep the relevant rows and mark status `Pending /2 or /7a`.
869
+ 4. Update `{FEATURE_DIR}/stakeholder-review-index.md` from
870
+ `.specify/templates/stakeholder-review-index-template.md` and mark the
871
+ Business Owner and CTO review asks that should be answered before or during
872
+ `#2_gofer_specify`.
873
+
874
+ After saving `research.md`, `goal-ledger.json`, `proposal-review.md`, and the
875
+ PR/FAQ review artifacts:
876
+
877
+ 1. **Present summary** to user:
878
+ - What was found
879
+ - Business scenarios considered
880
+ - Recommended business scenario
881
+ - Recommended architecture direction
882
+ - Options and trade-offs
883
+ - Any open questions needing input
884
+
885
+ 2. **Ask focused follow-up questions only if needed**:
886
+ - Clarify the preferred business scenario if the research found real alternatives
887
+ - Clarify the preferred architecture direction if the trade-off is still ambiguous
888
+ - Confirm whether the user wants to stop after research or continue into specification
889
+
890
+ 3. **Run architecture questions one-by-one (MANDATORY when architecture options
891
+ exist)**:
892
+ - Ask exactly ONE architecture question at a time using AskUserQuestion
893
+ - After each answer, ask whether the user wants to discuss that question
894
+ before locking the answer
895
+ - If the user asks clarifying questions, answer them first, then re-ask the
896
+ same question for a final decision
897
+ - Record the final answer in `proposal-review.md` before moving to the next
898
+ question
899
+ - Never bundle multiple architecture decisions into a single prompt
900
+
901
+ Suggested order:
902
+ 1. Confirm preferred architecture option
903
+ 2. Confirm the key trade-off priority (speed, flexibility, reliability, cost)
904
+ 3. Confirm non-negotiable constraints/integration boundaries
905
+
906
+ 4. **If the user requests changes**:
907
+ - Update `proposal-review.md` with the feedback in
908
+ `User Feedback and Overrides`
909
+ - Set `status: revised_supporting_context` if the recommendation must change
910
+ - Revise the recommendation before continuing
911
+
912
+ 5. **If the user wants to stop after research**:
913
+ - End after summarizing the current findings
914
+ - Do not auto-chain until the user explicitly asks to continue
915
+
916
+ 6. **Signal completion**:
917
+
918
+ ```
919
+
920
+ ✓ Research complete: {FEATURE_DIR}/research.md
921
+ ✓ Goal ledger seeded: {FEATURE_DIR}/goal-ledger.json
922
+ ✓ Loop contract seeded: {FEATURE_DIR}/loop-contract.json
923
+ ✓ Working Backwards PR/FAQ updated: {FEATURE_DIR}/working-backwards-prfaq.md
924
+ ✓ PR/FAQ research snapshot: {FEATURE_DIR}/prfaq-history/01-research.md
925
+ ✓ Business Owner summary draft: {FEATURE_DIR}/business-owner-summary.md
926
+ ✓ Stakeholder review index updated: {FEATURE_DIR}/stakeholder-review-index.md
927
+ ✓ Supporting review context ready: {FEATURE_DIR}/proposal-review.md
928
+
929
+ Key findings:
930
+
931
+ - [Finding 1]
932
+ - [Finding 2]
933
+
934
+ ```
935
+
936
+
937
+ ---
938
+
939
+ ## Step 6.5: Brownfield/Legacy Analysis (For Existing Codebases)
940
+
941
+ When working in an existing codebase, add this section to research.md:
942
+
943
+ ```markdown
944
+ ## Brownfield Analysis
945
+
946
+ ### Constraints & Limitations
947
+
948
+ | Constraint Type | Description | Impact on Implementation |
949
+ | ----------------- | ----------------------------------------- | ------------------------------ |
950
+ | Framework | [e.g., React 17 - no concurrent features] | [How this limits our approach] |
951
+ | Database | [e.g., PostgreSQL 12, existing schema] | [Schema constraints] |
952
+ | API Compatibility | [e.g., Must maintain v1 endpoints] | [Backward compatibility needs] |
953
+ | Performance | [e.g., Response time < 200ms] | [Optimization requirements] |
954
+
955
+ ### Technical Debt to Avoid
956
+
957
+ The following patterns are deprecated or problematic - do NOT use:
958
+
959
+ | Pattern | Found In | Why Avoid | Use Instead |
960
+ | ------------- | ----------------- | --------- | -------------------- |
961
+ | [Old pattern] | `path/to/file.ts` | [Reason] | [Preferred approach] |
962
+
963
+ ### Areas Requiring Extra Caution
964
+
965
+ - **[Area 1]**: [Why it's fragile and what to watch for]
966
+ - **[Area 2]**: [Known issues or gotchas]
967
+
968
+ ### Integration Requirements
969
+
970
+ | Existing Service | Integration Method | Notes |
971
+ | ---------------- | ------------------ | ------------------------------ |
972
+ | [Service 1] | [API/Import/Event] | [Authentication, format, etc.] |
973
+
974
+ ### Downstream Dependencies
975
+
976
+ Code that depends on areas we're modifying:
977
+
978
+ - `path/to/dependent.ts:45` - [What it depends on]
979
+ - `path/to/consumer.ts:123` - [What it expects]
980
+ ```
981
+
982
+ ### Brownfield Checklist
983
+
984
+ Before modifying existing code:
985
+
986
+ - [ ] Understand current behavior (read and trace code flow)
987
+ - [ ] Document what must NOT change (protected boundaries)
988
+ - [ ] Identify downstream dependencies
989
+ - [ ] Add characterization tests if modifying complex logic
990
+ - [ ] Plan rollback strategy for risky changes
991
+
992
+ ---
993
+
994
+ ## Step 6.5: Journey Variant Generation (Optional)
995
+
996
+ **If a base journey exists** at
997
+ `.specify/specs/{feature}/journeys/base-journey.md`:
998
+
999
+ Generate industry variants to discover innovative approaches from other domains.
1000
+
1001
+ ### Generate Variant Count
1002
+
1003
+ Pick a random number between 10-50:
1004
+
1005
+ ```bash
1006
+ VARIANT_COUNT=$((RANDOM % 41 + 10))
1007
+ echo "Generating $VARIANT_COUNT industry variants"
1008
+ ```
1009
+
1010
+ ### Load Industry Templates
1011
+
1012
+ Read `.specify/templates/journey/industry-variants.yaml` for industry-specific
1013
+ patterns.
1014
+
1015
+ ### Generate Variants
1016
+
1017
+ For each variant, create a file at:
1018
+ `.specify/specs/{feature}/journeys/variants/{industry}-{number}.md`
1019
+
1020
+ Example: `healthcare-1.md`, `retail-2.md`, `finance-1.md`
1021
+
1022
+ **Distribute proportionally across 10 industries:**
1023
+
1024
+ - retail, healthcare, finance, education, hospitality
1025
+ - logistics, manufacturing, legal, real_estate, entertainment
1026
+
1027
+ **Each variant should include:**
1028
+
1029
+ ````markdown
1030
+ ---
1031
+ id: {feature}-{industry}-{number}
1032
+ baseJourneyId: {feature}-journey
1033
+ industry: {industry}
1034
+ variantNumber: {number}
1035
+ created: {ISO-timestamp}
1036
+ ---
1037
+
1038
+ # Journey Variant: {Industry} #{number}
1039
+
1040
+ ## Base Journey Reference
1041
+
1042
+ Based on: [base-journey.md](../base-journey.md)
1043
+
1044
+ ## Industry Context
1045
+
1046
+ {Description of how this industry typically handles similar journeys}
1047
+
1048
+ ## Adaptations
1049
+
1050
+ {How the base journey is adapted for this industry}
1051
+
1052
+ 1. **Step N adapted**: {How step N changes in this industry}
1053
+ 2. **Actor change**: {Different actors in this industry context}
1054
+
1055
+ ## Innovation Insights
1056
+
1057
+ Key innovations from {industry} that could apply to your feature:
1058
+
1059
+ 1. **{Innovation 1}**: {Description and how it could be applied}
1060
+ 2. **{Innovation 2}**: {Description and how it could be applied}
1061
+
1062
+ ## Modified Diagram
1063
+
1064
+ ```mermaid
1065
+ sequenceDiagram
1066
+ {Industry-specific sequence diagram}
1067
+ ```
1068
+ ````
1069
+
1070
+ ## Potential Application
1071
+
1072
+ How these insights could enhance your feature:
1073
+
1074
+ - {Specific suggestion 1}
1075
+ - {Specific suggestion 2}
1076
+
1077
+ ````
1078
+
1079
+ ### Document Innovation Summary
1080
+
1081
+ Add an "Innovation Insights" section to `research.md`:
1082
+
1083
+ ```markdown
1084
+ ## Innovation Insights (from Industry Variants)
1085
+
1086
+ Generated {N} journey variants across 10 industries.
1087
+
1088
+ ### Top Innovations to Consider
1089
+
1090
+ | Industry | Innovation | Application Potential |
1091
+ |----------|------------|----------------------|
1092
+ | Healthcare | AI symptom checker | Could add AI-powered input validation |
1093
+ | Finance | Real-time fraud detection | Could add anomaly detection |
1094
+ | Retail | Personalized recommendations | Could add user-specific suggestions |
1095
+
1096
+ ### Variant Summary
1097
+
1098
+ | Industry | Count | Key Patterns |
1099
+ |----------|-------|--------------|
1100
+ | Retail | 5 | Cart recovery, recommendations |
1101
+ | Healthcare | 4 | Patient portal, telehealth |
1102
+ | ... | ... | ... |
1103
+ ````
1104
+
1105
+ ### Skip Conditions
1106
+
1107
+ Skip variant generation if:
1108
+
1109
+ 1. No base journey exists (user skipped journey mapping)
1110
+ 2. Feature is purely technical (no user-facing journey)
1111
+ 3. Context window is at Warning level (>50%)
1112
+
1113
+ ---
1114
+
1115
+ ## Step 7: Observability Logging
1116
+
1117
+ At stage completion, log metrics:
1118
+
1119
+ ```bash
1120
+ .specify/scripts/bash/log-stage.sh 1_research --complete --tokens [N] --compactions [N]
1121
+ ```
1122
+
1123
+ This tracks:
1124
+
1125
+ - Stage duration
1126
+ - Token usage
1127
+ - Compaction events
1128
+ - Quality metrics snapshot
1129
+
1130
+ Logs to: `.specify/logs/pipeline.jsonl`
1131
+
1132
+ ---
1133
+
1134
+ ## Important Notes
1135
+
1136
+ - **All output goes to `.specify/specs/{feature}/`** - not thoughts/shared/
1137
+ - **Run agents in parallel** for efficiency
1138
+ - **Include specific file paths and line numbers** for all references
1139
+ - **Structured Problem Statement + Persona + Value Proposition are required** in
1140
+ `research.md`
1141
+ - **Research must remain usable by novices without external docs**
1142
+ - **Research should inform specification directly** - focus on what helps users
1143
+ discuss the business scenario and architecture before `spec.md` is written
1144
+ - **Maximum 5 open questions** - make informed decisions for the rest
1145
+ - **Use `proposal-review.md` as optional supporting context, not as a blocking stage**
1146
+ - **Log stage completion** for observability tracking
1147
+
1148
+ ---
1149
+
1150
+ ## Optional Helpers: Vocabulary Extraction and Zoom-Out
1151
+
1152
+ If the operator explicitly requests the `vocabulary` selector after
1153
+ `research.md` exists, run `gofer:vocabulary` inline and write
1154
+ `.specify/specs/{feature}/glossary.md` using the same artifact contract as the
1155
+ standalone helper.
1156
+
1157
+ If the operator explicitly requests the `zoom-out` selector after `research.md`
1158
+ exists, run `gofer:zoom-out` inline and write
1159
+ `.specify/specs/{feature}/zoom-out-report.md` using the same artifact contract
1160
+ as the standalone helper.
1161
+
1162
+ If `research.md` is missing, continue the stage normally and report that the
1163
+ helper was not run.
1164
+
1165
+ These selectors are optional and do not change stage progress, routing, or
1166
+ pipeline state.
1167
+
1168
+
1169
+ ## Pipeline Continuation
1170
+
1171
+ This completes the 1_gofer_research stage. To continue the Gofer pipeline:
1172
+
1173
+ **Next Command:** `#2_gofer_specify`
1174
+
1175
+ The next stage will read the artifacts from this stage and continue the workflow automatically.
1176
+
1177
+ **Note:** Copilot Chat supports context preservation. Your conversation history will be maintained as you progress through pipeline stages.