@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.
- package/Docs/README.md +50 -0
- package/Docs/adoption/consultancy-and-multi-project-rollout.md +135 -0
- package/Docs/adoption/non-technical-team-guide.md +126 -0
- package/Docs/archaeology-technology-and-hosting-discovery.md +212 -0
- package/Docs/blast-radius-and-impact-routing-guide.md +325 -0
- package/Docs/blueprints/internal-blueprint-catalogue.md +146 -0
- package/Docs/blueprints/maintaining-organisation-blueprints.md +154 -0
- package/Docs/blueprints/validation-and-troubleshooting.md +168 -0
- package/Docs/cli-reference.md +113 -0
- package/Docs/completed-phase-evidence-amendments.md +74 -0
- package/Docs/consultancy-network-rollout-control-plane-guide.md +202 -0
- package/Docs/context-aware-delivery-companion-guide.md +198 -0
- package/Docs/context-aware-delivery-companion-user-guide.md +184 -0
- package/Docs/context-management-and-token-efficiency.md +113 -0
- package/Docs/design-systems/design-system-implementation-guide.md +85 -0
- package/Docs/design-systems/design-system-pack-authoring-guide.md +95 -0
- package/Docs/design-systems/design-system-review-guide.md +51 -0
- package/Docs/design-systems/design-system-user-guide.md +96 -0
- package/Docs/design-systems/product-owner-guide.md +49 -0
- package/Docs/designing-organisation-blueprint-packs.md +384 -0
- package/Docs/developer-delivery-guide.md +224 -0
- package/Docs/error-reporting-guide.md +110 -0
- package/Docs/error-reporting-provider-guide.md +49 -0
- package/Docs/examples/error-report-adapter.md +70 -0
- package/Docs/examples/meeting-review.md +76 -0
- package/Docs/examples/minimal-design-system.md +67 -0
- package/Docs/examples/prototype-review-inputs.md +175 -0
- package/Docs/examples/reproducible-archaeology-depth-example.md +144 -0
- package/Docs/examples/test-scenario-input.md +68 -0
- package/Docs/examples/worked-examples.md +147 -0
- package/Docs/existing-project-onboarding-guide.md +214 -0
- package/Docs/explanation/core-concepts.md +26 -0
- package/Docs/explanation/delivery-workflow.md +48 -0
- package/Docs/governance/governance-team-guide.md +139 -0
- package/Docs/governed-starter-project-materialisation-guide.md +284 -0
- package/Docs/guide-catalogue.md +117 -0
- package/Docs/guided-discovery-facilitator-guide.md +172 -0
- package/Docs/guided-intent-workspace-guide.md +109 -0
- package/Docs/guided-phase-evidence-drafting-guide.md +119 -0
- package/Docs/human-approval-and-assurance-guide.md +146 -0
- package/Docs/knowledge-proposals-implementer-guide.md +106 -0
- package/Docs/knowledge-proposals-user-guide.md +247 -0
- package/Docs/maintainers/context-benchmarks.md +29 -0
- package/Docs/maintainers/contributing.md +58 -0
- package/Docs/maintainers/evidence-depth-acceptance.md +72 -0
- package/Docs/maintainers/verification-walkthroughs.md +104 -0
- package/Docs/meeting-evidence-implementer-guide.md +132 -0
- package/Docs/meeting-evidence-user-guide.md +200 -0
- package/Docs/operations/dashboard-and-delivery-state.md +153 -0
- package/Docs/operations/dashboard-configuration.md +87 -0
- package/Docs/operations/installation-updating-and-entitlements.md +135 -0
- package/Docs/operations/premium-personas-setup.md +76 -0
- package/Docs/operations/troubleshooting-and-recovery.md +205 -0
- package/Docs/organisation-rollout-guide.md +142 -0
- package/Docs/persona-entitlement-provider-guide.md +199 -0
- package/Docs/persona-guided-prototype-iteration.md +129 -0
- package/Docs/personas/organisation-specific-personas.md +103 -0
- package/Docs/personas/persona-authoring-cookbook.md +176 -0
- package/Docs/personas/persona-engagement-ui.md +133 -0
- package/Docs/personas/persona-governance.md +118 -0
- package/Docs/platform-export-analysis-guide.md +336 -0
- package/Docs/policies/governance-owner-guide.md +36 -0
- package/Docs/policies/implementation-guide.md +42 -0
- package/Docs/policies/organisation-policy-design-gates.md +58 -0
- package/Docs/policies/policy-pack-authoring-guide.md +108 -0
- package/Docs/policies/product-owner-guide.md +43 -0
- package/Docs/policies/technical-owner-guide.md +37 -0
- package/Docs/product-owner-guide.md +327 -0
- package/Docs/project-portfolio-orchestration-guide.md +199 -0
- package/Docs/quality/manual-qa-and-acceptance.md +162 -0
- package/Docs/quality/persona-driven-test-scenarios.md +172 -0
- package/Docs/quality/reproducible-archaeology-depth-review-checklist.md +89 -0
- package/Docs/reference/capabilities-and-project-layout.md +678 -0
- package/Docs/reference/cli-and-configuration.md +398 -0
- package/Docs/reference/contributions-api.md +23 -0
- package/Docs/reference/security-adapter-authoring.md +81 -0
- package/Docs/reference/starter-adapter-authoring.md +74 -0
- package/Docs/repository-source-map-guide.md +381 -0
- package/Docs/reproducible-archaeology-and-discovery-depth.md +292 -0
- package/Docs/screen-prototype-creation-guide.md +324 -0
- package/Docs/security-validation-guide.md +353 -0
- package/Docs/solution-readiness-review-guide.md +123 -0
- package/Docs/standards/project-standards-authoring.md +157 -0
- package/Docs/team-hub-guide.md +162 -0
- package/Docs/team-hub-resource-registry-guide.md +167 -0
- package/Docs/tutorials/first-delivery.md +83 -0
- package/Docs/tutorials/first-session.md +62 -0
- package/Docs/using-lifecycle-hooks.md +381 -0
- package/Docs/working-with-personas.md +274 -0
- package/LICENSE +165 -0
- package/README.md +96 -0
- package/agents-src/claude/ewai-security-reviewer.md +15 -0
- package/bin/ewai +5 -0
- package/config/archaeology-record-families.yaml +59 -0
- package/config/delivery-artifacts.yaml +121 -0
- package/config/delivery-stages.yaml +77 -0
- package/config/design-system.schema.json +46 -0
- package/config/error-reporting.schema.json +79 -0
- package/config/evidence-depth.schema.json +53 -0
- package/config/intent.schema.json +90 -0
- package/config/knowledge-proposals-proposal.schema.json +34 -0
- package/config/lifecycle-event.schema.json +68 -0
- package/config/lifecycle-handler.schema.json +45 -0
- package/config/lifecycle-hook-ack.schema.json +19 -0
- package/config/meeting-evidence-candidate.schema.json +102 -0
- package/config/organisation-policy.schema.json +137 -0
- package/config/pack.schema.json +250 -0
- package/config/persona-pack.schema.json +21 -0
- package/config/persona.schema.json +17 -0
- package/config/policy-evaluation.schema.json +77 -0
- package/config/policy-facts.schema.json +140 -0
- package/config/portfolio.schema.json +68 -0
- package/config/project.schema.json +313 -0
- package/config/prototype-iteration.schema.json +128 -0
- package/config/rollout.schema.json +87 -0
- package/config/security-adapter.schema.json +31 -0
- package/config/security-scan-request.schema.json +64 -0
- package/config/security-scan-response.schema.json +52 -0
- package/config/security-validation-policy.schema.json +74 -0
- package/config/starter-source-acknowledgement.schema.json +13 -0
- package/config/starter-source-adapter.schema.json +38 -0
- package/config/starter-source-request.schema.json +61 -0
- package/package.json +77 -0
- package/packs/core/pack.yaml +7 -0
- package/packs/design-systems/default/experience-promise.md +9 -0
- package/packs/design-systems/default/intentional-review.md +10 -0
- package/packs/design-systems/default/interaction-and-entry.md +9 -0
- package/packs/design-systems/default/meaningful-content-and-states.md +9 -0
- package/packs/design-systems/default/pack.yaml +44 -0
- package/packs/design-systems/default/principles.md +10 -0
- package/packs/personas/core/pack.yaml +7 -0
- package/packs/personas/core/personas/archaeologist.md +37 -0
- package/packs/personas/core/personas/end-user.md +17 -0
- package/packs/personas/core/personas/maintainer.md +17 -0
- package/packs/personas/core/personas/operator.md +17 -0
- package/packs/personas/core/personas/specs-knowledge-curator.md +35 -0
- package/packs/technologies/laravel/pack.yaml +30 -0
- package/packs/technologies/laravel-nuxt/pack.yaml +30 -0
- package/packs/technologies/nuxt/pack.yaml +30 -0
- package/packs/technologies/power-platform/pack.yaml +31 -0
- package/packs/technologies/salesforce/pack.yaml +25 -0
- package/public/app.js +4896 -0
- package/public/apple-touch-icon.png +0 -0
- package/public/assets/backstory-icon.png +0 -0
- package/public/dashboard-navigation.js +98 -0
- package/public/favicon-16.png +0 -0
- package/public/favicon-32.png +0 -0
- package/public/favicon.ico +0 -0
- package/public/index.html +789 -0
- package/public/styles.css +2693 -0
- package/public/team-hub/app.js +202 -0
- package/public/team-hub/index.html +79 -0
- package/public/team-hub/styles.css +90 -0
- package/scripts/publication-check.mjs +140 -0
- package/scripts/setup.mjs +21 -0
- package/skills-src/ewai-archaeology/SKILL.md +334 -0
- package/skills-src/ewai-archaeology/agents/openai.yaml +4 -0
- package/skills-src/ewai-archaeology/references/archaeology-contract.md +201 -0
- package/skills-src/ewai-archaeology/references/lifecycle-reconstruction.md +177 -0
- package/skills-src/ewai-archaeology/references/maximum-detail-reconstruction.md +97 -0
- package/skills-src/ewai-archaeology/references/model-routing.md +26 -0
- package/skills-src/ewai-architecture/SKILL.md +108 -0
- package/skills-src/ewai-architecture/agents/openai.yaml +4 -0
- package/skills-src/ewai-architecture/references/architecture-contract.md +176 -0
- package/skills-src/ewai-context/SKILL.md +68 -0
- package/skills-src/ewai-context/agents/openai.yaml +4 -0
- package/skills-src/ewai-context-import/SKILL.md +118 -0
- package/skills-src/ewai-context-import/agents/openai.yaml +4 -0
- package/skills-src/ewai-context-import/references/context-import-contract.md +106 -0
- package/skills-src/ewai-dashboard-configuration/SKILL.md +20 -0
- package/skills-src/ewai-deliver/SKILL.md +122 -0
- package/skills-src/ewai-deliver/references/delivery-evidence.md +92 -0
- package/skills-src/ewai-deliver/references/phase-routing.md +31 -0
- package/skills-src/ewai-design-system-apply/SKILL.md +27 -0
- package/skills-src/ewai-design-system-apply/agents/openai.yaml +4 -0
- package/skills-src/ewai-design-system-apply/references/application-contract.md +36 -0
- package/skills-src/ewai-design-system-author/SKILL.md +28 -0
- package/skills-src/ewai-design-system-author/agents/openai.yaml +4 -0
- package/skills-src/ewai-design-system-author/references/authoring-contract.md +38 -0
- package/skills-src/ewai-design-system-review/SKILL.md +26 -0
- package/skills-src/ewai-design-system-review/agents/openai.yaml +4 -0
- package/skills-src/ewai-design-system-review/references/review-contract.md +40 -0
- package/skills-src/ewai-error-reporting/SKILL.md +46 -0
- package/skills-src/ewai-error-reporting/agents/openai.yaml +4 -0
- package/skills-src/ewai-error-reporting/references/provider-contract.md +74 -0
- package/skills-src/ewai-evidence-depth/SKILL.md +72 -0
- package/skills-src/ewai-evidence-depth/agents/openai.yaml +4 -0
- package/skills-src/ewai-evidence-depth/references/evidence-depth-contract.md +127 -0
- package/skills-src/ewai-intent/SKILL.md +68 -0
- package/skills-src/ewai-intent/agents/openai.yaml +4 -0
- package/skills-src/ewai-intent/references/intent-contract.md +42 -0
- package/skills-src/ewai-knowledge-proposals/SKILL.md +105 -0
- package/skills-src/ewai-knowledge-proposals/agents/openai.yaml +4 -0
- package/skills-src/ewai-knowledge-proposals/references/proposal-contract.md +59 -0
- package/skills-src/ewai-meeting-evidence/SKILL.md +106 -0
- package/skills-src/ewai-meeting-evidence/agents/openai.yaml +4 -0
- package/skills-src/ewai-meeting-evidence/references/candidate-contract.md +64 -0
- package/skills-src/ewai-organisation-policy/SKILL.md +62 -0
- package/skills-src/ewai-organisation-policy/agents/openai.yaml +4 -0
- package/skills-src/ewai-organisation-policy/references/policy-contract.md +94 -0
- package/skills-src/ewai-palace-housekeeping/SKILL.md +55 -0
- package/skills-src/ewai-palace-housekeeping/agents/openai.yaml +4 -0
- package/skills-src/ewai-persona-entitlement/SKILL.md +60 -0
- package/skills-src/ewai-persona-entitlement/agents/openai.yaml +4 -0
- package/skills-src/ewai-phase-evidence/SKILL.md +79 -0
- package/skills-src/ewai-phase-evidence/agents/openai.yaml +4 -0
- package/skills-src/ewai-pipeline/SKILL.md +130 -0
- package/skills-src/ewai-pipeline/agents/openai.yaml +4 -0
- package/skills-src/ewai-pipeline/references/cli.md +86 -0
- package/skills-src/ewai-pipeline/references/specs-contract.md +16 -0
- package/skills-src/ewai-portfolio/SKILL.md +70 -0
- package/skills-src/ewai-portfolio/agents/openai.yaml +4 -0
- package/skills-src/ewai-portfolio/references/portfolio-contract.md +67 -0
- package/skills-src/ewai-project-discovery/SKILL.md +95 -0
- package/skills-src/ewai-project-discovery/agents/openai.yaml +4 -0
- package/skills-src/ewai-project-discovery/references/discovery-contract.md +34 -0
- package/skills-src/ewai-prototype-iteration/SKILL.md +30 -0
- package/skills-src/ewai-prototype-iteration/agents/openai.yaml +4 -0
- package/skills-src/ewai-prototype-iteration/references/review-contract.md +49 -0
- package/skills-src/ewai-retro/SKILL.md +48 -0
- package/skills-src/ewai-retro/agents/openai.yaml +4 -0
- package/skills-src/ewai-retro/references/asset-routing.md +14 -0
- package/skills-src/ewai-rollout/SKILL.md +74 -0
- package/skills-src/ewai-rollout/agents/openai.yaml +4 -0
- package/skills-src/ewai-rollout/references/rollout-contract.md +74 -0
- package/skills-src/ewai-shape-intents/SKILL.md +84 -0
- package/skills-src/ewai-shape-intents/agents/openai.yaml +4 -0
- package/skills-src/ewai-shape-intents/references/intent-mapping-contract.md +109 -0
- package/skills-src/ewai-solution-readiness/SKILL.md +55 -0
- package/skills-src/ewai-solution-readiness/agents/openai.yaml +4 -0
- package/skills-src/ewai-standards-check/SKILL.md +93 -0
- package/skills-src/ewai-standards-check/agents/openai.yaml +4 -0
- package/skills-src/ewai-standards-check/references/report-contract.md +116 -0
- package/skills-src/ewai-test-scenarios/SKILL.md +94 -0
- package/skills-src/ewai-test-scenarios/agents/openai.yaml +4 -0
- package/skills-src/ewai-test-scenarios/references/scenario-contract.md +88 -0
- package/src/afk-worker.mjs +16 -0
- package/src/archaeology.mjs +1333 -0
- package/src/checkin.mjs +261 -0
- package/src/cli.mjs +2427 -0
- package/src/companion-guidance.mjs +257 -0
- package/src/companion-opening.mjs +62 -0
- package/src/companion.mjs +256 -0
- package/src/context.mjs +210 -0
- package/src/dashboard-preferences.mjs +80 -0
- package/src/delivery-artifacts.mjs +204 -0
- package/src/delivery-documents.mjs +248 -0
- package/src/delivery-gates.mjs +317 -0
- package/src/delivery.mjs +1433 -0
- package/src/design-system-application.mjs +291 -0
- package/src/design-system-authoring.mjs +101 -0
- package/src/design-systems.mjs +466 -0
- package/src/discovery.mjs +1314 -0
- package/src/error-reporting.mjs +323 -0
- package/src/evidence-depth.mjs +543 -0
- package/src/execution-state.mjs +243 -0
- package/src/install.mjs +166 -0
- package/src/intent-dependencies.mjs +117 -0
- package/src/intent-maps.mjs +402 -0
- package/src/intents.mjs +747 -0
- package/src/knowledge-proposals.mjs +717 -0
- package/src/launcher.mjs +51 -0
- package/src/meeting-evidence.mjs +703 -0
- package/src/network-rollout.mjs +386 -0
- package/src/organisation-blueprints.mjs +438 -0
- package/src/organisation-policies.mjs +448 -0
- package/src/packs.mjs +44 -0
- package/src/paths.mjs +62 -0
- package/src/persona-entitlements.mjs +438 -0
- package/src/persona-licence-config.mjs +98 -0
- package/src/persona-website-provider.mjs +134 -0
- package/src/persona-zip.mjs +87 -0
- package/src/personas.mjs +159 -0
- package/src/platform-metadata-analysis.mjs +314 -0
- package/src/policy-design-gates.mjs +623 -0
- package/src/policy-gate-integration.mjs +318 -0
- package/src/portfolio.mjs +509 -0
- package/src/power-platform-source-map.mjs +190 -0
- package/src/project.mjs +449 -0
- package/src/prototype-iterations.mjs +730 -0
- package/src/repository-source-map.mjs +603 -0
- package/src/runtime/afk-conductor.mjs +973 -0
- package/src/runtime/context-assembly.mjs +457 -0
- package/src/runtime/context-benchmarks.mjs +115 -0
- package/src/runtime/dashboard-actions.mjs +109 -0
- package/src/runtime/dashboard-handoffs.mjs +149 -0
- package/src/runtime/dashboard-server.mjs +1272 -0
- package/src/runtime/dashboard.mjs +197 -0
- package/src/runtime/database.mjs +789 -0
- package/src/runtime/error-reporting.mjs +581 -0
- package/src/runtime/evidence-depth-workspace.mjs +412 -0
- package/src/runtime/execution-leases.mjs +299 -0
- package/src/runtime/guided-discovery.mjs +350 -0
- package/src/runtime/guided-intents.mjs +517 -0
- package/src/runtime/impact-analysis.mjs +535 -0
- package/src/runtime/intents.mjs +222 -0
- package/src/runtime/knowledge.mjs +86 -0
- package/src/runtime/lifecycle-hooks.mjs +1239 -0
- package/src/runtime/mcp-config.mjs +110 -0
- package/src/runtime/mcp-server.mjs +1885 -0
- package/src/runtime/palace.mjs +362 -0
- package/src/runtime/paths.mjs +58 -0
- package/src/runtime/persona-engagement.mjs +255 -0
- package/src/runtime/phase-contributions.mjs +594 -0
- package/src/runtime/policy-workspace.mjs +170 -0
- package/src/runtime/prototype-iterations.mjs +235 -0
- package/src/runtime/provider-adapters.mjs +163 -0
- package/src/runtime/repository-index.mjs +838 -0
- package/src/runtime/runs.mjs +185 -0
- package/src/runtime/security-validation.mjs +1230 -0
- package/src/runtime/starter-materialisation.mjs +1155 -0
- package/src/runtime/team-hub-client.mjs +479 -0
- package/src/runtime/team-hub-database.mjs +288 -0
- package/src/runtime/team-hub-server.mjs +191 -0
- package/src/runtime/team-hub.mjs +110 -0
- package/src/runtime/tree-sitter-index.mjs +390 -0
- package/src/runtime/version.mjs +1 -0
- package/src/runtime/work.mjs +633 -0
- package/src/salesforce-source-map.mjs +212 -0
- package/src/security-validation-config.mjs +224 -0
- package/src/solution-readiness.mjs +620 -0
- package/src/starter-materialisation-contract.mjs +407 -0
- package/src/task-graph.mjs +544 -0
- package/src/team-hub-resources.mjs +239 -0
- package/src/team-hub.mjs +242 -0
- package/src/test-scenarios.mjs +622 -0
- package/src/validation-config.mjs +289 -0
- package/templates/SPECS/1.Scope/personas/registry.yaml +12 -0
- package/templates/SPECS/5.Strategy/patterns/context-packet.md +119 -0
- package/templates/SPECS/6.Build/_tracker-template.md +16 -0
- package/templates/SPECS/pipeline.yaml +62 -0
- package/templates/discovery-answers.yaml +86 -0
- package/templates/intent-body.md +21 -0
- package/tests/fixtures/context-benchmarks.json +9 -0
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
# Meeting evidence user guide
|
|
2
|
+
|
|
3
|
+
Use Meeting evidence when you have meeting minutes or an existing transcript and want to turn useful statements into traceable project evidence without treating the conversation as automatic project truth.
|
|
4
|
+
|
|
5
|
+
Ask EWAI: “Help me analyse these meeting notes and show the information we might use as project evidence.” Identify the local file and agree its classification and processing permission before analysis. EWAI uses the `ewai-meeting-evidence` skill to prepare proposed statements and source references. You review every proposal; a separate approval saves the accepted evidence. You don't need to construct the extraction contract yourself. The commands below let you inspect or repeat the individual steps.
|
|
6
|
+
|
|
7
|
+
The workflow is **register → prepare → review → promote**. Each boundary is deliberate: registration records permission, preparation establishes safe processing and personas, review records a named human decision for every candidate, and promotion creates evidence only.
|
|
8
|
+
|
|
9
|
+
## What you need
|
|
10
|
+
|
|
11
|
+
- An initialised EWAI project.
|
|
12
|
+
- A local `.md`, `.markdown`, `.txt`, `.text`, `.vtt` or `.srt` source.
|
|
13
|
+
- Authority to process the material.
|
|
14
|
+
- A classification and an explicit decision about hosted cloud processing.
|
|
15
|
+
- A named reviewer and, later, a named evidence approver.
|
|
16
|
+
|
|
17
|
+
Meeting evidence does not connect to Teams, Zoom or another meeting platform and does not transcribe audio or video. Export or prepare the source before using EWAI.
|
|
18
|
+
|
|
19
|
+
## What the capability produces
|
|
20
|
+
|
|
21
|
+
Meeting evidence does not import a transcript into the project knowledge base.
|
|
22
|
+
It produces a reviewed evidence record that can be cited by later governed work.
|
|
23
|
+
|
|
24
|
+
The workflow deliberately keeps three layers separate:
|
|
25
|
+
|
|
26
|
+
1. **Private source registration** records the local path, classification,
|
|
27
|
+
processing policy and file digest in gitignored EWAI runtime state. This is
|
|
28
|
+
how EWAI can detect a changed or missing source without publishing its
|
|
29
|
+
contents.
|
|
30
|
+
2. **Candidate and review state** records concise proposed observations,
|
|
31
|
+
interpretations, line anchors and the named review decision for every
|
|
32
|
+
candidate. Rejected and deferred material stays here rather than becoming
|
|
33
|
+
project evidence.
|
|
34
|
+
3. **Promoted evidence** writes only accepted and amended statements, safe
|
|
35
|
+
provenance and integrity digests into paired Markdown and JSON files under
|
|
36
|
+
SPECS. The source text, absolute path and rejected statements are not copied
|
|
37
|
+
with them.
|
|
38
|
+
|
|
39
|
+
This means a later intent, plan or decision can cite the meeting evidence while
|
|
40
|
+
still showing where it came from and who accepted it. It does not mean the
|
|
41
|
+
meeting has become unquestionable truth. A human must still reconcile the
|
|
42
|
+
evidence with current product, stakeholder and repository evidence.
|
|
43
|
+
|
|
44
|
+
## How personas participate
|
|
45
|
+
|
|
46
|
+
Persona engagement is contextual rather than a fixed panel attached to every
|
|
47
|
+
meeting. During preparation, EWAI starts with the standard host model and the
|
|
48
|
+
relevant project and EWAI core personas. That baseline is complete and does not
|
|
49
|
+
depend on a paid library.
|
|
50
|
+
|
|
51
|
+
If premium or personal personas are already installed, EWAI can select relevant
|
|
52
|
+
ones for specialist depth. For example, a Product Owner lens may identify an
|
|
53
|
+
unresolved outcome, an Operator may expose a recovery concern, and a privacy
|
|
54
|
+
specialist may flag a statement that should not be promoted without more
|
|
55
|
+
evidence. Changing the source or focus replaces personas that are no longer
|
|
56
|
+
relevant rather than accumulating an ever-growing panel.
|
|
57
|
+
|
|
58
|
+
Every interface shows the personas currently engaged, including:
|
|
59
|
+
|
|
60
|
+
- the persona name and tier: project, core, premium or personal;
|
|
61
|
+
- the concern or signal that caused it to be selected;
|
|
62
|
+
- why it is useful at this point in the workflow.
|
|
63
|
+
|
|
64
|
+
Personas help propose questions, interpretations and candidate coverage. They
|
|
65
|
+
cannot supply missing stakeholder evidence, decide that a statement is true,
|
|
66
|
+
review their own candidates, accept risk, approve Manual QA or authorise a
|
|
67
|
+
release. Those decisions remain with named people.
|
|
68
|
+
|
|
69
|
+
## Ways to use it
|
|
70
|
+
|
|
71
|
+
The same domain workflow is available through four surfaces:
|
|
72
|
+
|
|
73
|
+
| Surface | Best used for | Important boundary |
|
|
74
|
+
| --- | --- | --- |
|
|
75
|
+
| CLI | Repeatable local operation, scripting and inspecting exact JSON results | Commands still require the same named review and promotion confirmation |
|
|
76
|
+
| EWAI skill | Asking an AI host to analyse an allowed source and prepare schema-valid candidates | The skill cannot inspect denied or unknown cloud-processing material and cannot approve its own output |
|
|
77
|
+
| MCP tools | Letting a compatible AI host register, prepare, review or promote through typed operations | The server owns the project root; callers cannot redirect operations to another folder |
|
|
78
|
+
| Mind Palace | Human inspection of sources, provenance, dispositions and active personas | It never previews raw transcript content or silently calls a model |
|
|
79
|
+
|
|
80
|
+
These are adapters over one evidence contract, not four different workflows.
|
|
81
|
+
A candidate prepared through the skill can be inspected in Mind Palace and
|
|
82
|
+
promoted through the CLI without changing its review or authority requirements.
|
|
83
|
+
|
|
84
|
+
## 1. Register the source
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
ewai meeting register ./meeting-notes.txt \
|
|
88
|
+
--project . \
|
|
89
|
+
--label "Product review" \
|
|
90
|
+
--classification internal \
|
|
91
|
+
--cloud-processing allowed \
|
|
92
|
+
--yes \
|
|
93
|
+
--json
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Choose `public`, `internal`, `confidential` or `restricted`. Set cloud processing to `allowed`, `denied` or `unknown`; never select `allowed` merely to make the workflow convenient.
|
|
97
|
+
|
|
98
|
+
EWAI fingerprints the file and stores its absolute path in private gitignored runtime state. It does not copy raw meeting material into SPECS or return the path in public status data.
|
|
99
|
+
|
|
100
|
+
## 2. Check processing permission and prepare analysis
|
|
101
|
+
|
|
102
|
+
EWAI checks that the file hasn't changed and establishes what processing is allowed before the host analyses it. You'll see the source status and relevant persona perspectives. If you want to inspect preparation directly, run:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
ewai meeting prepare <source-id> --project . --json
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Preparation checks that the registered digest is current and returns:
|
|
109
|
+
|
|
110
|
+
- whether hosted processing is permitted;
|
|
111
|
+
- the strict candidate schema and line bounds;
|
|
112
|
+
- safe source facts;
|
|
113
|
+
- the active persona ensemble, including each name, tier, matched concern and engagement reason;
|
|
114
|
+
- the human-authority boundary.
|
|
115
|
+
|
|
116
|
+
See [how personas participate](#how-personas-participate) for selection and authority. Preparation never installs or updates a persona pack; changing the focus or source replaces the active ensemble.
|
|
117
|
+
|
|
118
|
+
If processing is denied or unknown, the result names a manual local handoff. A hosted AI must not open the source.
|
|
119
|
+
|
|
120
|
+
Preparation isn't a successful extraction: proposed statements come next, and none become evidence until reviewed and approved. The host's permitted source, output format and citation limits are defined in the [implementer guide](meeting-evidence-implementer-guide.md); you don't need to author that protocol to use the guided conversation.
|
|
121
|
+
|
|
122
|
+
## 3. Review candidates
|
|
123
|
+
|
|
124
|
+
An AI host using `$ewai-meeting-evidence` can prepare a candidate bundle. Each item separates a concise observed statement from interpretation and cites exact line anchors. Raw transcript excerpts are excluded.
|
|
125
|
+
|
|
126
|
+
Review every candidate as `accepted`, `rejected`, `amended` or `deferred`. Amendments require replacement text and a rationale. Then record the complete named review:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
ewai meeting review <source-id> \
|
|
130
|
+
--input ./meeting-review.json \
|
|
131
|
+
--reviewed-by "Product Owner" \
|
|
132
|
+
--project . \
|
|
133
|
+
--json
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
The input file contains both `bundle` and `dispositions`. Follow the [complete meeting-review example](examples/meeting-review.md) for the candidate schema, the registration ID/digest handoff and the files created after promotion.
|
|
137
|
+
|
|
138
|
+
The input file must be inside the project. A persona cannot perform this review for you.
|
|
139
|
+
|
|
140
|
+
## 4. Inspect in the Mind Palace
|
|
141
|
+
|
|
142
|
+
Open the loopback dashboard, select **Mind Palace**, then choose the keyboard-reachable **Meeting evidence** mode.
|
|
143
|
+
|
|
144
|
+
The source rail shows safe labels, classification, processing policy, digest freshness and counts. For each proposed statement, you can see where it came from in the meeting notes, how the reviewer treated it, and whether it was added to the saved evidence. The context rail always shows the active personas and their tiers. It never shows a raw transcript or absolute source path.
|
|
145
|
+
|
|
146
|
+
“Prepare extraction” returns a contract to the dashboard; it does not call a model. “Promote accepted” appears only for a current, fully reviewed source.
|
|
147
|
+
|
|
148
|
+
## 5. Promote evidence
|
|
149
|
+
|
|
150
|
+
Check status first:
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
ewai meeting status <source-id> --project . --json
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
Then make a separate named decision:
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
ewai meeting promote <source-id> \
|
|
160
|
+
--project . \
|
|
161
|
+
--yes \
|
|
162
|
+
--approved-by "Product Owner" \
|
|
163
|
+
--json
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Only accepted and amended candidates are written to paired files under the configured SPECS root at `3.Evidence/meeting-evidence/<source-id>/`. Rejected and deferred history remains in the private review record.
|
|
167
|
+
|
|
168
|
+
The paired files serve different readers while representing the same accepted
|
|
169
|
+
evidence set:
|
|
170
|
+
|
|
171
|
+
- Markdown provides a readable provenance and review record for people.
|
|
172
|
+
- JSON provides deterministic identifiers, anchors, digests and dispositions
|
|
173
|
+
for EWAI tooling.
|
|
174
|
+
|
|
175
|
+
Promotion checks both the registered source digest and reviewed candidate
|
|
176
|
+
digest before writing. If either changed, it stops instead of silently applying
|
|
177
|
+
an old decision. The paired write is atomic, so an interrupted promotion cannot
|
|
178
|
+
leave Markdown and JSON claiming different outcomes. Repeating an identical
|
|
179
|
+
promotion returns the existing receipt rather than duplicating evidence.
|
|
180
|
+
|
|
181
|
+
If your project uses [lifecycle hooks](using-lifecycle-hooks.md), promotion can notify them through `ewai.meeting-evidence.promoted`. The notification excludes transcript text, the source path and credentials. A hook failure doesn't undo the saved evidence; see the implementer guide for the event format.
|
|
182
|
+
|
|
183
|
+
Promotion does not create a task, intent, requirement, process, policy, persona, architecture decision, Build approval, accepted risk, Manual QA result or release decision. Use the normal governed workflow if the evidence suggests downstream work.
|
|
184
|
+
|
|
185
|
+
## When EWAI stops
|
|
186
|
+
|
|
187
|
+
- **Source stale or missing:** register or review the current file; old review cannot be promoted.
|
|
188
|
+
- **Processing denied or unknown:** use an approved local route; hosted inspection is blocked.
|
|
189
|
+
- **Malformed candidates:** correct the candidate JSON; do not edit around validation.
|
|
190
|
+
- **Incomplete review:** record one decision for every proposed statement: accept it, amend it, reject it or defer it.
|
|
191
|
+
- **Conflicting evidence pair:** preserve it and investigate instead of overwriting it.
|
|
192
|
+
- **Repeated identical promotion:** EWAI returns the existing result idempotently.
|
|
193
|
+
|
|
194
|
+
Accepted meeting evidence can still be incomplete or wrong. Check the sources, interpretation and relevance before using it in a decision. If the notes raise security concerns, route them through [security validation](security-validation-guide.md); promoting the notes doesn't resolve those concerns.
|
|
195
|
+
|
|
196
|
+
## Related guidance
|
|
197
|
+
|
|
198
|
+
- [Working with personas](working-with-personas.md)
|
|
199
|
+
- [Human approval and assurance](human-approval-and-assurance-guide.md)
|
|
200
|
+
- [Meeting evidence implementer guide](meeting-evidence-implementer-guide.md)
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
# Dashboard and delivery-state operations
|
|
2
|
+
|
|
3
|
+
Use this guide to inspect EWAI work, understand which state is authoritative, and recover projections without editing phase status by hand.
|
|
4
|
+
|
|
5
|
+
## Inspecting, queuing and doing work
|
|
6
|
+
|
|
7
|
+
- **Inspect:** status views and `delivery continue` explain recorded progress and the next permitted step.
|
|
8
|
+
- **Queue or hand off:** a supported dashboard action prepares work for the host to pick up.
|
|
9
|
+
- **Execute:** the host performs the requested work through the appropriate skill and guarded operations.
|
|
10
|
+
|
|
11
|
+
A queued handoff isn't a completed feature, and opening a view doesn't run its workflow. Follow the host's conversation and actual activity/results to see whether execution began.
|
|
12
|
+
|
|
13
|
+
## Open the project dashboard
|
|
14
|
+
|
|
15
|
+
Project check-in starts or reuses the local loopback dashboard and returns its actual URL:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
ewai checkin --project .
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
You can also manage the server explicitly:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
ewai server status --project .
|
|
25
|
+
ewai server start --project .
|
|
26
|
+
ewai server stop --project .
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Use the returned URL rather than assuming a fixed port.
|
|
30
|
+
|
|
31
|
+
## Choose the views you need
|
|
32
|
+
|
|
33
|
+
The left sidebar keeps optional tools out of the way until you choose them. Open **Configuration**, select the views you need and save the changes. Portfolio, Team Hub, Governed Rollout, Starters, Policy Gates, Security Validation, Hooks, AI context diagnostics and Contributions all start hidden.
|
|
34
|
+
|
|
35
|
+
Showing a view doesn't connect a service, run a security tool or approve a change. Hiding it doesn't disable a required check. See [Choose what's in your dashboard](dashboard-configuration.md) for the controls and command-line equivalents.
|
|
36
|
+
|
|
37
|
+
## Understand the state layers
|
|
38
|
+
|
|
39
|
+
| Layer | Purpose | Authority |
|
|
40
|
+
| --- | --- | --- |
|
|
41
|
+
| Intent Markdown | Human-readable purpose, journeys, acceptance, constraints, and relationships | Durable project truth |
|
|
42
|
+
| Adjacent intent JSON | Structured companion state for the intent | Durable and must agree with Markdown |
|
|
43
|
+
| `SPECS/6.Build/<slug>/delivery-state.json` | Canonical guarded phase, approval, validation, and run state | Durable delivery truth |
|
|
44
|
+
| `.ewai-pipeline/data/pipeline.sqlite` | Fast dashboard and API projection | Rebuildable operational state |
|
|
45
|
+
| Repository and Palace indexes | Search, graph, and knowledge-navigation projections | Rebuildable operational state |
|
|
46
|
+
|
|
47
|
+
Do not “fix” a disagreement by editing the SQLite database or raw delivery status. Use audit and guarded transition commands.
|
|
48
|
+
|
|
49
|
+
## Inspect delivery
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
ewai delivery status <intent-slug> --project . --json
|
|
53
|
+
ewai delivery continue <intent-slug> --project . --json
|
|
54
|
+
ewai delivery runs <intent-slug> --project . --json
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
`continue` reports the next action without starting it. It neither resumes work nor bypasses a gate. If work is shelf-ready, use the guarded resume operation rather than starting Build directly.
|
|
58
|
+
|
|
59
|
+
## Read phase status accurately
|
|
60
|
+
|
|
61
|
+
- **pending:** the stage has not started.
|
|
62
|
+
- **running:** active work or a human gate is in progress.
|
|
63
|
+
- **completed:** canonical artefacts and a passing hashed gate ledger were recorded.
|
|
64
|
+
- **skipped:** the declared condition did not apply.
|
|
65
|
+
- **not-supported:** a provider-gated stage could not run under the resolved policy.
|
|
66
|
+
- **paused-awaiting-manual-qa:** automated Delivery is complete and human acceptance remains outstanding.
|
|
67
|
+
- **blocked:** a declared issue prevents safe progress.
|
|
68
|
+
|
|
69
|
+
Do not describe `not-supported` as passed or a running Manual QA gate as complete.
|
|
70
|
+
|
|
71
|
+
## Four-way integrity
|
|
72
|
+
|
|
73
|
+
Audit intent copies and delivery alignment:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
ewai intent audit-state --project . --json
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
The audit can recreate a missing adjacent JSON sidecar from authoritative project records, but it reports disagreement rather than silently choosing between conflicting durable states.
|
|
80
|
+
|
|
81
|
+
When drift appears:
|
|
82
|
+
|
|
83
|
+
1. stop phase transitions;
|
|
84
|
+
2. identify which durable file changed and why;
|
|
85
|
+
3. compare with version-control history and the gate evidence;
|
|
86
|
+
4. use a supported delivery or intent operation to reconcile it;
|
|
87
|
+
5. refresh the dashboard projection;
|
|
88
|
+
6. verify the audit is consistent before continuing.
|
|
89
|
+
|
|
90
|
+
## Runs and live activity
|
|
91
|
+
|
|
92
|
+
Command runs explain which host, mode, and phase initiated work. Live activity records material events such as handoffs, decisions, external reviews, responses, blockers, human questions, and completed artefacts.
|
|
93
|
+
|
|
94
|
+
The activity stream shows material changes and decisions, not a token-by-token transcript or periodic “still working” messages. A quiet stream alone doesn't mean that work has stopped.
|
|
95
|
+
|
|
96
|
+
If a command process ended without closing its run record, inspect before marking old records stale:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
ewai delivery runs --mark-stale --hours 6 --project .
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Do not mark a genuinely active long-running operation stale merely because it has been quiet.
|
|
103
|
+
|
|
104
|
+
## Repository index operations
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
ewai index status --project . --json
|
|
108
|
+
ewai index freshness --project . --json
|
|
109
|
+
ewai index refresh --project . --json
|
|
110
|
+
ewai index coverage --project . --json
|
|
111
|
+
ewai index profiles --source organisation --project . --json
|
|
112
|
+
ewai index files --outcome analysis_failed --project . --json
|
|
113
|
+
ewai index search "authentication" --limit 20 --project .
|
|
114
|
+
ewai index graph src/example.mjs --limit 20 --project .
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Refresh before substantive source, Blast Radius, or standards claims when the map is missing or stale. Review outcomes and depths separately: a completed run inventories the supported project tree but does not mean every file was opened or deeply analysed. The **Impact** tab also shows active persona provenance; those perspectives are advisory and do not alter repository facts.
|
|
118
|
+
|
|
119
|
+
## Mind Palace operations
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
ewai palace status --project . --json
|
|
123
|
+
ewai palace refresh --project . --json
|
|
124
|
+
ewai palace search "release decision" --limit 20 --project .
|
|
125
|
+
ewai palace tidiness --project . --json
|
|
126
|
+
ewai palace housekeeping --project .
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
The Palace indexes canonical SPECS sections. Housekeeping is review-led; it must not silently rewrite project knowledge.
|
|
130
|
+
|
|
131
|
+
## Dashboard safety
|
|
132
|
+
|
|
133
|
+
- Bind and use the project-local loopback service as configured.
|
|
134
|
+
- Do not treat dashboard buttons as a weaker approval path; approval actions must create the same durable evidence.
|
|
135
|
+
- Preserve unrelated work and host configuration during restarts.
|
|
136
|
+
- Treat the dashboard as unavailable if you cannot confirm a healthy process and current URL.
|
|
137
|
+
- A stale state file or port is diagnostic evidence, not proof that the service is running.
|
|
138
|
+
|
|
139
|
+
## Related guides
|
|
140
|
+
|
|
141
|
+
- [Developer delivery guide](../developer-delivery-guide.md)
|
|
142
|
+
- [Troubleshooting and recovery](troubleshooting-and-recovery.md)
|
|
143
|
+
- [CLI and configuration reference](../reference/cli-and-configuration.md)
|
|
144
|
+
|
|
145
|
+
## Current contract sources
|
|
146
|
+
|
|
147
|
+
- `src/runtime/dashboard.mjs`
|
|
148
|
+
- `src/runtime/work.mjs`
|
|
149
|
+
- `src/runtime/runs.mjs`
|
|
150
|
+
- `src/runtime/repository-index.mjs`
|
|
151
|
+
- `src/runtime/palace.mjs`
|
|
152
|
+
- `src/delivery.mjs`
|
|
153
|
+
- `src/intents.mjs`
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Choose which dashboard views you need
|
|
2
|
+
|
|
3
|
+
The dashboard starts with its everyday tools. Extra views are off by default, so you don't have to navigate portfolio management, policy controls or integration tools when your project doesn't need them.
|
|
4
|
+
|
|
5
|
+
## Show an extra view
|
|
6
|
+
|
|
7
|
+
1. Open your project's dashboard.
|
|
8
|
+
2. Choose **Configuration** near the bottom of the left sidebar.
|
|
9
|
+
3. Tick the views you need.
|
|
10
|
+
4. Choose **Save changes**.
|
|
11
|
+
5. Open the new item in the sidebar.
|
|
12
|
+
|
|
13
|
+
You can turn a view off again in Configuration. That hides it; it doesn't delete its records or remove required checks.
|
|
14
|
+
|
|
15
|
+
On a small screen, open the navigation drawer to reach Configuration. On a larger screen, **Collapse sidebar** gives the work area more room. That setting is saved for the project too.
|
|
16
|
+
|
|
17
|
+
## What the optional views are for
|
|
18
|
+
|
|
19
|
+
| View | Use it when you need to… | What you still need to set up |
|
|
20
|
+
| --- | --- | --- |
|
|
21
|
+
| **Portfolio** | Compare several local projects and their dependencies. | A project portfolio manifest. |
|
|
22
|
+
| **Team Hub** | Share approved project summaries and reusable resources with your team. | A separately operated Hub and an explicitly approved connection. |
|
|
23
|
+
| **Governed Rollout** | Review adoption and differences across configured projects or organisations. | The rollout's project and baseline configuration. |
|
|
24
|
+
| **Starters** | Review and add your team's approved starter files. | An accepted starter receipt, target mappings and a reviewed source adapter. |
|
|
25
|
+
| **Policy Gates** | Check proposed work against your organisation's configured design policies. | The applicable policy content and project configuration. |
|
|
26
|
+
| **Security Validation** | Review configured security checks, findings and decisions. | Security profiles and the relevant external tools or adapters. |
|
|
27
|
+
| **Hooks** | See whether a configured integration received an EWAI milestone. | A registered handler and an enabled event subscription. |
|
|
28
|
+
| **AI context diagnostics** | Inspect which evidence and personas EWAI selected for an AI task. | A relevant task or context request to inspect. |
|
|
29
|
+
| **Contributions** | Add business or technical context to work that's already in progress. | The relevant delivery and contribution context. |
|
|
30
|
+
|
|
31
|
+
Turning on a view only makes it visible. It doesn't run a scan, connect a service, execute an integration or install anything.
|
|
32
|
+
|
|
33
|
+
Similarly, hiding **Security Validation** or **Policy Gates** doesn't waive requirements already configured for the project.
|
|
34
|
+
|
|
35
|
+
## If you're looking for an older name
|
|
36
|
+
|
|
37
|
+
**Phase Studio** is now labelled **Contributions**.
|
|
38
|
+
|
|
39
|
+
**Context Inspector** is now labelled **AI context diagnostics**.
|
|
40
|
+
|
|
41
|
+
These are different tools. Contributions helps people add information to a delivery; AI context diagnostics helps you inspect what information is being supplied to an AI task.
|
|
42
|
+
|
|
43
|
+
## Manage your persona licence
|
|
44
|
+
|
|
45
|
+
In Configuration, find **Premium personas** and choose **Manage licence**. You can use this even when premium access is active and the setup prompts have disappeared from the sidebar.
|
|
46
|
+
|
|
47
|
+
See [Set up and update premium personas](premium-personas-setup.md).
|
|
48
|
+
|
|
49
|
+
## If settings won't save
|
|
50
|
+
|
|
51
|
+
If the project configuration changed while you were editing it, refresh the settings before saving again. EWAI refuses to overwrite a newer configuration using an older copy.
|
|
52
|
+
|
|
53
|
+
If the configuration can't be read, ask your technical owner to check the configured `pipeline.yaml`. Don't delete the file or replace its approval and standards sections to make the dashboard load.
|
|
54
|
+
|
|
55
|
+
## Configure views from the CLI
|
|
56
|
+
|
|
57
|
+
An AI assistant can help with the same settings through the dashboard-configuration flow. If you're scripting the change yourself, first read the current preferences:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
ewai dashboard preferences --project . --json
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Use the returned `digest` when saving. It identifies the configuration you inspected, so the command can reject a save if someone has changed it since.
|
|
64
|
+
|
|
65
|
+
For example, to show Portfolio:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
ewai dashboard configure --enable portfolio --expected-digest DIGEST --yes --project .
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Replace `DIGEST` with the value returned by the first command. To hide it, use `--disable portfolio`. To change sidebar width, use `--collapse` or `--expand`.
|
|
72
|
+
|
|
73
|
+
The technical view IDs are:
|
|
74
|
+
|
|
75
|
+
| Display name | CLI ID |
|
|
76
|
+
| --- | --- |
|
|
77
|
+
| Portfolio | `portfolio` |
|
|
78
|
+
| Team Hub | `team-hub` |
|
|
79
|
+
| Governed Rollout | `rollout` |
|
|
80
|
+
| Starters | `starters` |
|
|
81
|
+
| Policy Gates | `policies` |
|
|
82
|
+
| Security Validation | `security` |
|
|
83
|
+
| Hooks | `hooks` |
|
|
84
|
+
| AI context diagnostics | `context-inspector` |
|
|
85
|
+
| Contributions | `phase-studio` |
|
|
86
|
+
|
|
87
|
+
These preferences are stored in the project's configured `pipeline.yaml`. They aren't separate permissions, and they don't replace the setup instructions for the feature you've chosen.
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# Install and update EWAI
|
|
2
|
+
|
|
3
|
+
EWAI is installed through npm. Your project's code and SPECS stay in your workspace; premium personas are an optional, separately licensed download.
|
|
4
|
+
|
|
5
|
+
This guide covers the harness installation. For a persona licence, use [Set up and update premium personas](premium-personas-setup.md). For an existing codebase, follow [Existing-project onboarding](../existing-project-onboarding-guide.md) after installation.
|
|
6
|
+
|
|
7
|
+
## Before you start
|
|
8
|
+
|
|
9
|
+
You'll need Node.js 22.5 or newer, npm, Git for project version control, and a supported host: Codex, Claude Code or Google Antigravity's `agy` CLI. Technology packs can have further requirements.
|
|
10
|
+
|
|
11
|
+
EWAI includes its own parsers. Don't add Tree-sitter dependencies to your application just to use the harness.
|
|
12
|
+
|
|
13
|
+
## Install globally
|
|
14
|
+
|
|
15
|
+
This makes `ewai` available from your project folders:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm install --global @thebackstoryis/engineering-with-ai
|
|
19
|
+
ewai install --host auto
|
|
20
|
+
ewai
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
The installation command makes the host skills and MCP connection available. You can choose one host explicitly with `--host codex`, `--host claude` or `--host antigravity`.
|
|
24
|
+
|
|
25
|
+
If npm returns `E404`, check the exact package name and configured registry first. That response alone doesn't tell you whether the package is unpublished, unavailable to your account or missing its requested version. If the intended package still isn't available, contact the publisher; don't install a similarly named package as a substitute.
|
|
26
|
+
|
|
27
|
+
An authentication/access failure is also separate from a persona licence. Check npm's own error before changing account settings. Never enter a persona key in an npm command.
|
|
28
|
+
|
|
29
|
+
### Keep the harness version with one project
|
|
30
|
+
|
|
31
|
+
For a project-local development dependency:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
npm install --save-dev @thebackstoryis/engineering-with-ai
|
|
35
|
+
npx ewai install --project . --host auto
|
|
36
|
+
npx ewai
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Review and commit the package and lockfile changes through your normal project process.
|
|
40
|
+
|
|
41
|
+
### Run without a global installation
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
npx --yes @thebackstoryis/engineering-with-ai@latest
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
This asks npm to obtain and run the package. It doesn't create a standing global installation.
|
|
48
|
+
|
|
49
|
+
## Start your project
|
|
50
|
+
|
|
51
|
+
Open your project folder in the host and start EWAI. Agree where its SPECS folder should live before initialising it. For existing code, EWAI offers Archaeology to reconstruct missing project knowledge; you can accept or decline it.
|
|
52
|
+
|
|
53
|
+
For explicit terminal setup:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
ewai init --project /path/to/project --name "Example Product" --codex
|
|
57
|
+
ewai doctor --project /path/to/project --json
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Initialisation preserves existing files unless you deliberately supply `--force`. Don't use that option to clear a setup error without inspecting what it would replace.
|
|
61
|
+
|
|
62
|
+
A multi-repository workspace can keep SPECS separately:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
ewai init \
|
|
66
|
+
--project /path/to/workspace \
|
|
67
|
+
--name "Example Product" \
|
|
68
|
+
--specs project-knowledge/SPECS \
|
|
69
|
+
--init-specs-repo
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
The locator in `.ewai-pipeline/project.json` records the chosen SPECS location.
|
|
73
|
+
|
|
74
|
+
After initialisation, check that `.ewai-pipeline/project.json` points to your chosen SPECS folder and that the folder exists. Open the host conversation to complete Discovery; those files alone don't mean onboarding is finished. Follow [your first session](../tutorials/first-session.md) for the observable steps.
|
|
75
|
+
|
|
76
|
+
## Update the harness
|
|
77
|
+
|
|
78
|
+
Use the npm update action offered by EWAI's check-in. For a global installation, an explicit update is:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
npm install --global @thebackstoryis/engineering-with-ai@latest
|
|
82
|
+
ewai install --host auto
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
For a project dependency, update through its package manager and review the lockfile. Refresh the intended host installation afterwards.
|
|
86
|
+
|
|
87
|
+
Start a fresh session and check that it reports the expected version. If the dashboard is still running an older runtime, use the [dashboard recovery instructions](troubleshooting-and-recovery.md#dashboard-will-not-start).
|
|
88
|
+
|
|
89
|
+
A source checkout is for developing EWAI, not updating the installed harness. Pulling a repository doesn't update your npm installation.
|
|
90
|
+
|
|
91
|
+
## Check that it's ready
|
|
92
|
+
|
|
93
|
+
For a diagnostic report:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
ewai checkin --project . --json
|
|
97
|
+
ewai doctor --project . --json
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Check the result for an actionable problem: a dashboard that didn't start, inconsistent project state, a missing tool or an update that needs your decision. An unavailable network check means EWAI couldn't establish that fact; it doesn't by itself mean your project or licence is broken.
|
|
101
|
+
|
|
102
|
+
Check-in can start or reuse the dashboard, refresh derived state and check the persona licence. It doesn't automatically download persona updates. A confirmed expiry of the matching team licence can remove the unchanged managed pack; see [subscription expiry](premium-personas-setup.md#what-happens-when-annual-access-expires).
|
|
103
|
+
|
|
104
|
+
## Where host configuration lives
|
|
105
|
+
|
|
106
|
+
| Host | Project skills | Project MCP configuration |
|
|
107
|
+
| --- | --- | --- |
|
|
108
|
+
| Codex | `.agents/skills/` | `.codex/config.toml` |
|
|
109
|
+
| Claude Code | `.claude/skills/` | `.mcp.json` |
|
|
110
|
+
| Google Antigravity | `.agents/skills/` | `.agents/mcp_config.json` |
|
|
111
|
+
|
|
112
|
+
EWAI merges its entries with unrelated host configuration. Don't replace the entire file to update one entry. After an update, check that your other MCP servers are still present.
|
|
113
|
+
|
|
114
|
+
## Premium personas
|
|
115
|
+
|
|
116
|
+
Enter your licence through **Configuration → Premium personas → Manage licence** in the dashboard, or use the hidden terminal prompt:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
ewai persona premium configure --project .
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Submitting a valid key verifies access, saves it privately and installs the pack immediately. Wait for the readiness confirmation before relying on it for analysis. Later updates need a separate decision; normal session checks don't download them.
|
|
123
|
+
|
|
124
|
+
Your own personal and project personas aren't part of the managed pack. See the [setup guide](premium-personas-setup.md) for failures, updates and the difference between individual and team expiry. The [provider reference](../persona-entitlement-provider-guide.md) covers archive validation and storage for implementers.
|
|
125
|
+
|
|
126
|
+
## Related guides
|
|
127
|
+
|
|
128
|
+
- [Choose dashboard views](dashboard-configuration.md)
|
|
129
|
+
- [Dashboard and delivery state](dashboard-and-delivery-state.md)
|
|
130
|
+
- [Troubleshooting and recovery](troubleshooting-and-recovery.md)
|
|
131
|
+
- [Working with personas](../working-with-personas.md)
|
|
132
|
+
|
|
133
|
+
## Implementation references
|
|
134
|
+
|
|
135
|
+
`src/install.mjs`, `src/project.mjs`, `src/checkin.mjs`, `src/persona-entitlements.mjs`, `src/runtime/mcp-config.mjs`, `tests/install.test.mjs` and `tests/checkin.test.mjs`.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Set up and update premium personas
|
|
2
|
+
|
|
3
|
+
If you have a persona licence, you can enter it in the dashboard and install the pack straight away. You don't need to clone a repository or download files by hand.
|
|
4
|
+
|
|
5
|
+
You can also keep using EWAI's core personas without a premium licence.
|
|
6
|
+
|
|
7
|
+
## Enter your key
|
|
8
|
+
|
|
9
|
+
Start EWAI in your project and open the dashboard link it gives you. If the project hasn't been set up yet, let EWAI create the agreed SPECS structure first.
|
|
10
|
+
|
|
11
|
+
1. Open **Configuration** in the dashboard's left sidebar.
|
|
12
|
+
2. Under **Premium personas**, choose **Manage licence**.
|
|
13
|
+
3. Enter the key from your Conversational Coding account or team invitation.
|
|
14
|
+
4. Submit the form. EWAI verifies the licence, saves it privately on your computer and downloads the pack.
|
|
15
|
+
5. Wait for **Premium personas are ready**. The result includes the installed version and persona count.
|
|
16
|
+
|
|
17
|
+
Submitting the key authorises that installation. You don't need a second download step after setup succeeds. The new personas can be used in the same session.
|
|
18
|
+
|
|
19
|
+
The licence is stored in private user-level EWAI configuration, outside your project. Don't paste it into a chat, command argument or SPECS document.
|
|
20
|
+
|
|
21
|
+
**Set up premium personas** may also appear in the sidebar when premium access isn't active. Once access is valid and the installed pack is verified, the learning and setup prompts disappear. **Configuration → Manage licence** remains available.
|
|
22
|
+
|
|
23
|
+
### Prefer a terminal?
|
|
24
|
+
|
|
25
|
+
In a genuine interactive terminal, run:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
ewai persona premium configure --project .
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Type the key into the hidden prompt. This also verifies and installs immediately. Don't add the key as a command-line argument or ask an AI assistant to collect it in chat.
|
|
32
|
+
|
|
33
|
+
## Before analysing an existing codebase
|
|
34
|
+
|
|
35
|
+
If you want premium perspectives included in Archaeology, finish setup before accepting that investigation. If setup fails, retry it or deliberately continue with core personas. Installing a pack later doesn't retroactively change an analysis that's already been completed.
|
|
36
|
+
|
|
37
|
+
Archaeology itself is optional. You can decline it and return to it later.
|
|
38
|
+
|
|
39
|
+
## Get later updates
|
|
40
|
+
|
|
41
|
+
Each new session checks access and the available pack version. That check doesn't automatically download a new release.
|
|
42
|
+
|
|
43
|
+
When EWAI offers an update, approve it if you want the new version. For an explicit terminal update:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
ewai persona premium sync --project . --yes
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
EWAI checks the archive and its contents before replacing the installed pack. If the verified pack is already current, it doesn't download it again.
|
|
50
|
+
|
|
51
|
+
Keep your own personas in your personal or project library, not in the managed premium cache. Updates shouldn't overwrite work you've created yourself; local edits inside the managed cache can instead block an update.
|
|
52
|
+
|
|
53
|
+
## If setup doesn't finish
|
|
54
|
+
|
|
55
|
+
| What happened | What to do |
|
|
56
|
+
| --- | --- |
|
|
57
|
+
| The key couldn't be verified | Copy it again from your account or invitation. Check your connection and retry. An unavailable service isn't proof that your key is invalid. |
|
|
58
|
+
| The licence was saved, but the pack wasn't installed | Retry setup when the connection is available. The saved key and the installed pack are separate: saving the key alone doesn't mean the personas are ready. |
|
|
59
|
+
| Installation finished, but readiness couldn't be confirmed | Don't treat that as a successful setup. Retry verification or choose to continue with core personas. |
|
|
60
|
+
| The service reports the three-machine limit | Review the machines in My Account and deactivate one you no longer use before retrying. |
|
|
61
|
+
| EWAI reports local changes in the premium cache | Preserve and inspect those changes. Don't force an update over them or delete the cache as a first response. |
|
|
62
|
+
| The installed pack belongs to a different seat | Review which licence and pack you intend to use. Replacement needs an explicit decision; it isn't a routine update. |
|
|
63
|
+
|
|
64
|
+
For detailed storage, replacement and validation behaviour, use the [provider reference](../persona-entitlement-provider-guide.md). Its implementation detail is separate from this setup path.
|
|
65
|
+
|
|
66
|
+
## What happens when annual access expires?
|
|
67
|
+
|
|
68
|
+
**Individual subscription:** you can keep using the installed personas. You no longer receive updates or new downloads after access expires.
|
|
69
|
+
|
|
70
|
+
**Team subscription:** when the service confirms expiry for the matching team seat, EWAI stops using that managed pack and removes it if safe to do so. If the files have been modified or safe cleanup is blocked, it preserves them for investigation but excludes the expired pack from persona selection.
|
|
71
|
+
|
|
72
|
+
Your personal and project personas aren't part of that cleanup.
|
|
73
|
+
|
|
74
|
+
A failed connection or an unverified response isn't confirmed expiry and mustn't trigger deletion. However, a team expiry already confirmed earlier remains in effect during a later outage.
|
|
75
|
+
|
|
76
|
+
This matters even when you're only checking status: a licence check can enforce confirmed team expiry. It isn't an unconditional “read-only” operation.
|