@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,36 @@
1
+ # Design-system application contract
2
+
3
+ ## Evidence flow
4
+
5
+ The project pin resolves one root and its explicit dependencies. Contributions applicable to UI Design, Prototype, the affected surface, and the stated focus become candidates for the existing EWAI context assembler. Required contributions are mandatory; focus-matched contributions are relevant; the rest can be deferred. Mandatory overflow is non-ready and emits no provider payload.
6
+
7
+ Contextual personas are selected from installed core, project-local, personal, and entitled premium catalogues. Their safe identity and reason are visible while their definitions remain private. Persona advice remains subordinate to observable product evidence and accountable human decisions.
8
+
9
+ ## Receipt and manifest
10
+
11
+ Successful application creates immutable, digest-addressed JSON and Markdown evidence under:
12
+
13
+ ```text
14
+ SPECS/6.Build/<delivery>/ui-design-assets/design-system/
15
+ ```
16
+
17
+ The JSON uses `ewai.design-system-receipt/v1`. A newly stamped delivery uses `ewai.prototype-manifest/v3`; its design-system section declares:
18
+
19
+ ```json
20
+ {
21
+ "designSystem": {
22
+ "receiptPath": "ui-design-assets/design-system/receipt-<digest>.json",
23
+ "receiptDigest": "sha256:<digest>",
24
+ "effectiveDigest": "sha256:<digest>"
25
+ }
26
+ }
27
+ ```
28
+
29
+ The v3 manifest also links the immutable reviewed prototype plan and final persona-guided design cycle. Historical v1 and v2 manifests remain readable. A newly stamped UI Design phase must complete the v3 review linkage before it can complete.
30
+
31
+ ## Recovery
32
+
33
+ - `mandatory-overflow`: narrow focus, explicitly increase the bounded budget, or split the surface.
34
+ - stale selected system: inspect, re-resolve, and obtain a new named selection approval.
35
+ - receipt mismatch: do not edit immutable evidence; reapply and link the newly returned receipt.
36
+ - missing premium personas: continue with applicable core/project/personal personas; premium access is never required for correctness.
@@ -0,0 +1,28 @@
1
+ ---
2
+ name: ewai-design-system-author
3
+ description: Build or evolve a governed EWAI design-system pack from owner-declared and observable project evidence. Use when a team wants to capture reusable experience principles, foundations, tokens, components, interactions, content, states, accessibility, motion, prohibited patterns, or review rules without selecting or applying the pack.
4
+ ---
5
+
6
+ # EWAI Design System Author
7
+
8
+ Build a portable, data-only design-system pack whose evidence, contributors, and installation decision remain visible to its owner. Read [the authoring contract](references/authoring-contract.md) before authoring or changing a pack.
9
+
10
+ ## Workflow
11
+
12
+ 1. Confirm whether the candidate is intended for the project-local or personal catalogue. Do not infer permission to install, select, apply, publish, or release it.
13
+ 2. Gather owner-declared and observed evidence. Label inferred material explicitly, and preserve every conflict until the owner resolves it.
14
+ 3. Engage only the personas relevant to the design question. Show each active persona's safe reference, name, tier, matched signals, and reason while it is engaged.
15
+ 4. The standard path must work with core, project-local, and personal personas. Premium personas may improve the critique when entitlement and installation already exist, but you must not download them or copy premium persona bodies into the pack, receipts, logs, or output.
16
+ 5. Author `pack.yaml` and its referenced Markdown contributions. Use qualified `pack-id:contribution-id` replacement targets; never rely on filesystem precedence.
17
+ 6. Run `ewai design-system validate FOLDER --project PROJECT --json`. Resolve every schema, containment, compatibility, size, or digest error.
18
+ 7. Present the safe validation result and proposed scope. Pause for explicit confirmation.
19
+ 8. Only after confirmation, run `ewai design-system install FOLDER --scope project|personal --expected-digest DIGEST --yes --project PROJECT --json`.
20
+ 9. Report that installation does not select the pack. Selection and application are separate governed decisions.
21
+
22
+ ## Boundaries
23
+
24
+ - Never overwrite an installed pack or silently resolve an identity conflict.
25
+ - Never select or apply a newly installed pack.
26
+ - Never treat persona advice, a generated design system, or a successful validation as owner approval.
27
+ - Never place executable code, remote content, credentials, or premium persona bodies in the pack.
28
+ - Never claim a pack is visually accepted, accessible, production-ready, published, or released without the corresponding human evidence.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "EWAI Design System Author"
3
+ short_description: "Build governed reusable design-system packs"
4
+ default_prompt: "Use $ewai-design-system-author to build or evolve a governed design-system pack from project evidence."
@@ -0,0 +1,38 @@
1
+ # Design-system authoring contract
2
+
3
+ ## Candidate layout
4
+
5
+ ```text
6
+ candidate/
7
+ ├── pack.yaml
8
+ ├── experience-promise.md
9
+ ├── principles.md
10
+ └── components/
11
+ └── buttons.md
12
+ ```
13
+
14
+ Only `pack.yaml` and files explicitly referenced by its contributions are installed. Symlinks, remote URLs, traversal, missing files, oversized content, duplicate identities, and incompatible EWAI majors are rejected.
15
+
16
+ ## Manifest essentials
17
+
18
+ The manifest uses `schema: ewai.pack/v1`, `type: design-system`, a globally qualified ID, semantic version, explicit dependencies, EWAI compatibility, provenance, and one or more contributions. Each contribution declares its stable ID, kind, title, relative source, applicability, whether it is mandatory, and qualified replacement targets.
19
+
20
+ ## Evidence ledger
21
+
22
+ Keep these classes separate:
23
+
24
+ - `owner-declared`: an accountable owner states the intended experience or rule.
25
+ - `observed`: repository, product, research, or rendered-interface evidence supports it.
26
+ - `inferred`: a useful hypothesis that still needs confirmation.
27
+ - `conflict`: evidence or stakeholder expectations disagree; do not erase the disagreement.
28
+
29
+ ## Review questions
30
+
31
+ - What experience promise should remain true across features and channels?
32
+ - Which existing components and patterns are already authoritative?
33
+ - Which rules are mandatory, and which are contextual guidance?
34
+ - Which states, responsive conditions, accessibility needs, and content behaviours are missing?
35
+ - What is prohibited because it harms trust, clarity, usability, brand, or maintainability?
36
+ - Which local or premium personas add a relevant perspective, and why are they active now?
37
+
38
+ Persona output is advice. The project owner resolves conflicts and approves the pack digest, installation scope, later selection, later application, Manual QA, and release.
@@ -0,0 +1,26 @@
1
+ ---
2
+ name: ewai-design-system-review
3
+ description: Review a prototype or implemented interface against the immutable EWAI design-system application receipt that shaped it. Use after a UI artefact exists, during UI Design iteration, before Manual QA, or when assessing whether a local deviation should remain local or be proposed for a later pack-authoring cycle.
4
+ ---
5
+
6
+ # EWAI Design System Review
7
+
8
+ Produce an evidence-cited, advisory conformance review without rewriting historical evidence or granting acceptance. Read [the review contract](references/review-contract.md) completely before reviewing.
9
+
10
+ ## Workflow
11
+
12
+ 1. Locate the selected artefact, its `ewai.prototype-manifest/v3`, the linked immutable design-system receipt, reviewed plan, and final persona review cycle. Stop if linkage or digests do not validate. Historical v1/v2 manifests remain readable but do not satisfy a newly stamped v3 delivery.
13
+ 2. Review the artefact against the contributions recorded as selected in that receipt—not against a newer pack that did not shape it.
14
+ 3. Separate evidence channels: source inspection, rendered viewport, interaction, assistive-technology, user research, Manual QA, and release. Mark an unperformed channel absent; missing evidence must remain missing.
15
+ 4. Swap in only relevant product, design, accessibility, content, domain, and engineering personas from the core, project-local, personal, and already installed premium catalogues. Show every active persona’s safe reference, name, tier, matched signals, and reason. The standard host-model path remains complete without premium access, and you must never expose or persist premium persona bodies.
16
+ 5. Use `$ewai-prototype-iteration` to recompute the relevant rendered-design ensemble, record its findings, and assess each finding exactly once. Then classify design-system conformance as `aligned`, `approved-deviation`, or `unresolved` using the exact rules in the reference.
17
+ 6. Distinguish delivery-local correction, explicitly approved local deviation, and reusable learning. Route reusable learning as a proposal for a later design-system authoring cycle.
18
+ 7. Present findings, evidence limitations, active personas, and named next decisions. The review does not approve a deviation, Build, Manual QA, accessibility, publication, deployment, or release.
19
+
20
+ ## Boundaries
21
+
22
+ - Never edit or replace the installed or upstream pack during review.
23
+ - Never rewrite the immutable receipt or review against unrecorded context.
24
+ - Never turn persona agreement into evidence about real users.
25
+ - Never infer rendered, responsive, keyboard, assistive-technology, user, Manual QA, or release evidence from source inspection alone.
26
+ - Never use `approved-deviation` without existing cited evidence from a named accountable owner.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "EWAI Design System Review"
3
+ short_description: "Review surfaces against design receipts"
4
+ default_prompt: "Use $ewai-design-system-review to review this surface against its design-system receipt."
@@ -0,0 +1,40 @@
1
+ # Design-system conformance review contract
2
+
3
+ ## Inputs
4
+
5
+ - The selected prototype or implemented surface.
6
+ - Its validated `ewai.prototype-manifest/v3`, including the linked reviewed plan and final persona review cycle. Historical v1/v2 evidence can be inspected but does not satisfy a newly stamped v3 contract.
7
+ - The linked immutable `ewai.design-system-receipt/v1`.
8
+ - Any separately captured rendered, interaction, assistive-technology, research, owner-decision, Manual QA, or release evidence.
9
+
10
+ Current pack content may inform a separately labelled change proposal, but it cannot silently replace the receipt as the historical baseline.
11
+
12
+ ## Finding classifications
13
+
14
+ - `aligned`: cited artefact evidence satisfies a cited contribution recorded in the receipt.
15
+ - `approved-deviation`: the artefact differs, and a named accountable owner has already approved that exact delivery-local deviation in cited evidence. The review cannot create this approval.
16
+ - `unresolved`: the artefact differs, evidence is missing or contradictory, or no accountable deviation approval exists.
17
+
18
+ Each finding records its classification, receipt contribution ID and digest, artefact location, evidence channel, observation, user or engineering impact, active persona references, and required owner action.
19
+
20
+ ## Evidence matrix
21
+
22
+ Report each channel independently:
23
+
24
+ | Channel | What it can support | What absence means |
25
+ |---|---|---|
26
+ | Source inspection | structure, declared semantics, implementation patterns | rendered behaviour is unknown |
27
+ | Rendered viewport | visible hierarchy, layout, responsive appearance | visual conformance is unknown |
28
+ | Interaction | focus, state transitions, error and recovery behaviour | interaction conformance is unknown |
29
+ | Assistive-technology | practical screen-reader or equivalent behaviour | accessibility is not assured |
30
+ | User research | observed representative-user needs and outcomes | persona simulation is not user evidence |
31
+ | Manual QA | named human acceptance within its recorded scope | the feature remains unaccepted |
32
+ | Release | authorised publication, deployment, or production decision | the result is not release-approved |
33
+
34
+ Automated tests and static inspection can identify valuable findings. They do not certify accessibility or quality.
35
+
36
+ ## Persona and learning boundary
37
+
38
+ Personas are advisory lenses. Record safe active references and reasons, never definitions or managed bodies. Project-local and personal personas may add context; installed premium personas may deepen critique but are optional.
39
+
40
+ The review must not change an installed or upstream pack. A pattern likely to benefit other deliveries becomes a cited proposal for a later authoring cycle, where its evidence, conflicts, versioning, installation, selection, and owner approval can be governed separately.
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: ewai-error-reporting
3
+ description: Create, inspect, finalise and explicitly hand off privacy-safe local EWAI error-report packages. Use when an EWAI command, dashboard action, guided workflow or agent integration fails; when a user asks to report a problem; when local automatic draft capture needs to be configured; or when an exact finalised ZIP must be prepared for manual email or an explicitly registered generic provider adapter.
4
+ ---
5
+
6
+ # EWAI Error Reporting
7
+
8
+ Keep error reporting local-first, inspectable and honest about custody. The base capability requires no hosted service and never transmits a report automatically.
9
+
10
+ ## Method
11
+
12
+ 1. Inspect local state with `ewai error-report status --project . --json`.
13
+ 2. Create a bounded draft with `ewai error-report create`, or use **Report this problem** in the dashboard. Describe expected behaviour, actual behaviour and reproducible steps without secrets, absolute paths, client data, source, prompts, persona bodies or raw logs.
14
+ 3. Read the draft with `ewai error-report show REPORT --project . --json`. Inspect its description, diagnostics and redaction summary before finalising it.
15
+ 4. Revise incorrect narrative fields with `ewai error-report update`. A changed finalised report becomes a new draft revision; never rewrite an immutable package.
16
+ 5. Finalise with `ewai error-report finalise REPORT --project . --json`. Retain the returned exact archive digest.
17
+ 6. Choose one explicit handoff:
18
+ - Prepare a manual email with `ewai error-report prepare-email REPORT --expected-digest DIGEST --launch --project . --json`. Treat `prepared-not-sent` literally. Reveal the ZIP, attach the ZIP manually, review the recipients and send it yourself.
19
+ - List registered providers, then use `ewai error-report send REPORT --provider ID --expected-digest DIGEST --yes --project . --json`. Confirm that the provider is trusted local code before sending.
20
+ 7. Read attempts and receipts with `ewai error-report receipts REPORT --project . --json`. An accepted receipt proves transport of that digest only, not issue resolution.
21
+ 8. Archive or delete local material only with explicit confirmation. Explain that external provider material cannot be recalled by deleting a local report.
22
+
23
+ ## Automatic local drafts
24
+
25
+ Automatic local draft capture is opt-in:
26
+
27
+ ```bash
28
+ ewai error-report settings --automatic-local-drafts true --project . --json
29
+ ```
30
+
31
+ This setting creates deduplicated local drafts only. It does not finalise, email, invoke a provider, attach a file or send anything. Keep the setting separate from every remote handoff decision.
32
+
33
+ ## Custody boundaries
34
+
35
+ - Store operational material under `.ewai-pipeline/error-reports/`; do not promote it into `SPECS/` or commit it as project truth.
36
+ - Use only the closed diagnostic fields supplied by EWAI. Never add environment values, credentials, absolute paths, repository names, source, SPECS bodies, prompts, responses, personas or raw logs.
37
+ - Require the exact finalised digest for email or provider handoff. If the report changes, prepare and approve the new revision separately.
38
+ - Never claim an email was sent, a ZIP was attached, or a provider accepted a report without the corresponding evidence.
39
+ - Treat provider adapters as trusted local code. Registration is an authority decision; package validation is not a security certification.
40
+ - Keep error reporting separate from Manual QA, security acceptance, deployment and release authority.
41
+
42
+ Read [references/provider-contract.md](references/provider-contract.md) only when validating, registering, authoring or troubleshooting a generic provider adapter.
43
+
44
+ ## Stop conditions
45
+
46
+ Stop before finalisation or handoff when the draft contains sensitive or ambiguous material, the package digest is stale, the intended recipient or provider is unclear, or explicit confirmation is absent. Preserve failure attempts; do not turn them into success receipts.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "EWAI Error Reporting"
3
+ short_description: "Create and hand off privacy-safe local reports"
4
+ default_prompt: "Use $ewai-error-reporting to create, inspect and hand off a local EWAI error report."
@@ -0,0 +1,74 @@
1
+ # Generic error-report provider contract
2
+
3
+ Use this contract only for organisation-owned or commercial adapters that transport an already-finalised EWAI error-report ZIP. An adapter is trusted local code. EWAI ships no built-in vendor connector and no hosted reporting service.
4
+
5
+ ## Package shape
6
+
7
+ The adapter folder must be a real, non-symbolic directory containing `error-report-provider.json`:
8
+
9
+ ```json
10
+ {
11
+ "schema": "ewai.error-report-provider/v1",
12
+ "id": "example.support",
13
+ "name": "Example support transport",
14
+ "publisher": { "id": "example", "name": "Example Ltd" },
15
+ "version": "1.0.0",
16
+ "protocolVersion": "1",
17
+ "entrypoint": "bin/send-report"
18
+ }
19
+ ```
20
+
21
+ Only those fields are accepted. The entrypoint must be a relative, executable, regular file inside the adapter root. Symbolic links, path escape, oversized packages and unsafe identifiers are rejected.
22
+
23
+ Validation reads and digests the package but does not trust or execute it:
24
+
25
+ ```bash
26
+ ewai error-report adapter-validate ./adapter --project . --json
27
+ ```
28
+
29
+ Registration requires `--yes` because it trusts local code. Registration does not execute the adapter:
30
+
31
+ ```bash
32
+ ewai error-report adapter-register ./adapter --project . --yes --json
33
+ ```
34
+
35
+ EWAI rejects same-version package digest drift. Submission re-reads the current manifest and package and refuses execution when either digest differs from the registered record.
36
+
37
+ ## Submission protocol
38
+
39
+ EWAI writes one JSON object to the adapter's stdin:
40
+
41
+ ```json
42
+ {
43
+ "schema": "ewai.error-report-submission/v1",
44
+ "attemptId": "uuid",
45
+ "reportId": "report_example",
46
+ "revision": 1,
47
+ "archiveDigest": "sha256:...",
48
+ "packagePath": "/absolute/runtime/path/report_example-r1.zip",
49
+ "packageSize": 1234
50
+ }
51
+ ```
52
+
53
+ The path is supplied only to the explicitly trusted local process. The process receives a minimal environment and must treat the ZIP as immutable. It must emit exactly one bounded JSON acknowledgement to stdout:
54
+
55
+ ```json
56
+ {
57
+ "schema": "ewai.error-report-provider-ack/v1",
58
+ "attemptId": "uuid",
59
+ "archiveDigest": "sha256:...",
60
+ "status": "accepted",
61
+ "externalReference": "provider-ticket-123"
62
+ }
63
+ ```
64
+
65
+ The `attemptId` and `archiveDigest` must exactly match the request. `status` may be `accepted` or `rejected`; EWAI records only an exact accepted acknowledgement as a receipt. Extra fields, malformed JSON, timeout, oversized output, non-zero exit, digest mismatch and rejection produce a retained failed attempt.
66
+
67
+ ## Security and assurance boundary
68
+
69
+ - Use `shell: false` behaviour in the entrypoint and never reinterpret request fields as shell syntax.
70
+ - Do not read files other than the supplied finalised ZIP.
71
+ - Do not return credentials, response bodies or sensitive provider errors on stdout.
72
+ - Apply provider authentication inside the adapter's own secure configuration boundary; do not add secrets to the EWAI report or manifest.
73
+ - Treat the receipt as transport evidence, not resolution, certification, security acceptance, Manual QA or release approval.
74
+ - Version and review adapter code. Re-register every intentional code change under a new version.
@@ -0,0 +1,72 @@
1
+ ---
2
+ name: ewai-evidence-depth
3
+ description: Prepare, review, record, and compare reproducible seven-dimensional Archaeology and Discovery depth using a fresh EWAI Source Map, attributed owner evidence, stable gaps, and contextual core, project, personal, and optional installed premium personas. Use when deciding how deeply to investigate an existing project, repeating Archaeology or Discovery across people or model sessions, explaining different outputs from the same project, or verifying that context and token reductions have not reduced engineering evidence coverage.
4
+ ---
5
+
6
+ # EWAI Evidence Depth
7
+
8
+ Choose investigation depth from governed evidence rather than repository size, ticket count, or model confidence. Keep observed repository facts, owner declarations, persona advice, named depth decisions, and gap grouping visibly separate.
9
+
10
+ Read [the evidence-depth contract](references/evidence-depth-contract.md) completely before creating inputs, recording a review, comparing runs, or validating another implementation.
11
+
12
+ ## Prepare the run
13
+
14
+ 1. Resolve the project and configured SPECS root from `.ewai-pipeline/project.json`.
15
+ 2. Inspect Source Map freshness with `ewai archaeology depth-status --project <path> --json`.
16
+ 3. If missing or stale, run `ewai index refresh --project <path> --json`. Do not prepare from stale repository evidence.
17
+ 4. Capture owner evidence as bounded identifiers, authority, answer and reason codes, and evidence digests. Never put free-text answers, source bodies, secrets, absolute paths, or managed persona bodies in the input.
18
+ 5. Run `ewai archaeology depth-prepare --project <path> --input <project-relative-input.json> --json`. Omit `--input` when no attributed owner evidence exists.
19
+ 6. Present all seven recommendations, coverage, exclusions, failures, stable gaps, adaptive questions, and active personas. Do not collapse dimensions into one overall depth.
20
+
21
+ The dimensions are architecture, data, security, product, delivery, governance, and operations. A recommendation is advisory until a named person selects every dimension.
22
+
23
+ ## Engage personas contextually
24
+
25
+ Use the returned active ensemble for the current dimension. Swap relevant core, project, personal, and installed premium personas in and out as the evidence concern changes.
26
+
27
+ - Show persona name, tier, engagement reason, and the concern where it is active.
28
+ - Keep the standard-model baseline complete when premium personas are absent.
29
+ - Never download or sync premium personas as part of this workflow.
30
+ - Treat personas as advisory lenses. They cannot create owner evidence, choose depth, group gaps, approve Build, accept Manual QA, or release software.
31
+
32
+ ## Review and record
33
+
34
+ Ask a named accountable owner to:
35
+
36
+ 1. select `bounded`, `standard`, or `deep` independently for every dimension;
37
+ 2. give a substantive rationale whenever reducing the recommendation;
38
+ 3. review contradictions and unresolved questions;
39
+ 4. assign every stable gap to an explicit group and disposition;
40
+ 5. confirm the exact preparation digest being reviewed.
41
+
42
+ Record the complete review with:
43
+
44
+ ```bash
45
+ ewai archaeology depth-record --project <path> --input <project-relative-review.json> --json
46
+ ```
47
+
48
+ Recording creates immutable evidence under the configured `SPECS/3.Evidence/discovery-depth/runs/` root. It is not delivery, security, Manual QA, deployment, or release approval.
49
+
50
+ ## Compare repeated runs
51
+
52
+ Compare exact stored runs without rescanning the repository:
53
+
54
+ ```bash
55
+ ewai archaeology depth-compare <left-run-id> <right-run-id> --project <path> --json
56
+ ```
57
+
58
+ Explain change in this order: governed inputs, evidence, personas, selected depth, coverage, stable gaps, then grouping. Do not treat wording variation as material when the structured identity is unchanged. Do not call a comparison reproducible when a derived fingerprint changes without an upstream explanation.
59
+
60
+ ## Preserve the performance boundary
61
+
62
+ Use the Source Map projection and bounded identifiers rather than loading repository bodies into the depth ledger. Compare stored fingerprints rather than repeating analysis. Treat exclusions, inventory-only files, sensitive files, oversized files, and analysis failures as visible coverage facts.
63
+
64
+ Token reduction is acceptable only when the same material engineering surfaces, constraints, standards, gaps, and tests remain discoverable. If coverage decreases or unexplained variance appears, restore the missing evidence context before continuing.
65
+
66
+ ## Use the available surfaces
67
+
68
+ - CLI: `ewai archaeology depth-status|depth-prepare|depth-record|depth-compare`
69
+ - MCP: `ewai_evidence_depth_status|prepare|record|compare`
70
+ - Dashboard: Guided Setup → Evidence depth
71
+
72
+ Keep hosted feedback collection, production code interception, runtime policy enforcement, and automatic persona installation outside this workflow.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "EWAI Evidence Depth"
3
+ short_description: "Reproducible archaeology and discovery depth"
4
+ default_prompt: "Use $ewai-evidence-depth to prepare and review a reproducible evidence-depth run for this project."
@@ -0,0 +1,127 @@
1
+ # Evidence-depth contract
2
+
3
+ ## Authority model
4
+
5
+ | Concern | Authority |
6
+ |---|---|
7
+ | Repository state | Fresh EWAI Source Map; observed or inferred only |
8
+ | Business purpose and intended behaviour | Attributed owner declaration or confirmation |
9
+ | Investigation lenses | Contextual personas; advisory only |
10
+ | Selected depth | Named accountable reviewer |
11
+ | Stable gap identity | Deterministic structured condition and evidence references |
12
+ | Gap grouping | Explicit named review; separate from gap identity |
13
+ | Build, Manual QA, deployment, release | Existing EWAI gates; never an evidence-depth run |
14
+
15
+ ## Preparation input
16
+
17
+ The normalized preparation records:
18
+
19
+ - project fingerprint;
20
+ - fresh Source Map run, digest, profile digest, and coverage;
21
+ - contract, pack, and provider capability revisions;
22
+ - explicit exclusions;
23
+ - predecessor run when applicable;
24
+ - bounded active persona identifiers, tiers, and reason codes;
25
+ - bounded evidence identifiers, authority, kind, and digests;
26
+ - exactly seven dimension recommendations, drivers, evidence references, and coverage;
27
+ - deterministic gap conditions;
28
+ - a proposed grouping strategy, which does not modify gap identity.
29
+
30
+ Do not include prompt text, generated answer text, transcript or source bodies, absolute paths, secrets, raw premium persona content, or unbounded model output.
31
+
32
+ ## Owner evidence input
33
+
34
+ An optional preparation input file has this form:
35
+
36
+ ```json
37
+ {
38
+ "focus": "security and recovery",
39
+ "ownerEvidence": [
40
+ {
41
+ "id": "owner:security-boundary",
42
+ "dimension": "security",
43
+ "authority": "confirmed",
44
+ "evidenceDigest": "sha256:bounded-evidence-identifier",
45
+ "answerCode": "internal-users-only",
46
+ "reasonCode": "named-owner-review",
47
+ "contradiction": "none"
48
+ }
49
+ ]
50
+ }
51
+ ```
52
+
53
+ Allowed authority values are `declared` and `confirmed`. Allowed contradiction values are `none`, `declared-versus-observed`, `observed-versus-observed`, `declared-versus-declared`, and `unresolved`.
54
+
55
+ ## Review input
56
+
57
+ A review must bind to one exact preparation digest, name the reviewer, cover every dimension exactly once, and assign every eligible gap exactly once.
58
+
59
+ ```json
60
+ {
61
+ "schema": "ewai.evidence-depth-review/v1",
62
+ "expectedPreparationDigest": "sha256:...",
63
+ "reviewedBy": "Named owner",
64
+ "dimensions": [
65
+ {
66
+ "id": "architecture",
67
+ "selectedDepth": "deep",
68
+ "rationale": ""
69
+ }
70
+ ],
71
+ "grouping": {
72
+ "strategy": "user-outcome",
73
+ "assignments": [
74
+ {
75
+ "gapId": "GAP-ARC-...",
76
+ "groupId": "platform-boundary",
77
+ "disposition": "owned"
78
+ }
79
+ ]
80
+ }
81
+ }
82
+ ```
83
+
84
+ Repeat the dimension object for architecture, data, security, product, delivery, governance, and operations. Allowed depths are `bounded`, `standard`, and `deep`. Reducing a recommendation requires a substantive rationale. Allowed grouping dispositions are `owned`, `shared`, `deferred`, and `excluded`.
85
+
86
+ ## Stable identity
87
+
88
+ Exclude timestamps, filesystem roots, ordering differences, and generated prose from preparation identity. Include the project and Source Map fingerprints, contract and pack versions, provider capability revision, exclusions, persona identities, evidence identities, dimension structure, coverage, and structured gaps.
89
+
90
+ A stable gap ID is derived from:
91
+
92
+ - dimension;
93
+ - condition;
94
+ - current-state code;
95
+ - intended-state code;
96
+ - sorted evidence references.
97
+
98
+ Owner assignment, contradiction state, disposition, and later grouping are reviewable state around the gap; grouping never replaces or renames the gap.
99
+
100
+ ## Comparison order
101
+
102
+ Compare fingerprints in this order:
103
+
104
+ 1. governed inputs;
105
+ 2. evidence;
106
+ 3. personas;
107
+ 4. owner-selected depth;
108
+ 5. coverage;
109
+ 6. stable gaps;
110
+ 7. grouping.
111
+
112
+ A changed grouping with unchanged gaps is explainable. A changed coverage or gap fingerprint without a material upstream change is unexplained variance and makes the comparison non-reproducible.
113
+
114
+ ## Failure and recovery states
115
+
116
+ | State | Required action |
117
+ |---|---|
118
+ | `source-map-missing` | Run `ewai index refresh --project <path> --json` |
119
+ | `source-map-stale` | Refresh the Source Map and prepare again |
120
+ | `not-prepared` | Prepare a run after confirming evidence inputs |
121
+ | stale preparation digest | Read the latest workspace and repeat named review |
122
+ | missing depth decision | Add exactly one decision for every dimension |
123
+ | reduced depth without rationale | Capture accountable rationale or restore the recommendation |
124
+ | unassigned gap | Assign an explicit group and disposition |
125
+ | unexplained comparison variance | Restore missing evidence context or retain the run as non-reproducible |
126
+
127
+ Never recover by silently dropping a failed, excluded, contradictory, or unknown surface.
@@ -0,0 +1,68 @@
1
+ ---
2
+ name: ewai-intent
3
+ description: Turn an idea, problem, request, or existing feature into a project-local EWAI intent with explicit outcomes, journeys, constraints, evidence, acceptance criteria, and persona attachments. Use when Codex needs to create, enrich, reconcile, or review a file under SPECS/2.Purpose/intents before planning or implementation.
4
+ ---
5
+
6
+ # EWAI Intent
7
+
8
+ Resolve the SPECS root from `.ewai-pipeline/project.json`, then create intent truth under its `2.Purpose/intents/` directory. Do not assume SPECS is at the workspace root and do not write application code during Intent.
9
+
10
+ If the request spans several independently valuable outcomes or the user wants to shape an initiative, use `$ewai-shape-intents` before refining any individual intent. When an intent belongs to an approved map, read that map and preserve its relationship contract.
11
+
12
+ ## Create the intent
13
+
14
+ When the local dashboard is available, **Intent Studio** is the preferred guided route for one intent. It implements the same portable contract as the CLI while keeping a recoverable project-local draft:
15
+
16
+ 1. Open **Intent Studio** and choose **Create a new intent** or **Reconcile an eligible draft intent**.
17
+ 2. Work through the evidence spine. Each save advances the project-local draft revision; stale browser revisions must be reloaded rather than overwritten.
18
+ 3. Treat the standard host-model baseline as complete. Actively engaged personas from project, core, installed premium, and personal libraries are optional contextual lenses. The interface must show their tier, matching signals, and engagement reason as the section changes.
19
+ 4. Use **Copy AI review hand-off** when a host-model conversation would help. The copied prompt is advisory and must not alter the draft, make an approval, or invoke a hidden model endpoint.
20
+ 5. In Review, resolve blocking omissions, check exact canonical destinations, and, for reconciliation, compare the proposed before and after values.
21
+ 6. Require a named person to approve the current revision. That decision creates or reconciles intent truth only; it does not approve Build, Manual QA, certification, deployment, or release.
22
+
23
+ If premium personas are not installed, continue with the standard baseline and any available project or core personas. Never sync or download premium content as a side effect of intent work.
24
+
25
+ 1. Read `pipeline.yaml` and applicable constraints from the configured SPECS root.
26
+ 2. Check for an existing intent with the same or overlapping outcome.
27
+ 3. Identify the primary user or operator and any decision-maker, affected, assurance, or adversarial personas.
28
+ 4. Before finalising the draft, create a delivery-shape preview:
29
+ - `single` when the intent is one coherent, reviewable delivery slice;
30
+ - `split` when it spans independently valuable outcomes that should become child intents before delivery;
31
+ - `decision-required` when one or more owner decisions are needed before the split is safe.
32
+ 5. Show the preview to the user with three choices: keep as one intent, split into the suggested child intents, or refine the split. Record the reviewed decision if the user gives one; otherwise keep it as `not-reviewed`.
33
+ 6. Create the draft with:
34
+
35
+ ```bash
36
+ ewai intent create <slug> \
37
+ --domain <domain> \
38
+ --title "<title>" \
39
+ --persona <persona-ref>:<role>:<depth> \
40
+ --delivery-shape <reviewed-delivery-shape.yaml>
41
+ ```
42
+
43
+ 7. Replace the generated section prompts with evidence-backed content, including its approved dependencies, relationships, and delivery-shape preview.
44
+ 8. Keep unresolved product choices visible under Open decisions.
45
+
46
+ ## Delivery-shape discipline
47
+
48
+ Do not wait until Plan or Build to discover that an intent is too large. An intent should normally be split before delivery when it contains multiple user journeys, actor groups, bounded capabilities, data ownership changes, integrations, security or compliance decisions, or acceptance evidence that cannot be verified cleanly in one pass.
49
+
50
+ Suggested child intents must be product or operational outcomes, not technical layers. Use `$ewai-shape-intents` when the user accepts a split or wants to refine a broader set of related work. If the user explicitly chooses to keep a large intent together, record the rationale in `delivery_shape.reviewed_decision` and keep the delivery risk visible.
51
+
52
+ ## Persona discipline
53
+
54
+ Use depth 1 for awareness through depth 5 for a burning, evidence-grade need. Persona attachments describe design and acceptance needs; they do not grant permissions.
55
+
56
+ Use project persona references from `SPECS/1.Scope/personas/` or installed pack identifiers. Do not assume professional personas are licensed.
57
+
58
+ Persona output is a hypothesis or challenge, not participant evidence. Record interview, workshop, repository, policy, or research evidence separately and preserve named human accountability for decisions.
59
+
60
+ ## Conditional policy design facts
61
+
62
+ When the project has an enabled organisation policy baseline, use `$ewai-organisation-policy` to identify policy-material design facts while refining the intent. Preserve whether each fact is observed evidence, a model proposal, or a persona hypothesis. Show the active persona tier and engagement reason, then require a named human to confirm or reject every proposed fact. Do not delay material facts until Build, and do not create policy work for a `not-configured` project.
63
+
64
+ ## Completion boundary
65
+
66
+ An intent is ready for Plan only when its desired outcome, personas, journeys, acceptance criteria, constraints, dependencies, delivery shape, and open decisions are explicit enough to test. Mark uncertainty rather than inventing repository behaviour.
67
+
68
+ Read [intent contract](references/intent-contract.md) for the portable schema and completion rules.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "EWAI Intent"
3
+ short_description: "Create persona-grounded project intents"
4
+ default_prompt: "Use $ewai-intent to turn this idea into a project-local, persona-grounded EWAI intent."
@@ -0,0 +1,42 @@
1
+ # Intent contract
2
+
3
+ Intent files use `ewai.intent/v1` frontmatter and live at:
4
+
5
+ ```text
6
+ SPECS/2.Purpose/intents/<domain>/<slug>.md
7
+ ```
8
+
9
+ Required metadata:
10
+
11
+ - `slug`: stable lower-kebab identifier.
12
+ - `title`: human-readable outcome name.
13
+ - `status`: `draft`, `ready`, `superseded`, or `retired`.
14
+ - `intent_map`: optional approved intent-map slug.
15
+ - `personas`: zero or more `{ ref, role, depth, reason? }` attachments.
16
+ - `relationships`: zero or more `{ type, target, rationale? }` connections using an exact `<domain>/<slug>` target.
17
+ - `delivery_shape`: early preview of whether this should deliver as one intent, split before delivery, or pause for a split decision.
18
+
19
+ `delivery_shape` uses:
20
+
21
+ - `recommendation`: `single`, `split`, or `decision-required`.
22
+ - `reason`: why the current shape is or is not a manageable delivery unit.
23
+ - `suggested_children`: possible child intent slices, each with optional `domain`, `slug`, `title`, `outcome`, and `depends_on`.
24
+ - `blocking_questions`: owner questions that must be answered before a safe split or delivery.
25
+ - `reviewed_decision`: `keep-as-one`, `split`, `refine-split`, `defer`, or `null` when not yet reviewed.
26
+
27
+ Required narrative sections:
28
+
29
+ - Problem
30
+ - Desired outcome
31
+ - Users and personas
32
+ - Journeys
33
+ - Acceptance criteria
34
+ - Constraints
35
+ - Dependencies and relationships
36
+ - Delivery shape preview
37
+ - Evidence
38
+ - Open decisions
39
+
40
+ An intent should normally be split before delivery when it contains multiple independently valuable outcomes, materially different user journeys, separate actor groups, separate integrations, load-bearing security or compliance decisions, or acceptance criteria that cannot be verified cleanly in one delivery cycle.
41
+
42
+ Use `config/intent.schema.json` from the EWAI installation as the machine-readable metadata schema.