@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
@@ -21,41 +21,185 @@ description: Generate actionable task breakdown from implementation plan
21
21
 
22
22
  # Gofer Tasks
23
23
 
24
- ## EAI Platform Session Preflight
25
-
26
- Before any Gofer stage/helper command does pipeline work:
27
-
28
- 1. Treat durable delivery as EAI Platform delivery by default, with Azure second
29
- and every other stack only by explicit exception.
30
- 2. Run `eai whoami` and confirm the EAI CLI is installed, the user is logged in,
31
- and an active workspace is visible.
32
- 3. If `eai` is missing, `eai whoami` fails, the token is expired, or no active
33
- workspace is available, stop and run `/gofer:eai-first-run` or ask the user to
34
- approve login/setup before continuing.
35
- 4. For EAI app delivery, do not continue into research, specification, planning,
36
- tasks, implementation, or validation until
37
- `.specify/specs/{feature}/eai-preflight.md` records login, workspace, template,
38
- app-readiness, and next-action evidence.
39
- 5. Do not write tokens, secrets, private workspace IDs, Entra/CIAM authority tenant IDs, or local `.env` values into
40
- Gofer artifacts; record only product-safe readiness status and evidence.
24
+ ## Continuation And Stop Contract
25
+ <!-- gofer:continuation:start -->
26
+
27
+ 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.
28
+ 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.
29
+ 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.
30
+ 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.
31
+ 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.
32
+ 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.
33
+ 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.
34
+ 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.
35
+ 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.
36
+ 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.
37
+
38
+ **Blocker Mediation**
39
+
40
+ - 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.
41
+ - 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.
42
+ - 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.
43
+ - 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.
44
+ - 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.
45
+ - 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.
46
+ - 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.
47
+ - 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.
48
+
49
+
50
+ ## Verified Specialist Execution
51
+
52
+ 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.
53
+
54
+ 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.
55
+
56
+ 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.
57
+
58
+ <!-- gofer:continuation:end -->
59
+
60
+ ## MVP Capability-Based Validation
61
+
62
+ Use `.specify/references/mvp-capability-validation.md` as the source of
63
+ truth. Validate the work that the active feature specification requires now.
64
+ Do not apply later delivery requirements to an early MVP.
65
+
66
+ 1. Create `.specify/specs/{feature}/` before app or operator-tool source work.
67
+ 2. Keep `spec.md`, `plan.md`, `tasks.md`, `traceability.md`, and the validation scope aligned.
68
+ 3. Mark each relevant capability as `not_applicable`, `planned`, `implemented`, `verified`, or `blocked`.
69
+ 4. Require evidence only for an implemented capability or a capability required by the current delivery decision.
70
+ 5. Treat `run.sh`, `run.bat`, and `run.ps1` as launch evidence only. They do not prove authentication, sessions, EAI access, or deployment readiness.
71
+ 6. For a user-facing change, store the local HTTP check, screenshot, and review outcome in the feature validation report.
72
+ 7. If browser validation is blocked, mark that user journey `unverified`. Do not call it complete.
73
+ 8. If the user changes scope, update the feature artifacts before continuing. Explain what changed, what remains valid, and what now needs evidence.
74
+ 9. Use truthful completion language. For example: `The server runs. Authentication is not in the current MVP scope.`
75
+ 10. When the feature claims a release or deployed outcome, create `release-capability-ledger.md` from `.specify/templates/release-capability-ledger-template.md`.
76
+ 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.
77
+
78
+ ## Application Classification And EAI Preflight
79
+
80
+ Before any EAI CLI, login, workspace, template, or app-enrollment action:
81
+
82
+ 1. Classify the request as **EAI app delivery** or **non-application work** using the application signals in `.specify/commands/0_gofer_start.md`.
83
+ 2. Create `.specify/specs/{feature}/` and record the active delivery scope before app or operator-tool source work.
84
+ 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?"**
85
+ 4. If the user confirms non-app, record the decision and mark app-only capabilities `not_applicable`. Do not run `eai whoami`, `eai workspace select`, `eai init`, or `/gofer:eai-first-run`.
86
+ 5. For local MVP app work, validate the implemented user journey, repo runner, and preview evidence. Do not require EAI setup, authentication, or deployment when the active specification does not require them.
87
+ 6. When the feature uses EAI Platform services, requires a workspace, or prepares deployment, run `eai whoami` and record the EAI readiness evidence in `eai-preflight.md`.
88
+ 7. When the feature creates, changes, or validates an EAI Platform app integration, run `node .specify/scripts/node/eai-app-template-readiness.mjs --root . --json`. A missing checker or status other than `ready` blocks that EAI capability. It does not block unrelated local MVP work.
89
+ 8. When authentication is implemented or required, validate provider, callback, sign-in, session, first protected API call, and safe denied access.
90
+ 9. When deployment is requested or claimed, require the relevant EAI template, security, configuration, and deployment evidence before completion.
91
+ 10. For durable app delivery, use EAI Platform first, Azure second, and every other stack only by explicit exception.
92
+ 11. If the user changes scope, update `spec.md`, `plan.md`, `tasks.md`, `traceability.md`, and validation scope before continuing. Explain the business effect and evidence change.
93
+ 12. Do not accept copied marker files, partial scaffolds, or custom templates as readiness evidence for an EAI capability.
94
+ 13. Do not write tokens, secrets, private workspace IDs, Entra/CIAM authority tenant IDs, or local `.env` values into Gofer artifacts; record only product-safe readiness status and evidence.
95
+
96
+ **Authentication Access Decision**
97
+
98
+ 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.
99
+
100
+ 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.
41
101
 
42
102
  ## Token And Cost Policy
43
103
  <!-- gofer:token-cost-policy:start -->
44
104
 
45
105
  Before spawning agents, calling tools, or loading large files:
46
106
 
47
- 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.
48
- 2. Use the cheapest capable model first.
49
- - Claude: Haiku for scouting/extraction; Sonnet for normal implementation, synthesis, validation, and security; Opus for high-risk arbitration or release-critical failures.
50
- - 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.
51
- - Gemini: Flash-Lite for cheap large-context scan/summarize; Flash for default research synthesis; Pro for large-context architecture or high-risk arbitration.
52
- - 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.
107
+ 1. Treat `.specify/memory/gofer-model-policy.yaml` as advisory capability, cost, and quality constraints. A fresh signed host receipt and independently verified benchmark evidence select the model. If it is missing, run `/gofer:bootstrap-workspace` before continuing.
108
+ 2. Use the lowest-cost model that the live router qualifies for this task. Its signed host receipt and independent benchmark evidence must govern the exact model identity. Do not select a model from static provider examples, names, or price alone.
53
109
  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.
54
110
  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.
55
111
  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.
56
112
  6. Escalate model tier only when a cheaper pass is low-confidence, contradictory, security-sensitive, or blocking release quality.
57
113
  <!-- gofer:token-cost-policy:end -->
58
114
 
115
+ ## Business-Friendly Progress Contract
116
+ <!-- gofer:business-progress:start -->
117
+
118
+ Default user-facing updates must be concise, business-level, and easy to scan.
119
+ Keep the technical work rigorous in artifacts, tests, logs, and code, but do
120
+ not lead with implementation jargon unless the user asks for it.
121
+
122
+ Use ASD-STE100 Simplified Technical English as the target writing standard for
123
+ all Gofer-authored chat, documents, commands, summaries, PR notes, error
124
+ guidance, and validation artifacts. ASD-STE100 is copyright and a trademark of
125
+ ASD; do not bundle the protected ASD dictionary and do not claim ASD
126
+ certification.
127
+
128
+ 1. Explain progress as what is being connected, changed, checked, or fixed and
129
+ why it matters to the business outcome.
130
+ 2. Use the running build map: create or update
131
+ `.specify/specs/{feature}/build-map.md` from
132
+ `.specify/templates/build-map-template.md` for application delivery, and
133
+ refer to its plain-language areas in progress updates.
134
+ 3. When there is a problem, translate it into business impact, current status,
135
+ next action, and what input or approval is needed. Keep raw stack traces,
136
+ command logs, IDs, and acronyms out of chat unless asked.
137
+ 4. If the user asks for technical depth, provide it on request and point to the
138
+ durable artifact that contains the evidence.
139
+ 5. Prefer a compact update shape:
140
+ - `Working on`: the build-map area or stakeholder outcome
141
+ - `Why it matters`: user/business impact
142
+ - `Status`: done, checking, fixing, blocked, or needs decision
143
+ 6. Use one action per instruction.
144
+ 7. Keep instructions to 20 words or fewer where possible.
145
+ 8. Use active voice unless the actor is unknown or not important.
146
+ 9. Use simple verb forms: simple present, simple past, simple future,
147
+ infinitive, or imperative.
148
+ 10. Define acronyms on first use and use approved project terms.
149
+ 11. Avoid idioms, marketing adjectives, vague praise, and hedging.
150
+ 12. Use vertical lists for complex information and one topic per paragraph.
151
+ 13. For errors, state what happened, why it matters, what to do next, and the
152
+ exact safe command when one exists.
153
+ 14. Do not remove technical validation, security checks, EAI preflights, tests,
154
+ or loop evidence. This contract changes presentation, not engineering
155
+ standards.
156
+ 15. Before each user-facing reply, check that it leads with the business effect,
157
+ uses concise simple language, and includes only useful technical detail.
158
+ 16. If any check fails, rewrite the reply before sending it.
159
+ **Business Updates And Goal Checks**
160
+
161
+ 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.
162
+
163
+ 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.
164
+
165
+ 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.
166
+
167
+ 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.
168
+
169
+ **Priority And Outcome Protection**
170
+
171
+ 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.
172
+
173
+ 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.
174
+
175
+ **Pre-Edit Chat Readiness**
176
+
177
+ 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.
178
+
179
+ 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.
180
+
181
+ 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.
182
+
183
+ <!-- gofer:business-progress:end -->
184
+
185
+ ## App Preview Runner Contract
186
+ <!-- gofer:app-preview-runner:start -->
187
+
188
+ For EAI app delivery, every UI preview must use the repo runner when it exists.
189
+
190
+ 1. Use `./run.sh dev 3001` on macOS, Linux, and GitHub Codespaces.
191
+ 2. Use `run.bat dev 3001` on Windows.
192
+ 3. Use a different port only when the feature notes record the reason.
193
+ 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.
194
+ 5. Do not use direct `npm run dev`, `next dev`, or package-manager preview commands when `run.sh`, `run.bat`, or `run.ps1` exists.
195
+ 6. After every UI-facing change, run:
196
+ - `node .specify/scripts/node/gofer-ui-preview.mjs --feature-dir {FEATURE_DIR} --command "./run.sh dev 3001" --open auto --screenshot --change "<change summary>"`
197
+ 7. On Windows, use:
198
+ - `node .specify/scripts/node/gofer-ui-preview.mjs --feature-dir {FEATURE_DIR} --command "run.bat dev 3001" --open auto --screenshot --change "<change summary>"`
199
+ 8. If the runner is missing in an EAI app template repo, refresh the template before preview work continues.
200
+ 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.
201
+ <!-- gofer:app-preview-runner:end -->
202
+
59
203
  ## User Input
60
204
 
61
205
  ```text
@@ -64,6 +208,13 @@ $ARGUMENTS
64
208
 
65
209
  You **MUST** consider the user input before proceeding (if not empty).
66
210
 
211
+ ## Delivery Lineage Contract
212
+
213
+ Before completing this stage, read `.specify/references/delivery-lineage.md`
214
+ and update `.specify/specs/{feature}/delivery-lineage.json` with work-order
215
+ nodes linked to the requirements, decisions, and customer files they will
216
+ change.
217
+
67
218
  ## Execution Profile And Task Sizing
68
219
 
69
220
  Preserve the selected depth from earlier stages:
@@ -119,7 +270,8 @@ boundaries live in the spec.
119
270
  7. Approval gate
120
271
  8. Output: `tasks.md`, `traceability.md`, `issues.md`,
121
272
  `working-backwards-prfaq.md`, `prfaq-history/04-tasks.md`, and
122
- `stakeholder-review-index.md`
273
+ `stakeholder-review-index.md`; for app delivery, tasks must also preserve
274
+ and update `build-map.md`
123
275
 
124
276
  ---
125
277
 
@@ -147,14 +299,27 @@ Task generation dispatches agents — keep main context lightweight.
147
299
  .specify/scripts/bash/check-prerequisites.sh --json
148
300
  ```
149
301
 
150
- Parse JSON for FEATURE_DIR, AVAILABLE_DOCS
302
+ Parse JSON for FEATURE_DIR, AVAILABLE_DOCS. Stop if the script rejects the
303
+ feature specification or the planning file.
304
+
305
+ Validate the completed plan before starting task generation:
306
+
307
+ ```bash
308
+ bash .specify/scripts/bash/validate-artifact.sh plan "{FEATURE_DIR}/plan.md" --strict
309
+ ```
310
+
311
+ Stop if the plan is missing or fails validation. The stage-three loop audit
312
+ below checks loop evidence; it does not validate `spec.md` or `plan.md`.
151
313
 
152
314
  2. **Scan available documents** (do NOT load full content — agents read
153
315
  directly):
154
316
  - Note feature name from FEATURE_DIR
155
317
  - Note which optional docs exist: data-model.md, contracts/, quickstart.md
156
- - Note whether `loop-contract.json` exists. If missing, initialize it with
157
- `node .specify/scripts/node/gofer-loop-audit.mjs --feature-dir {FEATURE_DIR} --stage 4_tasks --init --json`
318
+ - Note whether `loop-contract.json` exists. If missing, initialize it while
319
+ auditing the completed planning stage with
320
+ `node .specify/scripts/node/gofer-loop-audit.mjs --feature-dir {FEATURE_DIR} --stage 3_plan --init --json --strict`.
321
+ Stop on a failed audit. Task-generation outputs and their reviewed delivery
322
+ checkpoint are checked after generation, before implementation.
158
323
  - Note the tasks template path: `.specify/templates/tasks-template.md`
159
324
 
160
325
  ---
@@ -327,7 +492,15 @@ catch misalignment early.
327
492
 
328
493
  ### Review Cycle (repeat up to 5 times)
329
494
 
330
- **You MUST dispatch 3 review agents in parallel** using the Task tool:
495
+ Complete these three independent reviews using qualified host tools. Follow
496
+ `.specify/references/verified-agent-execution.md`; concurrency must respect
497
+ dependencies, permissions and limits. The Task/model examples are not portable
498
+ commands. Sequential independent reviews preserve the same obligations:
499
+
500
+ Before dispatch, run `gofer-host-capability.mjs` for the current host. Build a
501
+ role assignment with `gofer-agent-catalog.mjs`. Bind the requirement revision,
502
+ scope, required checks, selected host model, and evidence target. Use native
503
+ delegation only when the host reports the model and required permissions.
331
504
 
332
505
  **Agent 1**: engineer-review (sonnet) — cross-check spec↔plan↔tasks alignment
333
506
 
@@ -422,7 +595,7 @@ This creates `{FEATURE_DIR}/issues.md` with GitHub-ready issue definitions.
422
595
 
423
596
  ### 6.5 Update Working Backwards PR/FAQ Delivery Plan
424
597
 
425
- Before the approval gate:
598
+ Before implementation:
426
599
 
427
600
  1. Update `{FEATURE_DIR}/working-backwards-prfaq.md`.
428
601
  - Add Delivery / Operations FAQ content from `tasks.md`,
@@ -436,18 +609,30 @@ Before the approval gate:
436
609
  sequencing or scope boundaries.
437
610
  - Add Delivery review ask for dependencies, protected files, MVP scope,
438
611
  parallel work, release gates, and rollback/support plan.
439
- 4. Do not remove or weaken the task approval gate. The PR/FAQ and review index
440
- summarize what is ready; `tasks.md` remains the implementation authority.
612
+ 4. Record the delivery decision, task scope and any approval boundary. The
613
+ PR/FAQ and review index summarize what is ready; `tasks.md` remains the
614
+ implementation authority.
441
615
 
442
616
  ---
443
617
 
444
- ## Step 7: Approval Gate
618
+ ## Step 7: Decision And Approval Boundaries
445
619
 
446
- **IMPORTANT**: Tasks MUST be reviewed and approved before implementation begins.
620
+ The stated business goal authorizes normal task sequencing, implementation
621
+ planning, safe repairs, testing and reversible repository work. Record the
622
+ Gofer decision and its scope, then continue without asking the user to approve
623
+ routine delivery work. Required engineering reviews and task validation still
624
+ apply.
625
+
626
+ Pause only when the goal is unclear or changed, or when the work is
627
+ irreversible, destructive, security or access changing, externally costly,
628
+ production or publicly exposed, or requires missing authority, credentials or
629
+ host permission. Missing, ambiguous, rejected or revoked approval is not
630
+ authorization when one of these approval boundaries applies. Preserve explicit
631
+ user review gates and protected boundaries.
447
632
 
448
633
  ### 7.1 Update Task Status
449
634
 
450
- Set the frontmatter status to `review`:
635
+ Only when an approval boundary is outstanding, set the frontmatter status to `review`:
451
636
 
452
637
  ```yaml
453
638
  ---
@@ -459,9 +644,11 @@ created: [ISO date]
459
644
  ---
460
645
  ```
461
646
 
462
- ### 7.2 Present for Approval
647
+ ### 7.2 Present An Exception For Decision
463
648
 
464
- Display the task summary and request explicit approval:
649
+ For normal delivery work, summarize the recorded Gofer decision and proceed to
650
+ implementation. Otherwise display the task summary and request only the
651
+ specific exception decision that Gofer cannot safely make:
465
652
 
466
653
  ```
467
654
  ════════════════════════════════════════════════════════════════
@@ -480,6 +667,7 @@ Display the task summary and request explicit approval:
480
667
  Files created:
481
668
  - {FEATURE_DIR}/tasks.md
482
669
  - {FEATURE_DIR}/traceability.md
670
+ - {FEATURE_DIR}/build-map.md (updated for app delivery)
483
671
  - {FEATURE_DIR}/loop-contract.json (updated if evaluation commands changed)
484
672
  - {FEATURE_DIR}/issues.md ([N] GitHub issues)
485
673
  - {FEATURE_DIR}/working-backwards-prfaq.md
@@ -487,34 +675,40 @@ Display the task summary and request explicit approval:
487
675
  - {FEATURE_DIR}/stakeholder-review-index.md
488
676
 
489
677
  ════════════════════════════════════════════════════════════════
490
- APPROVAL REQUIRED BEFORE IMPLEMENTATION
678
+ DECISION REQUIRED BEFORE THIS ACTION
491
679
  ════════════════════════════════════════════════════════════════
492
680
 
493
- Please review tasks.md and confirm:
494
- 1. Task breakdown is complete and accurate
495
- 2. Protected files list is correct
496
- 3. Phase dependencies make sense
497
- 4. Scope boundaries are appropriate
681
+ This action needs a decision because: [exact approval boundary]
498
682
 
499
683
  Reply with:
500
- - "approved" or "lgtm" to proceed to implementation
501
- - "modify [feedback]" to request changes
684
+ - "approved" or "lgtm" to authorize this exception
685
+ - "modify [feedback]" to change the direction
502
686
  - "stop" to halt the pipeline
503
687
 
504
688
  ════════════════════════════════════════════════════════════════
505
689
  ```
506
690
 
507
- ### 7.3 Handle Approval Response
691
+ ### 7.3 Handle Exception Response
508
692
 
509
693
  | Response | Action |
510
694
  | --------------------------- | ------------------------------------------------------------ |
511
- | `approved` / `lgtm` / `yes` | Update status to `approved`, proceed to `/5_gofer_implement` |
512
- | `modify [feedback]` | Update tasks based on feedback, re-present for approval |
695
+ | `approved` / `lgtm` / `yes` | Record approval for the exception, then read the implementation contract |
696
+ | `modify [feedback]` | Update tasks and direction, then reassess the exception |
513
697
  | `stop` | Halt pipeline, document reason in tasks.md |
514
698
 
515
- ### 7.4 Record Approval
699
+ ### 7.4 Record Decision Or Approval
700
+
701
+ For normal delivery work, record `decisionId`, the delivery reason and the
702
+ covered scope. Set task status to `approved` after required reviews and checks
703
+ pass. Do not fabricate user approval, approver or timestamp. Recheck the
704
+ decision after a material scope change.
705
+
706
+ When an approval boundary applies, record `approvalBasis` with the original
707
+ approval source and covered scope. Set task status to `approved` only after
708
+ checking that basis and all outstanding gates.
516
709
 
517
- When approved, update frontmatter:
710
+ For a newly received explicit approval, update frontmatter using the actual
711
+ user response and timestamp:
518
712
 
519
713
  ```yaml
520
714
  ---
@@ -532,7 +726,28 @@ created: [ISO date]
532
726
 
533
727
  ## Step 8: Continue to Implementation
534
728
 
535
- After approval received:
729
+ After required reviews pass and either existing scope approval covers the
730
+ tasks or the outstanding approval is received:
731
+
732
+ Review the current priority plan and generated task/traceability files. Capture
733
+ a new delivery checkpoint only when none exists. On a rerun, verify the existing
734
+ checkpoint against the current artifacts before the strict stage-four audit:
735
+
736
+ ```bash
737
+ set -e
738
+ node .specify/scripts/node/gofer-priority-check.mjs --feature-dir "{FEATURE_DIR}"
739
+ if [ -e "{FEATURE_DIR}/delivery-checkpoint.json" ] || [ -L "{FEATURE_DIR}/delivery-checkpoint.json" ]; then
740
+ node .specify/scripts/node/gofer-delivery-check.mjs --feature-dir "{FEATURE_DIR}"
741
+ else
742
+ node .specify/scripts/node/gofer-delivery-check.mjs --feature-dir "{FEATURE_DIR}" --capture
743
+ fi
744
+ node .specify/scripts/node/gofer-loop-audit.mjs --feature-dir "{FEATURE_DIR}" --stage 4_tasks --json --strict
745
+ ```
746
+
747
+ Stop if any check fails. A stale checkpoint requires a new review of the
748
+ affected artifacts. Preserve the prior checkpoint and its review evidence in an
749
+ archive before an explicitly reviewed rebaseline. This continuation never
750
+ overwrites an existing checkpoint to conceal stale task evidence.
536
751
 
537
752
  ```
538
753
  ✓ Tasks APPROVED: {FEATURE_DIR}/tasks.md
@@ -540,10 +755,10 @@ After approval received:
540
755
  Engineering Review: PASSED (cycle [N] of 5)
541
756
  ```
542
757
 
543
- **AUTO-CHAIN (MANDATORY)**: You MUST immediately invoke the next pipeline stage
544
- by calling the Skill tool with skill="/5_gofer_implement". Do NOT ask the user
545
- for confirmation. Do NOT output "Ready for next stage". Just invoke the skill
546
- NOW.
758
+ Read and follow `.specify/commands/5_gofer_implement.md` in the same conversation
759
+ under the Continuation And Stop Contract. Do not pause merely because tasks
760
+ are ready, and do not ask the user to invoke a numbered command. Any remaining
761
+ gate must be reported with Progress, Stop reason and Next action.
547
762
 
548
763
  ---
549
764
 
@@ -555,9 +770,10 @@ is migration-only and used only when `workflowProfile` is explicitly
555
770
 
556
771
  When the workflow profile is explicitly `enterpriseai`,
557
772
  `tasks.md` MUST emit deployment
558
- tasks in the following ordered chain. Each task is independently runnable and
559
- the ordering enforces scaffold before deployment so that runtime contract and
560
- deploy-doctor evidence exist before any deploy command runs.
773
+ tasks in the following ordered chain. Each task is independently runnable. The
774
+ runtime contract must pass before any deploy command runs. Deploy-doctor
775
+ evidence is captured only after the exact operation exists and must pass before
776
+ the EAI-managed deployment task is marked complete.
561
777
 
562
778
  0. **EAI readiness unblock -> `eai-preflight.md`**
563
779
  - If `{FEATURE_DIR}/eai-preflight.md` is missing, stale, or blocked, emit
@@ -565,10 +781,14 @@ deploy-doctor evidence exist before any deploy command runs.
565
781
  install/update `eai`, run `eai login`, run `eai workspace select`, confirm a
566
782
  workspace admin membership (platform role ID `tenant-admin`) with `eai workspace list --format json`, initialize
567
783
  the EAI app template with `eai init <app-name> --skip-prompts
568
- --company-workspace <workspace-id>` when confirmed, and confirm app enrollment
569
- with `eai app list/create/select`.
570
- - Do not emit object-type, UI, implementation, deployment, or service-fit
571
- tasks until EAI readiness is `ready` or explicitly deferred by the user.
784
+ --company-workspace <workspace-id>` when confirmed, enter the created app folder,
785
+ and run `node .specify/scripts/node/eai-app-template-readiness.mjs --root
786
+ . --json`.
787
+ - Do not emit EAI app enrollment, object-type, EAI service-fit, or deployment
788
+ tasks until the checker proves eai-init provenance and the supported
789
+ app-template contract. Local MVP UI and implementation tasks can continue
790
+ when the active specification records EAI capabilities as `planned` or
791
+ `not_applicable`.
572
792
  - Never invent workspace IDs, app keys, app URLs, or platform capabilities.
573
793
  Use `eai --describe`, public EAI docs, and the user's confirmed workspace/app
574
794
  selection as evidence.
@@ -596,26 +816,77 @@ deploy-doctor evidence exist before any deploy command runs.
596
816
  A failed check blocks managed-source readiness and publication. Never omit
597
817
  business changes or customer app files, or restore files automatically.
598
818
  Unsupported custom runtimes must fail explicitly, never trigger source omission.
599
- 3. **Pinned `eai major.minor` deployment tasks -> `eai deploy`**
600
- - Command: `eai deploy trigger --repo <org/repo>`
601
- - Inherits the `major.minor` pin recorded in `plan.md`.
602
- 4. **Post-deploy smoke gate -> `eai deploy doctor`**
603
- - Command: `mkdir -p .eai && eai deploy doctor --url <deployed-url> --format json > .eai/deploy-doctor.json`
604
- - Captures black-box runtime smoke evidence for `/health`, Auth.js,
605
- PublicAPI/BFF reachability, workspace/workflow config, and declared smoke
606
- tests.
819
+ 3. **Hosting- and source-specific deployment task**
820
+ - Read the approved hosting choice from the active specification or plan.
821
+ Do not emit one deployment command for every mode.
822
+ - For **EAI-managed Azure**, emit exactly one two-phase deployment task,
823
+ include `[hosting:eai-managed]` on that task's checkbox line, and branch
824
+ again on the approved source choice:
825
+ - **EAI-maintained** command: `eai deploy app <app-key> --target eai
826
+ --tenant-id <app-scope-tenant> --source eai-managed --target-tenant-id
827
+ <runtime-tenant> [--environment preview] [--wait] --format json`.
828
+ - **My GitHub** command: `eai deploy app <app-key> --target eai --tenant-id
829
+ <app-scope-tenant> --source customer-owned --repo <owner/name>
830
+ --installation-id <positive-id> --target-tenant-id <runtime-tenant>
831
+ [--branch main] [--environment preview] [--workflow
832
+ .github/workflows/eai-app.yml] [--wait] --format json`.
833
+ - `eai deploy trigger --repo <org/repo>` belongs only to a verified
834
+ customer-owned repository next action returned by the installed CLI.
835
+ Never substitute it for the EAI-maintained command.
836
+ - Run the selected initial command without marking the task complete. After
837
+ it returns the exact operation ID, update this same task's checkbox line
838
+ to retain `[hosting:eai-managed]`, that selected initial command with its
839
+ resolved app key, `--target eai`, `--tenant-id`, `--target-tenant-id`,
840
+ `--source`, and `--format json`,
841
+ and the fully resolved doctor command below. Run doctor, then request
842
+ completion. Do not create a separate dependent
843
+ post-deploy checkbox whose prerequisite is this receipt-gated task.
844
+ For customer-owned source, also retain the exact `--repo` and
845
+ `--installation-id`, and any selected `--branch` and `--workflow` on that
846
+ initial command. The receipt must match the repository, installation,
847
+ branch, and workflow; omitted branch and workflow mean `main` and
848
+ `.github/workflows/eai-app.yml`. Missing, duplicated, placeholder, or
849
+ crossed customer source bindings block completion.
850
+ - For **customer Azure**, include `[hosting:customer-azure]` and retain the
851
+ existing approved customer-owned Azure deployment path and credentials.
852
+ Do not add an EAI-managed operation or source command.
853
+ - For **local only**, include `[hosting:local-only]`, stop after local
854
+ validation, and emit no cloud deployment task.
855
+ - EAI CLI deployment tasks inherit the `major.minor` pin recorded in
856
+ `plan.md`.
857
+ - **EAI-managed second phase -> `eai deploy doctor`**
858
+ - `[hosting:eai-managed]` selects operation-bound receipt validation.
859
+ - Command: `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`
860
+ - After deployment returns the exact operation ID, replace every placeholder
861
+ in this command with the resolved operation ID, app key, app-scope tenant, and
862
+ runtime tenant. Put that complete inline command on the same deployment task's
863
+ checkbox line in `tasks.md` before requesting completion, and keep the selected
864
+ initial command with the same app key, app-scope tenant, and runtime tenant plus
865
+ `--target eai`, `--source eai-managed` or `--source customer-owned`, and
866
+ `--format json` on that line. The shared gate reads both commands as independent
867
+ binding sources, requires the initial command's exact target and output mode,
868
+ and requires their app key, app-scope tenant, and runtime tenant to match before
869
+ it reads the receipt. An EAI-managed task with a placeholder, mismatch, or
870
+ missing resolved command cannot pass.
871
+ - The CLI derives the active URL from the exact operation, verifies its
872
+ deployment, runtime, source, and configuration bindings, runs authenticated
873
+ readiness, and atomically writes the receipt. The receipt captures runtime
874
+ smoke evidence for `/health`, Auth.js, PublicAPI/BFF reachability,
875
+ workspace/workflow config, and declared smoke tests.
607
876
 
608
877
  <!-- prettier-ignore -->
609
- The ordering above is non-negotiable: tasks.md MUST instruct the pipeline to scaffold before deployment, validate before deploy, invoke pinned `eai major.minor` deployment tasks, and then capture deploy-doctor evidence. Breaking the order causes deployment preflight gating in `/5_gofer_implement` to fail.
878
+ The ordering above is non-negotiable: tasks.md MUST instruct the pipeline to scaffold before deployment, validate before deploy, branch on the recorded hosting and source choices, invoke the selected pinned `eai major.minor` deployment command only for EAI-managed Azure, and then capture deploy-doctor evidence in that same task after the operation exists. Before completion, the one runnable EAI-managed task MUST retain `[hosting:eai-managed]` and the resolved doctor command on its checkbox line. Splitting those phases into dependent task checkboxes, breaking the order, or leaving unresolved binding placeholders causes deployment preflight gating in `/5_gofer_implement` to fail.
610
879
 
611
880
  ### App-Delivery Preconditions Inside Shared Stages
612
881
 
613
- For **application delivery**, task generation MUST treat the UI-first gate as a
614
- precondition to downstream implementation tasks:
882
+ For **application delivery**, task generation MUST treat the UI-first
883
+ show-and-tell loop as early implementation scaffolding and fast feedback
884
+ evidence:
615
885
 
616
- - If `{FEATURE_DIR}/ui-approval.md` does not exist or is not approved, emit
617
- only the blocking preview/approval tasks needed to reach approval; do **not**
618
- emit downstream implementation tasks as if the UI were already settled.
886
+ - If `{FEATURE_DIR}/ui-show-and-tell.md` or `{FEATURE_DIR}/ui-review-log.md` is
887
+ missing, emit early preview/show-and-tell tasks before or alongside the first
888
+ UI tasks so the user sees the UI quickly. Do **not** suppress downstream
889
+ implementation only because show-and-tell evidence is still being gathered.
619
890
  - If `{FEATURE_DIR}/service-fit-matrix.md` is missing or does not distinguish
620
891
  accessible now vs purchasable vs unavailable platform capabilities, emit a
621
892
  blocking service-fit task group before normal build tasks.
@@ -629,7 +900,7 @@ precondition to downstream implementation tasks:
629
900
  `eai --describe`, `eai blocks list`, `eai blocks describe <id>` for selected
630
901
  blocks, and `eai resources schema --format json`; task notes must cite block
631
902
  IDs, resource fields, data/action bindings, package lane, coupling status,
632
- Storybook story IDs, theme override points, and approved custom-block
903
+ Storybook story IDs, theme override points, and explicit custom-block
633
904
  exceptions.
634
905
  - Add package-profile tasks that lock the external/internal/hybrid profile
635
906
  choice and the package lane before any public, shared, or app-local block
@@ -646,7 +917,7 @@ precondition to downstream implementation tasks:
646
917
  accessibility/theming contracts, consumer smoke tests, and unsupported
647
918
  custom-block exceptions.
648
919
  - For **non-app work**, keep the shared numbered stages but skip these
649
- preview/approval/service-fit prerequisites.
920
+ preview/show-and-tell/service-fit prerequisites.
650
921
 
651
922
  ### EnterpriseAI Contract, Reuse, and Red/Green Tasks
652
923
 
@@ -657,6 +928,17 @@ precondition to downstream implementation tasks:
657
928
  object-type seeding or preview readiness.
658
929
  - Object-type publish -> `eai types seed` only after provisioning and
659
930
  validation are complete.
931
+ - Object-type seed capability -> require
932
+ `app-manifest-name-slug-negotiation-v1` before the mutating seed. Use the dry
933
+ run to verify the preferred request shape and exact declared name/slug pairs,
934
+ not as proof that the deployed receiver accepts that shape.
935
+ - Object-type request compatibility -> run `eai types seed --dry-run` first.
936
+ Let the maintained CLI serialize the app manifest. Do not copy the source
937
+ name/slug schema into a direct PublicAPI request.
938
+ - Object-type identifier use -> verify each declared PascalCase `name` keeps one
939
+ exact kebab-case `slug` through relationship targets, Curate resource routes,
940
+ resource query fields, `useResources`, and `client.resources`. Create a task
941
+ to remove any generated PascalCase transport value or locally re-derived slug.
660
942
  - Schema and storage health -> `eai resources schema` / storage diagnostics / `eai verify`
661
943
  before preview/runtime signoff.
662
944
  - Pinned `eai major.minor` deployment tasks whenever deployment, rollout, or
@@ -668,16 +950,38 @@ precondition to downstream implementation tasks:
668
950
  four-or-fewer journey steps covering user experience, chatbot/voice/
669
951
  accessibility/translation support, contextual prefill, completion validation,
670
952
  human review, audit trail, and fallback/escalation.
671
- - App-delivery preview/approval tasks that:
953
+ - App-delivery preview/show-and-tell tasks that:
672
954
  - build the first MVP from EAI App Template blocks
673
955
  - select only known `eai blocks` IDs unless a custom-block exception exists
674
956
  - preserve package lane, external/internal/hybrid profile choice, coupling
675
- status, Storybook story IDs, and theme override points from the approved
957
+ status, Storybook story IDs, and theme override points from the selected
676
958
  preview brief
677
- - apply approved branding/logo work when in scope
959
+ - apply selected branding/logo work when in scope
960
+ - record or confirm the preview command/URL, using the repo runner before the
961
+ first UI task
962
+ - run the preview helper after every UI-facing change. Prefer
963
+ `./run.sh dev 3001` on macOS/Linux/Codespaces and `run.bat dev 3001` on
964
+ Windows:
965
+ ```bash
966
+ node .specify/scripts/node/gofer-ui-preview.mjs --feature-dir {FEATURE_DIR} --command "./run.sh dev 3001" --require-scenarios --open auto --screenshot --change "<change summary>"
967
+ ```
968
+ - create `{FEATURE_DIR}/business-scenarios.json` from
969
+ `.specify/templates/business-scenarios-template.json`; every in-scope user
970
+ story must name its business outcome, all screens/states crossed, and the
971
+ executable Playwright/Cypress/browser test file that proves the journey
972
+ - add one browser test task per business scenario plus a whole-journey task
973
+ that clicks through the screens in user order, checks visible outcomes and
974
+ error/denial states, and fails on console errors, failed requests,
975
+ unexpected redirects, horizontal overflow, or unsupported live claims
976
+ - make the browser scenario command a required package script, preferring
977
+ `test:business-scenarios`, then `test:e2e` or `test:playwright`; unit tests
978
+ and a screenshot alone do not satisfy this gate
979
+ - report the opened preview URL and screenshot path to the user quickly after
980
+ each preview refresh
678
981
  - collect screenshot or Playwright-style self-review evidence
679
982
  - update `ui-review-log.md`
680
- - block downstream work until `ui-approval.md` is approved
983
+ - update `ui-show-and-tell.md` with what was shown, where it opened, what the
984
+ user said, what changed next, and any unresolved UX issues
681
985
  - App-delivery service-fit tasks that update `service-fit-matrix.md` using
682
986
  workspace context evidence from `eai --describe`, `eai whoami`, `eai workspace
683
987
  select`, `eai resources schema --format json`, `eai workflow readiness
@@ -734,3 +1038,19 @@ Logs to: `.specify/logs/pipeline.jsonl`
734
1038
  - Each user story phase must be independently testable
735
1039
  - Tests are OPTIONAL - only include if specified in requirements
736
1040
  - Log stage completion for observability tracking
1041
+
1042
+ ## Local Settings Cleanup Contract
1043
+ <!-- gofer:local-settings-cleanup:start -->
1044
+
1045
+ After any Gofer install, update, release refresh, or workspace bootstrap:
1046
+
1047
+ 1. Archive stale Gofer command and skill entries before continuing.
1048
+ 2. Prefer the repo helper:
1049
+ - `node .specify/scripts/node/gofer-local-settings-cleanup.mjs --workspace . --apply --json`
1050
+ 3. If the repo helper is missing, use the stable plugin bundle helper:
1051
+ - macOS/Linux: `node ~/plugins/eai-gofer/.specify/scripts/node/gofer-local-settings-cleanup.mjs --workspace . --apply --json`
1052
+ - Windows: `node %USERPROFILE%\plugins\eai-gofer\.specify\scripts\node\gofer-local-settings-cleanup.mjs --workspace . --apply --json`
1053
+ 4. This cleanup covers old Claude, Codex, Copilot, Gemini, Grok, VS Code, desktop, and CLI command surfaces.
1054
+ 5. Do not remove the current public `eai` entrypoint.
1055
+ 6. Ask the user to refresh or restart the host command picker only after cleanup completes.
1056
+ <!-- gofer:local-settings-cleanup:end -->