@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,162 @@
1
+ # Team Hub guide
2
+
3
+ Team Hub is EWAI's optional, self-operated team visibility layer. Every project remains in **single mode** by default: delivery runs locally, SPECS stay local, and no network service is required. A contributor may deliberately connect a project and publish a bounded read-only snapshot to a separately running Team Hub.
4
+
5
+ ```text
6
+ local EWAI project ── explicit bounded snapshot ──> Team Hub service
7
+ │ │
8
+ └── full local delivery authority └── read-only portfolio
9
+ ```
10
+
11
+ The service is an operational projection, not a replacement for Git, SPECS, the project-local dashboard or an engineering work-management system. It cannot approve Build or Manual QA, accept risk, certify compliance, deploy or release.
12
+
13
+ Team Hub's shared view isn't remote access to each project's editing dashboard. Contributors work in their local project, then explicitly publish the permitted summary. To review or edit a local draft together, work on the owner's computer or use an approved screen-sharing process.
14
+
15
+ ## What the first release provides
16
+
17
+ - Single-contributor operation with no service, token or network dependency.
18
+ - An exact disclosure contract that identifies included fields and excluded categories.
19
+ - A local connection that stores an endpoint, project identifier, disclosure digest and token environment-variable **name**—never the token value.
20
+ - Explicit snapshot publication with an immutable local attempt record.
21
+ - A digest-bound receipt when the service accepts a snapshot. Acceptance is transport evidence, not delivery approval.
22
+ - A separate SQLite-backed service with an authenticated ingestion endpoint and read-only portfolio UI.
23
+ - An optional immutable registry for validated Organisation Blueprint and design-system releases.
24
+ - Separate reader and publisher credentials, with publishing disabled unless an operator configures it.
25
+ - Exact-version, exact-digest local installation with quarantine validation, rollback and local receipts.
26
+ - CLI and local-dashboard controls for disclosure, connection, publication status and disconnection.
27
+
28
+ It does not provide central intent editing, central gate actions, premium persona bodies, source code, SPECS bodies, enterprise identity, managed hosting, licensing, automatic synchronisation or production execution. Installing a governed resource makes it locally available; it does not select, apply or approve it.
29
+
30
+ ## Operate a hub
31
+
32
+ Choose a dedicated local-disk directory outside every EWAI project. Do not use `.ewai-pipeline`, a repository folder, a cloud-synchronised folder or a network share. Set a long random bearer token in an environment variable, then start the separate service:
33
+
34
+ ```bash
35
+ export EWAI_TEAM_HUB_TOKEN='replace-with-a-long-random-reader-secret'
36
+ export EWAI_TEAM_HUB_PUBLISHER_TOKEN='replace-with-a-different-publisher-secret'
37
+ ewai team-hub start \
38
+ --data /srv/ewai-team-hub \
39
+ --token-env EWAI_TEAM_HUB_TOKEN \
40
+ --publisher-token-env EWAI_TEAM_HUB_PUBLISHER_TOKEN \
41
+ --host 127.0.0.1 \
42
+ --json
43
+ ewai team-hub status --data /srv/ewai-team-hub --json
44
+ ```
45
+
46
+ Loopback is the safe default. A non-loopback bind requires `--allow-network`. The built-in service is HTTP-only; for any shared network deployment, put it behind an organisation-managed **TLS reverse proxy**, terminate HTTPS there, restrict network access, and use an HTTPS contributor endpoint. EWAI does not configure the proxy or certify the resulting deployment.
47
+
48
+ Open the URL returned by `start`. The central browser UI asks for a reader or publisher bearer token for the current tab only and holds it in session storage. The service state file records environment-variable names, never credential values. Omit `--publisher-token-env` when this hub must remain read-only.
49
+
50
+ Stop the service with:
51
+
52
+ ```bash
53
+ ewai team-hub stop --data /srv/ewai-team-hub --json
54
+ ```
55
+
56
+ ## Connect a contributor project
57
+
58
+ First review the current disclosure:
59
+
60
+ ```bash
61
+ ewai team disclosure --project . --json
62
+ ```
63
+
64
+ Then make the token available under the variable name agreed with the operator and connect. Connection does not publish a snapshot.
65
+
66
+ ```bash
67
+ export EWAI_TEAM_HUB_TOKEN='the-operator-supplied-secret'
68
+ ewai team connect https://hub.example.org \
69
+ --project-id claims-platform \
70
+ --token-env EWAI_TEAM_HUB_TOKEN \
71
+ --acknowledge-disclosure \
72
+ --yes \
73
+ --project . \
74
+ --json
75
+ ewai team status --project . --json
76
+ ```
77
+
78
+ The same controls are available in the local dashboard's **Team Hub** view. Enable it in **Configuration** and save first; see [dashboard configuration](operations/dashboard-configuration.md). Showing the view doesn't connect the project. The dashboard accepts only the endpoint, project ID, token environment-variable name, explicit confirmation and disclosure acknowledgement. It cannot accept a project-root override or a token value.
79
+
80
+ ## Publish a snapshot
81
+
82
+ Publication is always deliberate:
83
+
84
+ ```bash
85
+ ewai team sync --yes --project . --json
86
+ ```
87
+
88
+ The local dashboard has an equivalent **Publish current snapshot** action with a confirmation step. Each action writes an attempt record. When accepted, a separate receipt records the project ID, snapshot digest, idempotency key, acceptance time and whether the same snapshot was replayed.
89
+
90
+ A failed attempt does not remove the last accepted receipt. This lets an operator distinguish “the latest network attempt failed” from “this is the last snapshot the hub actually accepted.” Local engineering work remains available in either case.
91
+
92
+ ## Distribute governed resources
93
+
94
+ An operator can publish immutable `org.*` Organisation Blueprint and design-system releases. Connected contributors can discover release metadata, inspect an exact release, and explicitly install it by version and SHA-256 digest. Publication and installation have separate receipts, and a failed update restores the previously installed release.
95
+
96
+ The registry does not carry premium persona bodies or governed starter-project executable material. A Blueprint can reference those capabilities by identity, while their own entitlement and materialisation controls remain authoritative. Installing a release does not activate it or change SPECS.
97
+
98
+ See the [Team Hub Resource Registry guide](team-hub-resource-registry-guide.md) for publisher configuration, packaging rules, contributor commands, dashboard operation, collision handling, offline cache replay, restoration and audit evidence.
99
+
100
+ ## Disclosure and data custody
101
+
102
+ The snapshot uses a closed allow-list. Inspect the command output for the authoritative current list. At this release it contains bounded project identity, package version, a one-way repository-revision digest, intent counts, a compact latest-delivery status, selected reusable-resource identities and digests, timestamps, attention signals and the authority notice.
103
+
104
+ The snapshot excludes:
105
+
106
+ - credentials and environment-variable values;
107
+ - source code and SPECS document bodies;
108
+ - persona bodies, prompts and transcripts;
109
+ - logs and error-report packages;
110
+ - repository remotes and local filesystem paths.
111
+
112
+ Unknown fields are rejected on both the contributor and service sides. Snapshot and envelope digests are recomputed before storage. Treat the resulting database as internal operational metadata and apply your organisation's retention, access-control and incident-response policy.
113
+
114
+ ## Token rotation
115
+
116
+ To rotate the shared token:
117
+
118
+ 1. Stop the Team Hub service.
119
+ 2. Replace the value in the configured environment variable.
120
+ 3. Start the service again using the same variable name.
121
+ 4. Update that environment variable for authorised contributors.
122
+ 5. Run an explicit sync from one project and verify a new accepted receipt.
123
+
124
+ The connection files do not need changing when the environment-variable name remains stable. For a staged rotation, run a second hub endpoint or coordinate a maintenance window; the first release intentionally supports one active shared bearer token per service.
125
+
126
+ ## Backup and recovery
127
+
128
+ The service database is under `<data-root>/data/team-hub.sqlite`; runtime state and logs are kept in sibling directories. For a simple consistent backup:
129
+
130
+ 1. Run `ewai team-hub stop --data <data-root>`.
131
+ 2. Copy the entire dedicated data root using your approved backup process.
132
+ 3. Restart the service and confirm `status` is `running`.
133
+
134
+ For live backups, use a SQLite-aware backup tool and include write-ahead-log state correctly. Do not assume that copying only the main database file while the service is writing produces a recoverable backup.
135
+
136
+ To recover, stop the service, restore the dedicated data root to local disk with restrictive permissions, set the token environment variable, start the service, and verify `/health`, the portfolio UI and a deliberate contributor sync. The hub can also be rebuilt from future contributor snapshots; it is not the canonical source of delivery truth.
137
+
138
+ ## Disconnect a project
139
+
140
+ ```bash
141
+ ewai team disconnect --yes --project . --json
142
+ ```
143
+
144
+ Disconnect removes only the active local connection. It does not delete local attempt history or the last accepted receipt, and it cannot recall data already accepted by a hub. The project immediately returns to single-contributor mode. Hub-side deletion and retention remain operator responsibilities in this release.
145
+
146
+ ## Troubleshooting
147
+
148
+ - **Token environment variable is unavailable:** export the variable named by `ewai team status`, then retry. Do not put the token in a command argument or project file.
149
+ - **HTTP endpoint rejected:** shared endpoints must use HTTPS. Plain HTTP is accepted only for loopback development.
150
+ - **Snapshot rejected:** inspect the local attempt record and service log. Correct the cause and publish again; do not edit attempt or receipt files.
151
+ - **Service reports stale:** stop it, inspect the configured data-root log, and start it again. A stale state file is never treated as a healthy service.
152
+ - **Contributor is offline:** continue working locally. No gate or project operation depends on Team Hub availability.
153
+
154
+ ## Operational verification
155
+
156
+ If you're maintaining the harness, see the [Team Hub verification notes](maintainers/verification-walkthroughs.md#team-hub) for the automated suites and commands.
157
+
158
+ Automated success is engineering evidence, not Manual QA or operational acceptance. Before a shared deployment, an accountable operator must still verify the chosen TLS proxy, identity and access controls, backup and restore procedure, retention policy, monitoring, service ownership, narrow-screen usability, keyboard operation and one real contributor-to-hub journey in the target environment.
159
+
160
+ ## Authority and deployment responsibility
161
+
162
+ Team Hub remains read-only with respect to project truth and delivery authority. Its optional resource registry distributes immutable validated releases; installing one doesn't select or apply it. The organisation operating the Hub is responsible for its deployment, access controls, retention and recovery. Verify those controls in the target environment before inviting contributors.
@@ -0,0 +1,167 @@
1
+ # Team Hub Resource Registry guide
2
+
3
+ The Team Hub Resource Registry distributes immutable, organisation-owned EWAI working
4
+ material without turning the Hub into project authority. The first release supports
5
+ Organisation Blueprint packs with `type: organisation` and design-system packs with
6
+ `type: design-system`, both using strict `ewai.pack/v1` manifests and `org.*` IDs.
7
+
8
+ Blueprints may reference ordinary local project personas, policies, standards,
9
+ design-system IDs and governed starter metadata. The registry transports the Blueprint
10
+ manifest and its referenced policy, persona and standard text files. It does **not**
11
+ retrieve starter source, execute adapters, or distribute premium persona bodies.
12
+
13
+ ```text
14
+ author pack -> validate -> publish immutable release -> discover -> inspect
15
+ |
16
+ v
17
+ select/apply separately <- install exact verified digest
18
+ ```
19
+
20
+ Publication means a release is available. Installation means the bytes are available
21
+ inside one project's managed pack root. Neither action selects a design system, applies
22
+ a Blueprint, changes SPECS, approves Build, accepts risk or approves release.
23
+
24
+ ## Configure reader and publisher authority
25
+
26
+ Use different long random values and different environment-variable names:
27
+
28
+ ```bash
29
+ export EWAI_TEAM_HUB_READER_TOKEN='replace-with-a-long-random-reader-secret'
30
+ export EWAI_TEAM_HUB_PUBLISHER_TOKEN='replace-with-a-different-publisher-secret'
31
+
32
+ ewai team-hub start \
33
+ --data /srv/ewai-team-hub \
34
+ --token-env EWAI_TEAM_HUB_READER_TOKEN \
35
+ --publisher-token-env EWAI_TEAM_HUB_PUBLISHER_TOKEN \
36
+ --host 127.0.0.1 \
37
+ --json
38
+ ```
39
+
40
+ The reader can list and download releases and can continue to publish bounded project
41
+ snapshots. It cannot publish a governed resource. The publisher can publish and inspect
42
+ resources. The service stores only the environment-variable names in service state.
43
+ Starting without `--publisher-token-env` keeps the original portfolio capability and
44
+ returns an explicit `publisher-not-configured` response for resource publication.
45
+
46
+ ## Prepare a resource
47
+
48
+ Start from a folder that already validates with EWAI's organisation Blueprint or
49
+ design-system tooling. A package contains only `pack.yaml` and local files directly
50
+ referenced by Blueprint standards, personas and policies or by design-system
51
+ contributions.
52
+
53
+ Allowed file extensions are `.md`, `.yaml`, `.yml`, `.json`, `.txt`, `.toml` and `.css`.
54
+ The registry rejects hidden or escaping paths, symlinks, invalid UTF-8, binary NUL
55
+ content, executable/archive types, more than 100 files, a file over 256 KiB, or total
56
+ content over 2 MiB. This is deliberately narrower than the normal local pack limits.
57
+
58
+ Use a new semantic version when content changes. The registry will not accept different
59
+ bytes under an existing resource ID and version.
60
+
61
+ ## Publish an immutable release
62
+
63
+ ```bash
64
+ ewai team-hub resource publish ./packs/acme-delivery \
65
+ --data /srv/ewai-team-hub \
66
+ --publisher-token-env EWAI_TEAM_HUB_PUBLISHER_TOKEN \
67
+ --publisher-name "Acme Engineering" \
68
+ --yes \
69
+ --json
70
+ ```
71
+
72
+ Organisation Blueprint publisher identity comes from its manifest. A design-system
73
+ publisher name comes from `--publisher-name`; its publisher ID is the organisation
74
+ segment of the `org.*` pack ID. Successful publication returns a package digest and an
75
+ immutable publication receipt. Repeating the exact release is idempotent. Different
76
+ content under the same ID/version returns a conflict.
77
+
78
+ The central Team Hub browser shows the retained release catalogue after a reader or
79
+ publisher credential is entered for the current tab. It deliberately does not provide
80
+ project installation or activation controls.
81
+
82
+ ## Discover and inspect from a project
83
+
84
+ Connect the project using the **reader** token as described in the Team Hub guide, then:
85
+
86
+ ```bash
87
+ ewai team resources --project . --json
88
+ ewai team resource inspect org.acme.delivery 1.0.0 --project . --json
89
+ ```
90
+
91
+ Discovery returns safe release metadata, not package bodies. Inspect downloads and
92
+ validates one exact package for review but does not write it to the pack root. The local
93
+ dashboard provides equivalent **Refresh resources** and inspect controls. Nothing is
94
+ queried automatically during check-in or ordinary dashboard load.
95
+
96
+ ## Install an exact release
97
+
98
+ Copy the digest from the catalogue or inspection result and name the accountable person
99
+ or role:
100
+
101
+ ```bash
102
+ ewai team resource install org.acme.delivery 1.0.0 \
103
+ --expected-digest sha256:REPLACE_WITH_THE_EXACT_DIGEST \
104
+ --approved-by "Platform Owner" \
105
+ --yes \
106
+ --project . \
107
+ --json
108
+ ```
109
+
110
+ EWAI downloads the exact release if it is not already cached, verifies every file and
111
+ the aggregate digest, reconstructs it in a private quarantine, runs the existing pack
112
+ parser, checks for an outside-owned ID collision, then atomically exposes one managed
113
+ active copy under `.ewai-pipeline/packs/team-hub/`. Immutable cached versions remain
114
+ outside pack discovery.
115
+
116
+ An install receipt records the prior and installed version/digest, action, approver and
117
+ time. View safe history with:
118
+
119
+ ```bash
120
+ ewai team resource receipts --project . --json
121
+ ```
122
+
123
+ After installation, use the normal Blueprint preview/apply or design-system
124
+ inspect/resolve/select workflow. The registry never performs that next decision for you.
125
+
126
+ After installation succeeds, use the relevant adoption workflow:
127
+
128
+ - Design-system pack: [resolve and select it](design-systems/design-system-user-guide.md#select-a-project-design-system), then apply it to a delivery.
129
+ - Organisation Blueprint: [review it in Guided Setup](designing-organisation-blueprint-packs.md#review-and-approve-in-guided-setup) and approve its project consequences.
130
+
131
+ An install receipt isn't either selection decision.
132
+
133
+ ## Restore, offline use and recovery
134
+
135
+ Install an older exact version with its digest to perform a deliberate restore. If that
136
+ release is already in the immutable cache, the install can complete while the Hub is
137
+ offline. The cache is not a discovery catalogue and EWAI never chooses a cached update
138
+ automatically.
139
+
140
+ Active-copy promotion uses a bounded backup. If validation or promotion fails, EWAI
141
+ restores the prior active pack and does not write a success receipt. If an ID already
142
+ exists in bundled, personal or non-managed project packs, installation stops and leaves
143
+ that content untouched.
144
+
145
+ Only one install may mutate a project resource workspace at a time. EWAI holds a
146
+ process-owned local lease across download, quarantine, cache, promotion, state and
147
+ receipt publication. A live owner produces a stable `resource-install-busy` refusal;
148
+ a dead owner, or sufficiently old malformed lease metadata, is recovered on the next
149
+ explicit install. EWAI never breaks a lease belonging to a live process merely because
150
+ it is old.
151
+
152
+ To recover operational state, restore the project-local `.ewai-pipeline/team-hub/resources`
153
+ and `.ewai-pipeline/packs/team-hub` folders together from an approved backup. Do not edit
154
+ installed state or receipts by hand. Re-inspect and install the exact retained digest if
155
+ the cache or managed copy cannot be trusted.
156
+
157
+ ## Registry assurance tests
158
+
159
+ EWAI maintainers can find the automated coverage, browser checks and commands in [Registry verification](maintainers/verification-walkthroughs.md#team-hub-resource-registry). Those checks don't replace your organisation's decision to adopt a resource or its deployment checks.
160
+
161
+ ## Current boundaries
162
+
163
+ This release does not support technology/stack/core packs, standalone persona packs,
164
+ premium persona distribution, signatures, assignments, revocation, automatic updates,
165
+ central approval, multi-user editing, remote code execution, EDD licensing, deployment,
166
+ npm publication or release acceptance. A Team Hub receipt is operational evidence, not
167
+ certification that a pack is safe, correct or suitable for a project.
@@ -0,0 +1,83 @@
1
+ # Work through your first feature
2
+
3
+ Follow one fictional feature from a rough request to a reviewed delivery: **export the filtered support-ticket list as CSV**. This is a guided exercise, not a claim that the commands below generate a finished application.
4
+
5
+ Start with [your first session](first-session.md). To implement an export, you'll need a small working ticket-list application; otherwise use the exercise to plan the feature and stop before Build. You and EWAI must inspect the actual stack and existing behaviour before choosing code or tests.
6
+
7
+ ## Ask for an outcome
8
+
9
+ In your AI host, say:
10
+
11
+ > “We need support colleagues to export the filtered ticket list as a CSV. Work through the intent with us using ewai-deliver. Stop before implementation so we can review the plan.”
12
+
13
+ The **ewai-deliver skill** coordinates the stages. The runtime records progress and checks the evidence; it doesn't replace the conversation or make your decisions.
14
+
15
+ A draft intent can start this workflow. Before the Intent stage finishes, agree who can export, which filters and columns apply, which data must be excluded, and how you'll recognise a correct result. Don't treat an AI suggestion as an agreed requirement.
16
+
17
+ For example, you might agree that an authorised colleague can export the filtered rows while a colleague without export permission cannot. Those are tutorial choices: the people responsible for a real project must choose its rules.
18
+
19
+ ## Find the saved work
20
+
21
+ Ask EWAI for the intent's identifier and location. An identifier such as `support/export-filtered-tickets` identifies one item; use the identifier actually returned for your project.
22
+
23
+ You can inspect the next step directly:
24
+
25
+ ```bash
26
+ ewai delivery continue support/export-filtered-tickets --project .
27
+ ```
28
+
29
+ This command **reports the next permitted step** for an existing delivery. It doesn't make the assistant perform that step. Ask the host to continue the work.
30
+
31
+ At each review, open the linked evidence in SPECS. You should be able to see what was agreed, what remains uncertain and why the next action is allowed or blocked.
32
+
33
+ ## Work through the plan
34
+
35
+ Follow [the fourteen-stage explanation](../explanation/delivery-workflow.md) alongside the conversation. For this feature, the important questions include:
36
+
37
+ - Does export use the same filters and permissions as the screen?
38
+ - Which fields could expose data the recipient shouldn't receive?
39
+ - What happens with no matching rows or an export request that fails?
40
+ - Does the proposed implementation fit this application's patterns?
41
+ - Which checks require a person, rather than an automated test?
42
+
43
+ Where interface work is needed, review and select a prototype during UI Design. Selecting it isn't permission to implement it or acceptance of the finished feature.
44
+
45
+ EWAI prepares test expectations from the accepted requirements. Check that the tests prove the behaviour you agreed, rather than a new assumption. If an independent reviewer isn't available, the relevant external stage remains `not-supported`; a host's review of its own work isn't independent validation. The standards sweep still applies.
46
+
47
+ ## Pause without losing the plan
48
+
49
+ If you want to plan now and build later, ask for shelf mode **when starting the delivery**:
50
+
51
+ > “Prepare the export feature in shelf mode. We'll review it before Build.”
52
+
53
+ When returning to that shelved work, ask EWAI to resume it. EWAI performs a **Fit Check** before Build to establish whether the plan still fits the project. A changed permission model, dependency or requirement may require a revised plan rather than immediate implementation.
54
+
55
+ For any ordinary pause, return to the same project and ask where the saved work stands. Don't rewrite delivery-state files to force progress.
56
+
57
+ ## Approve a bounded implementation
58
+
59
+ Only approve Build when you're satisfied with the proposed scope and evidence. For example:
60
+
61
+ > “We approve implementing the filtered CSV export described in this plan, including the permission checks and planned tests. Don't add scheduled exports or change other permissions.”
62
+
63
+ That approval applies to the agreed work, not every improvement discovered during implementation. EWAI records it before Build can begin. The [delivery guide](../developer-delivery-guide.md#preserve-the-build-approval-boundary) explains the direct approval command.
64
+
65
+ During Build, inspect the actual changes and tests. A failing check needs an explanation and a fix within scope—or a new decision—not a rewritten result. Your unrelated edits remain outside the approved change.
66
+
67
+ ## Try the failure case as well as the success
68
+
69
+ In the implemented example, an authorised colleague should receive only the accepted filtered columns and rows. Also try the agreed denied-access case.
70
+
71
+ If a colleague without export permission can download the file, the feature hasn't passed that acceptance check, even if the happy path works. Record what happened and ask EWAI to trace the failure against the accepted requirement. Don't mark Manual QA approved while that requirement is failing.
72
+
73
+ Test data and permissions must be safe and fictional. Don't use a real customer's records to prove this exercise.
74
+
75
+ ## Finish with a human decision
76
+
77
+ After automated checks and configured reviews, Delivery provides the changes, results, known limits and a **Manual QA walkthrough**. A named person performs or accepts that walkthrough and records the observed result. The assistant can't supply human acceptance on their behalf.
78
+
79
+ Retro follows Manual QA and captures reusable learning—for example, a missing CSV safety test or a useful export pattern. Completing Delivery or Retro doesn't itself authorise deploying the application.
80
+
81
+ **Your result:** a traceable feature whose requirements, decisions, implementation, tests and acceptance can be inspected. If you stopped at planning, the result is a reviewed plan, not a delivered feature.
82
+
83
+ Next: [developer delivery operations](../developer-delivery-guide.md), [human approval](../human-approval-and-assurance-guide.md), or [recovery when a step is blocked](../operations/troubleshooting-and-recovery.md).
@@ -0,0 +1,62 @@
1
+ # Your first EWAI session
2
+
3
+ Set up a small, disposable project and find out what EWAI saves for you. You don't need an existing application, a Blueprint or a premium-persona subscription.
4
+
5
+ You'll need [EWAI and its host skills installed](../operations/installation-updating-and-entitlements.md). This tutorial uses a fictional support-ticket tool. It won't create a production service or require customer data.
6
+
7
+ ## 1. Open an empty project
8
+
9
+ Create an empty folder called `ewai-support-demo` somewhere you keep test projects. Open it in your supported AI host. Ask:
10
+
11
+ > “Start EWAI here. We're trying it with a small support-ticket tool.”
12
+
13
+ The first setup choice is where to keep SPECS, the project's readable knowledge folder. For this single-folder example, choose `SPECS` inside the project. Don't choose an unrelated existing knowledge folder.
14
+
15
+ After initialisation, you should be able to find `SPECS/` and `.ewai-pipeline/project.json`. The latter points EWAI to the chosen knowledge location. Creating those files isn't the same as agreeing the project's requirements.
16
+
17
+ If you prefer terminal setup, run this **inside the empty example folder**, then return to the host conversation:
18
+
19
+ ```bash
20
+ ewai init --project . --name "Support demo" --codex
21
+ ewai doctor --project . --json
22
+ ```
23
+
24
+ Use the host option appropriate to your installation. Doctor reports configuration problems; don't use `--force` as a shortcut around one.
25
+
26
+ ## 2. Choose how much setup you need
27
+
28
+ For this exercise, the project is new: there is no existing code to investigate. In a real existing project, EWAI should offer **Archaeology**, which reconstructs missing documentation from evidence. You can decline it and continue through Discovery, recording what you haven't investigated.
29
+
30
+ Premium personas are optional. If you have a licence and want their perspectives in the analysis, [set it up privately](../operations/premium-personas-setup.md) and wait for the installation confirmation before continuing. Don't enter the key in this conversation. Without a licence, continue with the included personas.
31
+
32
+ You don't need Team Hub, Portfolio or an Organisation Blueprint for this exercise. Accepted project standards and approval gates still apply.
33
+
34
+ ## 3. Describe the project
35
+
36
+ Tell EWAI:
37
+
38
+ > “Support colleagues need to record tickets, filter their queue and export the filtered list. For now we're exploring the export. We haven't chosen the application stack. No real customer data belongs in this demo.”
39
+
40
+ Answer questions about the people, outcome, scope and constraints. It's fine to say “we haven't decided” where that's true. Don't accept an invented requirement just to complete a field.
41
+
42
+ Ask EWAI to show you the drafted project purpose and requirements in SPECS. Check that they describe the support colleagues' needs, distinguish unresolved choices and don't claim an application already exists.
43
+
44
+ **Your observable result:** a local knowledge structure, draft project context and a clear next decision. The exact assistant wording will vary with your host; generated text isn't automatically approved project truth.
45
+
46
+ ## 4. Open the dashboard
47
+
48
+ Ask EWAI to open the project dashboard. Use the loopback URL returned for this project; its port can vary.
49
+
50
+ The dashboard lets you inspect saved work and make supported choices. The host conversation performs the guided work. Opening the dashboard doesn't silently start a delivery.
51
+
52
+ The URL begins with `127.0.0.1` and works on the computer running EWAI. A colleague needs to work with you locally or through screen sharing; sending that URL alone won't give them access.
53
+
54
+ ## 5. Check where you are, then stop
55
+
56
+ Ask:
57
+
58
+ > “Show us what's saved, which decisions are still open, and what we'd do next. Don't implement anything.”
59
+
60
+ You should be able to distinguish your draft from an approved intent and find the saved records. If the host can't find its skills, restart it after checking the [host installation](../operations/installation-updating-and-entitlements.md). If Doctor reports inconsistent state, use [recovery guidance](../operations/troubleshooting-and-recovery.md), not manual database edits.
61
+
62
+ You can close the session here. Later, open the same folder and ask EWAI to pick up the saved project. For a delivery exercise, continue with [your first feature](first-delivery.md).