@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,325 @@
1
+ # Blast Radius and Impact Routing guide
2
+
3
+ Use Blast Radius before changing an existing capability when you need to understand which repository paths, people, standards, and review responsibilities may be affected.
4
+
5
+ The assessment is deliberately advisory. It combines bounded repository evidence with clearly labelled inference, then asks a named person to decide which reviews are appropriate. It does not approve Build, security, compliance, release, or Manual QA.
6
+
7
+
8
+ <!-- editorial: contents -->
9
+ ## On this page
10
+
11
+ - [What the assessment answers](#what-the-assessment-answers)
12
+ - [When to use it](#when-to-use-it)
13
+ - [Before you begin](#before-you-begin)
14
+ - [Step 1: check the repository map](#step-1-check-the-repository-map)
15
+ - [Step 2: describe the proposed change](#step-2-describe-the-proposed-change)
16
+ - [Step 3: provide files or symbols](#step-3-provide-files-or-symbols)
17
+ - [Step 4: analyse impact](#step-4-analyse-impact)
18
+ - [Understand coverage before deciding](#understand-coverage-before-deciding)
19
+ - [Override a recommendation responsibly](#override-a-recommendation-responsibly)
20
+ - [Record the assessment](#record-the-assessment)
21
+ - [Use the result downstream](#use-the-result-downstream)
22
+ - [Worked examples](#worked-examples)
23
+ - [Troubleshooting](#troubleshooting)
24
+ - [Assessment checklist](#assessment-checklist)
25
+ - [Related guides](#related-guides)
26
+ - [Current contract sources](#current-contract-sources)
27
+
28
+ ## What the assessment answers
29
+
30
+ Blast Radius helps answer four related questions:
31
+
32
+ 1. **What repository evidence is connected to the proposed change?**
33
+ 2. **What consequences might follow from that evidence?**
34
+ 3. **Which installed perspectives are useful for challenging the assessment?**
35
+ 4. **Which accountable people should review the change?**
36
+
37
+ It does not prove that every dependency has been found. Dynamic calls, runtime configuration, external systems, generated code, human processes, and undocumented relationships may sit outside the repository map.
38
+
39
+ ## When to use it
40
+
41
+ Run an assessment:
42
+
43
+ - while shaping an intent that changes existing behaviour;
44
+ - before Plan when the likely implementation area is known;
45
+ - when a proposed change touches permissions, data, public interfaces, operational behaviour, or a user journey;
46
+ - when new repository evidence materially changes an approved plan;
47
+ - before choosing Manual QA scenarios for a cross-cutting change;
48
+ - after refreshing a stale repository map;
49
+ - when a seemingly small refactor may have several consumers.
50
+
51
+ Repeat the assessment when the proposed behaviour, selected targets, repository index, or material implementation boundary changes. A previous assessment remains historical evidence; it is not an assurance statement about later code.
52
+
53
+ ## Before you begin
54
+
55
+ You need:
56
+
57
+ - an EWAI work item that can be selected in the project dashboard;
58
+ - a concrete description of the proposed behavioural change;
59
+ - at least one repository-relative path or symbol that represents the likely change boundary;
60
+ - a fresh repository map;
61
+ - a person willing to review the result and own the routing decisions.
62
+
63
+ Open the project dashboard, select the relevant work item, and open its **Impact** tab.
64
+
65
+ ## Step 1: check the repository map
66
+
67
+ The Impact workspace states whether the Repository Source Map is fresh and reports its explicit outcomes, analysis depths, profile provenance, and a bounded sample of files needing attention.
68
+
69
+ If the map is stale or unavailable, select **Refresh repository map**. Refresh is an explicit operation because indexing can be expensive. The proposed-change draft is preserved, but any previous preview is cleared because its evidence belonged to the older index run.
70
+
71
+ A fresh map means the assessment is based on the current indexed project state and effective profile catalogue. It does not mean that every file was deeply analysed or that every runtime dependency or business process is represented. Explicitly partial Power Platform or Salesforce metadata also keeps the assessment partial even when its document parsed successfully. Review the full [Repository Source Map guide](repository-source-map-guide.md) and [platform export analysis guide](platform-export-analysis-guide.md) when coverage is partial.
72
+
73
+ ## Step 2: describe the proposed change
74
+
75
+ Describe the behaviour and intent, not merely an implementation instruction.
76
+
77
+ Prefer:
78
+
79
+ > Allow delegated users to request access through the customer access form, with an auditable permission decision and clear failure guidance.
80
+
81
+ Avoid:
82
+
83
+ > Change `if` statement on line 42.
84
+
85
+ The summary helps EWAI classify possible user, interface, data, security, operational, maintainability, testing, documentation, and training consequences. The current limit is 2,000 characters.
86
+
87
+ State an explicitly internal change honestly. For example:
88
+
89
+ > Refactor the internal sorting helper without changing behaviour or public interfaces.
90
+
91
+ This helps prevent an internal refactor from being treated as a user-facing product change. It is still the assessor's responsibility to verify that the claimed boundary is true.
92
+
93
+ ## Step 3: provide files or symbols
94
+
95
+ The paths below illustrate the fictional customer-access application. Replace them with paths returned from your own repository search; they aren't files to create and don't refer to EWAI's implementation.
96
+
97
+ Enter one repository-relative path or symbol per line. Exact repository-relative paths are the clearest starting points:
98
+
99
+ ```text
100
+ src/permissions/access.ts
101
+ confirmImpactAssessment
102
+ public/app.js
103
+ ```
104
+
105
+ The current assessment accepts between one and twelve unique targets. Each target must be no longer than 240 characters. Absolute paths, URLs, traversal such as `../`, and paths beginning with `./` are rejected.
106
+
107
+ EWAI resolves targets in this order:
108
+
109
+ 1. exact file path;
110
+ 2. exact symbol name;
111
+ 3. a unique path suffix or partial symbol match.
112
+
113
+ An unresolved target remains visible as a coverage limitation. An ambiguous target lists bounded candidates. Prefer an exact path or a more specific symbol rather than choosing based on guesswork.
114
+
115
+ ## Step 4: analyse impact
116
+
117
+ Select **Analyse impact**. Preview is write-free: it does not create assessment evidence or change a delivery approval.
118
+
119
+ Read the result in three bands.
120
+
121
+ ### Observed: repository evidence
122
+
123
+ The observed band begins with the resolved targets and follows recognised imports in both directions:
124
+
125
+ - **downstream dependency** — the current path imports another indexed path;
126
+ - **upstream consumer** — another indexed path imports the current path;
127
+ - **seed** — a path resolved directly from the supplied target.
128
+
129
+ Traversal is intentionally bounded to two relationship steps and eighty nodes. Each result includes its direction, distance, relationship, and repository-relative path.
130
+
131
+ The graph is evidence about indexed source relationships. It is not a claim that every shown file must change, and absence from the graph is not proof that a file, service, person, or workflow is unaffected.
132
+
133
+ ### Inferred: possible consequences and active perspectives
134
+
135
+ EWAI classifies possible impact areas from the proposed-change summary and bounded repository evidence. These consequences are labelled **inferred**. Review them as hypotheses to confirm, correct, or reject.
136
+
137
+ Attached standards may also appear. Their presence means the standard may be applicable to the affected evidence; it does not establish compliance.
138
+
139
+ The active persona ensemble can include up to four relevant installed personas from:
140
+
141
+ - core EWAI personas;
142
+ - the installed premium library;
143
+ - reusable personal personas;
144
+ - local project personas, including approved organisation-specific personas.
145
+
146
+ For every active persona, the UI shows its name, tier, matched concerns, and engagement reason. Tier communicates provenance, not rank or authority. The assessment exposes safe persona metadata rather than proprietary persona definitions or filesystem paths.
147
+
148
+ Personas help identify missing questions, failure modes, and stakeholder consequences. They do not provide stakeholder evidence or make the routing decision. If no installed persona matches, involve the relevant real person rather than treating the empty ensemble as proof that no specialist review is needed.
149
+
150
+ ### Decided: human review routes
151
+
152
+ EWAI recommends one of `required`, `recommended`, or `not indicated` for each route:
153
+
154
+ | Route | What the reviewer contributes | What the route does not do |
155
+ | --- | --- | --- |
156
+ | Product Owner | Confirms user, outcome, public-interface, acceptance, documentation, or training consequences. | Approve Build. |
157
+ | Security or identity owner | Reviews security, identity, permissions, privacy, or data boundaries. | Certify security or compliance. |
158
+ | Service operator | Reviews runtime, support, recovery, logging, and operational consequences. | Approve release. |
159
+ | Maintainer | Reviews dependencies, tests, implementation quality, and a broad or truncated technical radius. | Replace product or assurance review. |
160
+ | User validation | Tests user-visible consequences with representative people. | Allow persona simulation to replace human evidence. |
161
+
162
+ Review every route. A recommendation is a prompt for accountable judgement, not an automatic workflow assignment.
163
+
164
+ ## Understand coverage before deciding
165
+
166
+ Coverage is reported as complete only within the configured bounds when:
167
+
168
+ - the Source Map contains no inventory-only, shallow, sensitive, oversized, or failed evidence;
169
+ - every supplied target resolved unambiguously;
170
+ - graph traversal did not reach the node limit.
171
+
172
+ Coverage is partial when any target is unresolved or ambiguous, any evidence is less than deep, an indexed file was deliberately unopened or failed analysis, or traversal was truncated. Treat a narrow result under partial coverage as uncertainty—not proof of low impact.
173
+
174
+ Before recording a decision, ask:
175
+
176
+ - Did we choose the correct change boundary?
177
+ - Are generated code, runtime wiring, external services, data migrations, or manual processes missing from the repository graph?
178
+ - Does the summary state the intended behavioural effect clearly?
179
+ - Do the inferred consequences match the evidence?
180
+ - Are the active perspectives relevant, and which real perspectives are missing?
181
+ - Is further archaeology or specialist review needed before planning?
182
+
183
+ ## Override a recommendation responsibly
184
+
185
+ You may change a route recommendation when project evidence supports a different decision. EWAI requires a rationale for every override.
186
+
187
+ A useful rationale names the evidence and the boundary:
188
+
189
+ > Product review is not indicated because this replaces an internal helper behind an unchanged public contract; existing contract and journey tests remain unchanged.
190
+
191
+ An inadequate rationale merely restates the selection:
192
+
193
+ > Not needed.
194
+
195
+ If the evidence is too weak to explain an override, retain the safer route or gather the missing evidence first.
196
+
197
+ ## Record the assessment
198
+
199
+ To record the result:
200
+
201
+ 1. review the observed evidence, coverage statement, inferred consequences, active personas, and every route;
202
+ 2. enter the name of the assessor;
203
+ 3. supply a rationale for each changed recommendation;
204
+ 4. acknowledge the evidence and coverage limits;
205
+ 5. select **Record assessment**.
206
+
207
+ EWAI recomputes the preview against the current repository map rather than trusting browser-supplied analysis. If the index changed after preview, the confirmation is rejected and the assessment must be run again.
208
+
209
+ A successful confirmation writes content-addressed JSON and Markdown under:
210
+
211
+ ```text
212
+ SPECS/6.Build/<intent-slug>/impacts/<assessment-id>.json
213
+ SPECS/6.Build/<intent-slug>/impacts/<assessment-id>.md
214
+ ```
215
+
216
+ The record includes the proposal, targets, repository run, coverage, observed paths, inferred areas, applicable standards, active personas, recommendations, human decisions, rationales, assessor, time, and authority boundary.
217
+
218
+ Evidence is immutable. Repeating the same decision returns the existing assessment; EWAI does not overwrite an incomplete, conflicting, or tampered record.
219
+
220
+ ## Use the result downstream
221
+
222
+ An impact assessment should inform—not silently mutate—later work:
223
+
224
+ - update intent journeys or acceptance criteria when a product consequence is confirmed;
225
+ - involve the selected accountable reviewers;
226
+ - add affected standards and constraints to planning evidence;
227
+ - create test obligations for important paths and failure modes;
228
+ - use confirmed user-visible consequences to choose Manual QA scenarios;
229
+ - add documentation, training, migration, support, or recovery work where required;
230
+ - repeat the assessment if implementation crosses the assessed boundary.
231
+
232
+ Do not treat an assessment ID as approval evidence for another gate. Build approval, specialist assurance, release authorisation, and Manual QA each retain their own owner and evidence.
233
+
234
+ ## Worked examples
235
+
236
+ ### Bounded internal refactor
237
+
238
+ **Proposal:** Refactor an internal helper without changing behaviour or public interfaces.
239
+
240
+ **Targets:** the helper path and its exported symbol.
241
+
242
+ Expected review focus:
243
+
244
+ - verify consumers and tests in the observed radius;
245
+ - engage a maintainer perspective;
246
+ - confirm that user and public contracts really are unchanged;
247
+ - avoid forcing Product Owner review when no product consequence is evidenced.
248
+
249
+ ### User-facing permission change
250
+
251
+ **Proposal:** Change which delegated users can submit an access request and how rejection is explained.
252
+
253
+ **Targets:** the form, permission service, and relevant endpoint or handler.
254
+
255
+ Expected review focus:
256
+
257
+ - Product Owner review of journey and acceptance consequences;
258
+ - security or identity review of the permission boundary;
259
+ - representative user validation;
260
+ - negative, cross-boundary, audit, recovery, and accessible-error scenarios;
261
+ - documentation or training changes where the user guidance changes.
262
+
263
+ ### Operational recovery change
264
+
265
+ **Proposal:** Change retry and logging behaviour when a background operation fails.
266
+
267
+ **Targets:** the worker, retry policy, and logging adapter.
268
+
269
+ Expected review focus:
270
+
271
+ - service-operator review of recovery, observability, and support impact;
272
+ - maintainer review of dependencies and regression coverage;
273
+ - data or security review if payloads or sensitive values could reach logs;
274
+ - a Manual QA or operational exercise that demonstrates recovery rather than only a passing unit test.
275
+
276
+ ## Troubleshooting
277
+
278
+ | Problem | What to do |
279
+ | --- | --- |
280
+ | Repository map is stale or unavailable | Refresh it explicitly, then analyse again. |
281
+ | Target is unresolved | Check spelling, use an indexed repository-relative path, or refresh after adding the file. |
282
+ | Target is ambiguous | Use an exact path or a more specific exported symbol. |
283
+ | Coverage is partial | Resolve what you can, inspect parser failures or truncation, and record remaining uncertainty. |
284
+ | An expected persona is absent | Check that the persona is installed and relevant to the supplied signals; involve the real stakeholder regardless. Do not download premium content implicitly. |
285
+ | A recommendation appears wrong | Improve the proposal and targets if the evidence is wrong; otherwise override with a specific evidence-based rationale. |
286
+ | The repository map changed before confirmation | Re-run the analysis against the new index run. |
287
+ | Existing evidence is incomplete or conflicting | Preserve it and investigate; the immutable writer will not overwrite it. |
288
+
289
+ For index or dashboard failures, use [Troubleshooting and recovery](operations/troubleshooting-and-recovery.md).
290
+
291
+ ## Assessment checklist
292
+
293
+ - [ ] The repository map is fresh.
294
+ - [ ] The proposal describes behaviour and intent.
295
+ - [ ] Targets are exact and cover the likely change boundary.
296
+ - [ ] Unresolved, ambiguous, failed, or truncated coverage is understood.
297
+ - [ ] Observed evidence is distinguished from inferred consequences.
298
+ - [ ] Active persona names, tiers, concerns, and reasons were reviewed.
299
+ - [ ] Missing real stakeholder perspectives were identified.
300
+ - [ ] Every review route has a deliberate decision.
301
+ - [ ] Every override has an evidence-based rationale.
302
+ - [ ] The named assessor reviewed and acknowledged the limits.
303
+ - [ ] The assessment record is used as input, not as another gate's approval.
304
+ - [ ] Material scope changes trigger a fresh assessment.
305
+
306
+ ## Related guides
307
+
308
+ - [Product Owner guide](product-owner-guide.md)
309
+ - [Developer delivery guide](developer-delivery-guide.md)
310
+ - [Repository Source Map](repository-source-map-guide.md)
311
+ - [Power Platform and Salesforce export analysis](platform-export-analysis-guide.md)
312
+ - [Persona engagement UI](personas/persona-engagement-ui.md)
313
+ - [Manual QA and acceptance](quality/manual-qa-and-acceptance.md)
314
+ - [Existing-project onboarding](existing-project-onboarding-guide.md)
315
+ - [Human approval and assurance](human-approval-and-assurance-guide.md)
316
+
317
+ ## Current contract sources
318
+
319
+ - `src/runtime/impact-analysis.mjs`
320
+ - `src/runtime/repository-index.mjs`
321
+ - `src/runtime/persona-engagement.mjs`
322
+ - `src/runtime/dashboard-server.mjs`
323
+ - `public/app.js`
324
+ - `tests/impact-analysis.test.mjs`
325
+ - `tests/runtime.test.mjs`
@@ -0,0 +1,146 @@
1
+ # Building an internal Blueprint catalogue
2
+
3
+ Use this guide to make reviewed Organisation Blueprint Packs discoverable across teams without confusing catalogue trust with project approval.
4
+
5
+ ## Current behaviour
6
+
7
+ EWAI discovers packs from supported local roots. An optional, organisation-operated [Team Hub resource registry](../team-hub-resource-registry-guide.md) can publish, inspect and install reusable resources by exact version and digest. It isn't a vendor-hosted marketplace, and installing a Blueprint doesn't approve it for a project.
8
+
9
+ The catalogue model below adds ownership, support and adoption guidance around those distribution routes.
10
+
11
+ ## Catalogue responsibilities
12
+
13
+ An internal catalogue should answer:
14
+
15
+ - What is this pack for?
16
+ - Who publishes and supports it?
17
+ - Which projects or risk contexts should use it?
18
+ - Which versions are supported?
19
+ - What changed in each release?
20
+ - What compatibility and dependencies apply?
21
+ - Where is the reviewed source?
22
+ - How is provenance verified?
23
+ - How does a project request help or an exception?
24
+
25
+ It should not imply that listing equals suitability or approval.
26
+
27
+ ## Keep catalogue metadata outside the manifest
28
+
29
+ The V1 organisation manifest is strict. Maintain catalogue-only information separately, for example:
30
+
31
+ | Catalogue field | Purpose |
32
+ | --- | --- |
33
+ | Display name and summary | Human discovery |
34
+ | Owner and support contact | Accountability |
35
+ | Status | Draft, pilot, supported, deprecated, or retired |
36
+ | Intended audience | Applicability guidance |
37
+ | Risk classification | Review depth expectation |
38
+ | Source repository and revision | Provenance |
39
+ | Supported versions | Maintenance promise |
40
+ | Release notes | Change interpretation |
41
+ | Adoption guidance | Required project action |
42
+ | Exception route | Governance handoff |
43
+ | Policy contribution summary | Required or optional module, publisher, version, provenance label, rule and role counts, outcomes, unmatched posture, and digest |
44
+
45
+ Do not add these as undeclared keys to `pack.yaml`.
46
+
47
+ ## Trust levels
48
+
49
+ Recommended catalogue states:
50
+
51
+ - **Draft:** author-owned and not for project use.
52
+ - **Pilot:** reviewed for bounded trial projects.
53
+ - **Supported:** approved for the declared audience with named maintenance ownership.
54
+ - **Deprecated:** still interpretable but no longer recommended for new adoption.
55
+ - **Retired:** distribution removed after retention and migration decisions.
56
+
57
+ State the evidence required to move between levels. Avoid labels such as “certified” unless the organisation has defined exactly what certification means.
58
+
59
+ ## Distribution model
60
+
61
+ Use an approved internal distribution route to place immutable pack versions into one of the supported local roots. The distribution process should verify:
62
+
63
+ - source repository and revision;
64
+ - expected publisher and pack identity;
65
+ - version immutability;
66
+ - content digest or release checksum;
67
+ - dependency availability;
68
+ - safe archive extraction and path boundaries;
69
+ - access controls for restricted content;
70
+ - audit record of who published and installed it.
71
+
72
+ EWAI's resolved digest is useful project evidence, but it is not itself a publisher signature. Use your normal software supply-chain controls for authenticity.
73
+
74
+ ## Help teams choose
75
+
76
+ Catalogue search and descriptions should lead with context rather than technology names alone:
77
+
78
+ - user and data sensitivity;
79
+ - external or internal exposure;
80
+ - regulatory and assurance needs;
81
+ - delivery type and operational criticality;
82
+ - supported technology or architecture patterns;
83
+ - required organisational policy.
84
+
85
+ Guided Setup should still show the exact local pack identity, version, modules, dependencies, digest, and consequences before approval.
86
+
87
+ ## Catalogue policy-bearing Blueprints without activating them
88
+
89
+ For a Blueprint that contributes Organisation Policy Design Gates, make the design impact visible before installation or selection. Catalogue metadata should identify:
90
+
91
+ - which required and optional modules contain policy contributions;
92
+ - publisher, version, source label, provenance kind, and immutable digest;
93
+ - policy, rule, control, and review-role counts;
94
+ - possible outcomes and the unmatched outcome;
95
+ - EWAI compatibility, support owner, and exception route;
96
+ - whether a newer policy version may require existing projects to re-review their baseline.
97
+
98
+ This metadata helps a team choose; it is not the policy source of truth and does not activate a baseline. Guided Setup must still resolve the installed content, show the exact effective digest and consequences, and obtain named project approval. If a project approves no policy contribution, its policy status remains `not-configured` and non-blocking.
99
+
100
+ Do not expose complete policy source documents, managed premium persona bodies, project-local personas, credentials, or confidential organisation detail in a general catalogue. Use access-controlled source and distribution routes where the contribution itself is restricted.
101
+
102
+ See [Organisation Policy Design Gates](../policies/organisation-policy-design-gates.md) for project status and workflow, and the [Governance Owner Guide](../policies/governance-owner-guide.md) for baseline and exception accountability.
103
+
104
+ > Organisation Policy Design Gates are design-time evidence only. They do not enforce production traffic, execute production code, certify compliance, approve Build or Manual QA, authorise release, or accept residual risk.
105
+
106
+ ## Prevent cross-project leakage
107
+
108
+ Keep reusable organisation knowledge separate from client- or project-specific facts. Before publishing, check that the pack contains no:
109
+
110
+ - client names or confidential requirements;
111
+ - credentials, endpoints, or internal secrets;
112
+ - project-specific user research presented as universal truth;
113
+ - copied managed persona content;
114
+ - machine-specific absolute paths;
115
+ - boilerplate that will be executed implicitly.
116
+
117
+ ## Catalogue review cadence
118
+
119
+ Review each supported entry when:
120
+
121
+ - EWAI compatibility changes;
122
+ - a dependency is upgraded or retired;
123
+ - a policy or standard changes;
124
+ - a security issue affects included guidance or references;
125
+ - user feedback reveals ambiguous applicability;
126
+ - the named owner changes;
127
+ - the normal review interval expires.
128
+
129
+ ## Catalogue checklist
130
+
131
+ - [ ] Pack source and publisher are verified.
132
+ - [ ] Catalogue metadata is separate from the strict manifest.
133
+ - [ ] Status and support promise are defined.
134
+ - [ ] Versioned releases are immutable and traceable.
135
+ - [ ] Distribution preserves local trust and path safety.
136
+ - [ ] Project choice still requires Review and named approval.
137
+ - [ ] Deprecation and exception routes are visible.
138
+ - [ ] No project or managed-library content leaked into the pack.
139
+
140
+ ## Related guides
141
+
142
+ - [Designing Organisation Blueprint Packs](../designing-organisation-blueprint-packs.md)
143
+ - [Maintaining Organisation Blueprints](maintaining-organisation-blueprints.md)
144
+ - [Organisation Policy Design Gates](../policies/organisation-policy-design-gates.md)
145
+ - [Governance Owner Guide to Policy Design Gates](../policies/governance-owner-guide.md)
146
+ - [Consultancy and multi-project rollout](../adoption/consultancy-and-multi-project-rollout.md)
@@ -0,0 +1,154 @@
1
+ # Maintaining Organisation Blueprints
2
+
3
+ Use this guide after an Organisation Blueprint Pack is in use by one or more projects.
4
+
5
+ ## The maintenance contract
6
+
7
+ A Blueprint is a versioned input to project decisions. Its owner may publish improvements, but each project retains its accepted materialised files, receipt, pin, and adoption authority.
8
+
9
+ Upstream maintenance must never silently rewrite project truth.
10
+
11
+ ## Assign ownership
12
+
13
+ Recommended practice is to name:
14
+
15
+ - a publisher owner accountable for the pack;
16
+ - subject-matter owners for each standard and persona template;
17
+ - a technical maintainer for schema, compatibility, dependencies, and tests;
18
+ - a governance approver for breaking or policy-significant changes;
19
+ - a communication owner for release notes and deprecation.
20
+
21
+ Record ownership in the catalogue or repository documentation. Do not add undeclared governance fields to the strict V1 manifest.
22
+
23
+ ## Version deliberately
24
+
25
+ Use semantic-versioning intent:
26
+
27
+ | Change | Suggested version effect |
28
+ | --- | --- |
29
+ | Clarification with no changed obligation | Patch |
30
+ | New optional module or backward-compatible guidance | Minor |
31
+ | Changed mandatory standard or policy outcome, removed module, renamed identity, or incompatible structure | Major |
32
+
33
+ The schema accepts a version string, but EWAI cannot decide the organisational significance of the change. The publisher owns that judgement.
34
+
35
+ ## Keep identity stable
36
+
37
+ Avoid changing the publisher-scoped pack ID. Consumers and dependency declarations use it as the stable identity. A rename should normally be treated as a new pack with an explicit migration and deprecation notice.
38
+
39
+ Keep module IDs stable as well. If a module's purpose changes materially, introduce a new module rather than preserving an ID that now means something different.
40
+
41
+ ## Review changes by consequence
42
+
43
+ For every release, compare:
44
+
45
+ - required and optional module membership;
46
+ - standard wording and obligation strength;
47
+ - persona mission, metadata, questions, and authority boundary;
48
+ - policy provenance, rule match conditions, outcomes, controls, review roles, exception posture, and unmatched outcome;
49
+ - boilerplate metadata and integrity value;
50
+ - required pack IDs and the installed dependency versions;
51
+ - EWAI compatibility;
52
+ - resolved digest for representative selections;
53
+ - generated project destinations and collision risk.
54
+
55
+ Review the resolved pack, not only the manifest diff. A dependency change can alter outcomes without a large root-manifest edit.
56
+
57
+ ## Maintain policy contributions as governed inputs
58
+
59
+ Treat Organisation Policy Design Gates as versioned design inputs, not as mutable organisation-wide switches. For every policy contribution change:
60
+
61
+ - retain an accountable policy owner and recognisable source provenance;
62
+ - validate the strict, closed rule vocabulary and data-only boundary;
63
+ - review changed rule precedence, outcomes, controls, review roles, exception permissions, and unmatched posture;
64
+ - publish a new immutable pack version and explain which project designs may be affected;
65
+ - test representative facts against both the previous and proposed policy versions;
66
+ - preserve the previous source long enough to interpret accepted project evidence.
67
+
68
+ Changing an upstream policy or Blueprint may mark an accepted project baseline stale, but it must never rewrite that baseline. Each project reopens the preview and a named person approves a new exact effective digest. A project with no approved contribution remains explicitly `not-configured` and non-blocking; maintenance does not create a hidden default.
69
+
70
+ Policy maintenance also does not install or update premium personas. Installed premium personas can deepen the questions asked during policy analysis, while core and project personas remain a complete baseline; neither persona type changes deterministic rule outcomes or human approval authority.
71
+
72
+ Use the [Policy Pack Authoring Guide](../policies/policy-pack-authoring-guide.md) to validate contribution structure and the [Governance Owner Guide](../policies/governance-owner-guide.md) to review baseline, review-role, and exception decisions.
73
+
74
+ > Organisation Policy Design Gates are design-time evidence only. They do not enforce production traffic, execute production code, certify compliance, approve Build or Manual QA, authorise release, or accept residual risk.
75
+
76
+ ## Test representative combinations
77
+
78
+ Maintain fixtures for:
79
+
80
+ - required modules only;
81
+ - each optional module individually;
82
+ - supported combinations of optional modules;
83
+ - dependency chains;
84
+ - the oldest and newest supported EWAI versions where practical;
85
+ - collision and unsafe-path rejection;
86
+ - total-size and recursion boundaries;
87
+ - expected materialised standards, personas, receipts, and pins.
88
+
89
+ Use a temporary project for approval-flow tests. Do not apply a maintenance candidate directly to a live project merely to see what happens.
90
+
91
+ ## Publish useful release notes
92
+
93
+ Include:
94
+
95
+ - pack ID and version;
96
+ - release date and owner;
97
+ - change classification;
98
+ - affected modules and dependencies;
99
+ - changed obligations or persona perspectives;
100
+ - expected digest changes;
101
+ - compatibility changes;
102
+ - required consumer action;
103
+ - migration and rollback guidance;
104
+ - deprecation dates.
105
+
106
+ The manifest remains strict, so keep this information in adjacent repository or catalogue records.
107
+
108
+ ## Deprecate safely
109
+
110
+ Recommended practice:
111
+
112
+ 1. stop recommending the deprecated version to new projects;
113
+ 2. publish the supported replacement and migration difference;
114
+ 3. retain the old source long enough to interpret existing receipts and pins;
115
+ 4. notify known project owners;
116
+ 5. allow projects to review and schedule adoption;
117
+ 6. record exceptions for projects that must remain pinned;
118
+ 7. remove distribution only after the retention decision is explicit.
119
+
120
+ Deprecation is not permission to delete project-owned materialised standards or personas.
121
+
122
+ ## Respond to a security or policy correction
123
+
124
+ For an urgent correction:
125
+
126
+ - publish a new immutable version;
127
+ - identify affected versions and modules;
128
+ - describe impact and required action without exposing exploit details unnecessarily;
129
+ - provide a bounded comparison and recovery route;
130
+ - notify project owners through the organisation's approved channel;
131
+ - require each affected project to record its adoption or risk decision;
132
+ - retain evidence of the response.
133
+
134
+ Do not overwrite a previously published version in place. Existing digests and approval evidence must remain interpretable.
135
+
136
+ ## Maintenance checklist
137
+
138
+ - [ ] Ownership and subject-matter review are current.
139
+ - [ ] Identity and module semantics remain stable.
140
+ - [ ] Version reflects consequence, not file count.
141
+ - [ ] Required and optional combinations were tested.
142
+ - [ ] Dependencies and compatibility were resolved.
143
+ - [ ] Release notes explain project action.
144
+ - [ ] Previous receipts and pins remain interpretable.
145
+ - [ ] No project is silently upgraded.
146
+
147
+ ## Related guides
148
+
149
+ - [Blueprint validation and troubleshooting](validation-and-troubleshooting.md)
150
+ - [Internal Blueprint catalogue](internal-blueprint-catalogue.md)
151
+ - [Policy Pack Authoring Guide](../policies/policy-pack-authoring-guide.md)
152
+ - [Governance Owner Guide to Policy Design Gates](../policies/governance-owner-guide.md)
153
+ - [Organisation rollout](../organisation-rollout-guide.md)
154
+ - [Human approval and assurance](../human-approval-and-assurance-guide.md)