@thebackstoryis/engineering-with-ai 0.2.9

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 (334) hide show
  1. package/Docs/README.md +50 -0
  2. package/Docs/adoption/consultancy-and-multi-project-rollout.md +135 -0
  3. package/Docs/adoption/non-technical-team-guide.md +126 -0
  4. package/Docs/archaeology-technology-and-hosting-discovery.md +212 -0
  5. package/Docs/blast-radius-and-impact-routing-guide.md +325 -0
  6. package/Docs/blueprints/internal-blueprint-catalogue.md +146 -0
  7. package/Docs/blueprints/maintaining-organisation-blueprints.md +154 -0
  8. package/Docs/blueprints/validation-and-troubleshooting.md +168 -0
  9. package/Docs/cli-reference.md +113 -0
  10. package/Docs/completed-phase-evidence-amendments.md +74 -0
  11. package/Docs/consultancy-network-rollout-control-plane-guide.md +202 -0
  12. package/Docs/context-aware-delivery-companion-guide.md +198 -0
  13. package/Docs/context-aware-delivery-companion-user-guide.md +184 -0
  14. package/Docs/context-management-and-token-efficiency.md +113 -0
  15. package/Docs/design-systems/design-system-implementation-guide.md +85 -0
  16. package/Docs/design-systems/design-system-pack-authoring-guide.md +95 -0
  17. package/Docs/design-systems/design-system-review-guide.md +51 -0
  18. package/Docs/design-systems/design-system-user-guide.md +96 -0
  19. package/Docs/design-systems/product-owner-guide.md +49 -0
  20. package/Docs/designing-organisation-blueprint-packs.md +384 -0
  21. package/Docs/developer-delivery-guide.md +224 -0
  22. package/Docs/error-reporting-guide.md +110 -0
  23. package/Docs/error-reporting-provider-guide.md +49 -0
  24. package/Docs/examples/error-report-adapter.md +70 -0
  25. package/Docs/examples/meeting-review.md +76 -0
  26. package/Docs/examples/minimal-design-system.md +67 -0
  27. package/Docs/examples/prototype-review-inputs.md +175 -0
  28. package/Docs/examples/reproducible-archaeology-depth-example.md +144 -0
  29. package/Docs/examples/test-scenario-input.md +68 -0
  30. package/Docs/examples/worked-examples.md +147 -0
  31. package/Docs/existing-project-onboarding-guide.md +214 -0
  32. package/Docs/explanation/core-concepts.md +26 -0
  33. package/Docs/explanation/delivery-workflow.md +48 -0
  34. package/Docs/governance/governance-team-guide.md +139 -0
  35. package/Docs/governed-starter-project-materialisation-guide.md +284 -0
  36. package/Docs/guide-catalogue.md +117 -0
  37. package/Docs/guided-discovery-facilitator-guide.md +172 -0
  38. package/Docs/guided-intent-workspace-guide.md +109 -0
  39. package/Docs/guided-phase-evidence-drafting-guide.md +119 -0
  40. package/Docs/human-approval-and-assurance-guide.md +146 -0
  41. package/Docs/knowledge-proposals-implementer-guide.md +106 -0
  42. package/Docs/knowledge-proposals-user-guide.md +247 -0
  43. package/Docs/maintainers/context-benchmarks.md +29 -0
  44. package/Docs/maintainers/contributing.md +58 -0
  45. package/Docs/maintainers/evidence-depth-acceptance.md +72 -0
  46. package/Docs/maintainers/verification-walkthroughs.md +104 -0
  47. package/Docs/meeting-evidence-implementer-guide.md +132 -0
  48. package/Docs/meeting-evidence-user-guide.md +200 -0
  49. package/Docs/operations/dashboard-and-delivery-state.md +153 -0
  50. package/Docs/operations/dashboard-configuration.md +87 -0
  51. package/Docs/operations/installation-updating-and-entitlements.md +135 -0
  52. package/Docs/operations/premium-personas-setup.md +76 -0
  53. package/Docs/operations/troubleshooting-and-recovery.md +205 -0
  54. package/Docs/organisation-rollout-guide.md +142 -0
  55. package/Docs/persona-entitlement-provider-guide.md +199 -0
  56. package/Docs/persona-guided-prototype-iteration.md +129 -0
  57. package/Docs/personas/organisation-specific-personas.md +103 -0
  58. package/Docs/personas/persona-authoring-cookbook.md +176 -0
  59. package/Docs/personas/persona-engagement-ui.md +133 -0
  60. package/Docs/personas/persona-governance.md +118 -0
  61. package/Docs/platform-export-analysis-guide.md +336 -0
  62. package/Docs/policies/governance-owner-guide.md +36 -0
  63. package/Docs/policies/implementation-guide.md +42 -0
  64. package/Docs/policies/organisation-policy-design-gates.md +58 -0
  65. package/Docs/policies/policy-pack-authoring-guide.md +108 -0
  66. package/Docs/policies/product-owner-guide.md +43 -0
  67. package/Docs/policies/technical-owner-guide.md +37 -0
  68. package/Docs/product-owner-guide.md +327 -0
  69. package/Docs/project-portfolio-orchestration-guide.md +199 -0
  70. package/Docs/quality/manual-qa-and-acceptance.md +162 -0
  71. package/Docs/quality/persona-driven-test-scenarios.md +172 -0
  72. package/Docs/quality/reproducible-archaeology-depth-review-checklist.md +89 -0
  73. package/Docs/reference/capabilities-and-project-layout.md +678 -0
  74. package/Docs/reference/cli-and-configuration.md +398 -0
  75. package/Docs/reference/contributions-api.md +23 -0
  76. package/Docs/reference/security-adapter-authoring.md +81 -0
  77. package/Docs/reference/starter-adapter-authoring.md +74 -0
  78. package/Docs/repository-source-map-guide.md +381 -0
  79. package/Docs/reproducible-archaeology-and-discovery-depth.md +292 -0
  80. package/Docs/screen-prototype-creation-guide.md +324 -0
  81. package/Docs/security-validation-guide.md +353 -0
  82. package/Docs/solution-readiness-review-guide.md +123 -0
  83. package/Docs/standards/project-standards-authoring.md +157 -0
  84. package/Docs/team-hub-guide.md +162 -0
  85. package/Docs/team-hub-resource-registry-guide.md +167 -0
  86. package/Docs/tutorials/first-delivery.md +83 -0
  87. package/Docs/tutorials/first-session.md +62 -0
  88. package/Docs/using-lifecycle-hooks.md +381 -0
  89. package/Docs/working-with-personas.md +274 -0
  90. package/LICENSE +165 -0
  91. package/README.md +96 -0
  92. package/agents-src/claude/ewai-security-reviewer.md +15 -0
  93. package/bin/ewai +5 -0
  94. package/config/archaeology-record-families.yaml +59 -0
  95. package/config/delivery-artifacts.yaml +121 -0
  96. package/config/delivery-stages.yaml +77 -0
  97. package/config/design-system.schema.json +46 -0
  98. package/config/error-reporting.schema.json +79 -0
  99. package/config/evidence-depth.schema.json +53 -0
  100. package/config/intent.schema.json +90 -0
  101. package/config/knowledge-proposals-proposal.schema.json +34 -0
  102. package/config/lifecycle-event.schema.json +68 -0
  103. package/config/lifecycle-handler.schema.json +45 -0
  104. package/config/lifecycle-hook-ack.schema.json +19 -0
  105. package/config/meeting-evidence-candidate.schema.json +102 -0
  106. package/config/organisation-policy.schema.json +137 -0
  107. package/config/pack.schema.json +250 -0
  108. package/config/persona-pack.schema.json +21 -0
  109. package/config/persona.schema.json +17 -0
  110. package/config/policy-evaluation.schema.json +77 -0
  111. package/config/policy-facts.schema.json +140 -0
  112. package/config/portfolio.schema.json +68 -0
  113. package/config/project.schema.json +313 -0
  114. package/config/prototype-iteration.schema.json +128 -0
  115. package/config/rollout.schema.json +87 -0
  116. package/config/security-adapter.schema.json +31 -0
  117. package/config/security-scan-request.schema.json +64 -0
  118. package/config/security-scan-response.schema.json +52 -0
  119. package/config/security-validation-policy.schema.json +74 -0
  120. package/config/starter-source-acknowledgement.schema.json +13 -0
  121. package/config/starter-source-adapter.schema.json +38 -0
  122. package/config/starter-source-request.schema.json +61 -0
  123. package/package.json +77 -0
  124. package/packs/core/pack.yaml +7 -0
  125. package/packs/design-systems/default/experience-promise.md +9 -0
  126. package/packs/design-systems/default/intentional-review.md +10 -0
  127. package/packs/design-systems/default/interaction-and-entry.md +9 -0
  128. package/packs/design-systems/default/meaningful-content-and-states.md +9 -0
  129. package/packs/design-systems/default/pack.yaml +44 -0
  130. package/packs/design-systems/default/principles.md +10 -0
  131. package/packs/personas/core/pack.yaml +7 -0
  132. package/packs/personas/core/personas/archaeologist.md +37 -0
  133. package/packs/personas/core/personas/end-user.md +17 -0
  134. package/packs/personas/core/personas/maintainer.md +17 -0
  135. package/packs/personas/core/personas/operator.md +17 -0
  136. package/packs/personas/core/personas/specs-knowledge-curator.md +35 -0
  137. package/packs/technologies/laravel/pack.yaml +30 -0
  138. package/packs/technologies/laravel-nuxt/pack.yaml +30 -0
  139. package/packs/technologies/nuxt/pack.yaml +30 -0
  140. package/packs/technologies/power-platform/pack.yaml +31 -0
  141. package/packs/technologies/salesforce/pack.yaml +25 -0
  142. package/public/app.js +4896 -0
  143. package/public/apple-touch-icon.png +0 -0
  144. package/public/assets/backstory-icon.png +0 -0
  145. package/public/dashboard-navigation.js +98 -0
  146. package/public/favicon-16.png +0 -0
  147. package/public/favicon-32.png +0 -0
  148. package/public/favicon.ico +0 -0
  149. package/public/index.html +789 -0
  150. package/public/styles.css +2693 -0
  151. package/public/team-hub/app.js +202 -0
  152. package/public/team-hub/index.html +79 -0
  153. package/public/team-hub/styles.css +90 -0
  154. package/scripts/publication-check.mjs +140 -0
  155. package/scripts/setup.mjs +21 -0
  156. package/skills-src/ewai-archaeology/SKILL.md +334 -0
  157. package/skills-src/ewai-archaeology/agents/openai.yaml +4 -0
  158. package/skills-src/ewai-archaeology/references/archaeology-contract.md +201 -0
  159. package/skills-src/ewai-archaeology/references/lifecycle-reconstruction.md +177 -0
  160. package/skills-src/ewai-archaeology/references/maximum-detail-reconstruction.md +97 -0
  161. package/skills-src/ewai-archaeology/references/model-routing.md +26 -0
  162. package/skills-src/ewai-architecture/SKILL.md +108 -0
  163. package/skills-src/ewai-architecture/agents/openai.yaml +4 -0
  164. package/skills-src/ewai-architecture/references/architecture-contract.md +176 -0
  165. package/skills-src/ewai-context/SKILL.md +68 -0
  166. package/skills-src/ewai-context/agents/openai.yaml +4 -0
  167. package/skills-src/ewai-context-import/SKILL.md +118 -0
  168. package/skills-src/ewai-context-import/agents/openai.yaml +4 -0
  169. package/skills-src/ewai-context-import/references/context-import-contract.md +106 -0
  170. package/skills-src/ewai-dashboard-configuration/SKILL.md +20 -0
  171. package/skills-src/ewai-deliver/SKILL.md +122 -0
  172. package/skills-src/ewai-deliver/references/delivery-evidence.md +92 -0
  173. package/skills-src/ewai-deliver/references/phase-routing.md +31 -0
  174. package/skills-src/ewai-design-system-apply/SKILL.md +27 -0
  175. package/skills-src/ewai-design-system-apply/agents/openai.yaml +4 -0
  176. package/skills-src/ewai-design-system-apply/references/application-contract.md +36 -0
  177. package/skills-src/ewai-design-system-author/SKILL.md +28 -0
  178. package/skills-src/ewai-design-system-author/agents/openai.yaml +4 -0
  179. package/skills-src/ewai-design-system-author/references/authoring-contract.md +38 -0
  180. package/skills-src/ewai-design-system-review/SKILL.md +26 -0
  181. package/skills-src/ewai-design-system-review/agents/openai.yaml +4 -0
  182. package/skills-src/ewai-design-system-review/references/review-contract.md +40 -0
  183. package/skills-src/ewai-error-reporting/SKILL.md +46 -0
  184. package/skills-src/ewai-error-reporting/agents/openai.yaml +4 -0
  185. package/skills-src/ewai-error-reporting/references/provider-contract.md +74 -0
  186. package/skills-src/ewai-evidence-depth/SKILL.md +72 -0
  187. package/skills-src/ewai-evidence-depth/agents/openai.yaml +4 -0
  188. package/skills-src/ewai-evidence-depth/references/evidence-depth-contract.md +127 -0
  189. package/skills-src/ewai-intent/SKILL.md +68 -0
  190. package/skills-src/ewai-intent/agents/openai.yaml +4 -0
  191. package/skills-src/ewai-intent/references/intent-contract.md +42 -0
  192. package/skills-src/ewai-knowledge-proposals/SKILL.md +105 -0
  193. package/skills-src/ewai-knowledge-proposals/agents/openai.yaml +4 -0
  194. package/skills-src/ewai-knowledge-proposals/references/proposal-contract.md +59 -0
  195. package/skills-src/ewai-meeting-evidence/SKILL.md +106 -0
  196. package/skills-src/ewai-meeting-evidence/agents/openai.yaml +4 -0
  197. package/skills-src/ewai-meeting-evidence/references/candidate-contract.md +64 -0
  198. package/skills-src/ewai-organisation-policy/SKILL.md +62 -0
  199. package/skills-src/ewai-organisation-policy/agents/openai.yaml +4 -0
  200. package/skills-src/ewai-organisation-policy/references/policy-contract.md +94 -0
  201. package/skills-src/ewai-palace-housekeeping/SKILL.md +55 -0
  202. package/skills-src/ewai-palace-housekeeping/agents/openai.yaml +4 -0
  203. package/skills-src/ewai-persona-entitlement/SKILL.md +60 -0
  204. package/skills-src/ewai-persona-entitlement/agents/openai.yaml +4 -0
  205. package/skills-src/ewai-phase-evidence/SKILL.md +79 -0
  206. package/skills-src/ewai-phase-evidence/agents/openai.yaml +4 -0
  207. package/skills-src/ewai-pipeline/SKILL.md +130 -0
  208. package/skills-src/ewai-pipeline/agents/openai.yaml +4 -0
  209. package/skills-src/ewai-pipeline/references/cli.md +86 -0
  210. package/skills-src/ewai-pipeline/references/specs-contract.md +16 -0
  211. package/skills-src/ewai-portfolio/SKILL.md +70 -0
  212. package/skills-src/ewai-portfolio/agents/openai.yaml +4 -0
  213. package/skills-src/ewai-portfolio/references/portfolio-contract.md +67 -0
  214. package/skills-src/ewai-project-discovery/SKILL.md +95 -0
  215. package/skills-src/ewai-project-discovery/agents/openai.yaml +4 -0
  216. package/skills-src/ewai-project-discovery/references/discovery-contract.md +34 -0
  217. package/skills-src/ewai-prototype-iteration/SKILL.md +30 -0
  218. package/skills-src/ewai-prototype-iteration/agents/openai.yaml +4 -0
  219. package/skills-src/ewai-prototype-iteration/references/review-contract.md +49 -0
  220. package/skills-src/ewai-retro/SKILL.md +48 -0
  221. package/skills-src/ewai-retro/agents/openai.yaml +4 -0
  222. package/skills-src/ewai-retro/references/asset-routing.md +14 -0
  223. package/skills-src/ewai-rollout/SKILL.md +74 -0
  224. package/skills-src/ewai-rollout/agents/openai.yaml +4 -0
  225. package/skills-src/ewai-rollout/references/rollout-contract.md +74 -0
  226. package/skills-src/ewai-shape-intents/SKILL.md +84 -0
  227. package/skills-src/ewai-shape-intents/agents/openai.yaml +4 -0
  228. package/skills-src/ewai-shape-intents/references/intent-mapping-contract.md +109 -0
  229. package/skills-src/ewai-solution-readiness/SKILL.md +55 -0
  230. package/skills-src/ewai-solution-readiness/agents/openai.yaml +4 -0
  231. package/skills-src/ewai-standards-check/SKILL.md +93 -0
  232. package/skills-src/ewai-standards-check/agents/openai.yaml +4 -0
  233. package/skills-src/ewai-standards-check/references/report-contract.md +116 -0
  234. package/skills-src/ewai-test-scenarios/SKILL.md +94 -0
  235. package/skills-src/ewai-test-scenarios/agents/openai.yaml +4 -0
  236. package/skills-src/ewai-test-scenarios/references/scenario-contract.md +88 -0
  237. package/src/afk-worker.mjs +16 -0
  238. package/src/archaeology.mjs +1333 -0
  239. package/src/checkin.mjs +261 -0
  240. package/src/cli.mjs +2427 -0
  241. package/src/companion-guidance.mjs +257 -0
  242. package/src/companion-opening.mjs +62 -0
  243. package/src/companion.mjs +256 -0
  244. package/src/context.mjs +210 -0
  245. package/src/dashboard-preferences.mjs +80 -0
  246. package/src/delivery-artifacts.mjs +204 -0
  247. package/src/delivery-documents.mjs +248 -0
  248. package/src/delivery-gates.mjs +317 -0
  249. package/src/delivery.mjs +1433 -0
  250. package/src/design-system-application.mjs +291 -0
  251. package/src/design-system-authoring.mjs +101 -0
  252. package/src/design-systems.mjs +466 -0
  253. package/src/discovery.mjs +1314 -0
  254. package/src/error-reporting.mjs +323 -0
  255. package/src/evidence-depth.mjs +543 -0
  256. package/src/execution-state.mjs +243 -0
  257. package/src/install.mjs +166 -0
  258. package/src/intent-dependencies.mjs +117 -0
  259. package/src/intent-maps.mjs +402 -0
  260. package/src/intents.mjs +747 -0
  261. package/src/knowledge-proposals.mjs +717 -0
  262. package/src/launcher.mjs +51 -0
  263. package/src/meeting-evidence.mjs +703 -0
  264. package/src/network-rollout.mjs +386 -0
  265. package/src/organisation-blueprints.mjs +438 -0
  266. package/src/organisation-policies.mjs +448 -0
  267. package/src/packs.mjs +44 -0
  268. package/src/paths.mjs +62 -0
  269. package/src/persona-entitlements.mjs +438 -0
  270. package/src/persona-licence-config.mjs +98 -0
  271. package/src/persona-website-provider.mjs +134 -0
  272. package/src/persona-zip.mjs +87 -0
  273. package/src/personas.mjs +159 -0
  274. package/src/platform-metadata-analysis.mjs +314 -0
  275. package/src/policy-design-gates.mjs +623 -0
  276. package/src/policy-gate-integration.mjs +318 -0
  277. package/src/portfolio.mjs +509 -0
  278. package/src/power-platform-source-map.mjs +190 -0
  279. package/src/project.mjs +449 -0
  280. package/src/prototype-iterations.mjs +730 -0
  281. package/src/repository-source-map.mjs +603 -0
  282. package/src/runtime/afk-conductor.mjs +973 -0
  283. package/src/runtime/context-assembly.mjs +457 -0
  284. package/src/runtime/context-benchmarks.mjs +115 -0
  285. package/src/runtime/dashboard-actions.mjs +109 -0
  286. package/src/runtime/dashboard-handoffs.mjs +149 -0
  287. package/src/runtime/dashboard-server.mjs +1272 -0
  288. package/src/runtime/dashboard.mjs +197 -0
  289. package/src/runtime/database.mjs +789 -0
  290. package/src/runtime/error-reporting.mjs +581 -0
  291. package/src/runtime/evidence-depth-workspace.mjs +412 -0
  292. package/src/runtime/execution-leases.mjs +299 -0
  293. package/src/runtime/guided-discovery.mjs +350 -0
  294. package/src/runtime/guided-intents.mjs +517 -0
  295. package/src/runtime/impact-analysis.mjs +535 -0
  296. package/src/runtime/intents.mjs +222 -0
  297. package/src/runtime/knowledge.mjs +86 -0
  298. package/src/runtime/lifecycle-hooks.mjs +1239 -0
  299. package/src/runtime/mcp-config.mjs +110 -0
  300. package/src/runtime/mcp-server.mjs +1885 -0
  301. package/src/runtime/palace.mjs +362 -0
  302. package/src/runtime/paths.mjs +58 -0
  303. package/src/runtime/persona-engagement.mjs +255 -0
  304. package/src/runtime/phase-contributions.mjs +594 -0
  305. package/src/runtime/policy-workspace.mjs +170 -0
  306. package/src/runtime/prototype-iterations.mjs +235 -0
  307. package/src/runtime/provider-adapters.mjs +163 -0
  308. package/src/runtime/repository-index.mjs +838 -0
  309. package/src/runtime/runs.mjs +185 -0
  310. package/src/runtime/security-validation.mjs +1230 -0
  311. package/src/runtime/starter-materialisation.mjs +1155 -0
  312. package/src/runtime/team-hub-client.mjs +479 -0
  313. package/src/runtime/team-hub-database.mjs +288 -0
  314. package/src/runtime/team-hub-server.mjs +191 -0
  315. package/src/runtime/team-hub.mjs +110 -0
  316. package/src/runtime/tree-sitter-index.mjs +390 -0
  317. package/src/runtime/version.mjs +1 -0
  318. package/src/runtime/work.mjs +633 -0
  319. package/src/salesforce-source-map.mjs +212 -0
  320. package/src/security-validation-config.mjs +224 -0
  321. package/src/solution-readiness.mjs +620 -0
  322. package/src/starter-materialisation-contract.mjs +407 -0
  323. package/src/task-graph.mjs +544 -0
  324. package/src/team-hub-resources.mjs +239 -0
  325. package/src/team-hub.mjs +242 -0
  326. package/src/test-scenarios.mjs +622 -0
  327. package/src/validation-config.mjs +289 -0
  328. package/templates/SPECS/1.Scope/personas/registry.yaml +12 -0
  329. package/templates/SPECS/5.Strategy/patterns/context-packet.md +119 -0
  330. package/templates/SPECS/6.Build/_tracker-template.md +16 -0
  331. package/templates/SPECS/pipeline.yaml +62 -0
  332. package/templates/discovery-answers.yaml +86 -0
  333. package/templates/intent-body.md +21 -0
  334. package/tests/fixtures/context-benchmarks.json +9 -0
@@ -0,0 +1,79 @@
1
+ ---
2
+ name: ewai-phase-evidence
3
+ description: Guide named business-facing and technical owners through one revision-safe EWAI phase contribution thread with explicit provenance, active persona lenses, owner hand-offs, shared review and immutable supporting evidence. Use when a user asks to open or use Phase Studio, contribute non-technical or technical evidence to Reconcile, Plan, Test Plan, Delivery preparation or Manual QA preparation, review a queued phase contribution, change owner context, prepare a responsibility hand-off, or confirm a phase contribution bundle without changing delivery authority.
4
+ ---
5
+
6
+ # EWAI Phase Evidence
7
+
8
+ Use the project-local Phase Studio and its governed contribution contract. Keep one shared, attributed thread. Do not create a parallel phase document or infer approval from participation.
9
+
10
+ ## Establish the boundary
11
+
12
+ 1. Perform the required EWAI check-in and use the configured project and SPECS root.
13
+ 2. Read the current intent, delivery state and execution integrity before making a substantive claim. Refresh the EWAI Source Map first when repository evidence is material and the index is missing or stale.
14
+ 3. Continue only when Phase Studio reports a supported, running profile: Reconcile, Plan, Test Plan, Delivery preparation or Manual QA preparation.
15
+ 4. Treat `business`, `technical` and `shared-review` as contribution contexts, never identity, access or permission.
16
+ 5. Name the real person holding each context. Keep that accountable person separate from every persona lens.
17
+
18
+ Do not use this skill to complete a phase, approve Build, accept Manual QA, dispose of security findings, accept risk, deploy, certify or release. Route governed delivery progression through `$ewai-deliver` and its durable human gates.
19
+
20
+ ## Build one evidence thread
21
+
22
+ 1. Select the current server-owned evidence topic.
23
+ 2. Ask the standard host-model questions for the phase and owner context.
24
+ 3. Engage the small active persona ensemble shown by Phase Studio. Project and core personas plus ordinary host-model reasoning provide a complete baseline. Use premium, personal and project-local personas only when already installed and relevant. Never imitate, download or synchronise a missing persona.
25
+ 4. Record each contribution with:
26
+ - topic;
27
+ - real contributor and owner context;
28
+ - one evidence class: `repository-fact`, `participant-statement`, `imported-source`, `persona-hypothesis`, `named-decision` or `unresolved-question`;
29
+ - bounded statement;
30
+ - source or provenance;
31
+ - unresolved questions, conflicts and limitations where applicable.
32
+ 5. Preserve earlier attribution. Correct or qualify a claim through a new revision or named resolution; do not silently rewrite who said what.
33
+
34
+ Personas are advisory lenses. Their output is not participant evidence, validation, legal or specialist assurance, acceptance or approval.
35
+
36
+ ## Change responsibility safely
37
+
38
+ When focus changes without responsibility moving, switch owner context and save the new revision. Confirm the real named owner and explain which personas joined or left.
39
+
40
+ When responsibility moves, prepare an owner hand-off containing:
41
+
42
+ - named source and destination owners;
43
+ - distinct source and destination contexts;
44
+ - reason for the transition;
45
+ - questions for the incoming owner;
46
+ - current revision and SHA-256 digest.
47
+
48
+ Verify the preview before submission. Resume the same draft after the hand-off. Never copy it into a second competing thread.
49
+
50
+ ## Review without flattening disagreement
51
+
52
+ Use shared review to show business and technical evidence with original attribution. Preserve unresolved differences and named decision ownership.
53
+
54
+ For a queued `review-contribution` hand-off:
55
+
56
+ 1. Verify `authority: none`, intent, phase, revision and digest.
57
+ 2. Read only the matching project-local draft needed for the review. Do not expose raw premium persona definitions, credentials or unrestricted repository content.
58
+ 3. Challenge provenance, missing perspectives, contradictions, acceptance evidence and deliberately unresolved items.
59
+ 4. Return proposed changes as advisory feedback. Do not confirm the bundle or alter delivery state on the user's behalf.
60
+
61
+ ## Confirm supporting evidence
62
+
63
+ Before named confirmation, show:
64
+
65
+ - current phase, revision and digest;
66
+ - named owners and hand-off history;
67
+ - all evidence classes and sources;
68
+ - conflicts, resolutions, open questions and limitations;
69
+ - active persona metadata and its advisory status;
70
+ - exact project-relative Markdown and JSON destinations.
71
+
72
+ Confirmation creates paired immutable evidence beneath `SPECS/6.Build/<slug>/phase-contributions/<profile>/`. It remains supporting evidence. The orchestrator must separately reconcile relevant contributions into the required phase artefact and pass the normal deterministic gate, standards sweep, configured independent validation and human approvals.
73
+
74
+ ## Recover safely
75
+
76
+ - On a stale revision, changed phase, source drift or profile drift, preserve the participant's unsaved text, reload current state and reconcile deliberately.
77
+ - Discard only the disposable runtime draft after explicit confirmation. Never delete confirmed bundles.
78
+ - If state integrity is blocked or the phase is unsupported/completed, remain read-only and route the user to Companion or `$ewai-deliver`.
79
+ - If premium personas are absent, state that optional enrichment is unavailable and continue with the complete baseline.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "EWAI Phase Evidence"
3
+ short_description: "Guide named owners through phase evidence"
4
+ default_prompt: "Use $ewai-phase-evidence to guide named owners through the current supported delivery phase."
@@ -0,0 +1,130 @@
1
+ ---
2
+ name: ewai-pipeline
3
+ description: Initialise and operate the portable Engineering With AI Pipeline in a software project. Use when Codex needs to create or inspect a project-local SPECS contract, onboard an existing codebase through Archaeology, discover EWAI technology or persona packs, attach EWAI delivery methodology to a repository, run installation diagnostics, or prepare intent-to-delivery work through EWAI skills and tooling.
4
+ ---
5
+
6
+ # EWAI Pipeline
7
+
8
+ ## Presentation, not a shorter workflow
9
+
10
+ Keep the complete onboarding and delivery flow. Show four routine status lines, the returned menu at a decision point, and one decision at a time. Retain warnings, blockers and unknown checks with short reasons; technical diagnostics are on request. Progress is one sentence of at most 24 words per meaningful checkpoint. Don't narrate commands, file reads, JSON parsing, policies or internal reasoning. Don't repeat the menu during a selected action. These limits never waive briefing, consent, purpose alignment, standards, Build approval or Manual QA.
11
+
12
+ Use the `ewai` CLI as the stable interface. Resolve durable knowledge from the `specsRoot` in `.ewai-pipeline/project.json`; do not assume it is `./SPECS`. Keep regenerable runtime state under the workspace's `.ewai-pipeline/`.
13
+
14
+ ## Open the companion
15
+
16
+ When the first user message says EWAI launched this host, own the complete onboarding conversation. Do not ask the user to copy, paste, or run CLI commands. Licence entry uses the guarded dashboard password form by default; a hidden private terminal prompt is an alternative only when a genuine interactive terminal is available. Never collect a key in chat or shell arguments. Treat commands, JSON, and tool output as internal control-plane details and translate them into concise human language.
17
+
18
+ 1. Determine whether `.ewai-pipeline/project.json` exists and whether its configured SPECS root contains `pipeline.yaml`.
19
+ 2. If the project is not initialized, use the launch's project root and existing-code signal. Ask one location question: recommend `./SPECS` for one repository/monorepo or a dedicated knowledge repository for independent repositories. After agreement, run `ewai init --project <resolved-root> --specs <agreed-path> --json` promptly; add `--init-specs-repo` only when local knowledge-repository creation is approved. Do not inspect the installed EWAI source, run `ewai --version`, or perform project Archaeology before init. Version comes from check-in. An uninitialised first response is the location question, not an invented status/menu. Never create a remote repository without separate explicit approval.
20
+ 3. Once initialized, run `ewai checkin --project <path> --json` and wait for the complete result.
21
+ - Immediately after successful first initialisation, offer the returned `onboarding.personaLearning` question: **“Would you like to see how specialist personas could help us analyse this project?”** Offer it before deeper analysis or Archaeology for both new and existing code. Choosing to read opens https://www.conversationalcoding.dev/personas/; it does not buy, activate or download anything. Respect a decline and continue normal onboarding with installed personas. Preserve the human briefing and purpose alignment. Do not repeat first-run onboarding when the project was already initialised at launch.
22
+ 4. Always interpret and display the EWAI version and update status, premium entitlement and installed-library status, and dashboard URL. Show `unknown` states with a short reason; never silently omit a check.
23
+ - The harness is installed and updated only through npm. Offer only the returned npm update action. Never inspect, fetch, or pull the EWAI Git repository for installation or updating, including when working in the harness development checkout.
24
+ 5. Ask before any premium install or update. Do not download merely because access exists.
25
+ 6. Capture the initial human project briefing. At minimum establish purpose, primary users, desired outcomes, business context, known constraints, and what must not be inferred from current behaviour.
26
+ 7. Ask whether the user has a folder of emails, meeting transcripts, documents, research, requirements, or other project material for optional `$ewai-context-import` enrichment. Ask once during onboarding; respect a decline.
27
+ 8. If material is supplied, complete its consent, classification, processing-policy, reconnaissance, and persona-routing gates before using it to enrich detailed discovery or Archaeology.
28
+ 9. For an existing codebase, only then offer optional Archaeology: explain that it can reconstruct missing documentation from the code, and ask whether the user wants it. Do not run it without acceptance. If declined, continue to Discovery and Doctor; it remains available later. If accepted, require its purpose-alignment and persona-value checkpoints before deep reconstruction; show which installed core, premium, personal, or project personas would improve the bounded passes and ask the user to confirm the ensemble.
29
+ 10. Read recent work and render the structured `companion` opening returned by check-in. The opening format is mandatory: report status first, render its heading, and render every action in order as `[id] label`. A narrative-only opening is invalid. Do not replace or precede the menu with a free-form recommendation list. Option **[6] Continue a piece of work** must be present whenever check-in returns it. Include **[7] Read about premium personas** and **[8] Set up premium personas** only when returned: both are absent when premium access is available and the installed pack is verified. Always render **[9] Configure the dashboard**. When `companion.spotlight` is present, render it after the numbered actions as a bounded advisory spotlight: name the work, reason and accountable route, then name each `activePersonas` entry with its tier. Do not present the spotlight as a new menu action or as approval. When `companion.personaSetup` is present, ask its exact optional question after the menu: **“Do you have a premium persona licence, or shall we use the core personas?”** Only then ask the exact returned closing prompt: **“What's on your mind?”**
30
+ 11. Treat Companion and persona guidance as advisory. A recommendation or persona cannot create delivery permission, user evidence, specialist assurance, accepted risk or human acceptance. Never let a Companion read trigger premium sync or download; use installed premium personas only when already present.
31
+ 12. When check-in returns a pending `dashboardHandoff`, identify it immediately after the numbered menu. If its action is `review-contribution`, verify `authority: none`; when the user confirms, use `ewai_resolve_dashboard_handoff` to mark it `claimed`, invoke `$ewai-phase-evidence`, return advisory feedback, and mark it `completed` without changing delivery state. For `begin` or `continue`, confirmation claims the hand-off, invokes `$ewai-deliver`, and completes it only after the canonical begin/resume transition succeeds. A dashboard selection is never permission to skip a gate or begin writing code.
32
+
33
+ When the user chooses **[6] Continue a piece of work**:
34
+
35
+ 1. Use `$ewai-deliver`; do not enter the host AI's generic plan mode.
36
+ 2. List resumable intent delivery states from EWAI rather than memory.
37
+ 3. Let the user choose when more than one work item is plausible.
38
+ 4. Invoke the guarded EWAI delivery continue operation for the selected slug.
39
+ 5. Reconcile Markdown, structured intent JSON, durable delivery JSON, and SQLite before proceeding.
40
+ 6. Resume the exact next canonical phase. Never infer or skip a phase, and never write Build code without the recorded human Build approval.
41
+
42
+ When the user chooses **[7] Read about premium personas**, offer the fixed public learning page https://www.conversationalcoding.dev/personas/ and open it only when chosen. The visitor can read about perspectives and find purchase choices there. Return to the conversation without acquiring content or changing the project.
43
+
44
+ Render **[8] Set up premium personas** only when returned. When it or private setup is chosen, use `$ewai-persona-entitlement` with the dashboard's guarded password form by default; hidden terminal configure is an alternative only when a genuine private interactive terminal is available. Explain that submitting the key verifies and installs immediately; do not ask a second download question for that action. Never ask them to paste a key here. Confirm the safe installed/version result and refresh `ewai persona index --project <path> --json` before using the new lenses. Resolve chosen setup before any accepted Archaeology; after failure offer retry or explicit core-only continuation. Retain briefing and purpose alignment. Reading or declining continues core work without acquiring anything. The automatic missing-key question applies only to `companion.personaSetup`, not expired, invalid or unavailable configured licences. Licence management remains available in dashboard Configuration even when [8] is absent. Do not repeat the missing-key question within a conversation after a decline.
45
+
46
+ When the user chooses **[9] Configure the dashboard**, use `$ewai-dashboard-configuration`. Explain only the views relevant to their needs and save their explicit choices through the shared preferences command. Optional views are off by default; hiding them never disables required checks, hooks, policies, standards or approvals.
47
+
48
+ Companion menu identifiers (render only the actions actually returned):
49
+
50
+ 1. Capture something new
51
+ 2. Pick up a ready intent
52
+ 3. Explore an idea and shape connected intents
53
+ 4. Explore the Mind Palace, risks, or standards
54
+ 5. See recommendations and possible next work
55
+ 6. Continue a piece of work
56
+ 7. Read about premium personas
57
+ 8. Set up premium personas
58
+ 9. Configure the dashboard
59
+
60
+ Without existing work, omit [6]. With available premium access and a verified installed pack, omit [7] and [8]. Keep [9] and never renumber the remaining identifiers.
61
+
62
+ Keep progress warm and semantic: say what EWAI is trying to understand and what changed in its understanding. Do not narrate shell commands, filenames being opened, JSON parsing, or routine check execution unless the user asks for technical detail or an operation fails.
63
+
64
+ ## Start every project conversation with check-in
65
+
66
+ When `.ewai-pipeline/project.json` points to a valid SPECS contract, run `ewai checkin --project <path> --json` once before substantive project work. Briefly tell the user:
67
+
68
+ - the project pipeline-dashboard URL and whether it was started or reused;
69
+ - whether premium persona access is available;
70
+ - whether the premium library is installed and current;
71
+ - whether an EWAI Pipeline update is available.
72
+ - whether the project Mind Palace is tidy or would benefit from housekeeping.
73
+
74
+ Check-in may start the project-local loopback dashboard and refresh its disposable SQLite projection. It checks licence access and available versions without downloading updates, but it isn't unconditionally read-only: confirmed expiry of the matching team subscription blocks that managed pack and removes it only when the unchanged files can be safely verified. Edited or unsafe files are preserved for investigation but excluded from premium selection. Individual expiry keeps installed personas and stops updates. A failed or unverified provider response isn't proof of expiry; an already confirmed team expiry remains in effect during a later outage. Personal and project personas are never part of that cleanup. When check-in returns `offer-install` or `offer-update`, ask whether the user wants the download. Do not sync merely because access or an update exists. Only after explicit approval run `ewai persona premium sync --project <path> --yes`.
75
+
76
+ Every new session follows the returned actions, including [9] for Configuration. A missing-key result must also become the actual `companion.personaSetup` question in the conversation, not just a status summary. Keep credentials private and core use optional as described above.
77
+
78
+ ## Keep live work observable
79
+
80
+ When an intent is actively being delivered, use the EWAI MCP active-work tools so the user can follow material progress in the dashboard:
81
+
82
+ - start a session when substantive delivery work begins;
83
+ - record handoffs, external reviews, decisions, responses, blockers, human questions, and completed artefacts;
84
+ - resolve a human question when its answer has been applied;
85
+ - finish the session with its real outcome.
86
+
87
+ Do not publish heartbeat events such as “still working.” Live activity is a decision and evidence stream, not a token-by-token transcript.
88
+
89
+ ## Start or inspect a project
90
+
91
+ 1. Resolve the workspace root from `.ewai-pipeline/project.json`, a default `SPECS/pipeline.yaml`, or `.git`; then use the locator's configured SPECS root.
92
+ 2. Initialise a single repository or monorepo with `ewai init --project <path>`. For a workspace of independent repositories, recommend a dedicated knowledge repository and use `ewai init --project <workspace> --specs <knowledge-repository>/SPECS --init-specs-repo` after permission to initialise the local Git repository.
93
+ - After successful first init, offer `onboarding.personaLearning` before deeper analysis or Archaeology, for new or existing code. Learning is optional and requires no purchase or install; retain the briefing and respect a decline.
94
+ 3. Capture a human project briefing, then offer `$ewai-context-import` for any supplied emails, transcripts, documents, or research.
95
+ 4. Let Context Import inspect the available persona index, explain which personas improve the analysis, and propose evidence-grounded project actors without confusing advisory personas with real user research.
96
+ 5. For existing code, always offer optional Archaeology and wait for acceptance. If declined, continue to Discovery without reconstruction and leave it available later. If accepted, compare repository and imported evidence with the briefing and ask the owner to resolve material discrepancies before deeper reconstruction.
97
+ 6. Review and curate Context Import and Archaeology findings; offer self-review/manual filing or an AI-guided walkthrough, and do not promote inferred intent, constraints, personas, or technology choices automatically.
98
+ 7. After Archaeology curation, offer to interview the user about upcoming features, interpret an imported roadmap or feature list, or suggest evidence-based product, security, operational, and code-quality recommendations. Keep immature accepted ideas as feature candidates and create full intents only with user approval.
99
+ 8. Complete `ewai discover --project <path>` to confirm scope, stack, minimum standards, and compliance triage using the reviewed findings.
100
+ 9. Verify it with `ewai doctor --project <path> --json`.
101
+ 10. Read `pipeline.yaml` from the configured SPECS root before selecting repositories, packs, or delivery behaviour.
102
+
103
+ Do not relocate or overwrite an existing SPECS contract through init. Relocation requires an explicit migration that updates the workspace locator and project contract together.
104
+
105
+ ## Discover capabilities
106
+
107
+ - Run `ewai pack list` to inspect installed core, technology, persona, and organisation packs.
108
+ - Run `ewai persona list --project <path>` to inspect core, personal, and project personas available to a project.
109
+ - Run `ewai persona index --project <path> --json` when a skill needs descriptions, tags, capabilities, tiers, and local paths for persona routing.
110
+ - Use `ewai persona create <slug>` for a reusable personal persona, or add `--scope project --project <path>` for a persona owned by the project.
111
+ - Use `ewai persona path` to locate the personal library. Premium personas are supplied by entitled packs and must not be assumed available.
112
+ - Use `$ewai-shape-intents` when a broad idea, workflow, roadmap item, or capability may need several connected intents. It must present and gain approval for the map before creating any draft.
113
+ - Use `$ewai-intent` to refine one coherent intent, including any approved map membership and relationships.
114
+ - Use `$ewai-architecture` to walk through current or target enterprise/solution architecture for a whole system, bounded capability or domain, intent set, or cross-cutting concern, and prepare reviewable standards, patterns, ADRs, risks, diagrams, and transition records before delivery relies on them.
115
+ - Use `$ewai-standards-check` to verify supplied code, files, change sets, or a whole repository against accepted project-local SPECS standards and create durable review evidence.
116
+ - Use `$ewai-palace-housekeeping` when the user selects the Mind Palace option or check-in reports that project knowledge would benefit from housekeeping.
117
+
118
+ ## Operating boundaries
119
+
120
+ - Treat the configured SPECS root as versionable project truth. In a multi-repository workspace, prefer a dedicated knowledge-and-delivery repository.
121
+ - Treat `.ewai-pipeline/` as disposable runtime state.
122
+ - Treat Markdown under the configured SPECS root as authoritative over its SQLite projection.
123
+ - Let the configured agent host start the stdio MCP server; do not run a second persistent MCP process.
124
+ - Require human approval before Build when `approvals.build` is `required`.
125
+ - Read the full `validation` contract before scheduling review. Do not infer availability from global machine state, and do not use the active Claude, Codex, or Antigravity orchestrator as its own independent validator.
126
+ - Honour each checkpoint's selected providers, maximum cycles, breadth, depth, and output limit. Standards compliance remains mandatory even when no independent external validator is configured.
127
+ - Never write project outputs into the global EWAI installation.
128
+ - Never carry repository paths or project state from one project into another.
129
+
130
+ Read [CLI reference](references/cli.md) for command details and [SPECS contract](references/specs-contract.md) when creating or validating project artefacts.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "EWAI Pipeline"
3
+ short_description: "Run portable Engineering With AI delivery workflows"
4
+ default_prompt: "Use $ewai-pipeline to open the conversational Engineering With AI companion for this project."
@@ -0,0 +1,86 @@
1
+ # EWAI CLI reference
2
+
3
+ ## Project commands
4
+
5
+ ```bash
6
+ ewai install [--project PATH] [--host auto|codex|claude|antigravity] [--mode copy|link]
7
+ ewai init [--project PATH] [--name NAME] [--specs PATH] [--init-specs-repo] [--claude] [--codex] [--antigravity] [--force] [--json]
8
+ ewai checkin [--project PATH] [--json] [--verbose]
9
+ ewai dashboard [--project PATH] [--json]
10
+ ewai server start|status|stop [--project PATH] [--json]
11
+ ewai mcp [--project PATH]
12
+ ewai discover [--project PATH] [--answers FILE] [--stack PACK] [--force] [--json]
13
+ ewai context register FOLDER [--project PATH] --yes [--label NAME] [--classification public|internal|confidential|restricted] [--cloud-processing allowed|denied|unknown] [--exclude RELATIVE_PATH] [--force] [--json]
14
+ ewai archaeology prepare-personas BUNDLE [--project PATH] [--force] [--json]
15
+ ewai archaeology validate-personas BUNDLE [--project PATH] [--json]
16
+ ewai archaeology validate BUNDLE [--project PATH] [--json]
17
+ ewai archaeology prepare-review BUNDLE [--project PATH] [--force] [--json]
18
+ ewai archaeology curate BUNDLE [--project PATH] --yes [--approved-by NAME] [--json]
19
+ ewai validation list [--project PATH] [--orchestrator manual|claude|codex|antigravity] [--json]
20
+ ewai validation set claude|codex|antigravity available|unavailable [--enabled|--disabled] [--project PATH] [--json]
21
+ ewai validation checkpoint implementation-plan|test-plan|code [--cycles N] [--validators auto|PROVIDER,...] [--breadth targeted|change-set|capability|system] [--depth issues-only|issues-and-fixes|analysis-and-recommendations] [--output small|medium|large] [--enabled|--disabled] [--project PATH] [--json]
22
+ ewai doctor [--project PATH] [--json]
23
+ ewai intent create SLUG [--domain DOMAIN] [--title TITLE] [--persona REF:ROLE:DEPTH] [--delivery-shape FILE] [--project PATH] [--json]
24
+ ewai intent map-create FILE --yes [--approved-by NAME] [--project PATH] [--json]
25
+ ewai intent audit-state [--project PATH] [--json]
26
+ ewai afk preflight SLUG [--provider auto|claude|codex|antigravity] [--parallel N] [--project PATH] [--json]
27
+ ewai afk start SLUG [--provider auto|claude|codex|antigravity] [--parallel N] [--timeout-minutes N] [--project PATH] [--json]
28
+ ewai afk status [RUN_ID] [--project PATH] [--json]
29
+ ewai afk pause|resume|cancel RUN_ID [--project PATH] [--json]
30
+ ewai palace refresh [--project PATH] [--json]
31
+ ewai palace status [--project PATH] [--json]
32
+ ewai palace search QUERY [--limit N] [--project PATH] [--json]
33
+ ewai palace tidiness [--project PATH] [--json]
34
+ ewai palace housekeeping [--project PATH] [--json]
35
+ ```
36
+
37
+ Without `--project`, `install` registers EWAI globally. With `--project`, it installs agent skills into that repository. Copy mode is team-friendly; link mode follows the current EWAI checkout.
38
+
39
+ `init` creates missing project structures and preserves existing files unless `--force` is explicitly supplied. The default SPECS root is `SPECS`. For a workspace containing independent repositories, use `--specs <knowledge-repository>/SPECS --init-specs-repo`; EWAI records that path in `.ewai-pipeline/project.json` and can initialise its containing folder as a dedicated local Git repository. Init does not relocate an existing SPECS contract.
40
+
41
+ `discover` interviews the project owner or reads a repeatable answers file, then populates the canonical Project SPECS and technology/assurance profile.
42
+
43
+ `intent map-create` atomically writes one reviewed product-level map and all of its linked draft intents. The JSON or YAML request must use `ewai.intent-map-request/v1`; `--yes` records that the user approved the proposed map. Conversational shaping is handled by `$ewai-shape-intents`, so users should not normally need to prepare this file themselves.
44
+
45
+ `context register` inventories an explicitly approved source folder without copying its raw content into SPECS. The detailed path and file inventory remain under `.ewai-pipeline/context/`; the committed source registry contains sanitized metadata and a fingerprint. `--yes` represents user consent and is mandatory. Context interpretation is handled conversationally by `$ewai-context-import`.
46
+
47
+ `archaeology prepare-personas` snapshots the installed core, premium, personal, and project persona capability index into the bounded Archaeology bundle without exposing library paths. The AI completes its pass-by-pass value assessment and presents a concise recommended ensemble to the user. `archaeology validate-personas` is the hard gate before deep analysis; it requires completed reconnaissance, all analysis-pass assessments, a recorded user decision, valid persona references, and assignments for every selected persona.
48
+
49
+ `archaeology validate` enforces the maximum-detail reconstruction contract, including the confirmed persona-routing gate. It rejects missing capability, coverage, reconstruction, persona-routing, or artefact manifests; missing SPECS record families; consolidated records that reuse a proposed path; placeholder-sized artefacts; unsupported completion states; and unjustified blocked or not-applicable entries.
50
+
51
+ `archaeology validate-completion` is the final closeout gate. It verifies terminal review decisions, a complete curation ledger, accepted records present and hash-matched in canonical SPECS, and a recorded user choice or explicit decline after the three-route prospective-work offer. Run it before describing Archaeology as complete.
52
+
53
+ `archaeology prepare-review` creates a review guide and pending decision ledger after maximum-detail validation passes. Every reconstruction record requires a terminal, accountable decision; corrections must be applied and acknowledged in the ledger. `archaeology curate` requires explicit consent, preflights every accepted record, refuses differing canonical SPECS conflicts, files only accepted proposals, and writes a provenance-preserving curation ledger.
54
+
55
+ External validation is project-local. `init --claude --codex --antigravity`, discovery answers, `validation set`, and `validation checkpoint` update the same durable policy in `SPECS/pipeline.yaml`. Availability and enablement are separate; per-checkpoint settings control independent reviewers, bounded review/fix cycles, breadth, depth, and output size. `validation list --orchestrator <host>` shows the effective policy after excluding the active orchestrator. Standards compliance cannot be disabled or waived.
56
+
57
+ `doctor` validates the project contract, required SPECS paths, persona registry, and configured repository paths.
58
+
59
+ `intent create` accepts `--delivery-shape <json-or-yaml>` so the capture conversation can persist whether an intent should stay whole, split before delivery, or pause for owner decisions. `intent map-create` carries the same preview for every proposed child intent.
60
+
61
+ `afk preflight` and `afk start` apply only after explicit Build approval and guarded entry into Build. The local conductor executes ready AFK task contracts on real branches in isolated worktrees, records its ignored runtime state under `.ewai-pipeline/afk/`, and leaves project-owned reports and evidence under `SPECS/6.Build/<slug>/tasks/`. Use the `$ewai-deliver` interaction rather than teaching these commands to the user. Repository topology comes from `SPECS/pipeline.yaml`: a task maps to its named repository, while the project-root repository owns canonical evidence. Per-repository integration branches may be declared in `task-graph.json.repository_branches`; start creates a missing integration branch from a clean current branch but does not silently switch to one that already exists. Status, safe pause, recovery/resume, and cancellation remain available by durable run ID.
62
+
63
+ `checkin` starts or reuses the project-local loopback pipeline dashboard, refreshes its SQLite projection, and reports Mind Palace tidiness. `dashboard` and `server start` do the same explicitly; `server status` and `server stop` inspect or stop it. Agent hosts launch `mcp` over stdio from the project configuration created by `init`; it is not a persistent background server.
64
+
65
+ The MCP surface includes Mind Palace search and tidiness, work-item listing and updates, phase and artefact registration, and active-work start/event/finish operations. These drive the Kanban, sprint, intent-detail, live-work, and Mind Palace views without requiring users to learn matching CLI commands.
66
+
67
+ Mind Palace indexing is derived from canonical `SPECS/` files. `palace search` returns the best matching section from each document. `palace tidiness` is deterministic and read-only. `palace housekeeping` groups the findings but changes no files; use `$ewai-palace-housekeeping` for a Knowledge Curator-led review and explicit approval before editing canonical knowledge. A no-op is valid when the Palace is already tidy.
68
+
69
+ ## Pack and persona commands
70
+
71
+ Human-readable check-in is compact by default. Use \`--verbose\` for expanded diagnostic text or \`--json\` for the complete structured contract. Brief presentation never omits mandatory blockers, standards or approval boundaries. Init and version checks use the CLI/metadata, not installed-source investigation or an unsupported \`ewai --version\` command.
72
+
73
+ ```bash
74
+ ewai pack list [--json]
75
+ ewai persona index [--project PATH] [--query TEXT] [--json]
76
+ ewai persona list [--project PATH] [--query TEXT] [--json]
77
+ ewai persona create SLUG [--scope personal|project] [--project PATH] [--name NAME] [--category CATEGORY] [--force] [--json]
78
+ ewai persona path [--scope personal|project] [--project PATH] [--json]
79
+ ewai persona premium configure [--project PATH] [--machine-name NAME] [--json]
80
+ ewai persona premium status [--project PATH] [--json]
81
+ ewai persona premium sync [--project PATH] --yes [--json]
82
+ ```
83
+
84
+ `persona index` returns a compact local catalog of identifiers, descriptions, categories, tiers, tags, capabilities, and paths for contextual persona routing. Personal personas live in `~/.ewai/personas/` and can be reused across projects. Project personas live in `SPECS/1.Scope/personas/project/` and should be versioned with the project. Professional persona sources are opt-in packs and must not be assumed available merely because an entitlement mechanism is configured.
85
+
86
+ The premium portion of `checkin` verifies access and compares versions without downloading. `persona premium configure` explains verify-and-install, accepts a website-purchased key in a hidden terminal prompt, stores it privately after verification and immediately downloads and installs through the core ZIP verifier. Its safe result confirms installed version/count or reports failure. Keys never enter arguments or SPECS. Later `persona premium sync` obtains a short-lived website grant, verifies ZIP/pack contents and atomically updates the managed pack at `~/.ewai/packs/ewai.personas.professional/`; `--yes` is explicit approval for that later download. Reading is neither setup nor sync consent. Source control is not a premium persona delivery route.
@@ -0,0 +1,16 @@
1
+ # SPECS project contract
2
+
3
+ `.ewai-pipeline/project.json` is the workspace locator. Its `specsRoot` points to the durable SPECS root, whose `pipeline.yaml` identifies repositories, enabled packs, the skill namespace, and approval requirements. The path is `SPECS` by default, but a multi-repository workspace should normally use a dedicated location such as `project-knowledge/SPECS`.
4
+
5
+ Durable outputs use these roots:
6
+
7
+ - `SPECS/1.Scope/`: project context, scope, domain language, research, and personas.
8
+ - `SPECS/2.Purpose/intents/`: project intents.
9
+ - `SPECS/3.Evidence/`: success evidence, archaeology, risks, gates, iteration logs, postmortems, and retrospectives.
10
+ - `SPECS/4.Constraints/`: binding project boundaries.
11
+ - `SPECS/5.Strategy/`: approach, stack, decisions, options, patterns, runbooks, and work capsules.
12
+ - `SPECS/6.Build/<slug>/`: delivery trackers, plans, gates, test evidence, and retrospectives.
13
+
14
+ Project-owned persona sources use `SPECS/1.Scope/personas/project/`; project-specific refinements use `SPECS/1.Scope/personas/overlays/`. Core personas come from EWAI, personal personas come from the user's `~/.ewai/personas/` library, and premium personas come from entitled packs. Personal and premium source files are not copied into project truth unless the user deliberately promotes a project-owned derivative.
15
+
16
+ Do not treat `.ewai-pipeline/` as durable evidence. It may hold databases, indexes, caches, logs, and other rebuildable operational state.
@@ -0,0 +1,70 @@
1
+ ---
2
+ name: ewai-portfolio
3
+ description: Review an EWAI project portfolio or programme using the bounded read-only portfolio snapshot, explicit evidence classes, standard host-model reasoning, and contextually engaged installed personas. Use when Codex needs to examine portfolio hierarchy, project ownership, cross-project dependencies, stale or missing child evidence, programme attention, or the effect of installed core, project, personal, or premium persona lenses without changing child projects.
4
+ ---
5
+
6
+ # EWAI Portfolio Review
7
+
8
+ Resolve the project and configured SPECS root before acting. Read [the portfolio contract](references/portfolio-contract.md) before interpreting a workspace or producing advice.
9
+
10
+ Use the standard host LLM or model for reasoning. The complete baseline combines the bounded snapshot, its explicit review questions, and installed project and core personas. Personal and premium personas are optional enrichment, not a prerequisite.
11
+
12
+ ## Retrieve the safe snapshot
13
+
14
+ Validate the project-owned manifest first:
15
+
16
+ ```bash
17
+ ewai portfolio validate --project . --json
18
+ ```
19
+
20
+ Then retrieve the current workspace, using a concise focus when the user has named a concern:
21
+
22
+ ```bash
23
+ ewai portfolio status --focus "delivery ownership and dependency risk" --project . --json
24
+ ```
25
+
26
+ When the EWAI MCP server is available, `ewai_portfolio_status` with an optional `focus` is the equivalent read-only route. Do not send a repository root, user identity, approval or child content through either interface.
27
+
28
+ Respect `not-configured`, `invalid`, `ready`, and `attention` exactly. Do not convert missing, stale, unavailable or disagreeing evidence into a healthy conclusion. If the focus changes materially, retrieve a fresh snapshot so the active ensemble can swap relevant personas in and out.
29
+
30
+ ## Disclose the active reasoning ensemble
31
+
32
+ Before review, list every active persona with its name, tier, matched signals, and engagement reason. Use only the returned safe metadata and apply each lens within that stated reason.
33
+
34
+ - Treat installed project and core personas as part of the baseline available to this project.
35
+ - Use installed personal or premium personas only when the snapshot selects them as relevant.
36
+ - Treat missing premium access as informative and nonblocking.
37
+ - Do not run entitlement or library synchronisation commands, fetch premium content, reconstruct unavailable personas, or expose persona bodies.
38
+
39
+ Personas challenge the evidence. They are not users, stakeholders, validators, approvers or sources of project truth.
40
+
41
+ ## Review in evidence order
42
+
43
+ 1. Report declared hierarchy, ownership and dependencies as `declared`.
44
+ 2. Report allowlisted child state and attention as `observed` or `declared-child-state`, preserving freshness and disagreement.
45
+ 3. Label model-derived relationships or consequences as `inferred`.
46
+ 4. Label persona concerns and alternative interpretations as `persona-hypothesis`.
47
+ 5. Reserve `human-decision` for an actual recorded decision by a named accountable human.
48
+ 6. Use the workspace review questions to examine exposed dependencies, missing evidence, the next owner decision, and unsupported conclusions.
49
+
50
+ Never merge those classes into a score or an automatic portfolio verdict. The V1 workspace does not project observed cross-project Source Map edges; state that limitation rather than inventing them.
51
+
52
+ ## Produce an actionable review
53
+
54
+ Return:
55
+
56
+ 1. the selected portfolio context and snapshot status;
57
+ 2. active persona names, tiers and reasons;
58
+ 3. declared facts;
59
+ 4. observed evidence, freshness and disagreements;
60
+ 5. explicitly labelled inferences and persona hypotheses;
61
+ 6. unresolved questions and the named owner or child project that can answer them; and
62
+ 7. the advisory and security assurance notices.
63
+
64
+ Keep absolute paths, raw child documents, prompts, persona bodies, credentials and unrestricted file content out of the output.
65
+
66
+ ## Authority boundary
67
+
68
+ This skill is advisory and read-only. It cannot edit the manifest, write child SPECS, dispatch work, approve Build or Manual QA, accept risk, certify security, change release readiness, deploy, or release. Route every unresolved decision to the named accountable human or child project.
69
+
70
+ Stop if safe validation fails, evidence escapes the declared workspace, required fields are missing from the server contract, the user asks the review to mutate a child project, or a conclusion would require pretending persona/model output is human evidence.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "EWAI Portfolio"
3
+ short_description: "Review project and portfolio evidence safely"
4
+ default_prompt: "Use $ewai-portfolio to review this project portfolio with explicit evidence classes and active persona lenses."
@@ -0,0 +1,67 @@
1
+ # Portfolio review contract
2
+
3
+ Read this reference before interpreting `ewai.portfolio-workspace/v1`, troubleshooting a portfolio, or producing an LLM-assisted programme review.
4
+
5
+ ## Canonical inputs
6
+
7
+ - `.ewai-pipeline/project.json` locates the host project and its configured SPECS root.
8
+ - `SPECS/pipeline.yaml` owns configured repository names and safe workspace-relative roots.
9
+ - `SPECS/1.Scope/portfolio.yaml` owns the portfolio, programme and project hierarchy plus declared project-to-project dependencies.
10
+ - Each child project owns its own project config, intent metadata, delivery state, approvals and Manual QA evidence.
11
+
12
+ The projection is disposable and read-only. It must never become a route for rewriting child evidence.
13
+
14
+ ## Workspace states
15
+
16
+ | Status | Meaning | Safe response |
17
+ | --- | --- | --- |
18
+ | `not-configured` | No canonical portfolio manifest exists. | Point to the implementation guide; do not create one without authority. |
19
+ | `invalid` | Schema, topology, configured root or path validation failed. | Report stable diagnostics and stop interpretation. |
20
+ | `ready` | The manifest is valid and no current attention item was projected. | Review the evidence; do not call this approval or assurance. |
21
+ | `attention` | One or more child evidence conditions need an owner. | Preserve each reason and route it to its named owner. |
22
+
23
+ Member evidence may be `declared`, `ready`, `missing`, `stale`, `disagreement`, or `unavailable`. Absence never means healthy.
24
+
25
+ ## Safe public fields
26
+
27
+ The workspace may expose:
28
+
29
+ - safe member IDs, names, kinds, parent IDs, owners, configured repository names and relative project paths;
30
+ - bounded intent counts and status metadata;
31
+ - current child delivery phase/status, blocked reason, Build-approval boolean, Manual QA status, update time and safe relative evidence reference;
32
+ - declared dependency ID, direction, rationale and owner;
33
+ - stable attention code, member, owner, reason and evidence class;
34
+ - active persona ID, name, tier, matched signals and engagement reason;
35
+ - installed-tier availability counts, bounded review questions, evidence classes and mandatory notices.
36
+
37
+ It must not expose absolute roots, raw intent or persona bodies, prompts, credentials, unrestricted child files, adapter entrypoints or request-supplied authority.
38
+
39
+ ## Evidence taxonomy
40
+
41
+ | Class | Meaning | Authority |
42
+ | --- | --- | --- |
43
+ | `declared` | Portfolio structure or dependency recorded by the project. | A project declaration, not proof of runtime coupling. |
44
+ | `observed` | Allowlisted evidence read from a child project. | Bounded observation with freshness and provenance. |
45
+ | `inferred` | A consequence reasoned from declared and observed evidence. | A review proposition requiring confirmation. |
46
+ | `persona-hypothesis` | A concern surfaced through an active persona lens. | Advisory question, never stakeholder fact. |
47
+ | `human-decision` | A decision actually recorded by a named accountable person. | The only decision class; scope remains limited to the recorded authority. |
48
+
49
+ `declared-child-state` identifies a child project’s own recorded delivery claim. Keep it distinct from independently observed cross-project coupling.
50
+
51
+ V1 returns `observedEvidence.status: not-available` for cross-project Source Map dependencies. Do not reinterpret declared dependencies as observed edges.
52
+
53
+ ## Persona and LLM method
54
+
55
+ `review.standardLlmAvailable` keeps ordinary host-model reasoning available. Installed project and core personas improve framing at baseline. Installed relevant personal or premium metadata can enrich the bounded ensemble.
56
+
57
+ When focus changes, retrieve the snapshot again and replace the active ensemble. Do not retain stale lenses merely because they were useful in an earlier pass. Never require premium access, approximate an unavailable specialist, or initiate entitlement/library installation from a review.
58
+
59
+ Persona output remains `persona-hypothesis` until supported by project evidence or resolved by a named person. It cannot create `human-decision` evidence.
60
+
61
+ ## Human and assurance boundary
62
+
63
+ Always preserve both notices returned by the workspace. The security notice begins:
64
+
65
+ > Security validation is evidence, not certification or proof that this system is secure.
66
+
67
+ Portfolio analysis cannot approve Build or Manual QA, accept residual risk, certify security, mutate child SPECS, change release readiness, dispatch work, deploy or release. Route the next action to the member or dependency owner shown in the projection.
@@ -0,0 +1,95 @@
1
+ ---
2
+ name: ewai-project-discovery
3
+ description: Interview a project owner after EWAI initialization, capture the project's purpose, users, outcomes, boundaries, technology direction, data and assurance profile, then generate the initial project-local SPECS brief, standards, compliance triage, and stack strategy. Use when starting, onboarding, re-profiling, or selecting a technology stack for an EWAI project before creating delivery intents or application code.
4
+ ---
5
+
6
+ # EWAI Project Discovery
7
+
8
+ Build shared understanding before planning or implementation. Treat generated recommendations as drafts for accountable human review.
9
+
10
+ Resolve the workspace and SPECS root from `.ewai-pipeline/project.json`; all logical `SPECS/...` paths below are relative to that configured root.
11
+
12
+ ## Brief an existing project before Archaeology
13
+
14
+ For an existing codebase, begin with a short conversational briefing before deep repository analysis. Ask one question at a time and establish:
15
+
16
+ - why the project exists and why it matters now;
17
+ - primary users and stakeholders;
18
+ - desired outcomes and signs of failure;
19
+ - business and operational context;
20
+ - known constraints, non-goals, and behaviour that may be accidental or obsolete.
21
+
22
+ Record the confirmed briefing at `SPECS/2.Purpose/explorations/project-brief.md`. Separate the user's account from repository-derived hypotheses. Offer `$ewai-context-import` for any folder of emails, meeting transcripts, documentation, research, requirements, or other project material. Use reviewed imported findings to make the remaining interview more specific. For an existing codebase, then hand off to `$ewai-archaeology`, which must compare its reconnaissance with the briefing and imported evidence and ask the owner to resolve material differences before deeper reconstruction.
23
+
24
+ Do not launch the terminal-based discovery questionnaire inside an AI conversation. Conduct the interview naturally, prepare a repeatable answers file under the disposable `.ewai-pipeline/runtime/` boundary, and use the non-interactive `--answers` interface when generating the full Project SPECS after reviewed Archaeology evidence is available.
25
+
26
+ ## Run discovery
27
+
28
+ 1. Read the configured `pipeline.yaml`, the human project briefing, reviewed Context Import and Archaeology findings when present, and repository evidence for the existing stack.
29
+ 2. Run `ewai doctor --project <path>` and resolve failed project-contract checks.
30
+ 3. Run `ewai discover --project <path>`.
31
+ 4. Ask one interview question at a time. Prefer reviewed Context Import, Archaeology, repository, or SPECS evidence over asking the owner to rediscover a known fact.
32
+ 5. Keep unknown answers explicit. Do not convert uncertainty into an assumed requirement.
33
+ 6. Ask whether Claude CLI, Codex CLI, and Google Antigravity through the `agy` CLI are available for external validation; default each to unavailable unless the user explicitly confirms it. Availability does not force use: record whether each provider is enabled.
34
+ 7. Confirm the review-and-fix cycle limit, breadth, analysis depth, and output size for implementation-plan, test-plan, and post-code validation. Explain the token/assurance trade-off in human terms.
35
+ 8. Review the generated Project SPECS, technology stack, standards options, and compliance risk with their accountable owners.
36
+
37
+ ## Optional organisation policy baseline
38
+
39
+ During Guided Setup, explain that an Organisation Policy Design Gate is optional. When the selected Organisation Blueprint contains policy contributions, show the resolved baseline, sources, rule and role counts, outcomes, pack pins, and exact effective digest. Use `$ewai-organisation-policy` to review the proposal and require a named person to approve that exact digest before materialisation. With no contribution or no approval, preserve the explicit non-blocking `not-configured` state.
40
+
41
+ Do not infer policy from generic governance documents, make premium personas mandatory, or describe the baseline as production enforcement or compliance certification.
42
+
43
+ ## Select reproducible discovery depth
44
+
45
+ Use `$ewai-evidence-depth` when onboarding an existing repository, repeating Discovery across participants or model sessions, or when assurance and context cost need an explicit trade-off. Refresh the Source Map, then prepare independent architecture, data, security, product, delivery, governance, and operations recommendations from repository coverage and attributed owner evidence.
46
+
47
+ Show which core, project, personal, and optional installed premium personas are active for the current concern and why. Swap them as the concern changes. Persona advice never substitutes for the owner's account, confirms an inferred fact, or selects depth.
48
+
49
+ Require a named review across all seven dimensions and keep stable gaps separate from how they are later grouped into intents or work. If Discovery is repeated, compare stored run fingerprints before attributing differences to the model. Treat unexplained coverage or gap variance as a reproducibility failure, and restore missing evidence context before proceeding.
50
+
51
+ This is a local evidence workflow. It does not send feedback, run production code, enforce policy at runtime, install premium personas, or grant Build authority.
52
+
53
+ ## Select technology for a new project
54
+
55
+ When no implementation repository exists, do not ask the user to name a framework before understanding the project. First establish the product shape, deployment environment, team capability, data sensitivity, integrations, scale, availability, accessibility, compliance, budget, and operational ownership.
56
+
57
+ Then:
58
+
59
+ 1. explain the material decision criteria in plain language;
60
+ 2. recommend fitting installed technology or stack packs, with trade-offs;
61
+ 3. let the user select a pack, record custom technology, or explicitly remain undecided;
62
+ 4. capture the decision and rationale in `SPECS/5.Strategy/architecture/stack.md`;
63
+ 5. route accepted minimum practices into project constraints, patterns, and ADRs rather than leaving them only as suggestions.
64
+
65
+ If a stack choice is still uncertain and materially blocks an intent, create a bounded technical-spike intent through `$ewai-intent`. Do not select a stack merely because EWAI has a pack for it.
66
+
67
+ After purpose and the material technology direction are understood, offer `$ewai-architecture` when the solution has consequential boundaries, integrations, data ownership, security or trust decisions, operational requirements, transition concerns, or enterprise dependencies. Discovery establishes enough context to start that conversation; it does not silently invent a complete architecture. Accepted Architecture proposals then become the project standards, patterns, ADRs, risks, diagrams, and strategy that delivery must honour.
68
+
69
+ For a repeatable or non-interactive interview, copy and complete `templates/discovery-answers.yaml` from the EWAI installation, then run:
70
+
71
+ ```bash
72
+ ewai discover --project <path> --answers <answers.yaml>
73
+ ```
74
+
75
+ ## Decision discipline
76
+
77
+ - Select installed technology or stack pack identifiers when they fit.
78
+ - Treat pack commands as a starting point, not a complete framework best-practice standard. Only claim practices that are present in the selected pack or accepted project SPECS.
79
+ - Record custom or undecided technology rather than forcing the nearest pack.
80
+ - Treat detected frameworks as evidence, not automatic approval of a stack.
81
+ - Require provenance, licence, compatibility, and support review before recommending boilerplate.
82
+ - Label compliance results as candidate reviews. Never claim legal advice, certification, or compliance from interview answers.
83
+ - Allow only providers marked both `available` and `enabled` in `SPECS/pipeline.yaml` to satisfy external-validation stages.
84
+ - Exclude the active orchestrator from independent validation. A one-system project therefore records external stages as not-supported rather than pretending self-review is independent.
85
+ - Treat external review cycles as configurable assurance. Treat standards compliance as mandatory and non-waivable.
86
+ - Keep unsupported stages visible and never mark them passed.
87
+ - Keep `SPECS/` as durable truth and `.ewai-pipeline/` as regenerable runtime state.
88
+
89
+ ## Completion boundary
90
+
91
+ Discovery is complete when the project owner has a reviewable purpose and scope, the technical owner has a stack decision or explicit open decision, and assurance owners can see every triggered review and unknown.
92
+
93
+ Do not begin Build. Create or enrich the first delivery intent only after the discovery artefacts have been reviewed.
94
+
95
+ Read [discovery contract](references/discovery-contract.md) when validating outputs or automating answers.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "EWAI Project Discovery"
3
+ short_description: "Interview and profile a new EWAI project"
4
+ default_prompt: "Use $ewai-project-discovery to interview me about this project and create its initial SPECS profile."