@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,52 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://engineeringwithai.dev/schemas/security-scan-response.schema.json",
4
+ "title": "EWAI security scan response",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schema", "runId", "status", "complete", "capabilities", "findings"],
8
+ "properties": {
9
+ "schema": { "const": "ewai.security-scan-response/v1" },
10
+ "runId": { "type": "string", "minLength": 1, "maxLength": 80 },
11
+ "status": { "enum": ["complete", "incomplete", "failed"] },
12
+ "complete": { "type": "boolean" },
13
+ "capabilities": { "type": "array", "minItems": 1, "maxItems": 5, "uniqueItems": true, "items": { "$ref": "#/$defs/capability" } },
14
+ "findings": {
15
+ "type": "array",
16
+ "maxItems": 10000,
17
+ "items": {
18
+ "type": "object",
19
+ "additionalProperties": false,
20
+ "required": ["id", "capability", "summary"],
21
+ "properties": {
22
+ "id": { "type": "string", "minLength": 1, "maxLength": 160 },
23
+ "capability": { "$ref": "#/$defs/capability" },
24
+ "severity": { "enum": ["critical", "high", "medium", "low", "info", "unknown"] },
25
+ "confidence": { "type": "number", "minimum": 0, "maximum": 1 },
26
+ "summary": { "type": "string", "minLength": 1, "maxLength": 1000 },
27
+ "locations": { "$ref": "#/$defs/references" },
28
+ "remediation": { "type": "string", "maxLength": 2000 },
29
+ "evidence": { "$ref": "#/$defs/references" }
30
+ }
31
+ }
32
+ },
33
+ "tool": {
34
+ "type": "object",
35
+ "additionalProperties": false,
36
+ "required": ["name", "version"],
37
+ "properties": {
38
+ "name": { "type": "string", "minLength": 1, "maxLength": 120 },
39
+ "version": { "type": "string", "minLength": 1, "maxLength": 80 }
40
+ }
41
+ },
42
+ "warnings": { "type": "array", "maxItems": 1000, "items": { "type": "string", "minLength": 1, "maxLength": 500 } }
43
+ },
44
+ "$defs": {
45
+ "capability": { "enum": ["source-static", "dependency-sbom", "secret-detection", "infrastructure-configuration", "llm-runtime-red-team"] },
46
+ "references": {
47
+ "type": "array",
48
+ "maxItems": 100,
49
+ "items": { "type": "string", "minLength": 1, "maxLength": 500 }
50
+ }
51
+ }
52
+ }
@@ -0,0 +1,74 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://engineeringwithai.dev/schemas/security-validation-policy.schema.json",
4
+ "title": "EWAI security validation policy",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["enabled"],
8
+ "allOf": [
9
+ {
10
+ "if": { "properties": { "enabled": { "const": true } } },
11
+ "then": { "required": ["profiles"] }
12
+ }
13
+ ],
14
+ "properties": {
15
+ "enabled": { "type": "boolean" },
16
+ "profiles": {
17
+ "type": "array",
18
+ "minItems": 1,
19
+ "items": {
20
+ "type": "object",
21
+ "additionalProperties": false,
22
+ "required": ["id", "capability", "required", "freshness_hours", "accountable_role"],
23
+ "properties": {
24
+ "id": { "type": "string", "pattern": "^[a-z][a-z0-9-]{1,63}$" },
25
+ "capability": { "enum": ["source-static", "dependency-sbom", "secret-detection", "infrastructure-configuration", "llm-runtime-red-team"] },
26
+ "required": { "type": "boolean" },
27
+ "freshness_hours": { "type": "integer", "minimum": 1, "maximum": 8760 },
28
+ "timeout_seconds": { "type": "integer", "minimum": 1, "maximum": 3600 },
29
+ "accountable_role": { "type": "string", "minLength": 1, "maxLength": 120 },
30
+ "modes": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "enum": ["command", "skill", "artifact-import"] } },
31
+ "provider": { "enum": ["agentic-security", "deepsec", "visa-vvah"] },
32
+ "adapter": { "type": "string", "pattern": "^[a-z][a-z0-9.-]{1,79}$" },
33
+ "checkpoint": { "type": "string", "minLength": 1, "maxLength": 80 },
34
+ "thresholds": {
35
+ "type": "object",
36
+ "additionalProperties": false,
37
+ "properties": {
38
+ "blocking_severities": {
39
+ "type": "array",
40
+ "minItems": 1,
41
+ "maxItems": 6,
42
+ "uniqueItems": true,
43
+ "items": { "enum": ["critical", "high", "medium", "low", "info", "unknown"] }
44
+ }
45
+ }
46
+ },
47
+ "scope": {
48
+ "type": "object",
49
+ "additionalProperties": false,
50
+ "properties": {
51
+ "include": { "$ref": "#/$defs/projectPaths" },
52
+ "exclude": { "$ref": "#/$defs/projectPaths" }
53
+ }
54
+ },
55
+ "target_class": { "enum": ["local", "development", "test", "staging", "production"] },
56
+ "target_ref": { "type": "string", "minLength": 1, "maxLength": 160 }
57
+ }
58
+ }
59
+ }
60
+ },
61
+ "$defs": {
62
+ "projectPaths": {
63
+ "type": "array",
64
+ "maxItems": 100,
65
+ "uniqueItems": true,
66
+ "items": {
67
+ "type": "string",
68
+ "minLength": 1,
69
+ "maxLength": 240,
70
+ "not": { "pattern": "^(?:/|\\\\|[A-Za-z]:|\\.\\.(?:/|\\\\|$)|.*(?:/|\\\\)\\.\\.(?:/|\\\\|$))" }
71
+ }
72
+ }
73
+ }
74
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://engineeringwith.ai/schemas/starter-source-acknowledgement-v1.json",
4
+ "type": "object",
5
+ "required": ["schema", "attemptId", "nonce", "status"],
6
+ "properties": {
7
+ "schema": { "const": "ewai.starter-source-acknowledgement/v1" },
8
+ "attemptId": { "type": "string", "format": "uuid" },
9
+ "nonce": { "type": "string", "format": "uuid" },
10
+ "status": { "const": "prepared" }
11
+ },
12
+ "additionalProperties": false
13
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://engineeringwith.ai/schemas/starter-source-adapter-v1.json",
4
+ "type": "object",
5
+ "required": ["schema", "id", "name", "publisher", "version", "protocolVersion", "sourceClasses", "entrypoint"],
6
+ "properties": {
7
+ "schema": { "const": "ewai.starter-source-adapter/v1" },
8
+ "id": { "type": "string", "pattern": "^[a-z][a-z0-9.-]{1,79}$" },
9
+ "name": { "type": "string", "minLength": 1, "maxLength": 240 },
10
+ "publisher": {
11
+ "type": "object",
12
+ "required": ["id", "name"],
13
+ "properties": {
14
+ "id": { "type": "string", "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$" },
15
+ "name": { "type": "string", "minLength": 1, "maxLength": 240 }
16
+ },
17
+ "additionalProperties": false
18
+ },
19
+ "version": { "type": "string", "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+(?:[-+][0-9A-Za-z.-]+)?$" },
20
+ "protocolVersion": { "const": "1" },
21
+ "sourceClasses": {
22
+ "type": "array",
23
+ "minItems": 1,
24
+ "uniqueItems": true,
25
+ "items": { "enum": ["https", "git", "archive", "directory", "package", "opaque"] }
26
+ },
27
+ "entrypoint": { "$ref": "#/$defs/boundedPath" }
28
+ },
29
+ "additionalProperties": false,
30
+ "$defs": {
31
+ "boundedPath": {
32
+ "type": "string",
33
+ "minLength": 1,
34
+ "maxLength": 512,
35
+ "not": { "pattern": "(^/|^[A-Za-z]:|(^|[\\\\/])\\.\\.([\\\\/]|$)|[\\u0000-\\u001f])" }
36
+ }
37
+ }
38
+ }
@@ -0,0 +1,61 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://engineeringwith.ai/schemas/starter-source-request-v1.json",
4
+ "type": "object",
5
+ "required": ["schema", "attemptId", "nonce", "project", "receipt", "stagingRoot", "limits"],
6
+ "properties": {
7
+ "schema": { "const": "ewai.starter-source-request/v1" },
8
+ "attemptId": { "type": "string", "format": "uuid" },
9
+ "nonce": { "type": "string", "format": "uuid" },
10
+ "project": {
11
+ "type": "object",
12
+ "required": ["name"],
13
+ "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 240 } },
14
+ "additionalProperties": false
15
+ },
16
+ "receipt": {
17
+ "type": "object",
18
+ "required": ["id", "name", "source", "sourceClass", "version", "digest", "licence", "compatibility", "targets"],
19
+ "properties": {
20
+ "id": { "type": "string", "minLength": 1, "maxLength": 320 },
21
+ "name": { "type": "string", "minLength": 1, "maxLength": 240 },
22
+ "source": { "type": "string", "minLength": 1, "maxLength": 2048 },
23
+ "sourceClass": { "enum": ["https", "git", "archive", "directory", "package", "opaque"] },
24
+ "version": { "type": "string", "minLength": 1, "maxLength": 80 },
25
+ "digest": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" },
26
+ "licence": { "type": "string", "minLength": 1, "maxLength": 240 },
27
+ "compatibility": { "type": "string", "minLength": 1, "maxLength": 500 },
28
+ "targets": {
29
+ "type": "array",
30
+ "minItems": 1,
31
+ "items": {
32
+ "type": "object",
33
+ "required": ["role", "sourcePath"],
34
+ "properties": {
35
+ "role": { "type": "string", "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$" },
36
+ "sourcePath": { "type": "string", "minLength": 1, "maxLength": 512 }
37
+ },
38
+ "additionalProperties": false
39
+ }
40
+ }
41
+ },
42
+ "additionalProperties": false
43
+ },
44
+ "stagingRoot": { "type": "string", "minLength": 1 },
45
+ "limits": {
46
+ "type": "object",
47
+ "required": ["maximumDepth", "maximumPathBytes", "maximumFiles", "maximumFileBytes", "maximumTotalBytes", "timeoutMs", "maximumOutputBytes"],
48
+ "properties": {
49
+ "maximumDepth": { "type": "integer", "minimum": 1, "maximum": 24 },
50
+ "maximumPathBytes": { "type": "integer", "minimum": 1, "maximum": 512 },
51
+ "maximumFiles": { "type": "integer", "minimum": 1, "maximum": 5000 },
52
+ "maximumFileBytes": { "type": "integer", "minimum": 1, "maximum": 5242880 },
53
+ "maximumTotalBytes": { "type": "integer", "minimum": 1, "maximum": 104857600 },
54
+ "timeoutMs": { "type": "integer", "minimum": 1000, "maximum": 900000 },
55
+ "maximumOutputBytes": { "const": 65536 }
56
+ },
57
+ "additionalProperties": false
58
+ }
59
+ },
60
+ "additionalProperties": false
61
+ }
package/package.json ADDED
@@ -0,0 +1,77 @@
1
+ {
2
+ "name": "@thebackstoryis/engineering-with-ai",
3
+ "version": "0.2.9",
4
+ "description": "A human-centred, AI-augmented engineering pipeline",
5
+ "license": "SEE LICENSE IN LICENSE",
6
+ "author": "The Backstory Is",
7
+ "keywords": [
8
+ "ai",
9
+ "engineering",
10
+ "specifications",
11
+ "delivery-pipeline",
12
+ "personas",
13
+ "mcp"
14
+ ],
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git+https://github.com/TheBackstoryIs/EngineeringWithAIHarness.git"
18
+ },
19
+ "homepage": "https://github.com/TheBackstoryIs/EngineeringWithAIHarness#readme",
20
+ "bugs": {
21
+ "url": "https://github.com/TheBackstoryIs/EngineeringWithAIHarness/issues"
22
+ },
23
+ "type": "module",
24
+ "bin": {
25
+ "ewai": "bin/ewai"
26
+ },
27
+ "engines": {
28
+ "node": ">=22.5"
29
+ },
30
+ "files": [
31
+ "agents-src/",
32
+ "bin/",
33
+ "config/",
34
+ "Docs/",
35
+ "packs/",
36
+ "public/",
37
+ "scripts/setup.mjs",
38
+ "scripts/publication-check.mjs",
39
+ "skills-src/",
40
+ "src/*.mjs",
41
+ "src/runtime/",
42
+ "tests/fixtures/context-benchmarks.json",
43
+ "!config/*-source-manifest.json",
44
+ "!config/workflow-migration-map.json",
45
+ "templates/"
46
+ ],
47
+ "publishConfig": {
48
+ "access": "public",
49
+ "registry": "https://registry.npmjs.org/"
50
+ },
51
+ "scripts": {
52
+ "build": "npm run check",
53
+ "precheck": "node scripts/publication-check.mjs --source-only && node --check src/runtime/tree-sitter-index.mjs && node --check src/design-system-application.mjs && node --check src/team-hub-resources.mjs && node --check src/dashboard-preferences.mjs && node --check public/dashboard-navigation.js",
54
+ "publication:check": "node scripts/publication-check.mjs",
55
+ "prepack": "node scripts/publication-check.mjs --quiet",
56
+ "check": "node --check src/error-reporting.mjs && node --check src/team-hub.mjs && node --check src/runtime/team-hub-client.mjs && node --check src/runtime/team-hub-database.mjs && node --check src/runtime/team-hub-server.mjs && node --check src/runtime/team-hub.mjs && node --check src/runtime/error-reporting.mjs && node --check src/launcher.mjs && node --check src/afk-worker.mjs && node --check src/companion-opening.mjs && node --check src/companion.mjs && node --check src/cli.mjs && node --check src/checkin.mjs && node --check src/persona-licence-config.mjs && node --check src/persona-website-provider.mjs && node --check src/persona-zip.mjs && node --check src/persona-entitlements.mjs && node --check src/context.mjs && node --check src/archaeology.mjs && node --check src/evidence-depth.mjs && node --check src/prototype-iterations.mjs && node --check src/solution-readiness.mjs && node --check src/delivery-artifacts.mjs && node --check src/delivery-documents.mjs && node --check src/delivery-gates.mjs && node --check src/delivery.mjs && node --check src/design-systems.mjs && node --check src/design-system-authoring.mjs && node --check src/execution-state.mjs && node --check src/intent-dependencies.mjs && node --check src/task-graph.mjs && node --check src/test-scenarios.mjs && node --check src/security-validation-config.mjs && node --check src/starter-materialisation-contract.mjs && node --check src/validation-config.mjs && node --check src/project.mjs && node --check src/install.mjs && node --check src/intents.mjs && node --check src/intent-maps.mjs && node --check src/discovery.mjs && node --check src/packs.mjs && node --check src/organisation-blueprints.mjs && node --check src/organisation-policies.mjs && node --check src/policy-design-gates.mjs && node --check src/policy-gate-integration.mjs && node --check src/personas.mjs && node --check src/platform-metadata-analysis.mjs && node --check src/power-platform-source-map.mjs && node --check src/salesforce-source-map.mjs && node --check src/repository-source-map.mjs && node --check src/runtime/context-assembly.mjs && node --check src/runtime/context-benchmarks.mjs && node --check src/runtime/database.mjs && node --check src/runtime/execution-leases.mjs && node --check src/runtime/provider-adapters.mjs && node --check src/runtime/security-validation.mjs && node --check src/runtime/starter-materialisation.mjs && node --check src/runtime/policy-workspace.mjs && node --check src/runtime/lifecycle-hooks.mjs && node --check src/runtime/afk-conductor.mjs && node --check src/runtime/dashboard-actions.mjs && node --check src/runtime/dashboard-handoffs.mjs && node --check src/runtime/persona-engagement.mjs && node --check src/runtime/evidence-depth-workspace.mjs && node --check src/runtime/prototype-iterations.mjs && node --check src/runtime/guided-discovery.mjs && node --check src/runtime/guided-intents.mjs && node --check src/runtime/phase-contributions.mjs && node --check src/runtime/impact-analysis.mjs && node --check src/runtime/paths.mjs && node --check src/runtime/intents.mjs && node --check src/runtime/knowledge.mjs && node --check src/runtime/palace.mjs && node --check src/runtime/repository-index.mjs && node --check src/runtime/runs.mjs && node --check src/runtime/work.mjs && node --check src/runtime/version.mjs && node --check src/runtime/dashboard.mjs && node --check src/runtime/dashboard-server.mjs && node --check src/runtime/mcp-config.mjs && node --check src/runtime/mcp-server.mjs && node --check public/app.js && node --check public/team-hub/app.js && node --check scripts/setup.mjs",
57
+ "test": "node --test",
58
+ "test:team-hub:coverage": "node --test --experimental-test-coverage --test-coverage-lines=90 --test-coverage-functions=85 --test-coverage-branches=75 --test-coverage-include='src/runtime/team-hub-client.mjs' --test-coverage-include='src/runtime/team-hub-database.mjs' tests/team-hub-server.test.mjs tests/team-hub-client.test.mjs tests/team-hub-resource-registry.test.mjs tests/team-hub-adapters.test.mjs tests/team-hub-operational.test.mjs",
59
+ "lint": "npm run check",
60
+ "setup": "node scripts/setup.mjs",
61
+ "typecheck": "npm run check",
62
+ "ewai": "node bin/ewai",
63
+ "context:benchmark": "node bin/ewai context benchmark --json"
64
+ },
65
+ "dependencies": {
66
+ "@modelcontextprotocol/sdk": "^1.29.0",
67
+ "tree-sitter": "^0.21.1",
68
+ "tree-sitter-javascript": "^0.21.4",
69
+ "tree-sitter-php": "^0.23.12",
70
+ "tree-sitter-typescript": "^0.21.2",
71
+ "yaml": "^2.8.1",
72
+ "zod": "^4.4.3"
73
+ },
74
+ "devDependencies": {
75
+ "playwright": "^1.55.0"
76
+ }
77
+ }
@@ -0,0 +1,7 @@
1
+ schema: ewai.pack/v1
2
+ id: ewai.core
3
+ name: EWAI Pipeline Core
4
+ version: 0.1.0
5
+ type: core
6
+ description: Portable delivery workflow, project contracts, gates, and agent skills.
7
+ boilerplates: []
@@ -0,0 +1,9 @@
1
+ # Experience promise
2
+
3
+ Create experiences that feel **calm, connected, accountable**.
4
+
5
+ - Calm: make the current situation and next meaningful action understandable.
6
+ - Connected: preserve relationships between a person's purpose, their work, its evidence, and its consequences.
7
+ - Accountable: make ownership, decisions, uncertainty, and human authority visible.
8
+
9
+ This is a portable fallback, not an organisation-approved brand system.
@@ -0,0 +1,10 @@
1
+ # Intentional design and self-critique
2
+
3
+ Make deliberate visual and interaction choices that arise from the product's
4
+ purpose, users, evidence, and constraints. Avoid generic template composition.
5
+ Use established components where they satisfy the need; record why novelty is
6
+ necessary when they do not.
7
+
8
+ Before selection, self-critique the work for purpose, agency, responsibility,
9
+ familiarity, flexibility, simplicity, craft, meaningful delight, real content,
10
+ empty and error states, accessibility evidence, and unresolved deviations.
@@ -0,0 +1,9 @@
1
+ # Interaction and entry modes
2
+
3
+ Offer clear entry points for newcomers and efficient routes for experienced
4
+ operators. Keep both routes connected to the same underlying state and
5
+ authority. Prefer progressive disclosure, reversible choices, visible focus,
6
+ and clear recovery over hidden automation.
7
+
8
+ Interaction should communicate what happened, what remains, who is responsible,
9
+ and whether the result is a proposal, recorded evidence, or an approved decision.
@@ -0,0 +1,9 @@
1
+ # Meaningful content and states
2
+
3
+ Use realistic, purposeful copy rather than generic placeholder language. Design
4
+ the empty, loading, partial, stale, error, blocked, success, and unavailable
5
+ states as first-class parts of the journey. Each state should explain its
6
+ meaning and the safest available next action.
7
+
8
+ Do not hide uncertainty behind visual polish. Important status must remain
9
+ understandable without relying on colour alone.
@@ -0,0 +1,44 @@
1
+ schema: ewai.pack/v1
2
+ id: ewai.design-system.default
3
+ name: EWAI Intentional Product Design
4
+ description: Brand-neutral experience, interaction, content and review guidance for coherent UI Design and Prototype work.
5
+ version: 1.0.0
6
+ type: design-system
7
+ requires: []
8
+ design_system:
9
+ compatibility:
10
+ ewai: 0.x
11
+ provenance:
12
+ kind: owner-declared
13
+ summary: Portable default derived from the product-design principles agreed by the EWAI owner.
14
+ contributions:
15
+ - id: experience-promise
16
+ kind: experience
17
+ title: Experience promise
18
+ source: experience-promise.md
19
+ applicability: [ui-design, prototype, review]
20
+ required: true
21
+ - id: product-principles
22
+ kind: principles
23
+ title: Product design principles
24
+ source: principles.md
25
+ applicability: [ui-design, prototype, review]
26
+ required: true
27
+ - id: interaction-and-entry
28
+ kind: interaction
29
+ title: Interaction and entry modes
30
+ source: interaction-and-entry.md
31
+ applicability: [ui-design, prototype, review]
32
+ required: true
33
+ - id: meaningful-content-and-states
34
+ kind: states
35
+ title: Meaningful content and states
36
+ source: meaningful-content-and-states.md
37
+ applicability: [ui-design, prototype, content, review]
38
+ required: true
39
+ - id: intentional-review
40
+ kind: review
41
+ title: Intentional design and self-critique
42
+ source: intentional-review.md
43
+ applicability: [ui-design, prototype, review]
44
+ required: true
@@ -0,0 +1,10 @@
1
+ # Product design principles
2
+
3
+ - Begin with purpose: explain why the work matters before presenting machinery.
4
+ - Preserve agency: let people understand, choose, inspect, and recover.
5
+ - Show responsibility: consequences, owners, evidence, limitations, and approvals should be legible.
6
+ - Prefer familiar patterns and standard components before introducing novelty.
7
+ - Support flexible routes for different experience levels without fragmenting the truth.
8
+ - Pursue simplicity without minimalism: remove friction, not necessary context.
9
+ - Apply craft deliberately to typography, spacing, hierarchy, language, and transitions.
10
+ - Use delight with restraint, when it makes progress or understanding more human.
@@ -0,0 +1,7 @@
1
+ schema: ewai.pack/v1
2
+ id: ewai.personas.core
3
+ name: EWAI Core Personas
4
+ version: 0.2.0
5
+ type: persona
6
+ description: Free personas for evidence-led discovery, knowledge curation, delivery, operation, and user-value assessment.
7
+ boilerplates: []
@@ -0,0 +1,37 @@
1
+ ---
2
+ schema: ewai.persona/v1
3
+ id: ewai.core.archaeologist
4
+ name: EWAI Archaeologist
5
+ version: 0.1.0
6
+ category: engineering
7
+ pack: ewai.personas.core
8
+ tier: core
9
+ tags: [archaeology, evidence, legacy, decisions, repository]
10
+ capabilities: [project-archaeology, technology-discovery, evidence-triangulation, decision-reconstruction, impact-mapping]
11
+ ---
12
+
13
+ # EWAI Archaeologist
14
+
15
+ Reconstruct how an existing project behaves, how it evolved, and why it may have taken its current shape. Investigate source code, tests, configuration, schemas, Git history, documents, and human testimony with forensic curiosity and without blame.
16
+
17
+ ## Operating stance
18
+
19
+ - Treat current code as evidence of behaviour, not proof of original intent or present approval.
20
+ - Distinguish observed, corroborated, inferred, contradicted, and unknown claims.
21
+ - Cite a file, line, commit, test, document, runtime observation, or named human source for every material finding.
22
+ - Prefer multiple independent sources before raising confidence.
23
+ - Preserve competing explanations and ask focused questions where the evidence cannot decide.
24
+ - Identify accidental consistency separately from an intentional reusable pattern.
25
+ - Do not modify production code, rewrite history, or promote inferred rules while investigating.
26
+
27
+ ## Questions to keep asking
28
+
29
+ - What does the system demonstrably do?
30
+ - When and why did this behaviour appear or change?
31
+ - Which tests, interfaces, and consumers depend on it?
32
+ - Which languages, frameworks, data stores, infrastructure, deployment targets, and version constraints are actually evidenced?
33
+ - What decision or constraint would explain the evidence?
34
+ - What contradicts that explanation?
35
+ - Which person can confirm, correct, or retire the reconstructed understanding?
36
+
37
+ Hand reviewed findings to the SPECS Knowledge Curator for routing. Keep every unconfirmed reconstruction in Archaeology evidence rather than presenting it as project truth.
@@ -0,0 +1,17 @@
1
+ ---
2
+ schema: ewai.persona/v1
3
+ id: ewai.core.end-user
4
+ name: End User
5
+ version: 0.1.0
6
+ category: product
7
+ pack: ewai.personas.core
8
+ tier: core
9
+ tags: [usability, accessibility, outcomes]
10
+ capabilities: [intent-review, design-review, acceptance-review]
11
+ ---
12
+
13
+ # End User
14
+
15
+ Focus on completing the intended job safely, clearly, and without unnecessary effort.
16
+
17
+ Ask whether the workflow explains what is happening, supports recovery from mistakes, and produces a useful outcome.
@@ -0,0 +1,17 @@
1
+ ---
2
+ schema: ewai.persona/v1
3
+ id: ewai.core.maintainer
4
+ name: Software Maintainer
5
+ version: 0.1.0
6
+ category: engineering
7
+ pack: ewai.personas.core
8
+ tier: core
9
+ tags: [maintainability, architecture, testing]
10
+ capabilities: [plan-review, code-review, retro-review]
11
+ ---
12
+
13
+ # Software Maintainer
14
+
15
+ Focus on whether future engineers can understand, test, extend, and safely remove the capability.
16
+
17
+ Ask which contracts are stable, where coupling lives, and how regressions will be detected.
@@ -0,0 +1,17 @@
1
+ ---
2
+ schema: ewai.persona/v1
3
+ id: ewai.core.operator
4
+ name: Service Operator
5
+ version: 0.1.0
6
+ category: operations
7
+ pack: ewai.personas.core
8
+ tier: core
9
+ tags: [operations, observability, recovery]
10
+ capabilities: [plan-review, test-review, delivery-review]
11
+ ---
12
+
13
+ # Service Operator
14
+
15
+ Focus on deployability, observable behaviour, supportability, incident recovery, and safe change.
16
+
17
+ Ask how failures are detected, diagnosed, contained, and reversed.
@@ -0,0 +1,35 @@
1
+ ---
2
+ schema: ewai.persona/v1
3
+ id: ewai.core.specs-knowledge-curator
4
+ name: SPECS Knowledge Curator
5
+ version: 0.1.0
6
+ category: information-management
7
+ pack: ewai.personas.core
8
+ tier: core
9
+ tags: [specs, knowledge, traceability, documentation, governance]
10
+ capabilities: [specs-routing, knowledge-curation, traceability, context-hygiene]
11
+ ---
12
+
13
+ # SPECS Knowledge Curator
14
+
15
+ Maintain SPECS as durable, human-readable project memory and a predictable context system for AI. Route reviewed knowledge to its canonical home, preserve provenance, and prevent documentation from becoming a confident second version of reality.
16
+
17
+ ## Routing responsibility
18
+
19
+ - Route boundaries, domain language, inventories, APIs, research, handoffs, and personas to `SPECS/1.Scope/`.
20
+ - Route intents, journeys, explorations, discussions, and requirements to `SPECS/2.Purpose/`.
21
+ - Keep observations, archaeology, risks, tests, gates, incidents, and retrospectives in `SPECS/3.Evidence/`.
22
+ - Promote only confirmed, accountable non-negotiables into `SPECS/4.Constraints/`.
23
+ - Route accepted decisions, options, architecture, patterns, SOPs, runbooks, and plans to `SPECS/5.Strategy/`.
24
+ - Keep implementation trackers and build outputs in `SPECS/6.Build/`.
25
+
26
+ ## Curation discipline
27
+
28
+ - Do not turn an archaeological inference into a requirement, constraint, ADR, or persona without human review.
29
+ - Link accepted knowledge back to its evidence and link superseding records without erasing history.
30
+ - Reconcile duplication against an identified source of truth; preserve unresolved conflicts explicitly.
31
+ - Keep unknowns searchable and owned rather than filling gaps with plausible prose.
32
+ - Prefer concise, structured, accessible records that remain useful without an AI service.
33
+ - Update indexes and cross-references whenever knowledge moves or changes status.
34
+
35
+ Success means a person or agent can find what is known, understand why it is believed, see what remains uncertain, and identify who can decide.
@@ -0,0 +1,30 @@
1
+ schema: ewai.pack/v1
2
+ id: ewai.technology.laravel
3
+ name: Laravel
4
+ version: 0.1.0
5
+ type: technology
6
+ description: Laravel repository discovery, implementation, validation, and deployment guidance.
7
+ compatibility:
8
+ languages: [php]
9
+ frameworks: [laravel]
10
+ detection:
11
+ files: [artisan, composer.json]
12
+ dependencies: [laravel/framework]
13
+ commands:
14
+ install: composer install
15
+ test: php artisan test
16
+ lint: vendor/bin/pint --test
17
+ source_map:
18
+ profiles:
19
+ - id: laravel-routes
20
+ patterns: [routes/**/*.php]
21
+ analyser: tree-sitter
22
+ classification: framework-routing
23
+ priority: 50
24
+ - id: composer-manifest
25
+ patterns: [composer.json]
26
+ analyser: structured-keys
27
+ classification: dependency-manifest
28
+ priority: 40
29
+ deployment: []
30
+ boilerplates: []
@@ -0,0 +1,30 @@
1
+ schema: ewai.pack/v1
2
+ id: ewai.stack.laravel-nuxt
3
+ name: Laravel and Nuxt
4
+ version: 0.1.0
5
+ type: stack
6
+ description: Composed API and web application stack with independently deployable Laravel and Nuxt repositories.
7
+ requires:
8
+ - ewai.technology.laravel
9
+ - ewai.technology.nuxt
10
+ repositories:
11
+ - role: backend
12
+ technology: ewai.technology.laravel
13
+ - role: frontend
14
+ technology: ewai.technology.nuxt
15
+ source_map:
16
+ profiles:
17
+ - id: frontend-pages
18
+ patterns: [pages/**/*.vue, app/pages/**/*.vue]
19
+ analyser: tree-sitter
20
+ classification: user-interface
21
+ repositories: [frontend]
22
+ priority: 80
23
+ - id: backend-routes
24
+ patterns: [routes/**/*.php]
25
+ analyser: tree-sitter
26
+ classification: framework-routing
27
+ repositories: [backend]
28
+ priority: 80
29
+ deployment: []
30
+ boilerplates: []