@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,168 @@
1
+ # Blueprint validation and troubleshooting
2
+
3
+ Use this guide to diagnose an Organisation Blueprint Pack that is missing, rejected, incomplete, or unable to materialise during Discovery.
4
+
5
+ Start with the full [Blueprint design guide](../designing-organisation-blueprint-packs.md) if you have not yet authored a strict `ewai.pack/v1` manifest.
6
+
7
+ ## Diagnose the failing layer
8
+
9
+ Work from discovery toward application:
10
+
11
+ 1. **Discovery:** Is the pack stored under a supported local root?
12
+ 2. **Manifest parsing:** Is the YAML valid and the root object complete?
13
+ 3. **Strict schema:** Are all required fields present and all undeclared fields absent?
14
+ 4. **Resolution:** Are identity, compatibility, dependencies, and selected modules valid?
15
+ 5. **Content:** Are referenced Markdown files safe, bounded, and readable?
16
+ 6. **Review:** Does the preview show the intended modules and outputs?
17
+ 7. **Application:** Are there destination conflicts or a stale review revision?
18
+ 8. **Drift:** Does the project pin still match the installed pack content?
19
+
20
+ Fix the earliest failing layer first. Later errors may be consequences rather than separate defects.
21
+
22
+ For a missing pack, correct its [installation root](#confirm-the-installation-root) and reopen selection. For a rejected pack, fix the specific manifest/content error in the candidate and resolve it again. For a stale preview, preserve any unsaved decisions, prepare a fresh preview and obtain a new approval. For destination conflicts, inspect the existing files rather than using overwrite flags.
23
+
24
+ Resolver checks in a disposable project validate your pack. Running EWAI's full regression suite is a separate harness-maintainer task, not a requirement for every pack consumer.
25
+
26
+ ## Confirm the installation root
27
+
28
+ EWAI discovers local Organisation Blueprint Packs from:
29
+
30
+ 1. the package `packs/` root;
31
+ 2. the user's `~/.ewai/packs/` root;
32
+ 3. the project's `.ewai-pipeline/packs/` root.
33
+
34
+ The project root is resolved from its locator; do not assume that the configured SPECS directory is `./SPECS`.
35
+
36
+ There is no dedicated public `blueprint validate` command in the current CLI. Validate through Guided Setup in a safe test project and, for maintained packs, add resolver-level tests using the repository's organisation-blueprint test patterns.
37
+
38
+ ## Strict manifest failures
39
+
40
+ The organisation manifest is strict. Common failures include:
41
+
42
+ | Failure | Check |
43
+ | --- | --- |
44
+ | Unsupported schema | Root `schema` must be `ewai.pack/v1`. |
45
+ | Wrong pack type | Root `type` must be `organisation`. |
46
+ | Invalid identity | Use a publisher-scoped lowercase pack ID and matching `blueprint.publisher.id`. |
47
+ | Missing version | Provide a valid pack `version` and a compatibility range. |
48
+ | Unknown field | Remove fields not declared by the V1 schema; keep catalogue metadata outside the strict manifest. |
49
+ | Duplicate module ID | Give every module a stable unique ID. |
50
+ | Invalid Source Map profile | Use a registered analyser, safe patterns and supported data-only fields; don't include commands or executable paths. |
51
+ | Invalid source | Standard and persona entries must reference bounded relative Markdown paths. |
52
+
53
+ Empty content arrays are permitted in a module. As an authoring choice, give each required module a clear purpose; that recommendation isn't a schema requirement for a minimum number of standards or personas.
54
+
55
+ Do not “fix” strict validation by weakening the schema or adding an ignore flag. The strict surface protects portability and makes the digest meaningful.
56
+
57
+ ## Identity and compatibility
58
+
59
+ Check these values together:
60
+
61
+ - pack `id`;
62
+ - pack `version`;
63
+ - `blueprint.publisher.id`;
64
+ - `blueprint.publisher.name`;
65
+ - `blueprint.compatibility.ewai`.
66
+
67
+ If the compatibility range excludes the current EWAI version, update the pack only after confirming the current runtime contract. Do not widen the range merely to suppress the error.
68
+
69
+ ## Dependency failures
70
+
71
+ `requires` lists organisation pack IDs, not per-dependency version ranges. Each required pack must be installed and compatible with the running EWAI major version. The reviewed pack content and digests identify the actual inputs.
72
+
73
+ Check for:
74
+
75
+ - a missing dependency pack;
76
+ - a dependency whose `blueprint.compatibility.ewai` doesn't match the running EWAI major version;
77
+ - circular dependencies;
78
+ - two locally installed packs with confusing or colliding identities;
79
+ - content collisions after dependency modules are combined.
80
+
81
+ Optional module choice applies to the selected root pack. Dependency modules are requirements, not an opportunity for the consuming project to silently weaken the dependency contract.
82
+
83
+ ## Path and content safety failures
84
+
85
+ All referenced content must remain inside its pack. Reject:
86
+
87
+ - absolute paths;
88
+ - `..` traversal outside the pack;
89
+ - symbolic links that escape the real pack directory;
90
+ - non-Markdown standard or persona sources;
91
+ - missing or unreadable files;
92
+ - oversized content.
93
+
94
+ Current bounds are:
95
+
96
+ - 256 KiB per manifest;
97
+ - 1 MiB per referenced content file;
98
+ - 5 MiB of referenced content per pack;
99
+ - eight directory levels when discovering manifests, not eight dependency levels.
100
+
101
+ Split genuinely separate concerns into modules instead of raising limits or hiding large reference material inside a standard.
102
+
103
+ ## Digest surprises
104
+
105
+ The deterministic digest changes when resolved material changes, including relevant manifest data, selected content, dependencies, or modules.
106
+
107
+ If a digest changes unexpectedly:
108
+
109
+ 1. compare the installed pack with the reviewed source revision;
110
+ 2. check dependency versions and content;
111
+ 3. confirm the selected optional modules;
112
+ 4. inspect line-ending or content changes in referenced Markdown;
113
+ 5. do not reuse an old approval against the new digest.
114
+
115
+ The digest identifies reviewed inputs; it is not a publisher signature or malware scan.
116
+
117
+ ## Preview and application failures
118
+
119
+ Guided Setup separates preview from named approval. A preview can fail because required Discovery answers are incomplete. Application can then fail because:
120
+
121
+ - a newer draft revision exists;
122
+ - generated destinations already exist;
123
+ - a selected pack or module changed after Review;
124
+ - the approver name or confirmation is missing;
125
+ - a write failed and the transaction rolled back.
126
+
127
+ Do not delete destination files just to make the transaction pass. Compare them with the proposed output and decide whether to retain, migrate, or supersede the existing project truth.
128
+
129
+ ## Drift after application
130
+
131
+ The project receipt and pipeline pin preserve the accepted pack ID, version, modules, digest, approver, and time. An upstream pack change does not automatically rewrite the project.
132
+
133
+ When drift is reported:
134
+
135
+ 1. retain the existing project files;
136
+ 2. locate the exact installed version and digest;
137
+ 3. review the newer pack and release notes;
138
+ 4. compare materialised standards and personas;
139
+ 5. decide whether to adopt, defer, or reject the change;
140
+ 6. record the new project decision.
141
+
142
+ ## Minimal diagnostic record
143
+
144
+ Capture:
145
+
146
+ - pack root and manifest path;
147
+ - pack ID, version, publisher, and compatibility;
148
+ - selected modules and dependencies;
149
+ - error text and failing layer;
150
+ - current and expected digest where available;
151
+ - destination conflicts;
152
+ - recovery decision and owner.
153
+
154
+ Do not include proprietary content or secrets in a public issue report.
155
+
156
+ ## Related guides
157
+
158
+ - [Designing Organisation Blueprint Packs](../designing-organisation-blueprint-packs.md)
159
+ - [Maintaining Organisation Blueprints](maintaining-organisation-blueprints.md)
160
+ - [Troubleshooting and recovery](../operations/troubleshooting-and-recovery.md)
161
+
162
+ ## Current contract sources
163
+
164
+ - `src/organisation-blueprints.mjs`
165
+ - `src/discovery.mjs`
166
+ - `config/pack.schema.json`
167
+ - `tests/organisation-blueprints.test.mjs`
168
+ - `tests/discovery.test.mjs`
@@ -0,0 +1,113 @@
1
+ # Operational CLI reference
2
+
3
+ For installation, personas, delivery and the full command-family map, use the [CLI and configuration reference](reference/cli-and-configuration.md). This page covers the detailed error-report and Team Hub commands.
4
+
5
+ This quick reference covers local error reports and the optional self-operated Team Hub. No paid service or vendor connector is required for either capability. Use `--json` for machine-readable output and `--project PATH` when not running at the project root.
6
+
7
+ ## Local lifecycle
8
+
9
+ ```bash
10
+ ewai error-report status [--status draft|finalised|archived] --project . --json
11
+ ewai error-report create \
12
+ --capability guided-discovery \
13
+ --error-code EWAI-DISCOVERY-INVALID \
14
+ --command "ewai discover" \
15
+ --installation-source npm \
16
+ --title "Discovery did not validate" \
17
+ --expected "A valid project brief" \
18
+ --actual "Validation stopped" \
19
+ --step "Run guided discovery" \
20
+ --project . --json
21
+ ewai error-report show REPORT --project . --json
22
+ ewai error-report update REPORT --title TEXT --expected TEXT --actual TEXT --step TEXT --project . --json
23
+ ewai error-report finalise REPORT --project . --json
24
+ ```
25
+
26
+ EWAI supplies its version, Node version and operating-system class itself. The create command accepts only bounded safe fields; it does not accept raw logs, environment dumps, source or arbitrary attachments.
27
+
28
+ ## Email handoff
29
+
30
+ ```bash
31
+ ewai error-report prepare-email REPORT \
32
+ --expected-digest sha256:... \
33
+ [--recipient support@example.com] \
34
+ [--launch] \
35
+ --project . --json
36
+ ```
37
+
38
+ `--launch` asks the operating system to reveal the ZIP and open the default email client. The returned state remains `prepared-not-sent`; attach the ZIP manually and send it yourself.
39
+
40
+ ## Provider handoff
41
+
42
+ ```bash
43
+ ewai error-report providers --project . --json
44
+ ewai error-report adapter-validate FOLDER --project . --json
45
+ ewai error-report adapter-register FOLDER --yes --project . --json
46
+ ewai error-report send REPORT --provider ID --expected-digest sha256:... --yes --project . --json
47
+ ewai error-report receipts REPORT --project . --json
48
+ ```
49
+
50
+ Adapters are generic trusted local code. Registration does not execute them. `send` requires the exact finalised digest and explicit confirmation. Accepted receipts prove transport only.
51
+
52
+ ## Settings and local retention
53
+
54
+ ```bash
55
+ ewai error-report settings --project . --json
56
+ ewai error-report settings --automatic-local-drafts true --project . --json
57
+ ewai error-report settings --support-email support@example.com --project . --json
58
+ ewai error-report archive REPORT --yes --project . --json
59
+ ewai error-report delete REPORT --yes --project . --json
60
+ ```
61
+
62
+ Automatic capture is local-only. Archive and delete affect local material only; they cannot recall email or provider data.
63
+
64
+ ## Team Hub contributor lifecycle
65
+
66
+ ```bash
67
+ ewai team status --project . --json
68
+ ewai team disclosure --project . --json
69
+ ewai team connect https://hub.example.org --project-id example --token-env EWAI_TEAM_HUB_TOKEN --acknowledge-disclosure --yes --project . --json
70
+ ewai team sync --yes --project . --json
71
+ ewai team resources --project . --json
72
+ ewai team resource inspect org.example.baseline 1.2.0 --project . --json
73
+ ewai team resource install org.example.baseline 1.2.0 --expected-digest sha256:<digest> --approved-by "Named owner" --yes --project . --json
74
+ ewai team resource receipts --project . --json
75
+ ewai team disconnect --yes --project . --json
76
+ ```
77
+
78
+ Connection stores no token value and sends nothing. `sync` is the explicit publication boundary.
79
+
80
+ ## Team Hub service lifecycle
81
+
82
+ ```bash
83
+ ewai team-hub start --data /srv/ewai-team-hub --token-env EWAI_TEAM_HUB_TOKEN --publisher-token-env EWAI_TEAM_HUB_PUBLISHER_TOKEN --json
84
+ ewai team-hub status --data /srv/ewai-team-hub --json
85
+ ewai team-hub stop --data /srv/ewai-team-hub --json
86
+ ewai team-hub resource publish ./organisation-blueprint --data /srv/ewai-team-hub --publisher-token-env EWAI_TEAM_HUB_PUBLISHER_TOKEN --yes --json
87
+ ```
88
+
89
+ A non-loopback bind also requires `--allow-network`. Shared deployment requires an organisation-managed TLS reverse proxy. The publisher credential is optional and must differ from the reader credential. See the [Team Hub guide](team-hub-guide.md) for disclosure, backup, recovery and authority boundaries, and the [Team Hub Resource Registry guide](team-hub-resource-registry-guide.md) for immutable resource publication and exact-digest installation.
90
+
91
+ ## Completed delivery evidence
92
+
93
+ Preview a narrow amendment when a completed phase references evidence that was legitimately regenerated or corrected:
94
+
95
+ ```bash
96
+ ewai delivery evidence-amendment <slug> --project . --json
97
+ ```
98
+
99
+ Apply only the exact previewed substitutions with named human authority:
100
+
101
+ ```bash
102
+ ewai delivery evidence-amendment <slug> --project . --yes \
103
+ --approved-by "Name or role" \
104
+ --reason "Reason for the correction" \
105
+ --expected-state-digest <preview-stateSha256> \
106
+ --json
107
+ ```
108
+
109
+ This does not reopen the phase or approve Manual QA. It refuses a directly edited completed gate ledger and writes an immutable receipt. See [Completed-phase evidence amendments](completed-phase-evidence-amendments.md).
110
+
111
+ ## Choose the correct evidence amendment
112
+
113
+ Use [Which amendment operation?](completed-phase-evidence-amendments.md#which-amendment-operation) to distinguish pre-Build `ratify-amendments` from `evidence-amendment` for stale nested evidence references. They aren't interchangeable, and neither supplies approval to implement or release.
@@ -0,0 +1,74 @@
1
+ # Completed-phase evidence amendments
2
+
3
+ EWAI treats a completed phase gate as durable delivery authority. If a referenced evidence file is legitimately corrected after phase completion, the delivery must not silently accept the new bytes and an operator must not edit the gate ledger by hand. The completed-phase evidence amendment command provides a narrow, reviewed recovery path.
4
+
5
+ This capability does not reopen the completed phase, repeat its Build approval, move the delivery, waive a gate, or approve Manual QA. It only replaces stale nested evidence hashes in an otherwise unchanged completed gate ledger, validates the resulting candidate with the normal deterministic phase checker, and records an immutable receipt.
6
+
7
+ ## Which amendment operation?
8
+
9
+ | Situation | Operation | What it changes |
10
+ | --- | --- | --- |
11
+ | Approved pre-Build evidence and its completed gate ledgers have been amended; you're at Build before authorising implementation | `delivery ratify-amendments` | Revalidates completed pre-Build gates and records their updated fingerprints. See [Build approval operations](developer-delivery-guide.md#preserve-the-build-approval-boundary). |
12
+ | A referenced evidence file was corrected after phase completion, but the completed gate ledger itself is unchanged | `delivery evidence-amendment` | Previews and replaces only stale nested evidence hashes, subject to the original checker. Follow the steps below. |
13
+
14
+ Neither operation can turn failed evidence into a pass, rewrite outcomes or supply Build approval. Inspect which operation failed and what changed before choosing a recovery route. If the condition doesn't match either row, stop and investigate.
15
+
16
+ ## When to use it
17
+
18
+ Use it only when all of these are true:
19
+
20
+ - the phase is already completed;
21
+ - the gate ledger itself is unchanged from the digest stored in `delivery-state.json`;
22
+ - one or more evidence files referenced by passing gate items were corrected or regenerated;
23
+ - the corrected evidence still passes the canonical deterministic gate contract; and
24
+ - a named person is prepared to ratify the exact previewed changes.
25
+
26
+ Do not use it to alter a gate result, conceal failed evidence, change an approval, reopen delivery work, or satisfy Manual QA. If the completed ledger itself changed, EWAI refuses the amendment and the delivery requires a different governed decision.
27
+
28
+ ## Preview first
29
+
30
+ ```sh
31
+ ewai delivery evidence-amendment <slug> --project . --json
32
+ ```
33
+
34
+ The preview is read-only. It returns:
35
+
36
+ - `deliveryStateSha256`: the digest of the current durable state file;
37
+ - `stateSha256`: an amendment revision digest binding the durable state and exact proposed hash substitutions;
38
+ - each affected phase and gate item;
39
+ - the previous and current evidence hashes; and
40
+ - no evidence bodies or absolute filesystem paths.
41
+
42
+ Review the named paths and hashes. If anything changes after preview, the apply operation will reject the stale digest.
43
+
44
+ ## Ratify the exact preview
45
+
46
+ ```sh
47
+ ewai delivery evidence-amendment <slug> \
48
+ --project . \
49
+ --yes \
50
+ --approved-by "Name or accountable role" \
51
+ --reason "Why the completed evidence was corrected" \
52
+ --expected-state-digest <stateSha256-from-preview> \
53
+ --json
54
+ ```
55
+
56
+ On success, EWAI:
57
+
58
+ 1. confirms the original completed gate ledger still matches durable state;
59
+ 2. rebuilds only the stale nested evidence hashes;
60
+ 3. runs the canonical deterministic phase validator against the candidate ledger;
61
+ 4. atomically updates the ledger, durable state, intent copies, and SQLite projection; and
62
+ 5. writes an immutable receipt under `SPECS/6.Build/<slug>/evidence-amendments/`.
63
+
64
+ The receipt is deterministic for the slug, preview digest, approver, and reason. Repeating the exact successful command returns the existing receipt rather than creating a second decision.
65
+
66
+ ## Failure and recovery behaviour
67
+
68
+ The amendment is all-or-nothing. If any write or projection update fails, EWAI restores the prior gate ledger, durable state, intent copies, operational projection, and receipt directory. Run the preview again after resolving the cause.
69
+
70
+ After a successful ratification, retry the originally blocked guarded operation. The next phase still starts only when every completed gate is fresh and the normal phase-order rules permit it.
71
+
72
+ ## For EWAI maintainers
73
+
74
+ The [maintainer verification notes](maintainers/verification-walkthroughs.md#completed-phase-evidence-amendments) cover CLI, concurrency and package tests. They aren't additional commands an operator must run to ratify corrected evidence.
@@ -0,0 +1,202 @@
1
+ # Review EWAI adoption across projects
2
+
3
+ Use **Governed Rollout** to see which projects use your organisation's agreed setup, which need reviewing and who should follow up. It compares the Organisation Blueprint each project has adopted with the version you've agreed for its group. A Blueprint is a bundle of reusable standards and guidance; a group of projects sharing an expected setup is called a **cohort** in the configuration.
4
+
5
+ The view also shows whether required evidence is present and current. It doesn't judge whether that evidence is good enough: the named reviewer still needs to read it. Relevant personas help that reviewer identify questions worth asking. The CLI and technical references call this capability the **Rollout Control Plane**.
6
+
7
+ It does not centralise client repositories, replace project governance, modify any child project, or issue an assurance verdict.
8
+
9
+
10
+ <!-- editorial: contents -->
11
+ ## On this page
12
+
13
+ - [Read presence separately from quality](#read-presence-separately-from-quality)
14
+ - [What it produces](#what-it-produces)
15
+ - [Prerequisites](#prerequisites)
16
+ - [Supported repository topologies](#supported-repository-topologies)
17
+ - [Define the policy](#define-the-policy)
18
+ - [Blueprint adoption is exact](#blueprint-adoption-is-exact)
19
+ - [Validate and review](#validate-and-review)
20
+ - [Evidence and interpretation](#evidence-and-interpretation)
21
+ - [Standard LLM and personas](#standard-llm-and-personas)
22
+ - [Isolation and redaction](#isolation-and-redaction)
23
+ - [Recovery](#recovery)
24
+ - [Human authority and mandatory notices](#human-authority-and-mandatory-notices)
25
+
26
+ ## Read presence separately from quality
27
+
28
+ Here, **structural evidence** means that a record is present, has the expected shape and refers to the expected project/version. It doesn't mean the plan is sound, the implementation is safe or the client accepted it. Open material evidence in the owning project and ask the accountable reviewer to judge it.
29
+
30
+ ## What it produces
31
+
32
+ `ewai rollout status` returns an `ewai.rollout-workspace/v1` snapshot containing:
33
+
34
+ - the rollout, Portfolio, cohorts, baselines, assignments, owners, and review dates;
35
+ - exact Blueprint adoption states: `aligned`, `review-required`, `not-adopted`, `unavailable`, `stale`, or `invalid`;
36
+ - structural state for required `blueprint`, `delivery`, `standards`, `manual-qa`, and `security` evidence;
37
+ - a selected-project assurance view that is structural-only and has no adequacy verdict;
38
+ - safe next-action routing to named owners;
39
+ - standard LLM review questions and the active personas, tiers, matched signals, and engagement reasons; and
40
+ - mandatory advisory and security notices.
41
+
42
+ The dashboard presents the same read-only ledger and focused project context. The CLI, HTTP API, MCP tool, and dashboard share one server-side projection rather than reimplementing rollout logic.
43
+
44
+ ## Prerequisites
45
+
46
+ Before configuring rollout:
47
+
48
+ 1. initialise the host as an EWAI project;
49
+ 2. configure repository topology in `SPECS/pipeline.yaml`;
50
+ 3. create a valid `SPECS/1.Scope/portfolio.yaml` whose project members have stable IDs and named owners; and
51
+ 4. ensure each readable child is itself an EWAI project if you expect Blueprint or delivery evidence from it.
52
+
53
+ The Rollout policy refers only to Portfolio project IDs. It does not repeat repository paths.
54
+
55
+ ## Supported repository topologies
56
+
57
+ Topology belongs to `pipeline.yaml` and Portfolio configuration, not `rollout.yaml`.
58
+
59
+ ### Single repository
60
+
61
+ The host repository can also be the only project. Configure the repository root as `.` and give its Portfolio project member a stable ID. Assign that ID to a rollout cohort.
62
+
63
+ ### Monorepo
64
+
65
+ Register safe subpaths such as `services/api` and `apps/web` in `SPECS/pipeline.yaml`. Portfolio project members select the configured repository and, when needed, a bounded project path. Rollout assignments still use only the member IDs.
66
+
67
+ ### Folder with repository subfolders
68
+
69
+ A host folder can coordinate Git repository subfolders such as `clients/alpha` and `clients/beta`. Register every allowed repository root in `SPECS/pipeline.yaml`, then map each Portfolio project to one of those names. The Rollout reader never discovers arbitrary sibling folders.
70
+
71
+ ### Several separately configured repositories
72
+
73
+ Where the host configuration already names several allowed repositories, Portfolio provides the safe project mapping and Rollout consumes that resolution. An unavailable repository is reported as `unavailable`; Rollout does not fetch, clone, authenticate, or repair it.
74
+
75
+ See [Project and Portfolio Orchestration](project-portfolio-orchestration-guide.md) for complete topology examples.
76
+
77
+ ## Define the policy
78
+
79
+ Create `SPECS/1.Scope/rollout.yaml` beneath the configured SPECS root:
80
+
81
+ ```yaml
82
+ schema: ewai.rollout/v1
83
+ id: client-delivery-rollout
84
+ name: Client delivery rollout
85
+ owner: Network Delivery Director
86
+ stale_after_days: 30
87
+ baselines:
88
+ - id: regulated-web-baseline
89
+ name: Regulated web baseline
90
+ owner: Architecture Council
91
+ pack:
92
+ id: org.example.regulated-web
93
+ version: 2.1.0
94
+ digest: sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
95
+ cohorts:
96
+ - id: autumn-adoption
97
+ name: Autumn adoption cohort
98
+ baseline: regulated-web-baseline
99
+ owner: Cohort Lead
100
+ review_by: 2026-10-31
101
+ required_evidence:
102
+ - blueprint
103
+ - delivery
104
+ - standards
105
+ - manual-qa
106
+ - security
107
+ projects:
108
+ - id: client-portal
109
+ owner: Client Portal Owner
110
+ review_owner: Assurance Lead
111
+ ```
112
+
113
+ The schema permits at most 25 baselines, 50 cohorts, and 100 unique project assignments. A project can belong to one cohort only. Every baseline, cohort, assignment, and review route needs a named owner.
114
+
115
+ ## Blueprint adoption is exact
116
+
117
+ The checker compares the exact Blueprint ID and version, plus the digest when the baseline declares one. It does not infer semantic-version precedence or compatibility:
118
+
119
+ - exact match: `aligned`;
120
+ - different ID, version, or required digest: `review-required`;
121
+ - no project-owned Blueprint pin: `not-adopted`.
122
+
123
+ A difference may be intentional, safe, unsafe, or mid-migration. Only the named review owner can decide that; the control plane identifies the decision rather than making it.
124
+
125
+ ## Validate and review
126
+
127
+ ```bash
128
+ ewai rollout validate --project . --json
129
+ ewai rollout status --project . --json
130
+ ewai rollout status --focus "projects with stale Manual QA evidence" --project . --json
131
+ ewai rollout assurance client-portal --project . --json
132
+ ```
133
+
134
+ - `validate` checks the policy and Portfolio membership without changing either.
135
+ - `status` returns the bounded whole-rollout workspace.
136
+ - `status --focus` reruns contextual persona selection for the stated concern.
137
+ - `assurance PROJECT_ID` returns the same safe workspace with a structural selected-project view.
138
+
139
+ The equivalent MCP operation is `ewai_rollout_status` with optional `focus` and `projectId`. The HTTP surfaces are `GET /api/rollout` and `GET /api/rollout/projects/:projectId/assurance`. None accepts a repository-root override or mutation.
140
+
141
+ Start or reuse the dashboard with:
142
+
143
+ ```bash
144
+ ewai dashboard --project .
145
+ ```
146
+
147
+ Enable **Governed Rollout** in **Configuration** and save, then open it to inspect cohort progress, choose a baseline or cohort, and focus a project. See [dashboard configuration](operations/dashboard-configuration.md). The UI identifies the active personas and displays both authority notices.
148
+
149
+ ## Evidence and interpretation
150
+
151
+ Keep these classes separate:
152
+
153
+ | Evidence class | Use |
154
+ | --- | --- |
155
+ | `declared-policy` | The governed baseline, cohort, assignment, evidence requirement, or owner. |
156
+ | `observed-project-evidence` | Allowlisted structural evidence read from a child project. |
157
+ | `automated-check` | Exact Blueprint comparison or deterministic freshness state. |
158
+ | `persona-hypothesis` | A concern or possible consequence raised by a persona lens. |
159
+ | `human-decision` | An actual named human decision within its recorded authority. |
160
+
161
+ The evidence checks are intentionally structural. Standards `present` means standards files were observed, not that they are adequate. Security evidence exposes configuration and run state, not findings or certification. Manual QA exposes the named-human gate state, not acceptance of a different release.
162
+
163
+ ## Standard LLM and personas
164
+
165
+ The standard host LLM can perform the complete bounded review. Installed project and core personas can sharpen the baseline analysis. Premium and personal personas are optional: when already installed and relevant, they can join the active ensemble.
166
+
167
+ Every focused review shows each active persona's name, tier, matched signals, and engagement reason. Change the focus or selected project and refresh the snapshot so EWAI can swap lenses in and out. A premium persona that is absent is never approximated or treated as a blocker, and this feature does not trigger premium installation or synchronisation.
168
+
169
+ Personas can identify questions and possible blind spots. They cannot impersonate a client, create stakeholder evidence, approve adoption, judge evidence adequacy, accept risk, or replace the named reviewer.
170
+
171
+ ## Isolation and redaction
172
+
173
+ The public projection exposes stable IDs and bounded structural facts. It excludes:
174
+
175
+ - absolute roots and unrestricted repository content;
176
+ - raw rollout, Blueprint, intent, persona, test, security, or approval documents;
177
+ - prompts, credentials, tokens, adapter entrypoints, and validator output;
178
+ - detailed security findings, dispositions, accepted risk, and release authority.
179
+
180
+ Unknown query parameters, unsafe focus values, unknown project IDs, symbolic policy files, excessive files, and topology escapes fail closed with stable errors and both notices.
181
+
182
+ ## Recovery
183
+
184
+ | State | What it means | Next action |
185
+ | --- | --- | --- |
186
+ | `not-configured` | No rollout policy exists. | Ask the rollout owner whether one should be created. |
187
+ | `invalid` | Policy, Portfolio, topology, or project evidence cannot be safely interpreted. | Fix the reported source contract; do not override the result. |
188
+ | `unavailable` | The configured child root or evidence cannot be read. | Route topology to the Portfolio owner and project access to the project owner. |
189
+ | `stale` | Delivery evidence is older than `stale_after_days`. | Ask the project owner to refresh project-owned evidence through its normal workflow. |
190
+ | `not-adopted` | No exact project Blueprint pin exists. | Ask the project owner and cohort owner whether adoption is intended. |
191
+ | `review-required` | The project pin differs from the exact baseline. | Route compatibility or migration judgement to the named review owner. |
192
+ | evidence `missing` or `not-configured` | A required class has no qualifying structural evidence. | Use its limitation and owner route; do not reinterpret absence as success. |
193
+
194
+ Rollout remains read-only during recovery. Make any approved correction in the canonical host or child project, then request a fresh snapshot.
195
+
196
+ ## Human authority and mandatory notices
197
+
198
+ The control plane does not approve Build or Manual QA, accept risk, certify security, decide Blueprint compatibility, dispatch work, alter project state, deploy, or release. Those decisions remain with the named accountable people in the relevant project and governance process.
199
+
200
+ > Rollout and persona analysis is advisory. Organisation Blueprint adoption, evidence adequacy, accepted risk, Manual QA, deployment and release decisions remain with named accountable humans.
201
+
202
+ > Security validation is evidence, not certification or proof that this system is secure. Tools can miss vulnerabilities and produce false positives. A qualified human must review the scope, findings, limitations and residual risk before release.