@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,162 @@
|
|
|
1
|
+
# Manual QA and acceptance guide
|
|
2
|
+
|
|
3
|
+
Use this guide to turn a technically completed delivery into evidence that an authorised person can inspect and accept.
|
|
4
|
+
|
|
5
|
+
## Manual QA has a distinct job
|
|
6
|
+
|
|
7
|
+
Automated tests, standards checks, and external review answer important questions about implementation. Manual QA asks whether the delivered outcome works for people and operations in the intended context.
|
|
8
|
+
|
|
9
|
+
It remains a separate human gate after the Delivery phase. A green pipeline cannot approve it automatically.
|
|
10
|
+
|
|
11
|
+
## Define the acceptance decision
|
|
12
|
+
|
|
13
|
+
Before writing steps, state:
|
|
14
|
+
|
|
15
|
+
- the outcome being accepted;
|
|
16
|
+
- the user or operator journey;
|
|
17
|
+
- the environment and version;
|
|
18
|
+
- included and excluded scope;
|
|
19
|
+
- known limitations and residual risks;
|
|
20
|
+
- who may accept the result;
|
|
21
|
+
- what happens after pass, failure, or partial acceptance.
|
|
22
|
+
|
|
23
|
+
Do not ask a tester to “check everything”.
|
|
24
|
+
|
|
25
|
+
## Prepare a reproducible walkthrough
|
|
26
|
+
|
|
27
|
+
Include:
|
|
28
|
+
|
|
29
|
+
1. prerequisites and access;
|
|
30
|
+
2. safe test data and reset conditions;
|
|
31
|
+
3. exact starting state;
|
|
32
|
+
4. numbered actions in user language;
|
|
33
|
+
5. expected observable outcomes;
|
|
34
|
+
6. negative, boundary, and recovery cases;
|
|
35
|
+
7. accessibility and supported-device checks where relevant;
|
|
36
|
+
8. operational observation, logs, or alerts where relevant;
|
|
37
|
+
9. cleanup and data-retention instructions;
|
|
38
|
+
10. a place to record actual results and evidence.
|
|
39
|
+
|
|
40
|
+
Separate setup commands from the behaviour the tester is judging.
|
|
41
|
+
|
|
42
|
+
## Choose scenarios from impact
|
|
43
|
+
|
|
44
|
+
Cover at least:
|
|
45
|
+
|
|
46
|
+
- the primary happy path;
|
|
47
|
+
- one important alternate or error path;
|
|
48
|
+
- permissions and organisation boundaries where applicable;
|
|
49
|
+
- user-visible consequences identified through [Blast Radius and Impact Routing](../blast-radius-and-impact-routing-guide.md);
|
|
50
|
+
- data creation, change, and deletion semantics;
|
|
51
|
+
- recovery from a realistic interruption;
|
|
52
|
+
- any accepted technical-debt or migration edge.
|
|
53
|
+
|
|
54
|
+
When a reviewed persona scenario pack exists, use [Persona-driven test scenarios](persona-driven-test-scenarios.md) to select every accepted `manual-qa` or hybrid route assigned to the walkthrough. Preserve its `PTS-###` ID in the result table. A persona may have exposed the scenario, but only the named tester can record the actual result and approve the Manual QA gate.
|
|
55
|
+
|
|
56
|
+
For a low-risk documentation change, the walkthrough may be a role-based read-through. For a sensitive public capability, it should include deeper security, privacy, accessibility, resilience, and operational evidence.
|
|
57
|
+
|
|
58
|
+
## Record evidence
|
|
59
|
+
|
|
60
|
+
A project-owned QA evidence file should contain:
|
|
61
|
+
|
|
62
|
+
```markdown
|
|
63
|
+
# Manual QA evidence
|
|
64
|
+
|
|
65
|
+
- Intent: <slug>
|
|
66
|
+
- Build or commit: <revision>
|
|
67
|
+
- Environment: <environment>
|
|
68
|
+
- Tester: <name and role>
|
|
69
|
+
- Date: <time>
|
|
70
|
+
|
|
71
|
+
## Results
|
|
72
|
+
|
|
73
|
+
| Scenario | Expected | Actual | Result | Evidence |
|
|
74
|
+
| --- | --- | --- | --- | --- |
|
|
75
|
+
|
|
76
|
+
## Limitations and residual risks
|
|
77
|
+
|
|
78
|
+
## Decision
|
|
79
|
+
|
|
80
|
+
Pass, fail, or returned for correction—with rationale.
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Use links, screenshots, logs, or recordings only when permitted by data and retention policy. Do not place secrets or unnecessary personal data in SPECS.
|
|
84
|
+
|
|
85
|
+
## Fail, fix, and rerun
|
|
86
|
+
|
|
87
|
+
When a scenario fails:
|
|
88
|
+
|
|
89
|
+
1. preserve the observation and evidence;
|
|
90
|
+
2. classify severity and affected scope;
|
|
91
|
+
3. decide whether the issue blocks acceptance;
|
|
92
|
+
4. return material scope or design changes to the appropriate delivery phase;
|
|
93
|
+
5. implement an authorised correction;
|
|
94
|
+
6. rerun affected automated checks, standards review, and Manual QA;
|
|
95
|
+
7. retain the original failure and the successful retest.
|
|
96
|
+
|
|
97
|
+
Do not edit the evidence to make the first run appear successful.
|
|
98
|
+
|
|
99
|
+
## Approve the human gate
|
|
100
|
+
|
|
101
|
+
After the authorised tester accepts the evidence:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
ewai delivery approve-manual-qa <intent-slug> \
|
|
105
|
+
--project . \
|
|
106
|
+
--yes \
|
|
107
|
+
--approved-by "Tester or accountable owner" \
|
|
108
|
+
--evidence SPECS/6.Build/<intent-slug>/qa-evidence.md \
|
|
109
|
+
--notes "Accepted result and limitations"
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
The evidence file must already exist inside the project. Approval records its hash so later changes are detectable.
|
|
113
|
+
|
|
114
|
+
## Acceptance is not deployment
|
|
115
|
+
|
|
116
|
+
Manual QA approval confirms the defined acceptance decision. It does not automatically:
|
|
117
|
+
|
|
118
|
+
- deploy to production;
|
|
119
|
+
- approve a destructive migration;
|
|
120
|
+
- authorise a release outside the project's change process;
|
|
121
|
+
- certify regulatory compliance;
|
|
122
|
+
- accept a later changed build;
|
|
123
|
+
- close the retrospective.
|
|
124
|
+
|
|
125
|
+
Follow the project's release and operational governance after acceptance.
|
|
126
|
+
|
|
127
|
+
## Reader-based QA for documentation
|
|
128
|
+
|
|
129
|
+
For guide or policy changes, ask representative readers to complete tasks:
|
|
130
|
+
|
|
131
|
+
- Can they find the correct starting page?
|
|
132
|
+
- Can they distinguish requirements from recommendations?
|
|
133
|
+
- Do they know what they own and where to stop?
|
|
134
|
+
- Can they follow every link and command example?
|
|
135
|
+
- Can they identify project truth, runtime state, and approval evidence?
|
|
136
|
+
- Do they know how to recover from likely mistakes?
|
|
137
|
+
|
|
138
|
+
## Acceptance checklist
|
|
139
|
+
|
|
140
|
+
- [ ] Decision, scope, environment, revision, and tester are recorded.
|
|
141
|
+
- [ ] Steps are reproducible and outcomes observable.
|
|
142
|
+
- [ ] Important negative, boundary, and recovery cases are covered.
|
|
143
|
+
- [ ] Actual results and failures are retained honestly.
|
|
144
|
+
- [ ] Residual risks and untested areas are visible.
|
|
145
|
+
- [ ] The approver has authority for this outcome.
|
|
146
|
+
- [ ] Evidence is project-owned and free of inappropriate sensitive data.
|
|
147
|
+
- [ ] Deployment and Retro remain separate follow-on decisions.
|
|
148
|
+
|
|
149
|
+
## Related guides
|
|
150
|
+
|
|
151
|
+
- [Developer delivery guide](../developer-delivery-guide.md)
|
|
152
|
+
- [Blast Radius and Impact Routing](../blast-radius-and-impact-routing-guide.md)
|
|
153
|
+
- [Persona-driven test scenarios](persona-driven-test-scenarios.md)
|
|
154
|
+
- [Human approval and assurance](../human-approval-and-assurance-guide.md)
|
|
155
|
+
- [Governance team guide](../governance/governance-team-guide.md)
|
|
156
|
+
|
|
157
|
+
## Current contract sources
|
|
158
|
+
|
|
159
|
+
- `src/delivery.mjs`
|
|
160
|
+
- `src/delivery-gates.mjs`
|
|
161
|
+
- `config/delivery-artifacts.yaml`
|
|
162
|
+
- `tests/delivery.test.mjs`
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# Persona-driven test scenarios
|
|
2
|
+
|
|
3
|
+
Use persona-driven scenarios when a technically plausible test plan may still miss how a user, operator, maintainer, or specialist experiences the outcome. The process is especially useful for permissions, accessibility, privacy, recovery, operational failure, misuse, adversarial behaviour, and role-specific edge cases.
|
|
4
|
+
|
|
5
|
+
The process does not let personas invent requirements. Evidence establishes the expected behaviour; personas challenge its coverage; a named person accepts or rejects the resulting scenario; and the selected proof route establishes what happened.
|
|
6
|
+
|
|
7
|
+
Ask EWAI: “Review the test coverage for this intent from the users' and operators' perspectives. Show me what we might be missing.” The `ewai-test-scenarios` skill prepares the brief and uses relevant installed personas. You review the proposed scenarios, check their expected results against accepted requirements and decide which to record. The commands below are optional controls for engineers who want to inspect or repeat the process.
|
|
8
|
+
|
|
9
|
+
## Understand the authority chain
|
|
10
|
+
|
|
11
|
+
Keep five layers separate:
|
|
12
|
+
|
|
13
|
+
1. **Authoritative sources** define accepted journeys, criteria, constraints, standards, planning claims, and test obligations.
|
|
14
|
+
2. **Contextual impact evidence** identifies observed or inferred areas worth investigating but does not create an expected outcome by itself.
|
|
15
|
+
3. **Persona contributions** expose concerns, gaps, or hypotheses.
|
|
16
|
+
4. **Human decisions** accept, block, supersede, or retain a proposal as a hypothesis.
|
|
17
|
+
5. **Test evidence** proves the accepted observable result through automation, Manual QA, specialist assurance, or representative-user validation.
|
|
18
|
+
|
|
19
|
+
If a proposed expected result has no authoritative source, keep it as a blocked or unresolved hypothesis. Return to the Product Owner or relevant accountable person rather than quietly promoting it into the test plan.
|
|
20
|
+
|
|
21
|
+
## Prepare the scenario brief
|
|
22
|
+
|
|
23
|
+
EWAI prepares the current concern during the conversation. You can also run preparation directly:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
ewai test-scenarios prepare <intent-slug> \
|
|
27
|
+
--focus "permissions, recovery, and accessibility" \
|
|
28
|
+
--project . \
|
|
29
|
+
--json
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Preparation reads project-owned intent and delivery evidence. It returns:
|
|
33
|
+
|
|
34
|
+
- stable source references and a source digest;
|
|
35
|
+
- contextual impact evidence when recorded;
|
|
36
|
+
- up to four active installed personas;
|
|
37
|
+
- each persona's name, tier, matched concerns, and engagement reason;
|
|
38
|
+
- honest availability for core, premium, personal, and project tiers;
|
|
39
|
+
- the allowed scenario, status, automation, and evidence-route values.
|
|
40
|
+
|
|
41
|
+
Preparation is read-only. It does not call an LLM, download premium content, mutate an approval, or create a scenario pack.
|
|
42
|
+
|
|
43
|
+
## Work with the active personas
|
|
44
|
+
|
|
45
|
+
EWAI shows which personas are active and the concern each is examining before they contribute challenges. Check that these perspectives cover the problem you want reviewed; ask for a different focus if they don't.
|
|
46
|
+
|
|
47
|
+
When you change the focus, EWAI prepares a new relevant set rather than accumulating personas from earlier topics. If you're using the CLI, run preparation again for the new focus. A project or premium persona is prioritised when its metadata matches, but its tier never grants authority.
|
|
48
|
+
|
|
49
|
+
Premium personas participate only when already installed. If premium is unavailable, you can continue with relevant project, personal and core personas. This workflow doesn't install or synchronise premium content; use the separate [premium setup](../operations/premium-personas-setup.md) workflow if you want to add it.
|
|
50
|
+
|
|
51
|
+
For each proposed scenario, capture:
|
|
52
|
+
|
|
53
|
+
- stable `PTS-###` ID and plain-language title;
|
|
54
|
+
- scenario type;
|
|
55
|
+
- cited authoritative source references;
|
|
56
|
+
- persona ID and the concern it contributed;
|
|
57
|
+
- preconditions and user- or operator-centred actions;
|
|
58
|
+
- observable expected results;
|
|
59
|
+
- evidence route and automation classification;
|
|
60
|
+
- planned test file and test name where automation applies;
|
|
61
|
+
- owner and status.
|
|
62
|
+
|
|
63
|
+
Use the [complete scenario input example](../examples/test-scenario-input.md) and [v1 candidate contract](../../skills-src/ewai-test-scenarios/references/scenario-contract.md#candidate-schema). The `ewai-test-scenarios` skill normally prepares the input with you; these references are available without first finding an installed skill directory.
|
|
64
|
+
|
|
65
|
+
## Review before recording
|
|
66
|
+
|
|
67
|
+
A named reviewer should:
|
|
68
|
+
|
|
69
|
+
1. remove duplicate scenarios without losing distinct concerns;
|
|
70
|
+
2. compare every expected result with its cited source;
|
|
71
|
+
3. preserve disagreements and missing authority as gaps;
|
|
72
|
+
4. decide whether the scenario is accepted, blocked, superseded, or a hypothesis;
|
|
73
|
+
5. select the credible proof route;
|
|
74
|
+
6. name the owner and planned automated test where applicable;
|
|
75
|
+
7. confirm that human evidence has not been simulated.
|
|
76
|
+
|
|
77
|
+
Then record the project-local candidate:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
ewai test-scenarios record <intent-slug> \
|
|
81
|
+
--input <project-relative-candidate.json> \
|
|
82
|
+
--reviewed-by "Product Owner" \
|
|
83
|
+
--project . \
|
|
84
|
+
--json
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
EWAI writes paired `test-scenarios.json` and `test-scenarios.md` files under the intent's Build directory. JSON is authoritative. The Markdown copy is readable evidence whose digest is checked; do not edit it as a shortcut.
|
|
88
|
+
|
|
89
|
+
## Read status and recover safely
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
ewai test-scenarios status <intent-slug> --project . --json
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
| Status | Meaning | Safe response |
|
|
96
|
+
| --- | --- | --- |
|
|
97
|
+
| `missing` | No reviewed pack exists | Prepare, challenge, review, and record. |
|
|
98
|
+
| `recorded` | The JSON, Markdown, digest, and current sources match | Use accepted scenarios for planning and assigned tests. |
|
|
99
|
+
| `stale` | An authoritative source changed after review | Prepare again and obtain a fresh named review. Preserve the old record for comparison. |
|
|
100
|
+
| `invalid` | The pair, schema, slug, or digest cannot be trusted | Investigate the files and recovery evidence. Do not infer truth from Markdown. |
|
|
101
|
+
|
|
102
|
+
Open the work item's **Test scenarios** tab to see which behaviours have reviewed scenarios, where gaps remain and how each scenario will be checked. The panel labelled **Coverage loom** shows this coverage; it doesn't run tests. You can inspect the supporting evidence and active personas, then filter the view without changing the recorded work. Preparing, recording and running scenarios happens through the EWAI conversation or CLI, not this read-only panel.
|
|
103
|
+
|
|
104
|
+
## Build automated tests
|
|
105
|
+
|
|
106
|
+
During Build, select only scenarios that are:
|
|
107
|
+
|
|
108
|
+
- `accepted`;
|
|
109
|
+
- classified as `automated` or `hybrid`;
|
|
110
|
+
- assigned to the current task through a planned test inside its write set.
|
|
111
|
+
|
|
112
|
+
For each scenario:
|
|
113
|
+
|
|
114
|
+
1. read the accepted source and expected result (the test's **oracle**: what would demonstrate correct behaviour);
|
|
115
|
+
2. write and capture the failing test first;
|
|
116
|
+
3. preserve the accepted oracle;
|
|
117
|
+
4. make the smallest implementation change;
|
|
118
|
+
5. run the focused green command;
|
|
119
|
+
6. run refactor and standards checks;
|
|
120
|
+
7. report the scenario ID, test name, result, and remaining human route.
|
|
121
|
+
|
|
122
|
+
Never weaken the expected result to match current code. If implementation reveals that the oracle is wrong, return to the accountable reviewer and source evidence.
|
|
123
|
+
|
|
124
|
+
## Choose the right evidence route
|
|
125
|
+
|
|
126
|
+
| Route | Use it for | Authority boundary |
|
|
127
|
+
| --- | --- | --- |
|
|
128
|
+
| `automated` | Deterministic behaviour that code can observe reliably | A passing test proves its stated assertion, not the whole user outcome. |
|
|
129
|
+
| `manual-qa` | User-visible flow, layout, assistive technology, real interaction, or environment-specific behaviour | A named tester records actual evidence and approves the Manual QA gate separately. |
|
|
130
|
+
| `specialist-assurance` | Security, privacy, accessibility, legal, clinical, financial, or other accountable specialist judgement | A persona may improve questions but cannot supply the assurance decision. |
|
|
131
|
+
| `representative-user` | Language, usability, workflow fit, adoption, or lived experience | Real representative participants are required. |
|
|
132
|
+
|
|
133
|
+
A hybrid scenario may include automation and a human route. Automation does not mark the human portion passed.
|
|
134
|
+
|
|
135
|
+
## Product Owner checklist
|
|
136
|
+
|
|
137
|
+
- [ ] Each accepted oracle cites authoritative source evidence.
|
|
138
|
+
- [ ] Persona contributions are labelled as concerns rather than stakeholder facts.
|
|
139
|
+
- [ ] Active persona names, tiers, matched concerns, and reasons are visible.
|
|
140
|
+
- [ ] Missing relevant perspectives are acknowledged and owned.
|
|
141
|
+
- [ ] Conflicts and gaps remain visible.
|
|
142
|
+
- [ ] Every accepted scenario has a credible proof route and owner.
|
|
143
|
+
- [ ] Premium availability is reported honestly with no implicit sync.
|
|
144
|
+
- [ ] Manual QA, specialist assurance, and representative-user work remain human.
|
|
145
|
+
|
|
146
|
+
## Developer checklist
|
|
147
|
+
|
|
148
|
+
- [ ] The recorded JSON is current rather than stale or invalid.
|
|
149
|
+
- [ ] Selected scenario IDs belong to the leased task and write set.
|
|
150
|
+
- [ ] The failing test was written before production implementation.
|
|
151
|
+
- [ ] The accepted oracle was not weakened.
|
|
152
|
+
- [ ] Focused green, refactor, standards, and integration checks were recorded.
|
|
153
|
+
- [ ] Results trace back to scenario IDs and leave remaining human routes open.
|
|
154
|
+
|
|
155
|
+
## Related guides
|
|
156
|
+
|
|
157
|
+
- [Product Owner guide](../product-owner-guide.md)
|
|
158
|
+
- [Developer delivery guide](../developer-delivery-guide.md)
|
|
159
|
+
- [Persona engagement UI](../personas/persona-engagement-ui.md)
|
|
160
|
+
- [Blast Radius and Impact Routing](../blast-radius-and-impact-routing-guide.md)
|
|
161
|
+
- [Manual QA and acceptance](manual-qa-and-acceptance.md)
|
|
162
|
+
- [Human approval and assurance](../human-approval-and-assurance-guide.md)
|
|
163
|
+
|
|
164
|
+
## Current contract sources
|
|
165
|
+
|
|
166
|
+
- `src/test-scenarios.mjs`
|
|
167
|
+
- `skills-src/ewai-test-scenarios/SKILL.md`
|
|
168
|
+
- `skills-src/ewai-test-scenarios/references/scenario-contract.md`
|
|
169
|
+
- `src/runtime/dashboard-server.mjs`
|
|
170
|
+
- `public/app.js`
|
|
171
|
+
- `tests/test-scenarios.test.mjs`
|
|
172
|
+
- `tests/runtime.test.mjs`
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Review an Archaeology and Discovery depth run
|
|
2
|
+
|
|
3
|
+
Use this checklist when preparing and reviewing an investigation in your project. It complements the general
|
|
4
|
+
[Manual QA and acceptance guide](manual-qa-and-acceptance.md); it does not replace
|
|
5
|
+
the canonical EWAI approval operation.
|
|
6
|
+
|
|
7
|
+
## Roles
|
|
8
|
+
|
|
9
|
+
Name the people performing each role before starting:
|
|
10
|
+
|
|
11
|
+
| Role | Responsibility |
|
|
12
|
+
| --- | --- |
|
|
13
|
+
| Operator or facilitator | Prepares the workspace, preserves evidence limitations, and guides the review. |
|
|
14
|
+
| Product or business owner | Confirms purpose, intended outcomes, users, and proportionate product depth. |
|
|
15
|
+
| Technical owner | Challenges repository, architecture, delivery, security, and operational interpretation. |
|
|
16
|
+
| Accountable reviewer | Selects depth, records rationale and assigns a reviewed outcome to every gap. Manual QA is a separate decision where applicable. |
|
|
17
|
+
|
|
18
|
+
One person may perform more than one role when that reflects the project, but the
|
|
19
|
+
record must not disguise which decisions lacked independent or specialist review.
|
|
20
|
+
Personas advise these people; they do not occupy these roles.
|
|
21
|
+
|
|
22
|
+
## Before preparing a run
|
|
23
|
+
|
|
24
|
+
- [ ] Confirm `.ewai-pipeline/project.json` points to the intended project and SPECS root.
|
|
25
|
+
- [ ] Record the repository revision and the configured repository topology.
|
|
26
|
+
- [ ] Capture a human project briefing: purpose, users, desired outcomes, business context, constraints, and prohibited assumptions.
|
|
27
|
+
- [ ] Refresh the Source Map.
|
|
28
|
+
- [ ] Inspect `analysis_failed`, `inventory_only`, `skipped_sensitive`, `skipped_oversized`, and excluded surfaces.
|
|
29
|
+
- [ ] Confirm applicable project, stack, technology, and Organisation Blueprint Packs.
|
|
30
|
+
- [ ] Confirm the provider capability being used.
|
|
31
|
+
- [ ] Record which persona tiers are available; do not install or update premium personas as a side effect of this review.
|
|
32
|
+
- [ ] Keep secrets, absolute paths, source bodies, prompts, managed persona content, and free-text owner answers out of bounded review inputs.
|
|
33
|
+
|
|
34
|
+
Stop if the Source Map is missing or stale. Refresh it rather than accepting a
|
|
35
|
+
recommendation against an unknown repository state.
|
|
36
|
+
|
|
37
|
+
## Prepare and inspect
|
|
38
|
+
|
|
39
|
+
- [ ] Prepare evidence depth in Guided Setup, with the CLI, or through the MCP tool.
|
|
40
|
+
- [ ] Confirm architecture, data, security, product, delivery, governance, and operations appear exactly once.
|
|
41
|
+
- [ ] For each dimension, inspect coverage, recommendation, drivers, evidence references, and active personas.
|
|
42
|
+
- [ ] Confirm active personas change with the concern rather than accumulating across the review.
|
|
43
|
+
- [ ] Confirm each persona displays its identity, tier, and reason for engagement.
|
|
44
|
+
- [ ] Confirm core and project personas provide a complete path when premium personas are absent.
|
|
45
|
+
- [ ] Review stable gaps separately from generated questions and proposed grouping.
|
|
46
|
+
- [ ] Preserve contradictory owner and repository evidence rather than choosing the convenient version silently.
|
|
47
|
+
- [ ] Ask only the material questions needed to resolve or explicitly retain a gap.
|
|
48
|
+
|
|
49
|
+
## Record the named review
|
|
50
|
+
|
|
51
|
+
- [ ] Name the accountable reviewer.
|
|
52
|
+
- [ ] Select `bounded`, `standard`, or `deep` independently for all seven dimensions.
|
|
53
|
+
- [ ] Add substantive rationale whenever selecting less depth than recommended.
|
|
54
|
+
- [ ] Assign every stable gap to one group exactly once.
|
|
55
|
+
- [ ] Give every gap an explicit disposition: owned, shared, deferred, or excluded.
|
|
56
|
+
- [ ] Confirm grouping describes work organisation and does not alter stable gap identity.
|
|
57
|
+
- [ ] Record the review against the current preparation digest.
|
|
58
|
+
- [ ] Retain the immutable run ID and content digest without copying sensitive source material into the QA record.
|
|
59
|
+
|
|
60
|
+
If another preparation supersedes the reviewed digest, repeat the named review.
|
|
61
|
+
Do not force an older decision onto new evidence.
|
|
62
|
+
|
|
63
|
+
## Assess content quality
|
|
64
|
+
|
|
65
|
+
Structural reproducibility alone is not sufficient. Ask the named product and
|
|
66
|
+
technical owners to rate:
|
|
67
|
+
|
|
68
|
+
- [ ] whether any material concern is missing;
|
|
69
|
+
- [ ] whether questions are duplicated, irrelevant, or disproportionate;
|
|
70
|
+
- [ ] whether every conclusion can be traced to safe evidence references;
|
|
71
|
+
- [ ] whether the selected depth fits the intended change and risk;
|
|
72
|
+
- [ ] whether failed, excluded, contradictory, or unknown evidence remains visible;
|
|
73
|
+
- [ ] whether the next action for each gap is understandable and owned;
|
|
74
|
+
- [ ] whether the process performs at least as well as the previous unconstrained route on engineering coverage.
|
|
75
|
+
|
|
76
|
+
Record the ratings and rationale. A faster or lower-token run fails this review if
|
|
77
|
+
it weakens material engineering understanding.
|
|
78
|
+
|
|
79
|
+
## Retain the investigation decision
|
|
80
|
+
|
|
81
|
+
Save the reviewed run ID, selected depths, rationale for reductions, gap owners, unresolved limitations and named review. Don't describe uninvestigated areas as complete. If preparation changes, obtain a fresh review against the new digest.
|
|
82
|
+
|
|
83
|
+
An ordinary investigation doesn't require three clean sessions or interface testing at 390 px. Those checks belong to [accepting changes to EWAI itself](../maintainers/evidence-depth-acceptance.md). They remain required when that feature acceptance is the task.
|
|
84
|
+
|
|
85
|
+
## Related guidance
|
|
86
|
+
|
|
87
|
+
- [Reproducible Archaeology and Discovery Depth](../reproducible-archaeology-and-discovery-depth.md)
|
|
88
|
+
- [Worked example](../examples/reproducible-archaeology-depth-example.md)
|
|
89
|
+
- [Manual QA and acceptance](manual-qa-and-acceptance.md)
|