@enterpriseai/cli 3.19.0 → 3.19.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. package/package.json +3 -3
  2. package/resources/deploy/eai-app-template/producer-pin.json +5 -5
  3. package/resources/deploy/eai-app-template/tests/source-unknown-deployment-evidence.test.mjs +2141 -1
  4. package/resources/gofer/.gofer-version +4 -357
  5. package/resources/gofer/agents-skills/eai/SKILL.md +365 -0
  6. package/resources/gofer/agents-skills/eai-update/SKILL.md +56 -0
  7. package/resources/gofer/agents-skills/gofer-documentation/SKILL.md +93 -0
  8. package/resources/gofer/bash-scripts/create-new-feature.sh +3 -1
  9. package/resources/gofer/bash-scripts/sync-implementation-status.sh +4 -3
  10. package/resources/gofer/bash-scripts/update-agent-context.sh +7 -8
  11. package/resources/gofer/bash-scripts/validate-artifact.sh +10 -6
  12. package/resources/gofer/bash-scripts/verify-object-type-routing-workspace.sh +184 -0
  13. package/resources/gofer/claude-commands/eai-update.md +46 -0
  14. package/resources/gofer/claude-commands/eai.md +355 -0
  15. package/resources/gofer/claude-skills/eai/SKILL.md +365 -0
  16. package/resources/gofer/claude-skills/eai-update/SKILL.md +56 -0
  17. package/resources/gofer/claude-skills/gofer-documentation/SKILL.md +93 -0
  18. package/resources/gofer/commands/0_gofer_start.md +440 -99
  19. package/resources/gofer/commands/0a_problem_validation.md +187 -27
  20. package/resources/gofer/commands/10_gofer_cloud.md +183 -23
  21. package/resources/gofer/commands/1_gofer_research.md +239 -30
  22. package/resources/gofer/commands/2_gofer_specify.md +239 -35
  23. package/resources/gofer/commands/3_gofer_plan.md +259 -43
  24. package/resources/gofer/commands/4_gofer_tasks.md +401 -81
  25. package/resources/gofer/commands/5_gofer_implement.md +375 -84
  26. package/resources/gofer/commands/6_gofer_validate.md +284 -53
  27. package/resources/gofer/commands/7_gofer_save.md +187 -26
  28. package/resources/gofer/commands/7a_stakeholder_comms.md +183 -23
  29. package/resources/gofer/commands/8_gofer_branding.md +183 -23
  30. package/resources/gofer/commands/9_gofer_tests.md +212 -23
  31. package/resources/gofer/commands/gofer_bootstrap_workspace.md +121 -8
  32. package/resources/gofer/commands/gofer_check_workspace.md +123 -8
  33. package/resources/gofer/commands/gofer_constitution.md +183 -23
  34. package/resources/gofer/commands/gofer_diagnose.md +183 -23
  35. package/resources/gofer/commands/gofer_eai_first_run.md +254 -25
  36. package/resources/gofer/commands/gofer_hydrate.md +183 -23
  37. package/resources/gofer/commands/gofer_personality.md +117 -6
  38. package/resources/gofer/commands/gofer_plan.md +117 -6
  39. package/resources/gofer/commands/gofer_side.md +117 -6
  40. package/resources/gofer/commands/gofer_spec_summary.md +183 -23
  41. package/resources/gofer/commands/gofer_tdd.md +183 -23
  42. package/resources/gofer/commands/gofer_vocabulary.md +185 -25
  43. package/resources/gofer/commands/gofer_zoom_out.md +183 -23
  44. package/resources/gofer/config/typesafe-learning-review.json +16 -0
  45. package/resources/gofer/config/typesafe-semantic-review.json +9 -0
  46. package/resources/gofer/copilot-instructions/gofer-cost.instructions.md +15 -6
  47. package/resources/gofer/copilot-instructions/typescript.instructions.md +1 -1
  48. package/resources/gofer/copilot-prompts/eai-update.prompt.md +58 -0
  49. package/resources/gofer/copilot-prompts/eai.prompt.md +367 -0
  50. package/resources/gofer/gemini/commands/gofer/eai-update.md +22 -0
  51. package/resources/gofer/gemini/commands/gofer/eai-update.toml +2 -0
  52. package/resources/gofer/gemini/commands/gofer/eai.md +357 -0
  53. package/resources/gofer/gemini/commands/gofer/eai.toml +2 -0
  54. package/resources/gofer/gemini/commands/gofer/manifest.json +3 -27
  55. package/resources/gofer/gemini/extension.json +4 -4
  56. package/resources/gofer/github-agents/eai.agent.md +83 -0
  57. package/resources/gofer/github-agents/gofer-business.agent.md +73 -4
  58. package/resources/gofer/github-agents/gofer-implement.agent.md +71 -2
  59. package/resources/gofer/github-agents/gofer-plan.agent.md +72 -2
  60. package/resources/gofer/github-agents/gofer-research.agent.md +72 -2
  61. package/resources/gofer/github-agents/gofer-validate.agent.md +72 -2
  62. package/resources/gofer/github-skills/eai/SKILL.md +365 -0
  63. package/resources/gofer/github-skills/eai-update/SKILL.md +56 -0
  64. package/resources/gofer/github-skills/gofer-documentation/SKILL.md +93 -0
  65. package/resources/gofer/grok-skills/eai/SKILL.md +267 -14
  66. package/resources/gofer/grok-skills/eai-update/SKILL.md +56 -0
  67. package/resources/gofer/hook-scripts/user-prompt-submit.mjs +58 -13
  68. package/resources/gofer/instruction-templates/base/agents-base.md +8 -4
  69. package/resources/gofer/instruction-templates/gofer/gofer-claude.md +7 -5
  70. package/resources/gofer/instruction-templates/gofer/gofer-copilot.md +10 -8
  71. package/resources/gofer/memory/constitution.md +9 -7
  72. package/resources/gofer/memory/gofer-model-policy.yaml +23 -1
  73. package/resources/gofer/memory/lessons.md +0 -31
  74. package/resources/gofer/node-scripts/canonical-descriptions.mjs +1 -1
  75. package/resources/gofer/node-scripts/check-version-alignment.mjs +4 -7
  76. package/resources/gofer/node-scripts/delivery-lineage-corpus.mjs +156 -0
  77. package/resources/gofer/node-scripts/generate-commands.mjs +1073 -265
  78. package/resources/gofer/node-scripts/gofer-acceptance-check.mjs +143 -0
  79. package/resources/gofer/node-scripts/gofer-agent-catalog.mjs +271 -0
  80. package/resources/gofer/node-scripts/gofer-benchmark-executor.mjs +123 -0
  81. package/resources/gofer/node-scripts/gofer-benchmark-sign.mjs +62 -0
  82. package/resources/gofer/node-scripts/gofer-benchmark-signer.mjs +89 -0
  83. package/resources/gofer/node-scripts/gofer-benchmark.mjs +76 -0
  84. package/resources/gofer/node-scripts/gofer-blocker-control.mjs +274 -0
  85. package/resources/gofer/node-scripts/gofer-claude-adapter.mjs +154 -0
  86. package/resources/gofer/node-scripts/gofer-closed-loop-audit.mjs +19 -2
  87. package/resources/gofer/node-scripts/gofer-delivery-check.mjs +121 -0
  88. package/resources/gofer/node-scripts/gofer-encrypted-key.mjs +58 -0
  89. package/resources/gofer/node-scripts/gofer-execution-metrics.mjs +477 -0
  90. package/resources/gofer/node-scripts/gofer-execution-recovery.mjs +334 -0
  91. package/resources/gofer/node-scripts/gofer-grok-adapter.mjs +184 -0
  92. package/resources/gofer/node-scripts/gofer-heldout-corpus.mjs +73 -0
  93. package/resources/gofer/node-scripts/gofer-heldout-snapshot.mjs +286 -0
  94. package/resources/gofer/node-scripts/gofer-heldout-verifier.mjs +211 -0
  95. package/resources/gofer/node-scripts/gofer-host-capability.mjs +335 -0
  96. package/resources/gofer/node-scripts/gofer-independent-reviewer.mjs +130 -0
  97. package/resources/gofer/node-scripts/gofer-live-routing.mjs +109 -0
  98. package/resources/gofer/node-scripts/gofer-local-capability-issuer.mjs +71 -0
  99. package/resources/gofer/node-scripts/gofer-local-isolation.mjs +175 -0
  100. package/resources/gofer/node-scripts/gofer-local-settings-cleanup.mjs +388 -0
  101. package/resources/gofer/node-scripts/gofer-loop-audit.mjs +54 -3
  102. package/resources/gofer/node-scripts/gofer-native-adapter.mjs +567 -0
  103. package/resources/gofer/node-scripts/gofer-native-benchmark-dispatch.mjs +145 -0
  104. package/resources/gofer/node-scripts/gofer-native-runtime.mjs +169 -0
  105. package/resources/gofer/node-scripts/gofer-pre-edit-check.mjs +204 -0
  106. package/resources/gofer/node-scripts/gofer-priority-check.mjs +214 -0
  107. package/resources/gofer/node-scripts/gofer-response-check.mjs +56 -0
  108. package/resources/gofer/node-scripts/gofer-reviewed-learning.mjs +1232 -0
  109. package/resources/gofer/node-scripts/gofer-run-verified-task.mjs +330 -0
  110. package/resources/gofer/node-scripts/gofer-runtime-ledger.mjs +289 -0
  111. package/resources/gofer/node-scripts/gofer-semantic-drift.mjs +584 -0
  112. package/resources/gofer/node-scripts/gofer-surface-update.mjs +1178 -0
  113. package/resources/gofer/node-scripts/gofer-trust-bootstrap.mjs +77 -0
  114. package/resources/gofer/node-scripts/gofer-trusted-benchmark.mjs +102 -0
  115. package/resources/gofer/node-scripts/gofer-trusted-evaluator.mjs +274 -0
  116. package/resources/gofer/node-scripts/gofer-tty-prompt.mjs +34 -0
  117. package/resources/gofer/node-scripts/gofer-typesafe-credentials.mjs +435 -0
  118. package/resources/gofer/node-scripts/gofer-ui-preview.mjs +1212 -0
  119. package/resources/gofer/node-scripts/gofer-verified-execution.mjs +484 -0
  120. package/resources/gofer/node-scripts/gofer-verifier-key-ceremony.mjs +101 -0
  121. package/resources/gofer/node-scripts/gofer-worktree-layout.mjs +32 -0
  122. package/resources/gofer/node-scripts/object-type-routing-phase-bundle.mjs +360 -0
  123. package/resources/gofer/node-scripts/package-agent-plugin.mjs +574 -82
  124. package/resources/gofer/node-scripts/parse-stage-command.mjs +1 -1
  125. package/resources/gofer/node-scripts/render-delivery-lineage.mjs +178 -0
  126. package/resources/gofer/node-scripts/sync-extension-resources.mjs +78 -2
  127. package/resources/gofer/node-scripts/validate-object-type-identifiers.mjs +767 -0
  128. package/resources/gofer/node-scripts/validate-object-type-routing-workspace.mjs +1325 -0
  129. package/resources/gofer/node-scripts/validate-v4-resource-contract.d.mts +44 -0
  130. package/resources/gofer/node-scripts/validate-v4-resource-contract.mjs +957 -0
  131. package/resources/gofer/node-scripts/workspace-bootstrap-lib.mjs +685 -116
  132. package/resources/gofer/references/agent-catalog.json +126 -0
  133. package/resources/gofer/references/blocker-mediation.md +156 -0
  134. package/resources/gofer/references/business-updates-and-goal-checks.md +109 -0
  135. package/resources/gofer/references/delivery-lineage.md +48 -0
  136. package/resources/gofer/references/mvp-capability-validation.md +102 -0
  137. package/resources/gofer/references/platform/README.md +1 -1
  138. package/resources/gofer/references/platform/eai-app-template.md +15 -13
  139. package/resources/gofer/references/platform/eai-auth-access.md +104 -0
  140. package/resources/gofer/references/platform/eai-config-driven-ui.md +5 -5
  141. package/resources/gofer/references/platform/eai-error-catalog.yaml +77 -19
  142. package/resources/gofer/references/platform/eai-repo-contract.md +61 -23
  143. package/resources/gofer/references/platform/eai-service-patterns.md +102 -105
  144. package/resources/gofer/references/platform/eai.md +44 -8
  145. package/resources/gofer/references/platform/vertical-template.md +10 -9
  146. package/resources/gofer/references/priority-outcome-protection.md +152 -0
  147. package/resources/gofer/references/verified-agent-execution.md +179 -0
  148. package/resources/gofer/schemas/gofer-learning-trace-v1.json +70 -0
  149. package/resources/gofer/specify-commands/0_gofer_start.md +440 -99
  150. package/resources/gofer/specify-commands/0a_problem_validation.md +187 -27
  151. package/resources/gofer/specify-commands/10_gofer_cloud.md +183 -23
  152. package/resources/gofer/specify-commands/1_gofer_research.md +239 -30
  153. package/resources/gofer/specify-commands/2_gofer_specify.md +239 -35
  154. package/resources/gofer/specify-commands/3_gofer_plan.md +259 -43
  155. package/resources/gofer/specify-commands/4_gofer_tasks.md +401 -81
  156. package/resources/gofer/specify-commands/5_gofer_implement.md +375 -84
  157. package/resources/gofer/specify-commands/6_gofer_validate.md +284 -53
  158. package/resources/gofer/specify-commands/7_gofer_save.md +187 -26
  159. package/resources/gofer/specify-commands/7a_stakeholder_comms.md +183 -23
  160. package/resources/gofer/specify-commands/8_gofer_branding.md +183 -23
  161. package/resources/gofer/specify-commands/9_gofer_tests.md +212 -23
  162. package/resources/gofer/specify-commands/gofer_bootstrap_workspace.md +121 -8
  163. package/resources/gofer/specify-commands/gofer_check_workspace.md +123 -8
  164. package/resources/gofer/specify-commands/gofer_constitution.md +183 -23
  165. package/resources/gofer/specify-commands/gofer_diagnose.md +183 -23
  166. package/resources/gofer/specify-commands/gofer_eai_first_run.md +254 -25
  167. package/resources/gofer/specify-commands/gofer_hydrate.md +183 -23
  168. package/resources/gofer/specify-commands/gofer_personality.md +117 -6
  169. package/resources/gofer/specify-commands/gofer_plan.md +117 -6
  170. package/resources/gofer/specify-commands/gofer_side.md +117 -6
  171. package/resources/gofer/specify-commands/gofer_spec_summary.md +183 -23
  172. package/resources/gofer/specify-commands/gofer_tdd.md +183 -23
  173. package/resources/gofer/specify-commands/gofer_vocabulary.md +185 -25
  174. package/resources/gofer/specify-commands/gofer_zoom_out.md +183 -23
  175. package/resources/gofer/specify-config/object-type-routing.json +24 -0
  176. package/resources/gofer/specify-config/typesafe-learning-review.json +16 -0
  177. package/resources/gofer/specify-config/typesafe-semantic-review.json +9 -0
  178. package/resources/gofer/system-skills/eai/SKILL.md +365 -0
  179. package/resources/gofer/system-skills/eai-update/SKILL.md +56 -0
  180. package/resources/gofer/system-skills/gofer-documentation/SKILL.md +93 -0
  181. package/resources/gofer/templates/build-map-template.md +64 -0
  182. package/resources/gofer/templates/business-scenarios-template.json +14 -0
  183. package/resources/gofer/templates/ciso-security-summary-template.md +3 -3
  184. package/resources/gofer/templates/context-bundle-template.md +4 -3
  185. package/resources/gofer/templates/contract-pack-template.md +8 -8
  186. package/resources/gofer/templates/cto-architecture-summary-template.md +3 -3
  187. package/resources/gofer/templates/delivery-lineage-template.json +8 -0
  188. package/resources/gofer/templates/eai-preflight-template.md +109 -68
  189. package/resources/gofer/templates/goal-ledger-template.json +1 -1
  190. package/resources/gofer/templates/gofer-model-policy.yaml +28 -6
  191. package/resources/gofer/templates/loop-contract-template.json +3 -1
  192. package/resources/gofer/templates/plan-template.md +8 -7
  193. package/resources/gofer/templates/priority-plan-template.json +29 -0
  194. package/resources/gofer/templates/proposal-review-template.md +6 -3
  195. package/resources/gofer/templates/release-capability-ledger-template.md +24 -0
  196. package/resources/gofer/templates/research-template.md +7 -6
  197. package/resources/gofer/templates/spec-summary-template.md +1 -1
  198. package/resources/gofer/templates/spec-template.md +45 -6
  199. package/resources/gofer/templates/tasks-template.md +12 -3
  200. package/resources/gofer/templates/ui-preview-brief-template.md +55 -5
  201. package/resources/gofer/templates/ui-review-log-template.md +21 -3
  202. package/resources/gofer/templates/ui-show-and-tell-template.md +46 -0
  203. package/resources/gofer/templates/visuals/capability-heatmap-template.md +2 -2
  204. package/resources/gofer/templates/working-backwards-prfaq-template.md +9 -8
  205. package/resources/linked-sources.json +4 -4
  206. package/resources/gofer/agents-skills/0_gofer_start/SKILL.md +0 -1287
  207. package/resources/gofer/agents-skills/0a_problem_validation/SKILL.md +0 -429
  208. package/resources/gofer/agents-skills/10_gofer_cloud/SKILL.md +0 -635
  209. package/resources/gofer/agents-skills/1_gofer_research/SKILL.md +0 -1159
  210. package/resources/gofer/agents-skills/2_gofer_specify/SKILL.md +0 -860
  211. package/resources/gofer/agents-skills/3_gofer_plan/SKILL.md +0 -899
  212. package/resources/gofer/agents-skills/4_gofer_tasks/SKILL.md +0 -760
  213. package/resources/gofer/agents-skills/5_gofer_implement/SKILL.md +0 -944
  214. package/resources/gofer/agents-skills/6_gofer_validate/SKILL.md +0 -2302
  215. package/resources/gofer/agents-skills/7_gofer_save/SKILL.md +0 -423
  216. package/resources/gofer/agents-skills/7a_stakeholder_comms/SKILL.md +0 -508
  217. package/resources/gofer/agents-skills/8_gofer_branding/SKILL.md +0 -315
  218. package/resources/gofer/agents-skills/9_gofer_tests/SKILL.md +0 -558
  219. package/resources/gofer/agents-skills/gofer_bootstrap_workspace/SKILL.md +0 -148
  220. package/resources/gofer/agents-skills/gofer_check_workspace/SKILL.md +0 -119
  221. package/resources/gofer/agents-skills/gofer_constitution/SKILL.md +0 -612
  222. package/resources/gofer/agents-skills/gofer_diagnose/SKILL.md +0 -114
  223. package/resources/gofer/agents-skills/gofer_eai_first_run/SKILL.md +0 -397
  224. package/resources/gofer/agents-skills/gofer_hydrate/SKILL.md +0 -561
  225. package/resources/gofer/agents-skills/gofer_personality/SKILL.md +0 -44
  226. package/resources/gofer/agents-skills/gofer_plan/SKILL.md +0 -40
  227. package/resources/gofer/agents-skills/gofer_side/SKILL.md +0 -45
  228. package/resources/gofer/agents-skills/gofer_spec_summary/SKILL.md +0 -112
  229. package/resources/gofer/agents-skills/gofer_tdd/SKILL.md +0 -112
  230. package/resources/gofer/agents-skills/gofer_vocabulary/SKILL.md +0 -112
  231. package/resources/gofer/agents-skills/gofer_zoom_out/SKILL.md +0 -112
  232. package/resources/gofer/claude-commands/0_gofer_start.md +0 -1282
  233. package/resources/gofer/claude-commands/0a_problem_validation.md +0 -424
  234. package/resources/gofer/claude-commands/10_gofer_cloud.md +0 -630
  235. package/resources/gofer/claude-commands/1_gofer_research.md +0 -1154
  236. package/resources/gofer/claude-commands/2_gofer_specify.md +0 -855
  237. package/resources/gofer/claude-commands/3_gofer_plan.md +0 -894
  238. package/resources/gofer/claude-commands/4_gofer_tasks.md +0 -755
  239. package/resources/gofer/claude-commands/5_gofer_implement.md +0 -939
  240. package/resources/gofer/claude-commands/6_gofer_validate.md +0 -2297
  241. package/resources/gofer/claude-commands/7_gofer_save.md +0 -418
  242. package/resources/gofer/claude-commands/7a_stakeholder_comms.md +0 -503
  243. package/resources/gofer/claude-commands/8_gofer_branding.md +0 -310
  244. package/resources/gofer/claude-commands/9_gofer_tests.md +0 -553
  245. package/resources/gofer/claude-commands/gofer_bootstrap_workspace.md +0 -143
  246. package/resources/gofer/claude-commands/gofer_check_workspace.md +0 -114
  247. package/resources/gofer/claude-commands/gofer_constitution.md +0 -607
  248. package/resources/gofer/claude-commands/gofer_diagnose.md +0 -109
  249. package/resources/gofer/claude-commands/gofer_eai_first_run.md +0 -392
  250. package/resources/gofer/claude-commands/gofer_hydrate.md +0 -556
  251. package/resources/gofer/claude-commands/gofer_personality.md +0 -39
  252. package/resources/gofer/claude-commands/gofer_plan.md +0 -35
  253. package/resources/gofer/claude-commands/gofer_side.md +0 -40
  254. package/resources/gofer/claude-commands/gofer_spec_summary.md +0 -107
  255. package/resources/gofer/claude-commands/gofer_tdd.md +0 -107
  256. package/resources/gofer/claude-commands/gofer_vocabulary.md +0 -107
  257. package/resources/gofer/claude-commands/gofer_zoom_out.md +0 -107
  258. package/resources/gofer/claude-skills/eai-gofer/SKILL.md +0 -56
  259. package/resources/gofer/copilot-prompts/0_gofer_start.prompt.md +0 -1308
  260. package/resources/gofer/copilot-prompts/0a_problem_validation.prompt.md +0 -429
  261. package/resources/gofer/copilot-prompts/10_gofer_cloud.prompt.md +0 -644
  262. package/resources/gofer/copilot-prompts/1_gofer_research.prompt.md +0 -1177
  263. package/resources/gofer/copilot-prompts/2_gofer_specify.prompt.md +0 -878
  264. package/resources/gofer/copilot-prompts/3_gofer_plan.prompt.md +0 -917
  265. package/resources/gofer/copilot-prompts/4_gofer_tasks.prompt.md +0 -778
  266. package/resources/gofer/copilot-prompts/5_gofer_implement.prompt.md +0 -962
  267. package/resources/gofer/copilot-prompts/6_gofer_validate.prompt.md +0 -2310
  268. package/resources/gofer/copilot-prompts/7_gofer_save.prompt.md +0 -433
  269. package/resources/gofer/copilot-prompts/7a_stakeholder_comms.prompt.md +0 -516
  270. package/resources/gofer/copilot-prompts/8_gofer_branding.prompt.md +0 -323
  271. package/resources/gofer/copilot-prompts/9_gofer_tests.prompt.md +0 -566
  272. package/resources/gofer/copilot-prompts/gofer_bootstrap_workspace.prompt.md +0 -161
  273. package/resources/gofer/copilot-prompts/gofer_check_workspace.prompt.md +0 -132
  274. package/resources/gofer/copilot-prompts/gofer_constitution.prompt.md +0 -621
  275. package/resources/gofer/copilot-prompts/gofer_diagnose.prompt.md +0 -127
  276. package/resources/gofer/copilot-prompts/gofer_eai_first_run.prompt.md +0 -410
  277. package/resources/gofer/copilot-prompts/gofer_hydrate.prompt.md +0 -571
  278. package/resources/gofer/copilot-prompts/gofer_personality.prompt.md +0 -57
  279. package/resources/gofer/copilot-prompts/gofer_plan.prompt.md +0 -53
  280. package/resources/gofer/copilot-prompts/gofer_side.prompt.md +0 -58
  281. package/resources/gofer/copilot-prompts/gofer_spec_summary.prompt.md +0 -125
  282. package/resources/gofer/copilot-prompts/gofer_tdd.prompt.md +0 -125
  283. package/resources/gofer/copilot-prompts/gofer_vocabulary.prompt.md +0 -125
  284. package/resources/gofer/copilot-prompts/gofer_zoom_out.prompt.md +0 -125
  285. package/resources/gofer/gemini/commands/gofer/0_gofer_start.md +0 -1282
  286. package/resources/gofer/gemini/commands/gofer/0_gofer_start.toml +0 -2
  287. package/resources/gofer/gemini/commands/gofer/0a_problem_validation.md +0 -424
  288. package/resources/gofer/gemini/commands/gofer/0a_problem_validation.toml +0 -2
  289. package/resources/gofer/gemini/commands/gofer/10_gofer_cloud.md +0 -630
  290. package/resources/gofer/gemini/commands/gofer/10_gofer_cloud.toml +0 -2
  291. package/resources/gofer/gemini/commands/gofer/1_gofer_research.md +0 -1154
  292. package/resources/gofer/gemini/commands/gofer/1_gofer_research.toml +0 -2
  293. package/resources/gofer/gemini/commands/gofer/2_gofer_specify.md +0 -855
  294. package/resources/gofer/gemini/commands/gofer/2_gofer_specify.toml +0 -2
  295. package/resources/gofer/gemini/commands/gofer/3_gofer_plan.md +0 -894
  296. package/resources/gofer/gemini/commands/gofer/3_gofer_plan.toml +0 -2
  297. package/resources/gofer/gemini/commands/gofer/4_gofer_tasks.md +0 -755
  298. package/resources/gofer/gemini/commands/gofer/4_gofer_tasks.toml +0 -2
  299. package/resources/gofer/gemini/commands/gofer/5_gofer_implement.md +0 -939
  300. package/resources/gofer/gemini/commands/gofer/5_gofer_implement.toml +0 -2
  301. package/resources/gofer/gemini/commands/gofer/6_gofer_validate.md +0 -2297
  302. package/resources/gofer/gemini/commands/gofer/6_gofer_validate.toml +0 -2
  303. package/resources/gofer/gemini/commands/gofer/7_gofer_save.md +0 -418
  304. package/resources/gofer/gemini/commands/gofer/7_gofer_save.toml +0 -2
  305. package/resources/gofer/gemini/commands/gofer/7a_stakeholder_comms.md +0 -503
  306. package/resources/gofer/gemini/commands/gofer/7a_stakeholder_comms.toml +0 -2
  307. package/resources/gofer/gemini/commands/gofer/8_gofer_branding.md +0 -310
  308. package/resources/gofer/gemini/commands/gofer/8_gofer_branding.toml +0 -2
  309. package/resources/gofer/gemini/commands/gofer/9_gofer_tests.md +0 -553
  310. package/resources/gofer/gemini/commands/gofer/9_gofer_tests.toml +0 -2
  311. package/resources/gofer/gemini/commands/gofer/gofer_bootstrap_workspace.md +0 -143
  312. package/resources/gofer/gemini/commands/gofer/gofer_bootstrap_workspace.toml +0 -2
  313. package/resources/gofer/gemini/commands/gofer/gofer_check_workspace.md +0 -114
  314. package/resources/gofer/gemini/commands/gofer/gofer_check_workspace.toml +0 -2
  315. package/resources/gofer/gemini/commands/gofer/gofer_constitution.md +0 -607
  316. package/resources/gofer/gemini/commands/gofer/gofer_constitution.toml +0 -2
  317. package/resources/gofer/gemini/commands/gofer/gofer_diagnose.md +0 -109
  318. package/resources/gofer/gemini/commands/gofer/gofer_diagnose.toml +0 -2
  319. package/resources/gofer/gemini/commands/gofer/gofer_eai_first_run.md +0 -392
  320. package/resources/gofer/gemini/commands/gofer/gofer_eai_first_run.toml +0 -2
  321. package/resources/gofer/gemini/commands/gofer/gofer_hydrate.md +0 -556
  322. package/resources/gofer/gemini/commands/gofer/gofer_hydrate.toml +0 -2
  323. package/resources/gofer/gemini/commands/gofer/gofer_personality.md +0 -39
  324. package/resources/gofer/gemini/commands/gofer/gofer_personality.toml +0 -2
  325. package/resources/gofer/gemini/commands/gofer/gofer_plan.md +0 -35
  326. package/resources/gofer/gemini/commands/gofer/gofer_plan.toml +0 -2
  327. package/resources/gofer/gemini/commands/gofer/gofer_side.md +0 -40
  328. package/resources/gofer/gemini/commands/gofer/gofer_side.toml +0 -2
  329. package/resources/gofer/gemini/commands/gofer/gofer_spec_summary.md +0 -107
  330. package/resources/gofer/gemini/commands/gofer/gofer_spec_summary.toml +0 -2
  331. package/resources/gofer/gemini/commands/gofer/gofer_tdd.md +0 -107
  332. package/resources/gofer/gemini/commands/gofer/gofer_tdd.toml +0 -2
  333. package/resources/gofer/gemini/commands/gofer/gofer_vocabulary.md +0 -107
  334. package/resources/gofer/gemini/commands/gofer/gofer_vocabulary.toml +0 -2
  335. package/resources/gofer/gemini/commands/gofer/gofer_zoom_out.md +0 -107
  336. package/resources/gofer/gemini/commands/gofer/gofer_zoom_out.toml +0 -2
  337. package/resources/gofer/github-skills/eai-gofer/SKILL.md +0 -56
  338. package/resources/gofer/system-skills/0_gofer_start/SKILL.md +0 -1287
  339. package/resources/gofer/system-skills/0a_problem_validation/SKILL.md +0 -429
  340. package/resources/gofer/system-skills/10_gofer_cloud/SKILL.md +0 -635
  341. package/resources/gofer/system-skills/1_gofer_research/SKILL.md +0 -1159
  342. package/resources/gofer/system-skills/2_gofer_specify/SKILL.md +0 -860
  343. package/resources/gofer/system-skills/3_gofer_plan/SKILL.md +0 -899
  344. package/resources/gofer/system-skills/4_gofer_tasks/SKILL.md +0 -760
  345. package/resources/gofer/system-skills/5_gofer_implement/SKILL.md +0 -944
  346. package/resources/gofer/system-skills/6_gofer_validate/SKILL.md +0 -2302
  347. package/resources/gofer/system-skills/7_gofer_save/SKILL.md +0 -423
  348. package/resources/gofer/system-skills/7a_stakeholder_comms/SKILL.md +0 -508
  349. package/resources/gofer/system-skills/8_gofer_branding/SKILL.md +0 -315
  350. package/resources/gofer/system-skills/9_gofer_tests/SKILL.md +0 -558
  351. package/resources/gofer/system-skills/gofer_bootstrap_workspace/SKILL.md +0 -148
  352. package/resources/gofer/system-skills/gofer_check_workspace/SKILL.md +0 -119
  353. package/resources/gofer/system-skills/gofer_constitution/SKILL.md +0 -612
  354. package/resources/gofer/system-skills/gofer_diagnose/SKILL.md +0 -114
  355. package/resources/gofer/system-skills/gofer_eai_first_run/SKILL.md +0 -397
  356. package/resources/gofer/system-skills/gofer_hydrate/SKILL.md +0 -561
  357. package/resources/gofer/system-skills/gofer_personality/SKILL.md +0 -44
  358. package/resources/gofer/system-skills/gofer_plan/SKILL.md +0 -40
  359. package/resources/gofer/system-skills/gofer_side/SKILL.md +0 -45
  360. package/resources/gofer/system-skills/gofer_spec_summary/SKILL.md +0 -112
  361. package/resources/gofer/system-skills/gofer_tdd/SKILL.md +0 -112
  362. package/resources/gofer/system-skills/gofer_vocabulary/SKILL.md +0 -112
  363. package/resources/gofer/system-skills/gofer_zoom_out/SKILL.md +0 -112
  364. package/resources/gofer/templates/ui-approval-template.md +0 -32
@@ -0,0 +1,365 @@
1
+ ---
2
+ name: eai
3
+ description: "Start or continue the EAI delivery pipeline."
4
+ ---
5
+
6
+ # Eai
7
+
8
+ Version: 3.14.3
9
+ Host: VS Code and GitHub Copilot
10
+
11
+ # Eai
12
+
13
+ Use this as the single user-facing Gofer command. Apply its contract to every request after Gofer is installed. Use `/eai` on Claude, Copilot, Antigravity, Grok, or VS Code, and `$eai` on Codex. The prefix is optional. Do not ask users to run numbered stage commands unless they explicitly request low-level internals.
14
+
15
+ ## User-Facing Contract
16
+
17
+ - Keep the command window simple: expose `eai` only.
18
+ - Treat `.specify/commands/*.md` as internal stage contracts, not user-facing commands.
19
+ - Keep all Gofer functions available by routing internally to the right stage contract.
20
+ - Explain progress in business language first; provide technical details when the user asks.
21
+
22
+ ## Controlled English Contract
23
+
24
+ Use ASD-STE100 Simplified Technical English as the target writing standard for all Gofer-authored chat, documents, commands, summaries, PR notes, error guidance, and validation artifacts. ASD-STE100 is copyright and a trademark of ASD; do not bundle the protected ASD dictionary and do not claim ASD certification.
25
+
26
+ Apply these rules before any user-facing output:
27
+
28
+ 1. Use short sentences. Keep instructions to 20 words or fewer where possible.
29
+ 2. Use one action per instruction.
30
+ 3. Use active voice. Use passive voice only when the actor is unknown or not important.
31
+ 4. Use simple present, simple past, simple future, infinitive, or imperative verb forms.
32
+ 5. Use approved project terms and necessary technical nouns only. Define acronyms on first use.
33
+ 6. Use direct words. Avoid idioms, marketing adjectives, vague praise, and hedging.
34
+ 7. Use vertical lists for complex information.
35
+ 8. Put one topic in each paragraph.
36
+ 9. For errors, write: what happened, why it matters, what to do next, and the exact safe command when one exists.
37
+ 10. Keep raw logs, stack traces, IDs, and secrets out of chat unless the user asks for technical detail.
38
+
39
+ ## User-Facing Response Gate
40
+
41
+ Before each user-facing reply, check the draft against these rules:
42
+
43
+ 1. Lead with the business outcome, effect, risk, or decision.
44
+ 2. Use concise, simple language.
45
+ 3. Include technical detail only when it supports a decision or the user asks for it.
46
+ 4. If any check fails, rewrite the reply before sending it.
47
+
48
+ **Business Updates And Goal Checks**
49
+
50
+ For every material code or contract change, keep `spec.md`, `plan.md`, `tasks.md`, `test-spec.md`, `change-manifest.json`, `blast-radius-report.md`, and `traceability.md` current before more implementation work. Keep executable feature tests in the owning repository. Add an `eai-testing-dev` contract only for a deployed canary, route/config contract, authentication smoke, workspace smoke, or release-evidence surface.
51
+
52
+ Use `.specify/references/business-updates-and-goal-checks.md`. Before each reply, explain the result, business effect, and next action in plain language. For progress, use two or three short sentences. Run `node .specify/scripts/node/gofer-response-check.mjs --input <private-draft-file>` before sending a drafted progress update; rewrite failed drafts. Use `--kind answer` for answers and `--technical` only when technical detail was requested. Do not repeat unchanged progress. This helper cannot intercept messages that the host sends directly.
53
+
54
+ Before each work batch, read the current goal, specification, tasks, and latest findings. Make ordinary design, sequencing, diagnosis, repair, and verification decisions that advance the goal. Record material decisions and update affected feature documents when new evidence changes the path. Never weaken acceptance criteria to match failing code. Do not invent approval where approval is required. Mark a task complete only after its linked checks pass; reopen affected tasks when evidence is stale. For app and non-app features with a spec and tasks, enable `requireDeliveryCheckpoint` in `loop-contract.json` and run `node .specify/scripts/node/gofer-delivery-check.mjs --feature-dir <feature-dir>` before advancing or claiming completion. Follow the reference to capture a reviewed checkpoint, not merely to clear a failure. Keep existing MVP exemptions, reviews, loops, and release gates. Conversation-only requests need no feature files.
55
+
56
+ For status, blocker, low-confidence, and decision replies, use the Recommendation, Why, Next step, Owner, and User action labels in .specify/references/blocker-mediation.md, then add the --business-update option to the response checker. State only evidence-backed causes; probabilities show the closest alternative, not why Jev chose its answer.
57
+
58
+ **Priority And Outcome Protection**
59
+
60
+ Jev must judge goal alignment, specification currency, executable test coverage, and blast-radius completeness at every configured checkpoint. Missing evidence, a conflict, partial alignment, low confidence, or an unavailable verdict blocks the affected task. Update the records and rerun the checkpoint. Never ignore the result, edit the receipt, or complete work with an unresolved verdict.
61
+
62
+ Follow `.specify/references/priority-outcome-protection.md`. Treat the stated goal as authority for ordinary delivery decisions. Record material user direction and Gofer decisions in decisions.md. Maintain priority-plan.json with ordered tasks, dependencies, allowedEditScope and the current outcome. Enable requirePriorityPlan for new feature contracts. Run `node .specify/scripts/node/gofer-priority-check.mjs --feature-dir <feature-dir> --task T001` before the action, and include --workspace <repo-root> plus --changed-file for each proposed or actual changed repo-relative path. Follow its nextTask; recorded independent work may run in parallel. Do not switch to unrelated work when blocked. Ask only when a decision changes the goal, needs missing authority or access, causes irreversible loss, creates external cost or commitment, changes production or public exposure, or conflicts with an explicit user constraint. On resume, state the agreed outcome and next task in plain language after reading the last recorded direction. Keep routine conversation free of feature paperwork.
63
+
64
+ **Pre-Edit Chat Readiness**
65
+
66
+ Before each source or test edit batch for a feature, run `node .specify/scripts/node/gofer-pre-edit-check.mjs --workspace <repo-root> --feature-dir <feature-dir> --task Tnnn --changed-file <repo-relative-path>`, repeating `--changed-file` for every intended path. This confirms that the goal ledger, specification, plan, and tasks are usable, and that the selected task and edit scope are current. Start no edit until it returns `ready`. If it blocks, create or update the missing feature records, resolve the finding, then rerun the gate. Reuse existing feature records; conversation-only work needs no feature files.
67
+
68
+ Offer an optional Jev chat-readiness review when context could affect whether the work is set up for success. Run it only when the user explicitly selects it, for example: “Check whether this chat is set up for success with Jev.” Summarize only relevant chat context in a short feature-local `chat-readiness-context.md`; do not send the transcript, secrets, or unrelated personal information. Then add `--jev-chat-readiness --chat-context-file chat-readiness-context.md` to the pre-edit check. Jev assesses the selected goal, specification, plan, tasks, decisions, context, and proposed scope. No Jev request occurs by default. A blocked, low-confidence, unavailable, or non-ready result blocks the selected task until reconciled. Jev cannot approve scope changes or replace deterministic checks.
69
+
70
+ Before technical escalation, attach fresh diagnosis through the blocker helper's ask event verification field. Check the exact command, route, environment, own mistake and existing authority. Do not invent a workspace, ask for login without checking it, require an unsafe alternative, or equate administrator access with permission. Business decisions need no failing command. At completion, run the priority checker with --finish; a missing or stale outcome receipt means unverified, regardless of test scores. Use --completion for the final gofer-closed-loop-audit.mjs run; a routine drift audit alone does not prove completion. When TypeSafe semantic review is enabled for the feature, run `node .specify/scripts/node/gofer-semantic-drift.mjs --workspace <repo-root> --feature-dir <feature-dir> --event <resume|before_task_batch|after_material_finding|before_validation>` at resume, before a material task batch, after a material finding, and before validation. A TypeSafe conflict or uncertain result requires Gofer reconciliation; it cannot edit artefacts, bypass scope controls, or complete work. Preserve detailed test results, early local MVP scope, non-app work, independent approved tasks and all release/security checks.
71
+
72
+ ## Always-On EAI Contract
73
+ <!-- gofer:always-on-eai:start -->
74
+
75
+ Apply this contract to every request after Gofer is installed for this repo or AI coding app. The user does not need to type `/eai` or `$eai`.
76
+
77
+ 1. Preserve the user's request. Do not rewrite it or add a visible command prefix.
78
+ 2. Treat an explicit `/eai` (Claude, Copilot, Antigravity, Grok, or VS Code) or `$eai` (Codex) prefix as an idempotent request for the same contract.
79
+ 3. Apply the Controlled English Contract to every Gofer-authored message and artifact.
80
+ 4. Keep the reply short unless the user asks for detail.
81
+ 5. Explain the business effect first.
82
+ 6. Put technical evidence in durable artifacts.
83
+ 7. Do not make the user choose pipeline stages. Select the next internal stage yourself.
84
+ 8. Do not repeat workspace setup on every message. Check it before meaningful repo work, tool use, or a pipeline stage.
85
+ 9. Keep the update and installation path separate. When the user explicitly asks to update Gofer, run only its maintenance contract.
86
+ 10. When a new app conversation starts with `Get started with EAI`, send the Required First-Run Response before workspace preflight, EAI readiness, setup, tool calls, or stage routing.
87
+ <!-- gofer:always-on-eai:end -->
88
+
89
+ ## Workspace Preflight
90
+
91
+
92
+
93
+ 1. Resolve the repository root.
94
+ 2. Run `node .specify/scripts/node/gofer-workspace-check.mjs --host copilot --json` when available.
95
+ 3. If the repo is missing or stale, ask exactly: **"This repo is missing or stale for Gofer. Initialize/update it now?"**
96
+ 4. If the user says yes, run `node .specify/scripts/node/gofer-workspace-bootstrap.mjs --host copilot --include-mirrors`, then resume this command.
97
+ 5. If the user says no, stop and explain that Gofer needs the repo scaffold before it can safely continue.
98
+
99
+ ## Local Settings Cleanup Contract
100
+ <!-- gofer:local-settings-cleanup:start -->
101
+
102
+ After any Gofer install, update, release refresh, or workspace bootstrap:
103
+
104
+ 1. Archive stale Gofer command and skill entries before continuing.
105
+ 2. Prefer the repo helper:
106
+ - `node .specify/scripts/node/gofer-local-settings-cleanup.mjs --workspace . --apply --json`
107
+ 3. If the repo helper is missing, use the stable plugin bundle helper:
108
+ - macOS/Linux: `node ~/plugins/eai-gofer/.specify/scripts/node/gofer-local-settings-cleanup.mjs --workspace . --apply --json`
109
+ - Windows: `node %USERPROFILE%\plugins\eai-gofer\.specify\scripts\node\gofer-local-settings-cleanup.mjs --workspace . --apply --json`
110
+ 4. This cleanup covers old Claude, Codex, Copilot, Gemini, Grok, VS Code, desktop, and CLI command surfaces.
111
+ 5. Do not remove the current public `eai` entrypoint.
112
+ 6. Ask the user to refresh or restart the host command picker only after cleanup completes.
113
+ <!-- gofer:local-settings-cleanup:end -->
114
+
115
+ ## App Preview Runner Contract
116
+ <!-- gofer:app-preview-runner:start -->
117
+
118
+ For EAI app delivery, every UI preview must use the repo runner when it exists.
119
+
120
+ 1. Use `./run.sh dev 3001` on macOS, Linux, and GitHub Codespaces.
121
+ 2. Use `run.bat dev 3001` on Windows.
122
+ 3. Use a different port only when the feature notes record the reason.
123
+ 4. Restart only this app. Before stopping a process, verify its exact checkout, process ID, start time and command, then recheck immediately before stopping it. Never stop another app, an unknown process, or every process on a port. If ownership is uncertain, leave it running and ask the user. Inspect older runners before use; do not run one that kills by port alone.
124
+ 5. Do not use direct `npm run dev`, `next dev`, or package-manager preview commands when `run.sh`, `run.bat`, or `run.ps1` exists.
125
+ 6. After every UI-facing change, run:
126
+ - `node .specify/scripts/node/gofer-ui-preview.mjs --feature-dir {FEATURE_DIR} --command "./run.sh dev 3001" --open auto --screenshot --change "<change summary>"`
127
+ 7. On Windows, use:
128
+ - `node .specify/scripts/node/gofer-ui-preview.mjs --feature-dir {FEATURE_DIR} --command "run.bat dev 3001" --open auto --screenshot --change "<change summary>"`
129
+ 8. If the runner is missing in an EAI app template repo, refresh the template before preview work continues.
130
+ 9. Check the exact preview page and the current implemented user journey after each change. A running process, open browser, screenshot alone, error page or dry run is not proof that it works. Say ready to view only after those checks pass. Otherwise explain what is unchecked or failing; do not claim readiness. Record fresh browser and test evidence. Local MVP checks cover only implemented behaviour; do not add future auth or deployment gates. Keep showing clearly labelled drafts without adding approval stops.
131
+ <!-- gofer:app-preview-runner:end -->
132
+
133
+ ## Journey State
134
+
135
+ Before routing work, decide where the user is now.
136
+
137
+ 1. Read current feature state from `.specify/specs/`, `goal-ledger.json`, `eai-preflight.md`, `research.md`, `spec.md`, `plan.md`, `tasks.md`, validation reports, loop evidence, and handoff notes when they exist.
138
+ 2. Classify the request as conversation, research/docs/audit, EAI app delivery, or ambiguous.
139
+ 3. For conversation or research/docs/audit, continue the non-app Gofer path after the one required non-app confirmation.
140
+ 4. For EAI app delivery or ambiguous app work, continue directly into EAI readiness.
141
+ 5. Find the earliest missing pipeline artifact or blocked EAI gate.
142
+ 6. Run that internal stage next, then continue forward.
143
+ 7. Keep the user-facing explanation at the business level.
144
+
145
+ ## MVP Capability-Based Validation
146
+
147
+ Use `.specify/references/mvp-capability-validation.md` as the source of
148
+ truth. Validate the work that the active feature specification requires now.
149
+ Do not apply later delivery requirements to an early MVP.
150
+
151
+ 1. Create `.specify/specs/{feature}/` before app or operator-tool source work.
152
+ 2. Keep `spec.md`, `plan.md`, `tasks.md`, `traceability.md`, and the validation scope aligned.
153
+ 3. Mark each relevant capability as `not_applicable`, `planned`, `implemented`, `verified`, or `blocked`.
154
+ 4. Require evidence only for an implemented capability or a capability required by the current delivery decision.
155
+ 5. Treat `run.sh`, `run.bat`, and `run.ps1` as launch evidence only. They do not prove authentication, sessions, EAI access, or deployment readiness.
156
+ 6. For a user-facing change, store the local HTTP check, screenshot, and review outcome in the feature validation report.
157
+ 7. If browser validation is blocked, mark that user journey `unverified`. Do not call it complete.
158
+ 8. If the user changes scope, update the feature artifacts before continuing. Explain what changed, what remains valid, and what now needs evidence.
159
+ 9. Use truthful completion language. For example: `The server runs. Authentication is not in the current MVP scope.`
160
+ 10. When the feature claims a release or deployed outcome, create `release-capability-ledger.md` from `.specify/templates/release-capability-ledger-template.md`.
161
+ 11. Do not report a release complete or score 100% when a required capability is missing from traceability, remains on an open PR, is absent from the release branch, or lacks required deployed evidence.
162
+
163
+ **Authentication Access Decision**
164
+
165
+ When adding or changing authentication, read `.specify/references/platform/eai-auth-access.md`. Ask: **"Who should be able to use this app: only members of its EAI workspace (recommended), or any authenticated EAI user?"** Default to `workspace-only`. Wait for the answer before changing auth code. An unanswered question must not widen access. Preserve stricter existing rules. Record the answer in the feature spec; do not repeat a confirmed question unless its scope changes.
166
+
167
+ Confirm the sign-in method separately: EAI sign-in or client SSO through EAI. Verify platform support and CLI syntax; do not invent SSO commands. Enforce trusted server-side workspace membership and app permissions. A session, CIAM directory ID, or email domain alone is not workspace access. Platform-wide sign-in never grants access to another workspace's data. Test allowed and denied users, revoked membership, unavailable membership checks, and cross-workspace requests. These checks apply only when authentication is implemented or required, not to non-app work or an auth-free local MVP.
168
+
169
+ ## App vs Non-App Routing
170
+
171
+ 1. Classify the request before EAI readiness: EAI app delivery, non-application work, or ambiguous.
172
+ 2. If the request is EAI app delivery or ambiguous, continue directly into the EAI app delivery path; do not ask for confirmation just because app delivery is inferred.
173
+ 3. If the request is clearly non-app work, confirm once: **"This looks like non-app work, so I will skip EAI workspace/app setup and continue the Gofer research/docs path. Is that right?"**
174
+ 4. When the user confirms non-app, do not run `eai whoami`, workspace selection, `eai init`, or first-run setup. Record the decision and continue the appropriate Gofer research, documentation, audit, migration, or planning path.
175
+ 5. If the user says it is app work, switch to EAI app delivery and run EAI readiness.
176
+
177
+ ## EAI Platform Readiness
178
+
179
+ 1. Run `eai whoami` only when the current feature uses EAI Platform services, the user asks for EAI setup, or EAI CLI recovery is needed.
180
+ 2. Require `eai-app-template-readiness`, `eai verify`, and `eai template check --format json` only when the feature creates, changes, or validates an EAI Platform app integration.
181
+ 3. Require the authentication journey only when the specification includes sign-in, protected content, user roles, or a deployment target that requires identity.
182
+ 4. For a local MVP with no EAI or authentication capability, record those states as `not_applicable` or `planned` and continue with local feature validation.
183
+ 5. When an EAI capability becomes required, run the first-run/setup path from `.specify/commands/gofer_eai_first_run.md`, then require canonical template evidence before that capability can complete.
184
+ 6. Do not accept copied marker files, a partial scaffold, or a custom template as proof that `eai init` completed.
185
+ 7. After any `eai` error, run `eai errors explain <code-or-reason> --format json` when available before guessing remediation.
186
+ 8. Do not write tokens, secrets, private workspace IDs, Entra/CIAM authority tenant IDs, or local `.env` values into artifacts.
187
+
188
+ ## Verified EAI CLI Command Contract
189
+
190
+ Do not invent, guess, or complete EAI CLI commands from memory.
191
+
192
+ 1. Before you suggest or run an `eai ...` command, verify the exact command from the installed CLI.
193
+ 2. Start with `eai --describe` and use its command map as the source of truth.
194
+ 3. For a specific command, run `eai <command> --help` or the CLI-described equivalent before using flags, subcommands, or examples.
195
+ 4. Use `eai agent guide --format json` when the CLI advertises it.
196
+ 5. Use `eai errors explain <code-or-reason> --format json` after errors when the CLI advertises it.
197
+ 6. If the command is not listed or help fails, do not run it. Say the installed EAI CLI does not expose that command, then choose a safe listed command or ask the user to update EAI CLI.
198
+ 7. Record the verified command and source in `eai-preflight.md`, `service-fit-matrix.md`, or the active feature notes before the command changes files or external systems.
199
+ 8. For commands that create, deploy, publish, change workspaces, change Entra, or spend money, confirm with the user after verification and before execution.
200
+
201
+ ## EAI Hosting And Deployment Contract
202
+
203
+ When an app reaches a deployment decision, ask once: **"Where should this app run: EAI-managed Azure, your Azure, or local only?"**
204
+
205
+ Explain the choices before the user decides:
206
+
207
+ - **EAI-managed Azure**: use the current local app as source, choose who maintains its GitHub repository, and deploy its verified commit through TenantInfra.
208
+ - **Your Azure**: keep the existing customer-owned Azure deployment path and credentials.
209
+ - **Local only**: stop after local validation. Do not create cloud resources.
210
+
211
+ For EAI-managed Azure:
212
+
213
+ 1. Verify `eai deploy app --help` and `eai deploy doctor --help` from the installed CLI. The doctor command must advertise `--operation-id`, `--app-key`, `--tenant-id`, `--target-tenant-id`, and `--evidence-out`. If it does not, stop and ask the user to update the CLI. Do not reproduce its API, GitHub, workflow, or TenantInfra logic in Gofer.
214
+ 2. Verify EAI login, the selected tenant, and app access. The CLI must verify a GitHub identity linked to that same EAI actor through its browser handoff. Guide the user to link an existing GitHub account or create one if needed. Matching email text or a local `gh` login does not prove this association.
215
+ 3. Ask **"Who should maintain the app source: EAI-maintained or My GitHub?"** after identity verification. Keep this choice separate from EAI Azure hosting. EAI-maintained means a server-owned bot repository; My GitHub means the customer's repository.
216
+ 4. For **EAI-maintained**, use `eai deploy app <app-key> --target eai --tenant-id <app-scope-tenant> --source eai-managed --target-tenant-id <runtime-tenant> [--environment preview] [--wait] --format json`. The CLI packages the exact bounded local source. EAI derives the repository, creates and validates the bot PR, merges it, and dispatches the exact merged commit. Do not require an origin remote, a customer push, customer write access to the EAI repository, or customer PR merging. Never treat an accepted bundle or `pending_review` receipt as deployment success.
217
+ 5. For **My GitHub**, use `eai deploy app <app-key> --target eai --tenant-id <app-scope-tenant> --source customer-owned --repo <owner/name> --installation-id <positive-id> --target-tenant-id <runtime-tenant> [--branch main] [--environment preview] [--workflow .github/workflows/eai-app.yml] [--wait] --format json`. The customer commits, pushes, reviews, and merges under that repository's rules. If the CLI installs or updates its workflow, stop at its commit-and-push instruction and continue only after that exact commit is available remotely.
218
+ 6. Use the app-scope tenant for `--tenant-id`. Record the approved runtime tenant from `targetTenantId`; initial deployment, resume, and retry must always pass it explicitly with `--target-tenant-id`, including same-tenant deployments. Persist the selected source mode and returned operation ID in the active feature notes. Read, resume, and retry only that exact operation using the CLI's returned next action.
219
+ 7. For the customer-owned source operation, resume with `eai deploy app <app-key> --target eai --tenant-id <app-scope-tenant> --target-tenant-id <runtime-tenant> --resume <operation-id> [--wait] --format json`. Retry with the same tenant flags and `--retry <operation-id>`. Never omit the target tenant or substitute the latest operation. For EAI-maintained publication, follow only its own CLI-returned exact-operation `nextAction`; do not substitute the customer-owned dispatch path. Before running any returned action that re-invokes `eai deploy app`, verify it names the same `<app-key>`, uses `--target eai`, passes the same `--tenant-id <app-scope-tenant>` and `--target-tenant-id <runtime-tenant>`, addresses `<operation-id>` explicitly, and uses `--format json`. If any binding is missing or different, stop and report the inconsistent CLI action instead of running it or repairing it from memory.
220
+ 8. Treat the CLI JSON as the deployment authority. Record its target tenant, source mode, source binding, bundle digest when present, bot PR and merged commit when present, deployment ID, runtime identity, active URL, pointer versions, status, and next action without copying tokens or secrets.
221
+ 9. Claim deployment complete only when the CLI reports `classification: succeeded`, `status: active`, `requiresTenantInfra: true`, an HTTPS `activeUrl`, a deployment ID, and runtime identity. Run `eai deploy doctor --operation-id <operation-id> --app-key <app-key> --tenant-id <app-scope-tenant> --target-tenant-id <runtime-tenant> --evidence-out .eai/deploy-doctor.json --format json`. The CLI must derive the active URL from the exact PublicAPI operation, verify the deployment, runtime, source, and configuration bindings, run authenticated readiness, and atomically write the receipt. Require the saved receipt to bind the operation, app, both tenants, source and configuration digests, deployment, runtime identity, readiness checks, and timestamp. Every recorded check must pass before the shared readiness gate can pass. When a Gofer deployment task is present, replace every command placeholder with the returned values and retain the selected initial command plus that complete inline doctor command on the task's checkbox line before completion. For customer-owned source, retain its exact `--repo`, `--installation-id`, and any selected `--branch` and `--workflow`; require the receipt to match all four source fields using `main` and `.github/workflows/eai-app.yml` when the optional flags are omitted. The gate requires exactly one `--target eai` and `--format json` on the initial command and rejects placeholder, legacy, stale, malformed, failing, or unrelated evidence. Do not replace `--evidence-out` with shell-specific directory creation or output redirection.
222
+
223
+ If deployment stops, use the CLI reason and `nextAction`. Then run `eai errors explain <code-or-reason> --format json` when advertised. Explain what happened, why it matters, and the exact safe resume action. Keep these causes separate:
224
+
225
+ - EAI login, selected account, tenant membership, or app access;
226
+ - missing or incorrectly linked GitHub identity for the signed-in EAI actor;
227
+ - customer-repository GitHub login or wrong GitHub account;
228
+ - missing tenant repository connection for customer-owned source;
229
+ - missing or incorrect GitHub App installation or repository grant;
230
+ - protected repository or workflow update that needs a commit and push;
231
+ - rejected local source, unapproved template pin, pending bot PR checks, or publication failure;
232
+ - OpenID Connect (OIDC), workflow permission, evidence, or run failure;
233
+ - TenantInfra acceptance, progress, or deployment failure.
234
+
235
+ Never ask the user for a GitHub App private key, personal access token, Azure credential, or platform service token. Keep customer Azure and local deployment behavior unchanged.
236
+
237
+ ## EAI Platform Decision Contract
238
+
239
+ For app delivery, make EAI Platform choices for the business user.
240
+
241
+ 1. Read `.specify/references/platform/eai-service-patterns.md`, `.specify/references/platform/eai-repo-contract.md`, and `.specify/references/platform/eai.md` before architecture or storage decisions.
242
+ 2. Run `eai --describe` before assuming current CLI syntax.
243
+ 3. Run `eai agent guide --format json` when the CLI advertises it.
244
+ 4. Run `eai resources schema --format json` and `eai workflow readiness --format json` when advertised and relevant.
245
+ 5. Create or update `.specify/specs/{feature}/service-fit-matrix.md`.
246
+ 6. Prefer the EAI app template, PublicAPI, ResourceAPI, object types, workflows, goals, targets, platform AI services, and workspace identity.
247
+ 7. Prefer PostgreSQL for relational, transactional, reporting, and workflow state.
248
+ 8. Prefer DocumentDB for flexible JSON documents, nested records, and high-change document models.
249
+ 9. Prefer Blob Storage for large files and binary content behind API-mediated access.
250
+ 10. Prefer AI Search as a derived search projection, not as the source of record.
251
+ 11. Prefer EAI content understanding and document services for classification, extraction, summarization, and Retrieval-Augmented Generation.
252
+ 12. Prefer EAI workflows, goals, and targets for approvals, long-running work, service goals, operating targets, and auditable process state.
253
+ 13. Use Azure second when the EAI Platform does not yet expose the needed capability.
254
+ 14. Use any other platform only as an explicit exception with rationale, owner, expiry, and validation evidence.
255
+ 15. Ask the user only for material business, security, cost, deployment, destructive, or external-system decisions.
256
+
257
+ ## First Conversation
258
+
259
+ When this is the first EAI conversation for a new app:
260
+
261
+ 1. Treat `Get started with EAI` as the first-run trigger. Ignore capitalization, punctuation, and decorative emoji around the phrase.
262
+ 2. Show the following compact orientation once. Do not repeat it after onboarding starts or when existing feature state means the work should resume.
263
+
264
+ ### Required First-Run Response
265
+
266
+ ```markdown
267
+ ## Welcome to Enterprise AI 👋
268
+
269
+ I’ll help you improve a process and turn it into a secure enterprise application:
270
+
271
+ 1. **Improve** — understand the opportunity and design the solution.
272
+ 2. **Build** — prepare data, add AI, and connect systems.
273
+ 3. **Test and deploy** — validate, launch, and share securely.
274
+ 4. **Run and measure** — monitor results, costs, activity, and value.
275
+
276
+ The EAI Platform supports every step with secure data, identity, multi-tenancy, and AI models.
277
+
278
+ I’ll walk you through the whole process and ask short questions as we go. Tell me what you want me to do, or ask **“What’s next?”**, **“What else can you help with?”**, or **“Show me the admin screen.”**
279
+
280
+ **First question:** What process would you like to improve, or what would you like the application to help people do?
281
+ ```
282
+
283
+ 3. After the first answer, ask one short question at a time about the users, current process, desired value, success measures, and material constraints.
284
+ 4. Treat `Show me the admin screen` as a request for the relevant manual path. Use a verified link from repository or platform context when available. Never invent an admin URL.
285
+ 5. Explain EAI capabilities only when they help the next decision. Do not begin with platform architecture or a list of tools.
286
+ 6. Use the repository and EAI CLI as sources of truth. Run `eai --describe` before assuming command syntax and explain known errors before recovery.
287
+ 7. Keep numbered Gofer stages internal. Say what is being learned, designed, built, or checked in business language.
288
+ 8. Explain why specification-led delivery improves AI quality: it creates a shared, testable statement of the outcome before code changes multiply.
289
+ 9. Pause once for approval of the business specification. After approval, continue automatically unless a material business, security, cost, deployment, or destructive decision needs approval.
290
+ 10. Do not create a GitHub repository, deploy, publish, spend money, or change external systems without the relevant user approval.
291
+
292
+ ## Route The Pipeline
293
+
294
+ 1. Read existing feature state from `.specify/specs/`, pipeline state files, checkpoints, validation artifacts, and loop evidence.
295
+ 2. Decide the next internal stage contract needed to move the feature toward completion.
296
+ 3. If no feature state exists yet, start from `.specify/commands/0_gofer_start.md`.
297
+ 4. Execute the selected stage by following the matching file in `.specify/commands/`.
298
+ 5. Continue through research, specify, plan, tasks, implement, and validate unless a real business, security, release, or user-approval decision blocks progress.
299
+ 6. When app UI is involved, show the user the working UI as early and as often as practical.
300
+ 7. Keep stakeholder summaries, build maps, diagrams, loop evidence, tests, and validation artifacts current.
301
+
302
+ ## Continuation And Stop Contract
303
+ <!-- gofer:continuation:start -->
304
+
305
+ 1. Preserve the requested scope and mode, including read-only, plan-only, research-only and MVP work. Keep the full applicable pipeline, stage functions, artifacts, reviews and validation; do not expand an MVP into an unapproved release.
306
+ 2. After a stage's required evidence is complete, read and follow the next internal file in .specify/commands/ in the same conversation. Do not require a numbered command or a host-specific skill dispatcher. Optional helpers remain optional; maintenance and control commands do not start delivery work.
307
+ 3. Treat the stated business goal as authority for ordinary planning, task ordering, design, diagnosis, repair, testing, and reversible repository changes within scope. Record material Gofer decisions with their reason and effect. Do not ask the user to choose implementation details that Gofer can safely decide.
308
+ 4. Ask only when the goal is unclear or changes, the action is irreversible or destructive, it changes security or access, it creates external cost or commitment, it changes production or public exposure, it requires missing authority or credentials, or it conflicts with an explicit user constraint. Record the exact reason before asking. missing or ambiguous approval is not approval when an approval boundary applies. Rejected, revoked, changed or unclear authority requires a pause.
309
+ 5. Pause for material scope, security, cost, deployment, destructive or protected files/boundary changes and any outstanding user gate. A business goal does not authorize publishing, spending, external changes, or bypassing host permissions. Complete safe authorized work without bypassing the blocked gate.
310
+ 6. A tool proposal is not execution. If host consent is required, wait for it. After the tool result or approved proposal returns, inspect the result and resume the next authorized action within approved scope; do not end with only a plan or a proposed tool call. A denied tool or unavailable capability must not be bypassed through another host or CLI.
311
+ 7. Use the current agent's available native tools. Optional Gofer/MCP tools are conveniences, not prerequisites. If the current agent lacks a required capability, report that limitation and the safe next action; do not pretend a handoff button transfers control automatically.
312
+ 8. Stop after research only when research-only work was requested, the user paused, or a real gate blocks progress. Otherwise continue to specification. At validation, report completion only when the requested scope's required evidence passes; failures remain unfinished work.
313
+ 9. Respect budget, context and retry limits from the existing loop contract. Repair safe within-scope failures only within those limits. Preserve a checkpoint before an orderly context stop; resume by reading its recorded stage and rechecking scope, approvals and evidence. Never claim an abrupt host termination was handled.
314
+ 10. Report concise Progress during work. At every controlled stop, report Progress, Stop reason and Next action, including the exact missing input or approval and unfinished work. Reasons are requested scope complete, user pause, approval required, material change, missing capability/access, validation blocked, or budget/context/retry limit. Stage completion alone is not pipeline completion.
315
+
316
+ **Blocker Mediation**
317
+
318
+ - Before repeating a failed action or asking for missing input, read .specify/references/blocker-mediation.md and inspect the private blocker register with gofer-blocker-control.mjs. Reuse the same state directory and goal, subject and condition keys across stages, restarts and surfaces. Different wording, models or tools do not create a new blocker.
319
+ - Classify the cause first. Missing user decisions, access, external dependencies and unavailable capabilities require a recorded wait. Reserve an ask event before asking; ask once, explain the business impact and required change, then stop affected work. An unanswered question is not new evidence. Do not poll or rephrase it to keep running.
320
+ - Technical ask events require a fresh verification file under .specify/references/priority-outcome-protection.md: actual diagnosis, self-cause check and why no authorized repair is available. Business choices need no failed command. For feature tasks, use gofer-priority-check.mjs and the saved direction before switching work; this does not start delivery during maintenance or conversation.
321
+ - For AI-solvable or unknown causes, reserve each attempt before execution. Allow one investigation and one different recovery within existing tighter budgets. Record its result even when interrupted or unsuccessful. An unfinished reservation must not launch again. Do not reset the register, change keys or switch surfaces to obtain more attempts.
322
+ - Resume only after a real user answer or changed external evidence has been recorded and checked. The helper allows one evidence-backed resumption; exhausted limits need human review. Never invent approval or evidence. Successful model output and a running server do not resolve a blocker without the relevant check.
323
+ - Save the blocker, unfinished tasks and next action before stopping. Continue only approved tasks that do not depend on it. Keep the original goal; update specs, plans, tasks and validation for accepted direction changes, and reopen stale checks. Do not quietly drop requirements to make progress.
324
+ - Use node .specify/scripts/node/gofer-blocker-control.mjs --state-dir <private-state-directory> --event <private-event.json> before controlled actions; inspect with --state-dir alone, or add --task T001 for an independent task. A denied action, invalid record or missing helper means stop and explain the limitation, not bypass it. Use the installed plugin script path if no repo scaffold exists. Conversation-only work uses a private session state directory and does not require app setup or feature files.
325
+ - Strict loop validation checks every recorded feature blocker. Shared instructions guide native chats; this helper cannot intercept calls that a host sends directly. Do not claim native enforcement from package tests alone.
326
+
327
+
328
+ ## Verified Specialist Execution
329
+
330
+ Use .specify/references/verified-agent-execution.md before specialist delegation in any app or non-app stage. The shared agent-catalog.json retains specialist responsibilities. Resolve roles with gofer-agent-catalog.mjs; obtain tools and models from the current host, never from another provider's examples. Keep internal roles out of the public command picker.
331
+
332
+ Preserve every required review. Provider-specific Task/model examples describe intent, not portable commands or proof of support. Run independent work together only when dependencies, permission boundaries, scope and budgets allow it. Otherwise serialize supported work. A required independent review remains unverified if separate execution is unavailable; never relabel self-review as independent.
333
+
334
+ The experimental gofer-verified-execution.mjs controller accepts trusted adapters, not worker-supplied commands. It checks current priority, bounds calls and attempts, records required checks, and rejects stale results. Its local process tests do not qualify native model execution. Do not activate an unqualified host adapter or bypass existing blocker, permission, outcome or release gates. Preserve normal safe Gofer work and explain the limitation.
335
+
336
+ <!-- gofer:continuation:end -->
337
+
338
+ ## Internal Function Contracts
339
+
340
+ - `0_gofer_start` - Start Gofer, confirm EAI readiness, and route the delivery pipeline.
341
+ - `0a_problem_validation` - Validate the business problem using 5 Whys root-cause analysis and stakeholder mapping.
342
+ - `10_gofer_cloud` - Deploy and configure the Gofer cloud integration for remote pipeline execution.
343
+ - `1_gofer_research` - Research codebase, CLI integrations, and technology landscape for the target feature.
344
+ - `2_gofer_specify` - Generate a feature specification from research findings and any supporting review context.
345
+ - `3_gofer_plan` - Create a detailed technical implementation plan with architecture, data model, and contracts.
346
+ - `4_gofer_tasks` - Break down the implementation plan into dependency-ordered, parallelisable tasks.
347
+ - `5_gofer_implement` - Execute all tasks from tasks.md phase by phase with feedback loops and engineering review.
348
+ - `6_gofer_validate` - Validate implemented work with evidence-backed scoring, blast-radius analysis, and engineering review.
349
+ - `7_gofer_save` - Save session state and create a handoff checkpoint for resumption in a new context.
350
+ - `7a_stakeholder_comms` - Generate stakeholder-facing communications: release notes, demo scripts, and change briefs.
351
+ - `8_gofer_branding` - Brand Gofer templates and stakeholder documents for a company or consulting-firm look and feel.
352
+ - `9_gofer_tests` - Generate comprehensive test suites from four testing perspectives for a target component.
353
+ - `gofer_bootstrap_workspace` - Create or update the repo-owned Gofer scaffold for the current workspace.
354
+ - `gofer_check_workspace` - Check whether this repo is initialized for Gofer and explain any missing or stale scaffold.
355
+ - `gofer_constitution` - Create or update project constitution with coding principles and guidelines.
356
+ - `gofer_diagnose` - Run a reproduce-minimize-instrument-fix loop for bugs and failing tests.
357
+ - `gofer_eai_first_run` - Prepare a new machine or repo for the first EAI Gofer app build.
358
+ - `gofer_hydrate` - Reverse-engineer specification from existing code (Hydration).
359
+ - `gofer_personality` - Set the assistant personality for this Gofer session: friendly, pragmatic, or none (default).
360
+ - `gofer_plan` - Toggle plan mode in the active CLI session for the next user prompt; non-pipeline control command.
361
+ - `gofer_side` - Open a side conversation in the active CLI without disturbing the main pipeline state; resumable.
362
+ - `gofer_spec_summary` - Generate a business-friendly summary of feature value and scope.
363
+ - `gofer_tdd` - Guide a red-green-refactor loop tied to spec acceptance criteria.
364
+ - `gofer_vocabulary` - Extract domain terminology into a canonical feature glossary.
365
+ - `gofer_zoom_out` - Show how the current feature connects to broader system boundaries.
@@ -0,0 +1,56 @@
1
+ ---
2
+ name: eai-update
3
+ description: "Install or update EAI Gofer for this AI coding app."
4
+ ---
5
+
6
+ # Eai Update
7
+
8
+ Version: 3.14.3
9
+ Host: VS Code and GitHub Copilot
10
+
11
+ ## Update EAI Gofer
12
+
13
+ Use this command to install or update EAI Gofer for the current AI coding app. This command works without an EAI project, a Gofer scaffold, or EAI sign-in.
14
+
15
+ ## Update Contract
16
+
17
+ 1. Do not run workspace checks, `eai init`, `eai whoami`, or pipeline stages.
18
+ 2. Use `copilot` as the current semantic host.
19
+ 3. Check the current host first:
20
+ `node <plugin-root>/.specify/scripts/node/gofer-surface-update.mjs --action inspect --host copilot --json`
21
+ 4. If the plugin root is not known, identify the installed plugin bundle before you run the helper.
22
+ 5. State whether EAI Gofer is installed and whether the host command is available.
23
+ 6. Explain the planned user-level change and ask for approval before any install or update command.
24
+ 7. After approval, run one of these commands from the bundled helper:
25
+ - Install: `node <plugin-root>/.specify/scripts/node/gofer-surface-update.mjs --action install --host copilot --execute --json`
26
+ - Update: `node <plugin-root>/.specify/scripts/node/gofer-surface-update.mjs --action update --host copilot --execute --json`
27
+ 8. After an actual install or update, the helper archives stale Gofer command and skill entries. It adds a small managed always-on instruction for Claude, Codex, Copilot, Antigravity, and VS Code. For Grok, it verifies the installed plugin's `skills/eai/SKILL.md` always-on contract instead of inventing a separate global instruction file. It keeps the current `eai` and `eai-update` entries. For Codex, a clean official local marketplace on `main` fast-forwards safely. A dirty, non-main, or unrecognised local marketplace remains unchanged and reports that its plugin update is incomplete while it still refreshes the always-on instruction. If the Codex marketplace source is unknown, it stops without changes.
28
+ 9. Run only the selected host by default. Use `--host all` only when the user explicitly asks to install or update every detected host.
29
+ 10. Show the required reload step from the helper output. Do not claim the command is ready until the host reloads.
30
+
31
+ ## Supported Hosts
32
+
33
+ - Claude Code: refresh the marketplace and plugin, then run `/reload-plugins`.
34
+ - Codex: refresh a confirmed Git marketplace and apply the plugin, then start a new task or restart Codex. A clean official local `main` checkout fast-forwards and applies the plugin. Other local checkouts keep their work unchanged, refresh the always-on instruction, and report what needs attention. An unknown source stops the update to protect local work.
35
+ - GitHub Copilot: refresh the marketplace and plugin, then restart the CLI session or start a new app chat.
36
+ - Google Antigravity: install or reinstall the repository plugin with `agy`, then start a new Antigravity session.
37
+ - Grok Build: install or update the repository plugin with `grok`, then start a new Grok Build session.
38
+ - VS Code: install or update `EnterpriseAI.gofer`, then run **Developer: Reload Window**.
39
+
40
+ ## Limits
41
+
42
+ - This command updates user-level plugins and extensions. It archives known stale Gofer entries and replaces only Gofer's managed instruction section. It does not remove unrelated user files or host-managed plugin caches. It does not add the repo-owned `.specify/` scaffold.
43
+ - For a repository scaffold, use `/eai add or refresh the Gofer scaffold for this repo` after the host update.
44
+ - Gemini files remain only for legacy file-format compatibility. Gemini is not a current updater host.
45
+ - Keep the full Gofer delivery pipeline unchanged. This command only manages its host installation.
46
+
47
+ **Blocker Mediation**
48
+
49
+ - Before repeating a failed action or asking for missing input, read .specify/references/blocker-mediation.md and inspect the private blocker register with gofer-blocker-control.mjs. Reuse the same state directory and goal, subject and condition keys across stages, restarts and surfaces. Different wording, models or tools do not create a new blocker.
50
+ - Classify the cause first. Missing user decisions, access, external dependencies and unavailable capabilities require a recorded wait. Reserve an ask event before asking; ask once, explain the business impact and required change, then stop affected work. An unanswered question is not new evidence. Do not poll or rephrase it to keep running.
51
+ - Technical ask events require a fresh verification file under .specify/references/priority-outcome-protection.md: actual diagnosis, self-cause check and why no authorized repair is available. Business choices need no failed command. For feature tasks, use gofer-priority-check.mjs and the saved direction before switching work; this does not start delivery during maintenance or conversation.
52
+ - For AI-solvable or unknown causes, reserve each attempt before execution. Allow one investigation and one different recovery within existing tighter budgets. Record its result even when interrupted or unsuccessful. An unfinished reservation must not launch again. Do not reset the register, change keys or switch surfaces to obtain more attempts.
53
+ - Resume only after a real user answer or changed external evidence has been recorded and checked. The helper allows one evidence-backed resumption; exhausted limits need human review. Never invent approval or evidence. Successful model output and a running server do not resolve a blocker without the relevant check.
54
+ - Save the blocker, unfinished tasks and next action before stopping. Continue only approved tasks that do not depend on it. Keep the original goal; update specs, plans, tasks and validation for accepted direction changes, and reopen stale checks. Do not quietly drop requirements to make progress.
55
+ - Use node .specify/scripts/node/gofer-blocker-control.mjs --state-dir <private-state-directory> --event <private-event.json> before controlled actions; inspect with --state-dir alone, or add --task T001 for an independent task. A denied action, invalid record or missing helper means stop and explain the limitation, not bypass it. Use the installed plugin script path if no repo scaffold exists. Conversation-only work uses a private session state directory and does not require app setup or feature files.
56
+ - Strict loop validation checks every recorded feature blocker. Shared instructions guide native chats; this helper cannot intercept calls that a host sends directly. Do not claim native enforcement from package tests alone.
@@ -0,0 +1,93 @@
1
+ ---
2
+ name: gofer-documentation
3
+ description:
4
+ 'Write or update customer-facing delivery documentation and generate its
5
+ PublicAPI-capped lineage diagram. Use for Markdown, requirements,
6
+ architecture, decisions, plans, validation evidence, or documentation graphs
7
+ in a Gofer workspace.'
8
+ ---
9
+
10
+ # Gofer Documentation And Lineage
11
+
12
+ Use this skill whenever an agent creates or changes delivery documentation in a
13
+ Gofer workspace. The durable outputs are human-readable Markdown plus
14
+ `.specify/specs/{feature}/delivery-lineage.json`.
15
+
16
+ ## Trust Boundary
17
+
18
+ Gofer is customer-side. Read `.specify/references/delivery-lineage.md` before
19
+ writing and enforce all of its export rules.
20
+
21
+ - Use `plane: customer`.
22
+ - Stop EAI dependencies at a `public-api-capability` node from `PublicAPI`.
23
+ - Never name or link internal EAI services, repositories, policies,
24
+ infrastructure, `tech-docs`, or personal absolute paths.
25
+ - Do not create an internal graph and rely on a viewer filter. The persisted
26
+ graph itself must be safe for the customer.
27
+ - Record concise rationale and evidence, never hidden chain-of-thought.
28
+
29
+ ## Write The Markdown
30
+
31
+ 1. Preserve the repository's existing documentation conventions. For a new
32
+ durable document, use frontmatter with a stable `doc_id`, `title`, `status`,
33
+ `owners`, and `updated` date.
34
+ 2. Keep the stable `doc_id` when the title or path changes. Mark replaced
35
+ documents `superseded` and link their replacement.
36
+ 3. Use descriptive headings so graph sources can point to exact anchors.
37
+ 4. Separate requirements, decisions, considered options, concise rationale,
38
+ acceptance evidence, and outcomes. Do not present a plan as delivered fact.
39
+ 5. Use repository-relative links and paths. Include a Git commit and SHA-256
40
+ content hash in lineage sources when known.
41
+
42
+ ## Record The Selected Decision
43
+
44
+ Use one explicit heading for each material outcome so the viewer can separate
45
+ the accepted path from alternatives:
46
+
47
+ - `## Selected Approach`, `## Approved Direction`, `## Chosen Option`, or
48
+ `## Architecture Decision` for an accepted choice;
49
+ - `## Rejected Alternative` or `## Declined Option` for an option not taken;
50
+ - `## Superseded Decision` when a later choice replaced it.
51
+
52
+ State the decision itself in the first paragraph below the heading. Keep the
53
+ concise rationale and consequences below it. The viewer records the heading as
54
+ an anchored decision node, shows the latest current accepted decision as the
55
+ **Final selected decision**, and highlights the current customer delivery path
56
+ while fading rejected, superseded, or unhealthy evidence.
57
+
58
+ ## Update The Graph
59
+
60
+ 1. Resolve the active feature under `.specify/specs/`.
61
+ 2. Create `delivery-lineage.json` from
62
+ `.specify/templates/delivery-lineage-template.json` if it is missing.
63
+ 3. Preserve node and edge IDs. Add or update nodes for the changed documents,
64
+ requirements, decisions, work orders, code, tests, outcomes, and published
65
+ PublicAPI capabilities.
66
+ 4. Link evidence with the narrowest accurate relation. Mark stale or unresolved
67
+ sources `suspect`, `anchor-lost`, `broken`, or `superseded`; do not silently
68
+ drop them.
69
+ 5. Run the repository lineage tests before declaring the graph valid.
70
+
71
+ ## Generate Or Show The Diagram
72
+
73
+ Run:
74
+
75
+ ```bash
76
+ node .specify/scripts/node/render-delivery-lineage.mjs \
77
+ --input .specify/specs/{feature}/delivery-lineage.json
78
+ ```
79
+
80
+ This writes `delivery-lineage.md` beside the manifest with a portable Mermaid
81
+ graph. When the Gofer VS Code extension is active, run **Gofer: Show Delivery
82
+ Lineage** (`gofer.showDeliveryLineage`) for the interactive graph. In a
83
+ terminal-only host, show the Mermaid block in chat when supported and always
84
+ return links to both generated files.
85
+
86
+ ## Completion Check
87
+
88
+ - Markdown claims have exact source anchors.
89
+ - The persisted graph contains no private EAI visibility.
90
+ - All edges resolve to existing nodes.
91
+ - The diagram was regenerated after the final graph change.
92
+ - The final selected decision and selected delivery path are visible.
93
+ - The summary names documentation changed and evidence still non-current.