@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,126 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "stages": [
4
+ "0_gofer_start",
5
+ "0a_problem_validation",
6
+ "1_gofer_research",
7
+ "2_gofer_specify",
8
+ "3_gofer_plan",
9
+ "4_gofer_tasks",
10
+ "5_gofer_implement",
11
+ "6_gofer_validate",
12
+ "7_gofer_save",
13
+ "7a_stakeholder_comms",
14
+ "8_gofer_branding",
15
+ "9_gofer_tests",
16
+ "10_gofer_cloud",
17
+ "gofer_constitution",
18
+ "gofer_hydrate",
19
+ "gofer:bootstrap-workspace",
20
+ "gofer:check-workspace",
21
+ "gofer:diagnose",
22
+ "gofer:eai-first-run",
23
+ "gofer:personality",
24
+ "gofer:plan",
25
+ "gofer:side",
26
+ "gofer:spec-summary",
27
+ "gofer:tdd",
28
+ "gofer:vocabulary",
29
+ "gofer:zoom-out"
30
+ ],
31
+ "surfaces": [
32
+ {
33
+ "id": "claude",
34
+ "legacy": false,
35
+ "evidenceKind": "self-declaration",
36
+ "independentReadIsolation": "unqualified",
37
+ "independentExecution": "unqualified"
38
+ },
39
+ {
40
+ "id": "codex",
41
+ "legacy": false,
42
+ "evidenceKind": "self-declaration",
43
+ "independentReadIsolation": "unqualified",
44
+ "independentExecution": "unqualified"
45
+ },
46
+ {
47
+ "id": "copilot",
48
+ "legacy": false,
49
+ "evidenceKind": "self-declaration",
50
+ "independentReadIsolation": "unqualified",
51
+ "independentExecution": "unqualified"
52
+ },
53
+ {
54
+ "id": "vscode",
55
+ "legacy": false,
56
+ "evidenceKind": "self-declaration",
57
+ "independentReadIsolation": "unqualified",
58
+ "independentExecution": "unqualified"
59
+ },
60
+ {
61
+ "id": "grok",
62
+ "legacy": false,
63
+ "evidenceKind": "self-declaration",
64
+ "independentReadIsolation": "unqualified",
65
+ "independentExecution": "unqualified"
66
+ },
67
+ {
68
+ "id": "antigravity",
69
+ "legacy": false,
70
+ "evidenceKind": "self-declaration",
71
+ "independentReadIsolation": "unqualified",
72
+ "independentExecution": "unqualified"
73
+ },
74
+ {
75
+ "id": "gemini",
76
+ "legacy": true,
77
+ "evidenceKind": "self-declaration",
78
+ "independentReadIsolation": "unqualified",
79
+ "independentExecution": "unqualified"
80
+ }
81
+ ],
82
+ "roles": [
83
+ { "id": "assumption-tracker", "body": "agents/assumption-tracker.md" },
84
+ { "id": "business-metrics-analyzer", "body": "agents/business-metrics-analyzer.md" },
85
+ { "id": "business-problem-validator", "body": "agents/business-problem-validator.md" },
86
+ { "id": "codebase-analyzer", "body": "agents/codebase-analyzer.md" },
87
+ { "id": "codebase-locator", "body": "agents/codebase-locator.md" },
88
+ { "id": "codebase-pattern-finder", "body": "agents/codebase-pattern-finder.md" },
89
+ { "id": "comms-writer", "body": "agents/comms-writer.md" },
90
+ { "id": "engineer-review", "body": "agents/engineer-review.md" },
91
+ { "id": "implement-bug-triangulator", "body": "agents/implement-bug-triangulator.md" },
92
+ { "id": "implement-code-review-council", "body": "agents/implement-code-review-council.md" },
93
+ { "id": "implement-doc-writer", "body": "agents/implement-doc-writer.md" },
94
+ { "id": "implement-error-hardener", "body": "agents/implement-error-hardener.md" },
95
+ { "id": "implement-performance-explorer", "body": "agents/implement-performance-explorer.md" },
96
+ { "id": "implement-test-diversifier", "body": "agents/implement-test-diversifier.md" },
97
+ { "id": "implement-variant-generator", "body": "agents/implement-variant-generator.md" },
98
+ { "id": "multi-perspective-judge", "body": "agents/multi-perspective-judge.md" },
99
+ { "id": "plan-api-comparator", "body": "agents/plan-api-comparator.md" },
100
+ { "id": "plan-architecture-diverger", "body": "agents/plan-architecture-diverger.md" },
101
+ { "id": "plan-data-model-stress-tester", "body": "agents/plan-data-model-stress-tester.md" },
102
+ { "id": "plan-migration-path-finder", "body": "agents/plan-migration-path-finder.md" },
103
+ { "id": "plan-refactor-rewrite-advisor", "body": "agents/plan-refactor-rewrite-advisor.md" },
104
+ { "id": "research-dependency-evaluator", "body": "agents/research-dependency-evaluator.md" },
105
+ { "id": "research-horizon-scanner", "body": "agents/research-horizon-scanner.md" },
106
+ { "id": "research-market-scanner", "body": "agents/research-market-scanner.md" },
107
+ { "id": "research-perspective-multiplier", "body": "agents/research-perspective-multiplier.md" },
108
+ { "id": "scope-creep-detector", "body": "agents/scope-creep-detector.md" },
109
+ { "id": "specify-ambiguity-detector", "body": "agents/specify-ambiguity-detector.md" },
110
+ { "id": "specify-journey-stress-tester", "body": "agents/specify-journey-stress-tester.md" },
111
+ { "id": "tasks-cross-cutting-scanner", "body": "agents/tasks-cross-cutting-scanner.md" },
112
+ { "id": "tasks-rollback-planner", "body": "agents/tasks-rollback-planner.md" },
113
+ { "id": "validate-security-red-team", "body": "agents/validate-security-red-team.md" },
114
+ { "id": "validation-correctness", "body": "agents/validation-correctness.md" },
115
+ { "id": "validation-integration", "body": "agents/validation-integration.md" },
116
+ { "id": "validation-performance", "body": "agents/validation-performance.md" },
117
+ { "id": "validation-security", "body": "agents/validation-security.md" },
118
+ { "id": "validation-standards", "body": "agents/validation-standards.md" },
119
+ { "id": "validation-test-quality", "body": "agents/validation-test-quality.md" },
120
+ { "id": "visual-bounded-context-writer", "body": "agents/visual-bounded-context-writer.md" },
121
+ { "id": "visual-c4-writer", "body": "agents/visual-c4-writer.md" },
122
+ { "id": "visual-erd-writer", "body": "agents/visual-erd-writer.md" },
123
+ { "id": "visual-heatmap-writer", "body": "agents/visual-heatmap-writer.md" },
124
+ { "id": "visual-risk-writer", "body": "agents/visual-risk-writer.md" }
125
+ ]
126
+ }
@@ -0,0 +1,156 @@
1
+ # Blocker Mediation
2
+
3
+ Technical escalation now requires a fresh diagnosis in the ask event's
4
+ `verification` file. Use `priority-outcome-protection.md` for its required
5
+ fields. A real business decision needs no failed command. Existing retry
6
+ budgets, ask-once history and permissions remain unchanged.
7
+
8
+ Keep the agreed goal. Stop spending time when progress needs an answer, access
9
+ or a change outside the current work.
10
+
11
+ ## When To Use It
12
+
13
+ Before retrying a failed action or asking for missing input, check the existing
14
+ record. Routine successful work needs no blocker entry.
15
+
16
+ Use the private feature directory for app or product delivery. For
17
+ conversation-only work, reuse a private session directory. Do not initialise an
18
+ app for a question. Share the directory when changing coding tools. Do not store
19
+ passwords, access tokens or customer details in the record.
20
+
21
+ ## State And Actions
22
+
23
+ Run
24
+ `node .specify/scripts/node/gofer-blocker-control.mjs --state-dir <directory>`
25
+ to inspect. Add `--task T001` only after confirming that task does not depend on
26
+ blocked work. No task filter means the whole feature.
27
+
28
+ Send actions with `--event <private-json-file>`. Reserve an action before asking
29
+ the user or starting a tool. Exit code 1 means stop that action. The helper
30
+ records decisions; it does not run commands or prove that permission was
31
+ granted.
32
+
33
+ | Action | Effect |
34
+ | -------- | ------------------------------------------------------------------------------------------------------- |
35
+ | open | Record the cause and affected tasks. Repeated opens retain history and widen, never narrow, task scope. |
36
+ | ask | Reserve one question. Later attempts to ask again are denied. |
37
+ | attempt | Reserve one investigation, then at most one different recovery. |
38
+ | result | Record the reserved attempt's actual result. Progress alone does not mean resolved. |
39
+ | classify | Update the cause without clearing a wait or resetting the budget. |
40
+ | resume | Accept changed evidence and allow one further bounded investigation/recovery cycle. |
41
+ | resolve | Accept the relevant successful check or genuine answer as resolution evidence. |
42
+
43
+ Use stable keys for the goal, affected subject and missing condition. Search the
44
+ register before assigning keys. Do not derive them from question wording, model
45
+ identity or command text. This identity rule needs agent judgement; the helper
46
+ does not detect semantic aliases.
47
+
48
+ An open event has this shape:
49
+
50
+ ```json
51
+ {
52
+ "action": "open",
53
+ "goalKey": "feature-access",
54
+ "subjectKey": "workspace-selection",
55
+ "conditionKey": "user-choice-required",
56
+ "category": "decision",
57
+ "owner": "user",
58
+ "question": "Which workspace should this app use?",
59
+ "requiredChange": "The user selects the target workspace.",
60
+ "tasks": ["T001"]
61
+ }
62
+ ```
63
+
64
+ Categories are `decision`, `access`, `external`, `capability`, `solvable` and
65
+ `unknown`. The first four start in a waiting state. An empty task list affects
66
+ the whole feature. Other events use the returned `blockerId`. An `attempt` also
67
+ needs a stable `approachKey`. A `result` needs the returned `attemptId`, a
68
+ `summary` and `result`: `progress`, `no_progress` or `blocked`.
69
+
70
+ ## Evidence And Resumption
71
+
72
+ For `resume` or `resolve`, supply `evidence` as a relative path inside the state
73
+ directory. A resume also needs `category`: `solvable` or `unknown`. Keep
74
+ evidence immutable:
75
+
76
+ ```json
77
+ {
78
+ "blockerId": "<returned blocker ID>",
79
+ "kind": "change",
80
+ "result": "changed",
81
+ "source": "<actual user reply or external check reference>",
82
+ "summary": "<what changed and why work can proceed>"
83
+ }
84
+ ```
85
+
86
+ Resolution uses `kind: resolution` and `result: pass`. Cite a real answer for a
87
+ decision, or the relevant successful check for a technical fault. A login answer
88
+ does not prove app access. Record the check that the current scope requires.
89
+ Local MVPs do not gain new authentication requirements from this rule.
90
+
91
+ Missing, changed, reused or unrelated evidence is rejected. The helper checks
92
+ its identity and file hash. It cannot authenticate a user reply or verify the
93
+ truth of a hand-written receipt. The agent must inspect the referenced evidence
94
+ and respect host permissions.
95
+
96
+ One evidence-backed resumption is allowed. Existing lower time, token, retry and
97
+ permission limits still apply. If that allowance is exhausted, stop for human
98
+ review. Do not delete the record or invent a new goal. Repeated calls,
99
+ unanswered questions and unchanged status are not progress.
100
+
101
+ A pending attempt survives a restart. Inspect what actually happened before
102
+ recording its outcome; never launch it again solely because the chat ended. A
103
+ writer lock prevents simultaneous state changes. If a lock remains after a
104
+ crash, confirm that no writer is active before manual recovery. Do not
105
+ automatically delete it.
106
+
107
+ ## User Update
108
+
109
+ For a status, blocker, low-confidence review, or decision, use these five labels
110
+ so the reader can act without asking for a translation:
111
+
112
+ ```text
113
+ Recommendation: Continue, reconcile, or wait.
114
+ Why: State the verified rule or evidence that supports the recommendation.
115
+ Next step: Name one concrete action.
116
+ Owner: Name the verified person or role responsible; do not guess.
117
+ User action: Required — <one exact action>, or Not required.
118
+ ```
119
+
120
+ Keep the stop rule separate from its cause. A low-confidence result explains why
121
+ Gofer held the task (the score did not meet the configured threshold); it does
122
+ not explain why Jev chose that score. Choice probabilities identify the closest
123
+ alternative only. Do not present them as Jev's reason. If the API returns no
124
+ reason, say that the cause is unknown. Distinguish a missing or oversized input,
125
+ a local budget hold, a provider error, and a review conflict when evidence shows
126
+ which one occurred. Never report a provider 400 cause as known unless a safe
127
+ diagnostic field establishes it.
128
+
129
+ Report independent gates separately. State each gate's effect on the current
130
+ goal and name its owner only when known. A Jev result does not approve CI,
131
+ reviews, security, deployment, or release. Do not make confidence-only holds
132
+ advisory or change the threshold without explicit approval. Continue safe
133
+ evidence review rather than asking the user to approve an unexplained override.
134
+
135
+ Run the response format check for these replies with
136
+ `node .specify/scripts/node/gofer-response-check.mjs --input <private-draft-file> --kind answer --business-update`.
137
+ The check verifies required labels and basic writing rules. It cannot verify
138
+ that the explanation is true or the named owner is correct.
139
+
140
+ State the result, business impact and one next action:
141
+
142
+ > The page opens, but sign-in still fails. Access is needed to check the account
143
+ > settings. This work is paused until access is available. The page layout can
144
+ > continue separately.
145
+
146
+ Ask the actual question once. Later progress updates must not repeat it. Waiting
147
+ is not feature completion.
148
+
149
+ ## Validation Coverage
150
+
151
+ Strict loop checks reject unresolved or invalid recorded blockers. Legacy
152
+ features without a register retain their existing checks; absence is not proof
153
+ that no blocker exists. Package tests must execute the helper, test restart
154
+ behaviour, and verify all generated surface instructions. Native chat compliance
155
+ needs separate host tests. These instructions cannot force an unsupported host
156
+ to intercept every action.
@@ -0,0 +1,109 @@
1
+ # Clear Updates And Current Goals
2
+
3
+ ## Business Replies
4
+
5
+ Explain what changed, why it matters, and what happens next. Use two or three
6
+ short sentences for progress. Do not repeat an unchanged update. State blockers
7
+ and uncertainty without hiding them behind technical terms.
8
+
9
+ Before sending, store the draft in a private local file and run:
10
+
11
+ ```sh
12
+ node .specify/scripts/node/gofer-response-check.mjs --input <private-draft-file>
13
+ ```
14
+
15
+ Use `--kind answer` for a full answer. Use `--previous <private-file>` to check
16
+ for an identical progress update. Use `--technical` only when the user asks for
17
+ technical detail. It is not a way to bypass a failed business reply. Rewrite
18
+ failed drafts; do not send the findings instead of explaining the work. Do not
19
+ commit drafts. The helper does not print the draft or previous reply.
20
+
21
+ The check flags a bounded set of jargon, length, repetition, and long sentences.
22
+ It does not prove meaning, technical accuracy, business clarity, or ASD-STE100
23
+ conformance. A human or model review must still check those points. It cannot
24
+ block chat messages sent directly by the coding app. Native tool logs remain the
25
+ host's responsibility. Never claim universal message interception.
26
+
27
+ ## Reconcile Each Work Batch
28
+
29
+ 1. Read the agreed goal, current spec, tasks, and latest findings before work.
30
+ 2. Select tasks linked to that goal. Run the applicable acceptance checks.
31
+ 3. After learning something new, record the evidence and affected assumptions.
32
+ 4. Update the spec, plan, tasks, traceability, and validation scope as needed.
33
+ Record why a document remains valid if no change is needed.
34
+ 5. If the outcome, scope, cost, security, or delivery promise changes, ask the
35
+ user before accepting that change. Do not rewrite requirements to excuse
36
+ failing code. Preserve requirement IDs and the decision history.
37
+ 6. Mark tasks complete only after their checks pass. Record failure or blockage
38
+ instead of completion. Reopen affected tasks when evidence becomes stale.
39
+ 7. Explain the business effect. Continue the next authorized batch or report the
40
+ exact unresolved decision. Do not wait until final validation to reconcile.
41
+
42
+ This applies to app and non-app features. Conversation-only requests need no
43
+ feature files. Maintenance commands stay maintenance-only. Keep local MVP
44
+ exemptions: no forced sign-in or deployment if the current scope excludes them.
45
+
46
+ ## Delivery Checkpoint
47
+
48
+ New loop contracts enable `requireDeliveryCheckpoint: true` by default. For an
49
+ existing feature with a spec and tasks, enable it in `loop-contract.json`. Do
50
+ not disable it to hide a failed check. Create or reconcile `spec.md`, `plan.md`,
51
+ `tasks.md`, and `traceability.md` first. Research-only work before that point
52
+ does not need placeholder implementation artifacts. Legacy loop audits report
53
+ that the new coverage is absent until it is enabled; they retain their existing
54
+ checks.
55
+
56
+ After checks pass, write a local JSON evidence record for each completed task:
57
+
58
+ ```json
59
+ {
60
+ "result": "pass",
61
+ "check": "The actual executed acceptance check or named manual verification",
62
+ "requirements": ["FR-001"],
63
+ "specHash": "SHA-256 of the spec used by that check"
64
+ }
65
+ ```
66
+
67
+ Keep actual command output or manual verification records alongside it. Do not
68
+ manufacture a passing record. Record evidence at test time; changing its spec
69
+ hash later is not a valid way to reuse stale results. Evidence records and the
70
+ mapping below are relative to the feature directory. Each traceability row must
71
+ link the task to its requirement IDs.
72
+
73
+ ```json
74
+ {
75
+ "T001": { "requirements": ["FR-001"], "evidence": "evidence/t001.json" }
76
+ }
77
+ ```
78
+
79
+ Capture the reviewed state with that mapping file:
80
+
81
+ ```sh
82
+ node .specify/scripts/node/gofer-delivery-check.mjs --feature-dir <feature-dir> --capture --evidence-map <mapping-file>
83
+ ```
84
+
85
+ An empty mapping is valid only when no tasks are complete. Capture stores
86
+ hashes; it does not mark tasks complete or approve changed goals. Do not
87
+ recapture solely to hide drift. Review the change, update affected documents,
88
+ rerun checks, and replace stale evidence first.
89
+
90
+ Before advancing a batch, resuming work, or claiming completion, run:
91
+
92
+ ```sh
93
+ node .specify/scripts/node/gofer-delivery-check.mjs --feature-dir <feature-dir>
94
+ ```
95
+
96
+ The existing strict loop audit also runs this check from the tasks stage when
97
+ enabled or when a checkpoint exists. A failure blocks that audit. It checks
98
+ document freshness and recorded task evidence. It does not independently execute
99
+ acceptance tests, detect every code change, or prove semantic goal alignment.
100
+ Keep the existing goal, test, browser, review, and release checks.
101
+
102
+ ## Supported Surfaces
103
+
104
+ Claude, Codex, Copilot, VS Code, Grok, and Google command/skill packages receive
105
+ the same rules and portable Node helpers through the existing build paths.
106
+ Package tests prove the files are present. Script tests prove the checker
107
+ behavior. Neither proves that a live desktop or CLI session called the helper.
108
+ If the host cannot execute it, report the check as unverified; do not invent a
109
+ pass.
@@ -0,0 +1,48 @@
1
+ # Customer Delivery Lineage
2
+
3
+ Every active feature maintains `.specify/specs/{feature}/delivery-lineage.json`
4
+ using schema `eai.delivery_lineage.v1`. The manifest is the machine-readable
5
+ graph consumed by the documentation viewer; Markdown remains the human-readable
6
+ evidence.
7
+
8
+ Gofer operates in the customer trust plane. The graph must use `plane: customer`
9
+ and may contain only `customer` and `public-contract` visibility. Never give the
10
+ viewer a larger internal graph and rely on the UI to hide nodes.
11
+
12
+ ## PublicAPI Boundary
13
+
14
+ EAI dependencies terminate at a published capability node:
15
+
16
+ - kind: `public-api-capability`
17
+ - visibility: `public-contract`
18
+ - capability ID: `eai.publicapi.capability.{name}.v{major}`
19
+ - source repository: `PublicAPI`
20
+ - source path and commit: from the published capability contract
21
+
22
+ Do not name or reference services, repositories, policies, infrastructure, or
23
+ documentation behind PublicAPI. Customer projections must reject AdminAPI,
24
+ ResourceAPI, Configurator, Authz, AzureAPI, AICore, GeoService, Infra2025,
25
+ `eai-testing-dev`, `tech-docs`, personal absolute paths, and repositories not on
26
+ the explicit export allowlist.
27
+
28
+ ## Stage Updates
29
+
30
+ | Stage | Required lineage update |
31
+ | ---------------- | ------------------------------------------------------------------------------------------------------------- |
32
+ | Start / Research | Customer need, research artifacts, owners, public capabilities, and evidence links |
33
+ | Specify | Requirements, acceptance outcomes, and the research evidence that supports or constrains them |
34
+ | Plan | Customer architecture, explicit decisions, concise rationale summaries, approvers, and PublicAPI dependencies |
35
+ | Tasks | Work-order nodes and links from requirements and decisions |
36
+ | Implement | Actual customer code, documentation, and test files changed |
37
+ | Validate | Planned-versus-actual reconciliation, test/outcome links, and honest current/suspect/broken/superseded status |
38
+
39
+ Each source location must use a repository-relative path and should include an
40
+ exact Markdown anchor, Git commit, and SHA-256 content hash when known. Record
41
+ the decision, considered options, concise rationale, evidence, owner, and
42
+ approval; never record hidden chain-of-thought.
43
+
44
+ Use `.specify/templates/delivery-lineage-template.json` when the feature does
45
+ not have a manifest. Preserve existing IDs and history when updating it. The
46
+ headless `validateDeliveryLineage`, `projectCustomerDeliveryLineage`, and
47
+ `serializeDeliveryLineage` contracts are authoritative for integrity,
48
+ fail-closed customer projection, and deterministic output.
@@ -0,0 +1,102 @@
1
+ # MVP Capability-Based Validation Contract
2
+
3
+ ## Purpose
4
+
5
+ Validate the work that the active feature specification requires now. Do not
6
+ apply later delivery requirements to an early MVP.
7
+
8
+ ## Capability States
9
+
10
+ Use one state for every relevant capability:
11
+
12
+ | State | Meaning | Validation result |
13
+ | ---------------- | ---------------------------------------------------------------------- | ----------------------------------------------------- |
14
+ | `not_applicable` | The feature does not require this capability. | Excluded from the result. |
15
+ | `planned` | The feature includes this capability, but no code exists. | Visible as planned. It does not fail the current MVP. |
16
+ | `implemented` | Code or configuration exists. | Evidence is required before completion. |
17
+ | `verified` | Required evidence passes. | Complete for the current feature scope. |
18
+ | `blocked` | The active feature requires this capability, but evidence cannot pass. | The affected outcome is not complete. |
19
+
20
+ ## Required Gates
21
+
22
+ 1. Create `.specify/specs/{feature}/` before app or operator-tool source work.
23
+ 2. Map every specified requirement to an automated test, smoke check, or named
24
+ manual check.
25
+ 3. Validate only capabilities that are `implemented` or required by the current
26
+ delivery decision.
27
+ 4. Store HTTP checks, screenshots, and manual review evidence in the feature
28
+ validation report.
29
+ 5. State the exact feature result. Do not call an app working when a required
30
+ journey fails.
31
+
32
+ ## Conditional Gates
33
+
34
+ | Capability | Required when | Not required when |
35
+ | ------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- |
36
+ | EAI CLI and workspace readiness | The current feature uses EAI Platform services or the user asks to prepare an EAI deployment. | Local MVP work does not use EAI services yet. |
37
+ | EAI app template readiness | The feature creates, changes, or validates an EAI Platform app integration. | The local MVP has not entered EAI integration scope. |
38
+ | Authentication journey | The specification includes sign-in, protected content, user roles, or a deployment target that requires identity. | Authentication is explicitly out of the current MVP scope. |
39
+ | Deployment evidence | The user asks to deploy or the feature claims a deployed outcome. | Local development and preview only. |
40
+ | Browser preview evidence | The feature changes user-facing behaviour. | Non-app work or no user-facing change. |
41
+
42
+ ## Authentication Journey
43
+
44
+ When authentication is `implemented`, `required`, or `blocked`, record these
45
+ checks:
46
+
47
+ 1. Provider endpoint responds as expected.
48
+ 2. Callback address matches the configured provider value.
49
+ 3. Sign-in completes.
50
+ 4. A session exists.
51
+ 5. The first protected API call succeeds for an authorised user.
52
+ 6. An unauthorised user fails safely.
53
+
54
+ Use `.specify/references/platform/eai-auth-access.md` for the access decision.
55
+ Record owner confirmation of `workspace-only` (default) or explicitly approved
56
+ `platform-authenticated` access. Test non-members, cross-workspace requests,
57
+ revocation, and unavailable membership checks. Sign-in alone is not permission.
58
+ Client SSO is a separate choice. Changing the provider must not widen access.
59
+ Require a real federated journey before claiming that SSO is verified.
60
+
61
+ If authentication is `not_applicable` or `planned`, record that state and the
62
+ trigger that will make it required. Do not report an authentication failure.
63
+
64
+ ## Direction Changes
65
+
66
+ Before work continues after a scope change:
67
+
68
+ 1. Update `spec.md`, `plan.md`, `tasks.md`, `traceability.md`, and the active
69
+ validation scope.
70
+ 2. Record the change, business effect, new capability state, and test impact.
71
+ 3. Tell the user what changed, what remains valid, and what now needs evidence.
72
+ 4. Re-open only the affected pipeline loop.
73
+
74
+ ## Completion Language
75
+
76
+ Use one of these truthful statements:
77
+
78
+ - `The current MVP works for its specified local journey.`
79
+ - `The server runs. Authentication is not in the current MVP scope.`
80
+ - `The server runs. Authentication is required and currently blocked.`
81
+ - `The deployed journey is not verified because browser evidence is unavailable.`
82
+
83
+ `run.sh`, `run.bat`, and `run.ps1` prove that the app starts. They do not prove
84
+ authentication, sessions, EAI access, or deployment readiness.
85
+
86
+ ## Release Capability Ledger
87
+
88
+ For a feature that claims a release or deployed outcome, create
89
+ `release-capability-ledger.md`. Record every accepted capability with:
90
+
91
+ | Field | Required evidence |
92
+ | ----------------------- | -------------------------------------------------------------- |
93
+ | Business requirement | Requirement ID and plain-language outcome. |
94
+ | Acceptance evidence | Automated test, smoke check, or named manual check. |
95
+ | Responsible change | PR number and commit. |
96
+ | Required release branch | Branch or release candidate that must contain the commit. |
97
+ | Deployed evidence | Browser, API, or operational evidence for the claimed outcome. |
98
+
99
+ Final validation must not report a complete or 100% result when a required
100
+ capability is missing from the specification or traceability record, remains on
101
+ an open PR, is absent from the release branch, or lacks required browser
102
+ evidence.
@@ -14,4 +14,4 @@ Core files:
14
14
 
15
15
  These files are intentionally public-safe. Private repositories can replace or
16
16
  extend them with organization-specific references, but Gofer should always be
17
- able to fall back to this pack without exposing secrets or workspace-private data.
17
+ able to fall back to this pack without exposing secrets or tenant-private data.
@@ -1,7 +1,7 @@
1
1
  # EAI App Template Reference
2
2
 
3
- Use `https://github.com/eai-support/eai-app-template` as the canonical public app
4
- template for EnterpriseAI app-delivery work.
3
+ Use `https://github.com/eai-support/eai-app-template` as the canonical public
4
+ app template for EnterpriseAI app-delivery work.
5
5
 
6
6
  ## Source Of Truth
7
7
 
@@ -19,10 +19,13 @@ template for EnterpriseAI app-delivery work.
19
19
 
20
20
  1. Browser code calls the local app BFF at `/api/eai/...`.
21
21
  2. Browser streaming uses `/api/eai/stream/...`.
22
- 3. The BFF or server helpers attach auth, workspace, and correlation headers.
22
+ 3. For workspace-scoped PublicAPI calls, the BFF or server helpers forward the
23
+ `tenant` and `X-Tenant-Id` headers from server-validated workspace context,
24
+ and attach auth and correlation headers.
23
25
  4. The frontend never receives direct downstream database, blob, search, or
24
26
  PublicAPI credentials.
25
- 5. Use PublicAPI V4 surfaces for direct platform calls.
27
+ 5. Use the published PublicAPI route family through the template SDK, named
28
+ `eai` commands, or an approved server-side helper.
26
29
 
27
30
  ## Implementation Contract
28
31
 
@@ -52,10 +55,9 @@ files, restore files automatically, or weaken protected EAI controls to pass.
52
55
  Local-only and customer-owned source retain their own validation paths.
53
56
 
54
57
  - Use Object Types as the data model contract.
55
- - Keep the PascalCase model `name` distinct from the exact lowercase
56
- kebab-case stored `slug`. Emitted `linkTypes[].targetObjectType`, runtime
57
- `target_type`, paths, resource commands, and governed v4 fields use exact
58
- stored slugs. Never re-derive historical stored slugs.
58
+ - Keep PascalCase model names separate from the exact stored `slug`. Use
59
+ lowercase kebab-case slugs in runtime paths and links; never re-derive or
60
+ rename a historical stored slug.
59
61
  - Use the template SDK and hooks for resources, documents, and chat.
60
62
  - Use config slots with `{ components: [...] }`, not stale array-only slot
61
63
  examples.
@@ -64,11 +66,11 @@ Local-only and customer-owned source retain their own validation paths.
64
66
  - Use the CLI for setup and verification:
65
67
  - `eai login`
66
68
  - `eai workspace select <workspace-slug>`
67
- - `eai types validate`
68
- - `eai types diff --tenant-key <key> --tenant-id <workspace-id>`
69
- - `eai types seed --tenant-key <key> --tenant-id <workspace-id>`
70
- - `eai resources schema --tenant-id <workspace-id>`
71
- - `eai verify calls --tenant-id <workspace-id> --resource-type <object-type-slug>`
69
+ - `eai types validate --tenant-key <key> --tenant-id <tenant-id>`
70
+ - `eai types seed --tenant-key <key> --tenant-id <tenant-id>`
71
+ - `eai types diff --tenant-key <key> --tenant-id <tenant-id>`
72
+ - `eai resources schema --tenant-id <tenant-id>`
73
+ - `eai verify calls --tenant-id <tenant-id> --resource-type <type>`
72
74
 
73
75
  Do not describe retired templates as canonical scaffolds. The surviving public
74
76
  scaffold is the EAI App Template.