@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,105 @@
1
+ ---
2
+ name: ewai-knowledge-proposals
3
+ description: Turn promoted meeting evidence or a canonical EWAI retrospective into provenance-bound proposals for project personas, domain knowledge, journeys, requirements, feature candidates, risks, policies, constraints, standards, decisions, patterns, anti-patterns, runbooks or SOPs. Use when a user wants to extract durable learning from governed evidence, including after a meeting, retrospective, delivery or incident, without letting model output write directly into canonical SPECS.
4
+ ---
5
+
6
+ # EWAI Knowledge Proposals
7
+
8
+ Turn governed evidence into reviewable project knowledge. The workflow is **sources → prepare → record → named review → separate named materialisation**. Preparation and personas are advisory; deterministic EWAI code owns validation, destinations, digests and writes.
9
+
10
+ Refined is a separate product and is out of scope. Do not add connectors, automatic downstream intents, provider-specific model clients or cross-project routing.
11
+
12
+ ## Check the source boundary
13
+
14
+ Run the internal control-plane command:
15
+
16
+ ```bash
17
+ ewai knowledge sources --project <path> --json
18
+ ```
19
+
20
+ Use only a returned source reference. V1 accepts promoted meeting evidence and canonical retrospectives. Never substitute an arbitrary file path, private runtime record, draft meeting review or unpromoted transcript.
21
+
22
+ If no eligible source exists, explain how to promote meeting evidence or complete a retrospective. Do not copy material into the evidence area to make it eligible.
23
+
24
+ ## Prepare the private host contract
25
+
26
+ ```bash
27
+ ewai knowledge prepare <source-ref> --project <path> --json
28
+ ```
29
+
30
+ Preparation writes nothing. It returns safe source facts, a digest, anchors, bounded `modelContext`, the strict proposal contract, authority notices and the active personas for this moment.
31
+
32
+ The standard host model with relevant project and core personas is a complete baseline. Premium and personal personas are optional enrichment only when already installed and contextually selected. Never imitate a missing premium persona, fetch managed content, or change entitlement state.
33
+
34
+ Before analysis, tell the user which active personas are engaged. Include each active persona's name, tier and engagement reason. Replace the ensemble when the source or focus changes rather than accumulating stale personas. Personas can challenge coverage and interpretation; they cannot establish truth, review their own proposals or approve materialisation.
35
+
36
+ ## Draft evidence-grounded proposals
37
+
38
+ Read [the proposal contract](references/proposal-contract.md) before drafting.
39
+
40
+ Separate observation from interpretation:
41
+
42
+ - **Observation:** what the source and cited anchor support.
43
+ - **Interpretation:** why that evidence may justify a particular kind of project knowledge.
44
+ - **Proposal:** the bounded Markdown candidate, destination, rationale and uncertainty offered for human review.
45
+
46
+ Use only kinds and destination roots returned by preparation. Cite the source reference and every evidence anchor in the proposal's `## Provenance` section. Keep uncertainty visible. Do not infer stakeholder acceptance, policy authority, legal meaning, security assurance or production readiness.
47
+
48
+ Construct only `ewai.knowledge-proposal-bundle/v1`. Raw model output is never stored. Do not persist chain-of-thought, prompts, discarded drafts, source bodies or persona bodies. Submit only the final schema-valid bundle:
49
+
50
+ ```bash
51
+ ewai knowledge record <source-ref> --input <project-relative-json> --project <path> --json
52
+ ```
53
+
54
+ Recording writes under `SPECS/3.Evidence/knowledge-proposals/` only. It does not create canonical destination knowledge.
55
+
56
+ ## Facilitate complete named review
57
+
58
+ Show each proposal with its kind, destination, evidence anchors, rationale, uncertainty and current destination state. Ask a named accountable person to choose exactly one disposition:
59
+
60
+ - `accepted`;
61
+ - `rejected`, with rationale;
62
+ - `deferred`, with rationale; or
63
+ - `amended`, with replacement title, complete replacement Markdown and rationale.
64
+
65
+ Record the complete review:
66
+
67
+ ```bash
68
+ ewai knowledge review <bundle-id> --input <project-relative-json> --reviewed-by <name> --project <path> --json
69
+ ```
70
+
71
+ Named review and separate named materialisation are distinct decisions. Never infer either name from a persona, meeting participant or repository author.
72
+
73
+ ## Materialise only after a separate request
74
+
75
+ First show the reviewed outcomes and explain the additive-only behavior: absent destinations are added, identical destinations are reported as current, and differing destinations are preserved as conflicts. There is no overwrite, model merge or deletion.
76
+
77
+ Only after the user separately and explicitly asks to proceed, record the named approval:
78
+
79
+ ```bash
80
+ ewai knowledge materialise <bundle-id> --project <path> --yes --approved-by <name> --json
81
+ ```
82
+
83
+ Report added, current and conflict counts separately. A conflict remains unresolved and must not be described as successfully merged. Materialisation does not create a delivery intent, approve Build, accept risk, satisfy Manual QA or authorise release.
84
+
85
+ If status reports `recovery-required`, explain what the transaction owns and ask before running:
86
+
87
+ ```bash
88
+ ewai knowledge recover <bundle-id> --project <path> --yes --json
89
+ ```
90
+
91
+ Recovery may remove only incomplete transaction-owned writes. It preserves changed and unrelated files. Inspect current state with `ewai knowledge status [<bundle-id>] --project <path> --json`.
92
+
93
+ ## Stop conditions
94
+
95
+ Stop and ask the user when:
96
+
97
+ - the source is not on the eligible list or its digest changed;
98
+ - an anchor does not support the proposed interpretation;
99
+ - the taxonomy or destination is uncertain;
100
+ - review is unnamed or incomplete;
101
+ - a proposal needs specialist, legal, security or stakeholder evidence not present in the source;
102
+ - materialisation has not been separately requested and named; or
103
+ - a destination is a conflict.
104
+
105
+ 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.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Knowledge Proposals"
3
+ short_description: "Turn governed evidence into reviewed SPECS proposals"
4
+ default_prompt: "Use $ewai-knowledge-proposals to prepare, review and materialise evidence-grounded project knowledge."
@@ -0,0 +1,59 @@
1
+ # Knowledge proposal contract
2
+
3
+ ## Bundle envelope
4
+
5
+ Submit one `ewai.knowledge-proposal-bundle/v1` object:
6
+
7
+ ```json
8
+ {
9
+ "schema": "ewai.knowledge-proposal-bundle/v1",
10
+ "sourceRef": "retrospective:sprint-24",
11
+ "sourceDigest": "64-lowercase-hex-characters",
12
+ "proposals": []
13
+ }
14
+ ```
15
+
16
+ Every proposal ID uses `KNP-###` with at least three digits. IDs and destinations are unique within the bundle. The source reference, digest and anchor IDs must exactly match preparation.
17
+
18
+ ## Proposal fields
19
+
20
+ Each proposal contains only `id`, `kind`, `title`, `destination`, `evidenceAnchors`, `rationale`, `uncertainty`, `relationships` and `proposedMarkdown`. Use one to 30 prepared anchors. Begin Markdown with one H1 and include `## Provenance` with the exact source reference and every anchor.
21
+
22
+ Do not include raw source excerpts, prompts, chain-of-thought, executable content, credentials, approval claims or extra fields.
23
+
24
+ ## Closed taxonomy and destination roots
25
+
26
+ | Kind | Destination root below the configured SPECS root |
27
+ | --- | --- |
28
+ | `project-persona` | `1.Scope/personas/project/` |
29
+ | `system` | `1.Scope/domain/systems/` |
30
+ | `process` | `1.Scope/domain/processes/` |
31
+ | `data-concept` | `1.Scope/domain/data/` |
32
+ | `journey` | `2.Purpose/journeys/` |
33
+ | `requirement` | `2.Purpose/requirements/pending/` |
34
+ | `feature-candidate` | `2.Purpose/explorations/feature-candidates/` |
35
+ | `risk` | `3.Evidence/risk/` |
36
+ | `policy` | `4.Constraints/compliance/policies/` |
37
+ | `constraint` | `4.Constraints/` |
38
+ | `standard` | `4.Constraints/standards/` |
39
+ | `decision` | `5.Strategy/decisions/` |
40
+ | `pattern` | `5.Strategy/patterns/` |
41
+ | `anti-pattern` | `5.Strategy/anti-patterns/` |
42
+ | `runbook` | `5.Strategy/runbooks/` |
43
+ | `sop` | `5.Strategy/sops/` |
44
+
45
+ The filename is safe lowercase kebab-case Markdown. A model cannot nominate `6.Build`, runtime state, an absolute path or another project.
46
+
47
+ ## Review contract
48
+
49
+ Every proposal receives exactly one `accepted`, `rejected`, `amended` or `deferred` disposition. Rejected and deferred decisions require rationale. Amended decisions require rationale, replacement title and complete replacement Markdown with source provenance.
50
+
51
+ Review is stored beside the immutable bundle below `SPECS/3.Evidence/knowledge-proposals/<bundle-id>/`. It does not write the proposed destination.
52
+
53
+ ## Materialisation states
54
+
55
+ - `additive`: destination is absent and may be created after separate named approval.
56
+ - `already-current`: destination is byte-identical and no write is needed.
57
+ - `conflict`: destination differs, is a symlink or is not a regular file; preserve it unchanged.
58
+
59
+ Materialisation revalidates `sourceDigest`, bundle digest and review digest. The immutable ledger is persisted before `ewai.knowledge-proposals.materialised` is published. Lifecycle handlers receive identifiers, digests, counts and timestamps only and cannot alter canonical truth.
@@ -0,0 +1,106 @@
1
+ ---
2
+ name: ewai-meeting-evidence
3
+ description: Register a local meeting transcript or minutes file, prepare a privacy-aware extraction contract with contextually selected personas, create source-anchored evidence candidates, record complete named review, and promote accepted evidence only. Use when a user asks EWAI to learn from meeting minutes, VTT or SRT captions, plain-text transcripts, call notes, or a supplied transcript while preserving provenance and human authority.
4
+ ---
5
+
6
+ # EWAI Meeting Evidence
7
+
8
+ Turn a registered meeting source into concise, reviewed project evidence. Read [the candidate contract](references/candidate-contract.md) before inspecting an allowed source or constructing a bundle.
9
+
10
+ This skill does not transcribe recordings, connect to meeting platforms, copy raw material into SPECS, or author downstream project truth automatically. Refined is a separate product and is explicitly out of scope.
11
+
12
+ ## Register with explicit permission
13
+
14
+ Establish the file, label, classification and cloud-processing policy. Confirm that the user is authorised to process the material and has considered privileged, HR, credential, unrelated-client and personal content.
15
+
16
+ Register only after explicit confirmation:
17
+
18
+ ```bash
19
+ ewai meeting register <file> \
20
+ --project . \
21
+ --label "Product sync" \
22
+ --classification internal \
23
+ --cloud-processing allowed \
24
+ --yes \
25
+ --json
26
+ ```
27
+
28
+ Supported sources are Markdown, text, VTT and SRT files within the deterministic size and line limits. Registration stores the absolute path only in the gitignored private runtime record. Never reproduce that path, participant details or raw source text in public responses.
29
+
30
+ If cloud processing is denied or unknown, do not open, inspect or read the source in a hosted session. Run preparation to report the `manual-local-handoff` route, then stop source inspection and help the user choose an approved local process. Do not weaken the policy.
31
+
32
+ ## Prepare before extraction
33
+
34
+ Run:
35
+
36
+ ```bash
37
+ ewai meeting prepare <source-id> --project . --json
38
+ ```
39
+
40
+ Preparation verifies freshness and returns safe source facts, the processing decision, the exact candidate contract and the active persona ensemble. It does not invoke a model.
41
+
42
+ The standard host model with project and core personas is the complete baseline. Premium personas participate only when installed and contextually relevant; installed personal personas can also add optional specialist depth. Never sync, download, update, imitate or expose a premium persona as part of this skill.
43
+
44
+ Before semantic work, show every active persona name, tier, matched signal and engagement reason. Use only the returned ensemble. When the source or focus changes, prepare again and swap the ensemble; do not accumulate stale personas. Personas advise interpretation and coverage. They do not provide source evidence, stakeholder consent, review, approval or release authority.
45
+
46
+ ## Extract candidates in bounded passes
47
+
48
+ Use the source only when `processing.permitted` is true. Work linearly or in bounded line ranges so anchors remain stable. Apply different returned persona lenses to relevant passes, keeping their concerns distinct.
49
+
50
+ For every candidate:
51
+
52
+ 1. Assign a stable `MEC-###` ID and an allowed type.
53
+ 2. Put only a concise source-grounded paraphrase in `observedStatement`.
54
+ 3. Put analysis, consequence or uncertainty in `interpretation`.
55
+ 4. Cite one or more exact `lineAnchors` within the registered line count.
56
+ 5. Use only `low`, `medium` or `high` confidence.
57
+
58
+ Do not include transcript excerpts, prompts, private paths, participant identifiers or raw model output. Do not infer consensus, authority or implementation merely because a topic was discussed.
59
+
60
+ ## Obtain complete named review
61
+
62
+ Present manageable candidate groups to an accountable person. They must mark every candidate exactly once as `accepted`, `rejected`, `amended` or `deferred`. An amendment requires replacement text and a rationale.
63
+
64
+ Create a project-relative JSON review input following the reference contract, then record it:
65
+
66
+ ```bash
67
+ ewai meeting review <source-id> \
68
+ --input <project-relative-review.json> \
69
+ --reviewed-by "Named reviewer" \
70
+ --project . \
71
+ --json
72
+ ```
73
+
74
+ A named review is durable but remains private runtime state until separately promoted. Never manufacture a reviewer name or treat persona agreement as review.
75
+
76
+ ## Promote evidence separately
77
+
78
+ Inspect current status first:
79
+
80
+ ```bash
81
+ ewai meeting status <source-id> --project . --json
82
+ ```
83
+
84
+ After the person confirms the reviewed bundle and understands the authority boundary, promote accepted and amended candidates only:
85
+
86
+ ```bash
87
+ ewai meeting promote <source-id> \
88
+ --project . \
89
+ --yes \
90
+ --approved-by "Named approver" \
91
+ --json
92
+ ```
93
+
94
+ Promotion is evidence-only. It writes the paired `evidence.json` and `evidence.md` under the configured SPECS root at `3.Evidence/meeting-evidence/<source-id>/`. It does not create or change an intent, task, requirement, process, policy, persona, architecture decision, approval, accepted risk, Build state, Manual QA, deployment or release.
95
+
96
+ ## Recover and stop safely
97
+
98
+ - If source freshness is not `current`, stop and register or review the current source.
99
+ - If cloud processing is denied or unknown, use the manual local route and do not inspect content.
100
+ - If bundle validation fails, fix the candidate file; do not bypass the schema.
101
+ - If review is incomplete or conflicting, return it to the named reviewer.
102
+ - If promotion finds drift, an incomplete pair or conflicting evidence, preserve the records and investigate.
103
+ - An identical promotion retry is idempotent; do not edit promoted files to force a different result.
104
+ - If evidence suggests downstream work, create or enrich an intent only through the normal separately approved workflow.
105
+
106
+ 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.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Meeting Evidence"
3
+ short_description: "Extract and review meeting evidence safely"
4
+ default_prompt: "Use $ewai-meeting-evidence to extract, review and promote source-grounded meeting evidence."
@@ -0,0 +1,64 @@
1
+ # Meeting evidence candidate contract
2
+
3
+ Use the exact `candidateContract` returned by `ewai meeting prepare`. The current public bundle schema is `ewai.meeting-candidate-bundle/v1`.
4
+
5
+ ## Candidate bundle
6
+
7
+ ```json
8
+ {
9
+ "schema": "ewai.meeting-candidate-bundle/v1",
10
+ "sourceId": "meeting.product-sync.0123456789ab",
11
+ "sourceDigest": "64-character source digest",
12
+ "candidates": [
13
+ {
14
+ "id": "MEC-001",
15
+ "type": "decision",
16
+ "observedStatement": "A named owner will review the release evidence.",
17
+ "interpretation": "Release remains a human decision rather than an automated consequence.",
18
+ "lineAnchors": [{ "start": 42, "end": 47 }],
19
+ "confidence": "high"
20
+ }
21
+ ]
22
+ }
23
+ ```
24
+
25
+ Allowed candidate types are `task`, `decision`, `process`, `risk`, `system`, `policy`, `requirement`, `assumption` and `open-question`. IDs use `MEC-###` with three or more digits. Anchors are inclusive, one-based line ranges inside the registered source line count.
26
+
27
+ The fields are deliberately separate:
28
+
29
+ - `observedStatement` is a concise paraphrase of what the source supports.
30
+ - `interpretation` is analysis of what the observation may mean.
31
+ - `confidence` communicates extraction certainty, not approval or truth.
32
+
33
+ Raw source excerpts are not allowed. Raw model output, prompts, source paths, participant identifiers, credentials and unbounded summaries are not allowed. Unknown fields fail validation.
34
+
35
+ ## Named review input
36
+
37
+ The CLI review file wraps the bundle and one complete disposition list:
38
+
39
+ ```json
40
+ {
41
+ "bundle": {
42
+ "schema": "ewai.meeting-candidate-bundle/v1",
43
+ "sourceId": "meeting.product-sync.0123456789ab",
44
+ "sourceDigest": "64-character source digest",
45
+ "candidates": []
46
+ },
47
+ "dispositions": [
48
+ {
49
+ "candidateId": "MEC-001",
50
+ "decision": "amended",
51
+ "replacementText": "A product owner will review the release evidence.",
52
+ "rationale": "The original wording did not name the accountable role."
53
+ }
54
+ ]
55
+ }
56
+ ```
57
+
58
+ Every candidate appears exactly once. Decisions are `accepted`, `rejected`, `amended` or `deferred`. `amended` requires both `replacementText` and `rationale`; replacement text is forbidden for the other decisions. Rejected and deferred candidates remain in review history but are not promoted.
59
+
60
+ ## Freshness and authority
61
+
62
+ The source digest binds extraction, review and promotion. Any source or review drift fails closed. Promotion requires a separate exact confirmation and named approver. It creates reviewed meeting evidence only and does not author downstream project records or grant delivery authority.
63
+
64
+ 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.
@@ -0,0 +1,62 @@
1
+ ---
2
+ name: ewai-organisation-policy
3
+ description: Author, adopt, inspect and operate optional Organisation Policy Design Gates in an EWAI project. Use when creating data-only policy contributions in Organisation Blueprint Packs; selecting and approving a project policy baseline; proposing and confirming intent design facts; evaluating a design; tracing controls into Plan evidence; recording a named review or bounded exception; or recovering from policy, fact or evaluation drift.
4
+ ---
5
+
6
+ # EWAI Organisation Policy
7
+
8
+ Keep policy work at design time. Use the shared EWAI domain and adapter operations; never invent a second evaluator in a skill, prompt, UI, hook, or connector.
9
+
10
+ Resolve the project and configured SPECS root from `.ewai-pipeline/project.json`. Read [the policy contract](references/policy-contract.md) before authoring, adopting, confirming, evaluating, reviewing, or excepting policy evidence.
11
+
12
+ 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.
13
+
14
+ ## Choose the operation
15
+
16
+ - **Author:** create or revise a strict data-only policy contribution in an Organisation Blueprint Pack.
17
+ - **Adopt:** preview a resolved policy baseline and ask a named person to approve its exact digest through Guided Setup.
18
+ - **Apply:** propose attributed facts, obtain complete named-human confirmation, then run the deterministic evaluator.
19
+ - **Resolve:** route `review-required` to the named role or use a bounded exception only when the matched rule explicitly permits it.
20
+ - **Recover:** re-evaluate after policy, intent, fact, Claim Ledger, task, test, or control-evidence drift.
21
+
22
+ If no policy baseline is configured, report `not-configured` as explicitly non-blocking and stop policy work. Do not create a hidden default.
23
+
24
+ ## Engage personas without delegating authority
25
+
26
+ Use standard model reasoning plus installed core and project personas as the complete baseline. Swap in relevant installed personal and premium personas when the policy stage, design dimensions, or uncertainty changes.
27
+
28
+ Show every active persona's name, tier, matched signal, and engagement reason. Treat its output as a hypothesis or challenge. A named human must confirm every design fact and make every review or exception decision.
29
+
30
+ Premium personas are optional enrichment and may participate only when reported as installed. Never sync, download, update, imitate, or expose premium persona bodies while using this skill.
31
+
32
+ ## Author and adopt
33
+
34
+ 1. Identify the accountable policy owner, provenance, sources, review roles, unmatched outcome, and closed conditions.
35
+ 2. Use only the closed condition dimensions and outcomes in the contract. Keep the pack inert: no scripts, commands, prompts, templates, expressions, remote sources, credentials, hooks, or endpoints.
36
+ 3. Give every control an explicit evidence route: Claim Ledger claim, task, automated test, named human, or specialist review.
37
+ 4. Add the policy contribution to the appropriate Blueprint module and validate the complete pack.
38
+ 5. Use Guided Setup to select the Blueprint and inspect its policy preview.
39
+ 6. Ask a named person to approve the exact effective digest. Upstream changes create drift; they never rewrite the accepted project baseline.
40
+
41
+ ## Apply to an intent
42
+
43
+ 1. Read the current intent, Impact evidence, accepted architecture, data and hosting decisions, and configured policy baseline.
44
+ 2. Prepare attributed candidate facts through the canonical `preparePolicyFacts` domain operation. Distinguish observed evidence, model proposals, and persona hypotheses.
45
+ 3. Present all candidates and active personas. Require one named person to confirm or reject every proposed fact.
46
+ 4. Record the complete confirmation with `ewai_policy_confirm_facts` or `ewai policy confirm-facts --input <project-relative.json>`.
47
+ 5. Evaluate the exact current intent revision, policy digest, and facts digest with `ewai_policy_evaluate` or `ewai policy evaluate --input <project-relative.json>`.
48
+ 6. Inspect the business and technical views with `ewai_policy_status` or `ewai policy status <domain/slug> --mode business|technical`.
49
+
50
+ The evaluator is deterministic. Personas may discover missing facts and challenge consequences; they never choose the outcome.
51
+
52
+ ## Resolve reviews, exceptions, and controls
53
+
54
+ - For `review-required`, ask the exact required role for a named decision, rationale, evidence, and any controls. Record it against the current evaluation digest.
55
+ - For `deny`, do not soften the result. An exception is possible only when that exact matched rule permits one.
56
+ - For an exception, require a named approver, accountable owner, exact bounded scope, rationale, compensating controls, evidence, and future expiry.
57
+ - During Plan, trace every policy control to the allowed Claim Ledger, task, automated-test, named-human, or specialist-review evidence route.
58
+ - Re-run the gate after relevant evidence changes. Never copy a previous pass forward.
59
+
60
+ ## Stop conditions
61
+
62
+ Stop and escalate when a policy source is ambiguous, executable, remote, or untrusted; the baseline or facts are stale; confirmation is incomplete; the required reviewer is absent; an exception is prohibited or unbounded; control evidence is missing; a model is being asked to make a human decision; or anyone asks EWAI to enforce production behaviour, certify compliance, approve Build or Manual QA, deploy, release, or accept risk.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "EWAI Organisation Policy"
3
+ short_description: "Design and review organisation policy gates"
4
+ default_prompt: "Use $ewai-organisation-policy to author or apply an optional organisation policy design gate."
@@ -0,0 +1,94 @@
1
+ # Organisation Policy Design Gate contract
2
+
3
+ ## Permanent authority boundary
4
+
5
+ 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.
6
+
7
+ ## Policy pack
8
+
9
+ An organisation contribution uses `ewai.organisation-policy/v1`. It is strict, data-only, versioned, publisher-bound, provenance-bearing, and limited to this closed condition vocabulary:
10
+
11
+ - `resource`
12
+ - `operation`
13
+ - `data_entity`
14
+ - `data_classification`
15
+ - `actor`
16
+ - `environment`
17
+ - `destination`
18
+ - `model`
19
+ - `ai_use`
20
+ - `retention`
21
+
22
+ Outcomes are `allow`, `deny`, `review-required`, `allow-with-controls`, and `unassessed`. Restrictive unresolved outcomes govern. `not-configured` is a workspace state, not a policy outcome, and is non-blocking.
23
+
24
+ Policy objects cannot contain script, command, prompt, template, expression, executable, secret, credential, token, remote, URL, endpoint, handler, or hook fields. Values are bounded identifiers rather than executable expressions.
25
+
26
+ Every control declares one or more evidence routes: `claim`, `task`, `automated-test`, `named-human`, or `specialist-review`. A review-required rule names a configured review role. A permitted exception names its review role; prohibited exceptions cannot name one.
27
+
28
+ ## Baseline and drift
29
+
30
+ Organisation Blueprint resolution produces exact pack, contribution, Blueprint, policy, and effective digests. Guided Setup previews the result and materialises `SPECS/4.Constraints/organisation-policy/baseline.json` only after named approval of the exact digest.
31
+
32
+ No contribution means `not-configured`, `enabled: false`, and `blocking: false`. A changed source pack makes the accepted baseline stale; it never silently changes the project record.
33
+
34
+ ## Facts and evaluation
35
+
36
+ Candidate facts use the same closed dimensions and preserve one of three provenance types:
37
+
38
+ - `observed`
39
+ - `model-proposal`
40
+ - `persona-hypothesis`, with safe persona ID, name, and tier
41
+
42
+ The `preparePolicyFacts` domain operation creates the current digest-bound proposal. Confirmation requires `authority: human`, a named confirmer, the exact proposal revision and digest, and one disposition for every fact.
43
+
44
+ Evaluation requires the current intent revision, effective policy digest, and confirmed-facts digest. It records every matched rule and the governing outcome. Reviews and exceptions are immutable decisions bound to that evaluation digest. Any relevant revision change makes them stale.
45
+
46
+ ## Interfaces
47
+
48
+ CLI reads:
49
+
50
+ ```text
51
+ ewai policy status [INTENT] --mode business|technical --project . --json
52
+ ```
53
+
54
+ CLI writes accept a project-relative JSON file:
55
+
56
+ ```text
57
+ ewai policy confirm-facts --input FILE --project . --json
58
+ ewai policy evaluate --input FILE --project . --json
59
+ ewai policy review --input FILE --project . --json
60
+ ewai policy exception --input FILE --project . --json
61
+ ```
62
+
63
+ MCP tools:
64
+
65
+ - `ewai_policy_status`
66
+ - `ewai_policy_confirm_facts`
67
+ - `ewai_policy_evaluate`
68
+ - `ewai_policy_record_review`
69
+ - `ewai_policy_record_exception`
70
+
71
+ Loopback HTTP routes:
72
+
73
+ - `GET /api/policies?intent=<domain/slug>&mode=business|technical`
74
+ - `POST /api/policies/facts/confirm`
75
+ - `POST /api/policies/evaluate`
76
+ - `POST /api/policies/reviews`
77
+ - `POST /api/policies/exceptions`
78
+
79
+ The dashboard **Policy gates** view consumes the same workspace. Business and technical views share one result and reference. It exposes active persona tier and engagement reason while retaining named-human authority.
80
+
81
+ Requests never supply a project root, organisation root, policy root, or production target. Adapters call the shared service and never derive rules or outcomes.
82
+
83
+ ## Delivery integration
84
+
85
+ When enabled, current passing policy evidence is conditional for Intent and Plan gates. Plan controls must resolve transitively to exact Claim Ledger, task, test, named-human, or specialist-review evidence. Relevant Impact dimensions are actors, AI use, data, destinations, hosting, and integrations. Changes invalidate affected evidence; unrelated summary churn does not.
86
+
87
+ Lifecycle events are emitted only after exact durable records exist:
88
+
89
+ - `ewai.policy.facts.confirmed`
90
+ - `ewai.policy.evaluation.recorded`
91
+ - `ewai.policy.review.recorded`
92
+ - `ewai.policy.exception.recorded`
93
+
94
+ Events include only status, intent reference, evidence digest, and optional rule ID. Hooks observe a completed EWAI mutation; they cannot veto it, change EWAI state, or invoke production systems on EWAI's behalf.
@@ -0,0 +1,55 @@
1
+ ---
2
+ name: ewai-palace-housekeeping
3
+ description: Inspect and maintain an EWAI project's SPECS Mind Palace using deterministic tidiness findings, the SPECS Knowledge Curator persona, and human-reviewed changes. Use when the user asks to tidy, clean, organise, validate, deduplicate, reconnect, or review project knowledge; when `ewai palace tidiness` recommends housekeeping; after Archaeology, Context Import, a large Retro, or substantial SPECS changes; or when knowledge appears stale, conflicting, unsupported, misplaced, duplicated, orphaned, or linked to files that no longer exist.
4
+ ---
5
+
6
+ # EWAI Palace Housekeeping
7
+
8
+ Keep the project Mind Palace trustworthy without treating AI interpretation as project truth. Deterministic checks identify possible disorder; the SPECS Knowledge Curator and project owner decide what it means and what should change.
9
+
10
+ ## Inspect before interpreting
11
+
12
+ 1. Run `ewai palace tidiness --project <root> --json`.
13
+ 2. If the result is `tidy`, report the no-op clearly and stop. Do not manufacture improvements.
14
+ 3. Read every flagged source document before proposing a change. A filename or link graph is evidence of structure, not evidence that the content is wrong.
15
+ 4. Use `ewai palace search <query> --project <root> --json` to find related decisions, intents, personas, standards, risks, runbooks, evidence, and code references.
16
+ 5. Apply the `ewai.core.specs-knowledge-curator` perspective when routing accepted knowledge.
17
+
18
+ Treat tidiness codes as prompts for review:
19
+
20
+ - `broken-internal-link`: verify whether the target moved, was intentionally removed, or was never created.
21
+ - `duplicate-content`: determine the canonical record; similar files can legitimately represent different scopes.
22
+ - `orphaned-document`: decide whether to add meaningful links, refile it, archive it, or leave it intentionally independent.
23
+ - `missing-title` or `empty-document`: distinguish incomplete knowledge from an intentional placeholder or machine-readable artefact.
24
+
25
+ ## Review with the user
26
+
27
+ Offer these routes in plain language:
28
+
29
+ 1. A short walkthrough grouped by the decisions one answer can resolve.
30
+ 2. A document-by-document review.
31
+ 3. A proposed housekeeping plan without changing anything.
32
+ 4. Apply only the low-risk corrections the user explicitly approves.
33
+
34
+ Synthesize cross-document questions so one answer can resolve several genuinely shared findings. List every affected file before asking. Split the question when one answer would conceal meaningful differences.
35
+
36
+ ## Apply approved housekeeping
37
+
38
+ - Never delete, merge, archive, refile, supersede, or rewrite canonical SPECS without explicit approval.
39
+ - Preserve provenance and history. Prefer superseding links over erasure.
40
+ - Do not promote an inference into a decision, constraint, standard, requirement, persona, risk, or accepted fact.
41
+ - Refuse to overwrite different canonical knowledge silently.
42
+ - Keep raw archaeology and context-import evidence in its evidence bundle when accepted knowledge is curated elsewhere.
43
+ - Update affected indexes and reciprocal links when a record moves or changes status.
44
+ - Do not commit changes unless the user asks.
45
+
46
+ After approved changes:
47
+
48
+ 1. Run `ewai palace refresh --project <root>`.
49
+ 2. Run `ewai palace tidiness --project <root> --json` again.
50
+ 3. Explain what improved and what remains deliberately unresolved.
51
+ 4. Record material housekeeping under `SPECS/3.Evidence/palace-housekeeping/<date>-<subject>.md`, including the before/after findings, approvals, changed records, deferred items, and provenance. Do not create a report for a no-op unless the user requests one.
52
+
53
+ ## Completion contract
54
+
55
+ Housekeeping is complete only when approved changes are applied, the derived index is refreshed, tidiness is rerun, unresolved findings remain visible, and no canonical meaning was changed without owner approval.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "EWAI Palace Housekeeping"
3
+ short_description: "Review and tidy project knowledge safely"
4
+ default_prompt: "Use $ewai-palace-housekeeping to inspect my project Mind Palace and walk me through any proposed housekeeping."
@@ -0,0 +1,60 @@
1
+ ---
2
+ name: ewai-persona-entitlement
3
+ description: Configure website-purchased EWAI persona licences, inspect entitlement and verified local pack state, explain annual individual/team expiry, and explicitly install or update premium personas.
4
+ ---
5
+
6
+ # EWAI Persona Entitlement
7
+
8
+ Premium personas are optional advisory lenses, not approval authority. Keep remote access, local installation, verification and active persona selection separate.
9
+
10
+ ## Check each session
11
+
12
+ When EWAI is configured, run `ewai checkin --project . --json` at the start of every session, unless the managed SessionStart hook has already supplied that launch's result. Dashboard launch checks entitlement too, including reuse of an existing server. A new session needs a fresh check; an old status is not current access evidence.
13
+
14
+ Report safe access, pack state, version/update offer and expiry message. Unknown is neither entitlement nor confirmed expiry. Core EWAI stays available. Never implicitly or automatically download or sync premium content during check-in, dashboard launch, delivery or persona selection.
15
+
16
+ ## Set up a website licence privately
17
+
18
+ If no key is configured, ask: **“Do you have a premium persona licence, or shall we use the core personas?”** Respect a decline. Reading opens https://www.conversationalcoding.dev/personas/ without buying, activating or downloading. Do not ask this missing-key question for an expired, invalid or unavailable configured licence.
19
+
20
+ Only when setup is chosen, explain where to find the key: Conversational Coding My Account, after purchase or seat allocation. Use the guarded loopback dashboard password form by default. A hidden private terminal prompt is an alternative only when a genuine interactive terminal is available; don't ask a tool runner to emulate hidden input or make the user paste it in chat. Submission verifies and installs the pack immediately; this is consent for that download, not future updates:
21
+
22
+ ```bash
23
+ ewai persona premium configure --project . --machine-name "Work laptop"
24
+ ewai persona premium status --project . --json
25
+ ```
26
+
27
+ The configure command asks for the licence key without echoing it, verifies then downloads and installs using the core ZIP verifier. Report its safe ready/version/count result; if activation or installation fails, explain the failure without claiming readiness. Do not collect the key in chat, shell arguments/history, SPECS or screenshots. Dashboard entry is transient and goes only to the guarded loopback route; it never enters storage or responses. Invalid keys and the machine limit keep previous credentials on failed verification. Refresh the persona index after success. Before Archaeology settle chosen setup or explicitly continue core-only after decline/failure.
28
+
29
+ Credentials live in private user-level EWAI config, not project YAML. A random private installation secret is shared through the documented Conversational Coding installation contract; the machine name is only a readable label. Website licence delivery is the only premium persona route. Missing keys offer private setup or continuing with core/personal/project personas. Never acquire personas from source control or use it after a failed licence check.
30
+
31
+ ## Download only with explicit consent
32
+
33
+ Keep setup replies brief: installed version/count on success, or a safe cause and next action on failure. A setup 404 means the dashboard endpoint is missing, not that the key is invalid: restart EWAI, open its current dashboard link and retry there. Connection failures may leave completion uncertain; check status before retrying. Don't echo raw server messages or claim an unverified download is ready.
34
+
35
+ Offer install, update or replacement, then obtain explicit human consent for that action:
36
+
37
+ ```bash
38
+ ewai persona premium sync --project . --yes
39
+ ```
40
+
41
+ A pack owned by another seat/provider additionally requires explained replacement and `--replace`. The flag is immediate command confirmation, not permission for future downloads. Do not override local changes.
42
+
43
+ The website provider obtains a short-lived grant and immutable archive. Core EWAI bounds and verifies archive bytes, rejects unsafe ZIP entries, independently validates pack.yaml and content, stages privately, atomically promotes, writes an external provenance receipt, and rolls back on failure. No provider may self-assert trust or bypass these checks.
44
+
45
+ ## Annual expiry and safe cleanup
46
+
47
+ - An authenticated **expired team** status removes only the managed premium cache whose receipt matches that server, subscription, seat and team plan. This is the narrowly authorised automatic cleanup exception; it never downloads content.
48
+ - An **expired individual** subscription keeps installed personas and tells the user that updates have ended. Do not attempt a new download.
49
+ - Cancellation does not mean expiry: access remains until the paid term ends.
50
+ - Invalid activation, arbitrary 403, timeout, outage, malformed/older contract or unrelated seat is not deletion authority.
51
+ - User-created personal/project personas are outside the managed cache and must never be touched.
52
+ - Unsafe paths, local drift, mismatched ownership, concurrent mutation or failed cleanup need investigation; never describe blocked cleanup as successful.
53
+
54
+ Installed does not automatically engage personas, and verified local content does not prove current entitlement. Report unverified states honestly.
55
+
56
+ ## Boundaries
57
+
58
+ Use only safe status: no licence key, installation secret, bearer token, download grant, email, absolute cache path, raw server error or premium body. This skill cannot approve Build or Manual QA, accept risk or licence terms, deploy, publish, release, certify persona quality, or grant human authority.
59
+
60
+ Read [the provider guide](../../Docs/persona-entitlement-provider-guide.md) when implementing or diagnosing trust, storage or expiry contracts. Live purchased-key acceptance is separate from synthetic tests.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "EWAI Persona Entitlement"
3
+ short_description: "Inspect and govern premium persona pack access"
4
+ default_prompt: "Use $ewai-persona-entitlement to inspect or safely operate premium persona entitlement for this EWAI project."