@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
package/LICENSE
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
Backstory Group Source-Available Licence 1.0
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Backstory Group Limited (www.backstorygroup.co.uk)
|
|
4
|
+
All rights reserved.
|
|
5
|
+
|
|
6
|
+
This licence is a source-available licence. It is not an open-source licence.
|
|
7
|
+
|
|
8
|
+
1. Definitions
|
|
9
|
+
|
|
10
|
+
"Backstory Group", "we", "us" and "our" mean Backstory Group Limited.
|
|
11
|
+
|
|
12
|
+
"EWAI" means the Engineering With AI software, including its source code,
|
|
13
|
+
runtime, command-line tools, dashboard, documentation, templates and other
|
|
14
|
+
materials distributed with it.
|
|
15
|
+
|
|
16
|
+
"Official Package" means an unmodified release of EWAI published by Backstory
|
|
17
|
+
Group through npm or another channel that we identify as official.
|
|
18
|
+
|
|
19
|
+
"Project Content" means the source code, specifications, documentation,
|
|
20
|
+
configuration, records and other material that you or your organisation create,
|
|
21
|
+
provide or maintain in a project that uses EWAI.
|
|
22
|
+
|
|
23
|
+
"Output" means material produced through the ordinary intended use of the
|
|
24
|
+
Official Package, including generated or materialised project source code,
|
|
25
|
+
specifications, plans, reports, documentation and other project artefacts.
|
|
26
|
+
Output does not include EWAI itself or a Modified Version.
|
|
27
|
+
|
|
28
|
+
"Extension" means independently written software that interoperates with EWAI
|
|
29
|
+
through a documented or ordinarily supported interface without copying,
|
|
30
|
+
modifying or incorporating any part of EWAI.
|
|
31
|
+
|
|
32
|
+
"Modified Version" means EWAI, or any part of it, that has been modified,
|
|
33
|
+
adapted, translated, rearranged, combined into another product, or used to
|
|
34
|
+
create a derivative work.
|
|
35
|
+
|
|
36
|
+
"you" means the individual or legal entity accepting this licence. People who
|
|
37
|
+
work for you may use the Official Package on your behalf, provided that you
|
|
38
|
+
ensure they comply with this licence.
|
|
39
|
+
|
|
40
|
+
2. Permission to use the Official Package
|
|
41
|
+
|
|
42
|
+
Subject to this licence, Backstory Group gives you a non-exclusive, worldwide,
|
|
43
|
+
royalty-free right to install and run the Official Package for lawful personal,
|
|
44
|
+
internal, professional and commercial work.
|
|
45
|
+
|
|
46
|
+
This includes using the Official Package:
|
|
47
|
+
|
|
48
|
+
- to design, build, test, operate and maintain commercial or non-commercial
|
|
49
|
+
software and other products;
|
|
50
|
+
- in work performed for clients; and
|
|
51
|
+
- alongside your own tools, Project Content and Extensions.
|
|
52
|
+
|
|
53
|
+
This permission applies only to use of the Official Package. It does not give
|
|
54
|
+
you permission to sell, license, host, distribute or otherwise offer EWAI
|
|
55
|
+
itself, whether alone or as part of another product or service.
|
|
56
|
+
|
|
57
|
+
3. Your Project Content and Output
|
|
58
|
+
|
|
59
|
+
Backstory Group claims no ownership of your Project Content or Output merely
|
|
60
|
+
because you used EWAI to create, examine or manage it.
|
|
61
|
+
|
|
62
|
+
Subject to any rights belonging to other people, you may use, modify, license,
|
|
63
|
+
publish, distribute and commercialise your Project Content and Output without
|
|
64
|
+
paying Backstory Group a royalty.
|
|
65
|
+
|
|
66
|
+
4. Independent Extensions and integrations
|
|
67
|
+
|
|
68
|
+
You may create, use, license, distribute and commercialise Extensions.
|
|
69
|
+
Interoperating with EWAI through a documented or ordinarily supported interface
|
|
70
|
+
does not, by itself, make an Extension a Modified Version.
|
|
71
|
+
|
|
72
|
+
An Extension must not:
|
|
73
|
+
|
|
74
|
+
- copy, incorporate, modify or redistribute EWAI source code;
|
|
75
|
+
- bypass technical restrictions or licence controls;
|
|
76
|
+
- imply that it is made, approved or endorsed by Backstory Group without our
|
|
77
|
+
written permission; or
|
|
78
|
+
- use Backstory Group trade marks except to describe truthful compatibility.
|
|
79
|
+
|
|
80
|
+
5. Source transparency
|
|
81
|
+
|
|
82
|
+
Where Backstory Group makes EWAI source code available, you may view and inspect
|
|
83
|
+
it for transparency, evaluation, security review, compliance review and
|
|
84
|
+
understanding how the Official Package works. You may make the copies that are
|
|
85
|
+
technically necessary for those purposes, including a local inspection copy.
|
|
86
|
+
|
|
87
|
+
Access to the source code does not give you permission to use it to create a
|
|
88
|
+
Modified Version, to maintain an unofficial distribution, or to exercise any
|
|
89
|
+
right not expressly granted by this licence. Any technical ability supplied by
|
|
90
|
+
a source-hosting platform, including the ability to fork a repository, does not
|
|
91
|
+
expand the permissions in this licence.
|
|
92
|
+
|
|
93
|
+
6. Restrictions
|
|
94
|
+
|
|
95
|
+
Unless Backstory Group gives you separate written permission, you must not:
|
|
96
|
+
|
|
97
|
+
- modify, adapt, translate or create a derivative work from EWAI;
|
|
98
|
+
- copy EWAI except as necessary to install, run, back up or inspect the Official
|
|
99
|
+
Package as expressly permitted by this licence;
|
|
100
|
+
- publish, distribute, sublicense, sell, rent, lease or transfer EWAI or a
|
|
101
|
+
Modified Version;
|
|
102
|
+
- repackage or rebrand EWAI;
|
|
103
|
+
- make EWAI or a Modified Version available as a hosted, managed or bureau
|
|
104
|
+
service whose principal value is access to EWAI;
|
|
105
|
+
- use EWAI source code to create or improve a substitute for, or competing
|
|
106
|
+
version of, EWAI;
|
|
107
|
+
- remove or alter copyright, attribution, trade mark or licence notices; or
|
|
108
|
+
- bypass or interfere with access, subscription, entitlement, update, security
|
|
109
|
+
or usage controls.
|
|
110
|
+
|
|
111
|
+
7. Third-party materials
|
|
112
|
+
|
|
113
|
+
EWAI may use or refer to third-party software, services or content. Those
|
|
114
|
+
materials remain subject to their own terms. This licence does not give you any
|
|
115
|
+
additional rights in them.
|
|
116
|
+
|
|
117
|
+
8. No trade mark licence
|
|
118
|
+
|
|
119
|
+
This licence does not grant a right to use the names, logos or trade marks of
|
|
120
|
+
Backstory Group, Backstory, Engineering With AI or Conversational Coding except
|
|
121
|
+
as necessary to describe truthful compatibility with an Official Package.
|
|
122
|
+
|
|
123
|
+
9. Term and termination
|
|
124
|
+
|
|
125
|
+
This licence continues until terminated. It terminates automatically if you
|
|
126
|
+
breach it and do not remedy the breach within 30 days after receiving written
|
|
127
|
+
notice from Backstory Group. A breach involving deliberate redistribution,
|
|
128
|
+
repackaging, rebranding or commercial exploitation of EWAI may be terminated
|
|
129
|
+
immediately.
|
|
130
|
+
|
|
131
|
+
When this licence terminates, you must stop using EWAI and delete copies in your
|
|
132
|
+
possession or control. Termination does not take away rights already granted in
|
|
133
|
+
your Project Content or Output.
|
|
134
|
+
|
|
135
|
+
10. Disclaimer of warranty
|
|
136
|
+
|
|
137
|
+
EWAI is provided "as is" and "as available". To the fullest extent permitted by
|
|
138
|
+
law, Backstory Group excludes all warranties, conditions and representations,
|
|
139
|
+
whether express, implied or statutory, including warranties of satisfactory
|
|
140
|
+
quality, fitness for a particular purpose, non-infringement, availability,
|
|
141
|
+
accuracy and freedom from defects.
|
|
142
|
+
|
|
143
|
+
11. Limitation of liability
|
|
144
|
+
|
|
145
|
+
To the fullest extent permitted by law, Backstory Group will not be liable for
|
|
146
|
+
any indirect, incidental, special, consequential or punitive loss, or for any
|
|
147
|
+
loss of profit, revenue, business, goodwill, data or anticipated savings,
|
|
148
|
+
arising from or connected with EWAI or this licence.
|
|
149
|
+
|
|
150
|
+
Nothing in this licence excludes or limits liability that cannot lawfully be
|
|
151
|
+
excluded or limited.
|
|
152
|
+
|
|
153
|
+
12. Governing law
|
|
154
|
+
|
|
155
|
+
This licence and any dispute or claim arising from it are governed by the laws
|
|
156
|
+
of Scotland. The courts of Scotland have exclusive jurisdiction, except where
|
|
157
|
+
applicable law requires otherwise.
|
|
158
|
+
|
|
159
|
+
13. Separate commercial terms
|
|
160
|
+
|
|
161
|
+
Backstory Group may offer separate commercial terms, including permission to
|
|
162
|
+
modify, embed, redistribute or provide EWAI as part of another service. Those
|
|
163
|
+
rights exist only where they are agreed in writing.
|
|
164
|
+
|
|
165
|
+
For licensing enquiries, visit https://www.backstorygroup.co.uk.
|
package/README.md
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Engineering With AI
|
|
2
|
+
|
|
3
|
+
Engineering With AI (EWAI) helps you plan, build and review software with an AI assistant. It gives the assistant a shared record of the project, a delivery workflow and checks against your engineering standards. You keep control of the decisions and approve implementation before it starts.
|
|
4
|
+
|
|
5
|
+
## Install and start
|
|
6
|
+
|
|
7
|
+
You'll need Node.js 22.5 or newer, npm, and a supported AI command-line tool such as Codex or Claude Code, installed and signed in.
|
|
8
|
+
|
|
9
|
+
Install EWAI, go to your project folder, then run `ewai`:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install --global @thebackstoryis/engineering-with-ai
|
|
13
|
+
cd /path/to/your/project
|
|
14
|
+
ewai
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Replace the project path with your own. **Running `ewai` opens your AI tool and walks you through initialising the project.** If more than one supported tool is available, you'll be asked which one to use. EWAI prepares its skills automatically; you don't need to run separate `ewai install` or `ewai init` commands for this guided setup.
|
|
18
|
+
|
|
19
|
+
It first asks where to keep your project's SPECS records, then helps you describe what you're building. For an existing codebase, it also offers Archaeology to recover missing documentation; you can accept or decline. You don't need to prepare those files or learn the supporting commands before starting.
|
|
20
|
+
|
|
21
|
+
To return to the project, run `ewai` in the same folder again. It picks up the saved project state rather than starting setup from scratch. Keep your normal Git workflow for your application's code; EWAI itself is installed and updated through npm.
|
|
22
|
+
|
|
23
|
+
If npm returns `E404`, follow [installation troubleshooting](Docs/operations/installation-updating-and-entitlements.md). That's a package-acquisition failure, not a premium-persona licence error. Don't paste licence keys into npm commands or chat.
|
|
24
|
+
|
|
25
|
+
- [First session: set up a small project](Docs/tutorials/first-session.md)
|
|
26
|
+
- [First delivery: work through a CSV export](Docs/tutorials/first-delivery.md)
|
|
27
|
+
- [Already have a codebase?](Docs/existing-project-onboarding-guide.md) Archaeology can reconstruct missing documentation, but it's your choice whether to run it.
|
|
28
|
+
- [Installation, updates and host options](Docs/operations/installation-updating-and-entitlements.md)
|
|
29
|
+
|
|
30
|
+
## Start with a conversation
|
|
31
|
+
|
|
32
|
+
Once EWAI opens your AI tool, describe what you need. You don't need to memorise EWAI's commands:
|
|
33
|
+
|
|
34
|
+
> “Help us understand this codebase before we change it.”
|
|
35
|
+
|
|
36
|
+
> “We need an export of the filtered support-ticket list. Work through the intent with us, and stop before implementation so we can review the plan.”
|
|
37
|
+
|
|
38
|
+
> “Pick up the export feature and show us where we left it.”
|
|
39
|
+
|
|
40
|
+
The skills inspect the project's state, choose the relevant workflow and run the supporting commands. They'll ask for missing information and your decisions. **`ewai-deliver` coordinates feature delivery through fourteen stages**, bringing in specialist skills for work such as design, test planning and review.
|
|
41
|
+
|
|
42
|
+
The supporting CLI commands are available for direct control, troubleshooting and automation, but you don't need to work through them manually to use the guided workflow.
|
|
43
|
+
|
|
44
|
+
## What stays in your project?
|
|
45
|
+
|
|
46
|
+
**SPECS** means Scope, Purpose, Evidence, Constraints and Strategy. These readable project records hold the purpose, requirements, decisions and evidence the team has agreed. They remain useful outside an AI session.
|
|
47
|
+
|
|
48
|
+
The dashboard runs locally and lets you inspect work and make supported choices. Its loopback address isn't a shared team website. The AI host does the guided work; the runtime records progress and checks the conditions for moving on. [How these parts fit together](Docs/explanation/core-concepts.md).
|
|
49
|
+
|
|
50
|
+
Human judgement remains essential. A persona isn't a real stakeholder, green tests aren't human acceptance, and a delivery handoff isn't permission to deploy.
|
|
51
|
+
|
|
52
|
+
## Licence
|
|
53
|
+
|
|
54
|
+
The official EWAI npm package is free to use for personal, professional and
|
|
55
|
+
commercial work. You can use it to build commercial products, work for clients
|
|
56
|
+
and create independent integrations or extensions.
|
|
57
|
+
|
|
58
|
+
The source is published for transparency and review, but EWAI is not open
|
|
59
|
+
source. You may not modify, repackage, redistribute, rebrand or commercially
|
|
60
|
+
exploit the EWAI core without separate written permission from Backstory Group.
|
|
61
|
+
The licence does not restrict the project content or output you create by using
|
|
62
|
+
EWAI. Read the [Backstory Group Source-Available Licence](LICENSE) for the full
|
|
63
|
+
terms.
|
|
64
|
+
|
|
65
|
+
## Choose what you need
|
|
66
|
+
|
|
67
|
+
| When you want to… | Start here |
|
|
68
|
+
| --- | --- |
|
|
69
|
+
| Decide which work needs attention next | [Companion](Docs/context-aware-delivery-companion-user-guide.md) |
|
|
70
|
+
| Describe a feature and agree its boundaries | [Intent Studio](Docs/guided-intent-workspace-guide.md) |
|
|
71
|
+
| Understand how delivery moves through its stages | [The fourteen-stage workflow](Docs/explanation/delivery-workflow.md) |
|
|
72
|
+
| Investigate dependencies before a change | [Source Map](Docs/repository-source-map-guide.md) and [Blast Radius](Docs/blast-radius-and-impact-routing-guide.md) |
|
|
73
|
+
| Turn a meeting into reviewed project evidence | [Meeting evidence](Docs/meeting-evidence-user-guide.md) |
|
|
74
|
+
| Check an implemented feature with a person | [Manual QA](Docs/quality/manual-qa-and-acceptance.md) |
|
|
75
|
+
| Adapt the dashboard to your work | [Dashboard configuration](Docs/operations/dashboard-configuration.md) |
|
|
76
|
+
| Use shared organisational guidance | [Blueprints](Docs/designing-organisation-blueprint-packs.md) and [rollout](Docs/organisation-rollout-guide.md) |
|
|
77
|
+
|
|
78
|
+
Start with the parts your project needs. Portfolio, Team Hub and other advanced dashboard views are optional; hiding a view doesn't disable mandatory project checks.
|
|
79
|
+
|
|
80
|
+
## Personas
|
|
81
|
+
|
|
82
|
+
The included personas support the normal workflow. You can also create project-specific personas and use your own personal library.
|
|
83
|
+
|
|
84
|
+
Premium personas are optional specialist perspectives. If you have a subscription, [enter your key privately and install the pack](Docs/operations/premium-personas-setup.md) before the analysis you want it to support. Installing a persona doesn't give it authority to approve a requirement, bypass a check or speak for a real user.
|
|
85
|
+
|
|
86
|
+
## Go deeper
|
|
87
|
+
|
|
88
|
+
- [User guides and learning routes](Docs/README.md)
|
|
89
|
+
- [Complete guide catalogue](Docs/guide-catalogue.md)
|
|
90
|
+
- [Capabilities and project layout](Docs/reference/capabilities-and-project-layout.md)
|
|
91
|
+
- [Commands and configuration](Docs/reference/cli-and-configuration.md)
|
|
92
|
+
- [Troubleshooting and recovery](Docs/operations/troubleshooting-and-recovery.md)
|
|
93
|
+
|
|
94
|
+
## Contributing to EWAI
|
|
95
|
+
|
|
96
|
+
If you're changing the harness itself, use the [contributor guide](Docs/maintainers/contributing.md) and [verification walkthroughs](Docs/maintainers/verification-walkthroughs.md). Those source-checkout and regression-test instructions aren't part of setting up your own application.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ewai-security-reviewer
|
|
3
|
+
description: Use proactively for the defensive, read-only security and trust pass during EWAI Archaeology. Review only repositories the user is authorised to assess.
|
|
4
|
+
model: opus
|
|
5
|
+
tools: Read, Grep, Glob, Bash
|
|
6
|
+
permissionMode: plan
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
Perform an evidence-led static security and trust review inside the explicitly agreed repository boundary.
|
|
10
|
+
|
|
11
|
+
Document observable authentication, authorization, tenancy, validation, output handling, secrets boundaries, sensitive-data controls, cryptography, browser and session controls, dependency and supply-chain signals, integration trust boundaries, abuse controls, failure behavior, deployment configuration, and security-test evidence.
|
|
12
|
+
|
|
13
|
+
Use read-only inspection and non-destructive Git history queries. Do not search for live credentials, exploit vulnerabilities, establish persistence, evade controls, access external systems, or inspect paths outside the agreed repository. Do not run project-defined scripts or active security probes.
|
|
14
|
+
|
|
15
|
+
Return evidence-backed findings with source locations, confidence, affected capabilities, missing assurance, and recommended SPECS record families. Distinguish observed vulnerabilities, defence-in-depth improvements, test gaps, configuration uncertainty, and speculative threats. This is not penetration testing, compliance certification, or a guarantee of security.
|
package/bin/ewai
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
schema: ewai.archaeology-record-families/v1
|
|
2
|
+
depth: maximum-discoverable-detail
|
|
3
|
+
capability_families:
|
|
4
|
+
- scope.domain-language
|
|
5
|
+
- scope.actors-and-personas
|
|
6
|
+
- scope.interfaces-and-integrations
|
|
7
|
+
- purpose.intent
|
|
8
|
+
- purpose.workflows
|
|
9
|
+
- purpose.journeys
|
|
10
|
+
- purpose.requirements
|
|
11
|
+
- purpose.acceptance-and-success
|
|
12
|
+
- evidence.tests
|
|
13
|
+
- evidence.risks
|
|
14
|
+
- evidence.incidents-and-learning
|
|
15
|
+
- constraints.rules
|
|
16
|
+
- strategy.architecture
|
|
17
|
+
- strategy.patterns
|
|
18
|
+
- strategy.decisions
|
|
19
|
+
- strategy.options-and-tradeoffs
|
|
20
|
+
- strategy.runbooks-and-operations
|
|
21
|
+
- build.delivery-history
|
|
22
|
+
- build.validation-history
|
|
23
|
+
- build.retrospective
|
|
24
|
+
project_families:
|
|
25
|
+
- scope.system-context
|
|
26
|
+
- scope.domain-model
|
|
27
|
+
- scope.persona-library
|
|
28
|
+
- scope.api-event-command-catalog
|
|
29
|
+
- scope.integration-catalog
|
|
30
|
+
- purpose.project-intent
|
|
31
|
+
- purpose.journey-map
|
|
32
|
+
- purpose.requirement-index
|
|
33
|
+
- evidence.risk-register
|
|
34
|
+
- evidence.test-coverage
|
|
35
|
+
- evidence.security-review
|
|
36
|
+
- evidence.code-quality-review
|
|
37
|
+
- evidence.incident-catalog
|
|
38
|
+
- evidence.technical-debt
|
|
39
|
+
- evidence.operational-assurance
|
|
40
|
+
- constraints.engineering-standards
|
|
41
|
+
- constraints.security-privacy
|
|
42
|
+
- constraints.data-governance
|
|
43
|
+
- constraints.accessibility
|
|
44
|
+
- constraints.compliance
|
|
45
|
+
- constraints.operational
|
|
46
|
+
- strategy.technology-stack
|
|
47
|
+
- strategy.system-architecture
|
|
48
|
+
- strategy.data-architecture
|
|
49
|
+
- strategy.integration-architecture
|
|
50
|
+
- strategy.pattern-library
|
|
51
|
+
- strategy.adr-index
|
|
52
|
+
- strategy.options-register
|
|
53
|
+
- strategy.sops
|
|
54
|
+
- strategy.runbooks
|
|
55
|
+
- strategy.observability
|
|
56
|
+
- strategy.recovery-continuity
|
|
57
|
+
- build.release-deployment-history
|
|
58
|
+
- build.lifecycle-stage-reconstruction
|
|
59
|
+
- build.learning-history
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
schema: ewai.delivery-artifacts/v1
|
|
2
|
+
phases:
|
|
3
|
+
ideate:
|
|
4
|
+
required:
|
|
5
|
+
- grill-ledger.md
|
|
6
|
+
- ideate-draft-intent.md
|
|
7
|
+
intent:
|
|
8
|
+
required:
|
|
9
|
+
- intent-summary.md
|
|
10
|
+
- gates/intent/intent-dependency-map.json
|
|
11
|
+
- gates/intent/intent-dependency-map-check.md
|
|
12
|
+
- gates/intent/intent-dependency-map-check.json
|
|
13
|
+
- gates/intent/intent-code-disagreements.json
|
|
14
|
+
organisation_policy:
|
|
15
|
+
required:
|
|
16
|
+
- gates/intent/organisation-policy-design.json
|
|
17
|
+
reconcile:
|
|
18
|
+
required:
|
|
19
|
+
- reconcile.md
|
|
20
|
+
- gates/reconcile/intent-dependency-map-check.md
|
|
21
|
+
- gates/reconcile/intent-dependency-map-check.json
|
|
22
|
+
- gates/reconcile/reconcile-disagreements.json
|
|
23
|
+
ui-design:
|
|
24
|
+
required:
|
|
25
|
+
- ui-design.md
|
|
26
|
+
- ui-design-assets/prototypes/manifest.json
|
|
27
|
+
plan:
|
|
28
|
+
required:
|
|
29
|
+
- build-plan.md
|
|
30
|
+
- destination.md
|
|
31
|
+
- task-graph.json
|
|
32
|
+
- gates/plan/intent-dependency-map-check.md
|
|
33
|
+
- gates/plan/intent-dependency-map-check.json
|
|
34
|
+
- gates/plan/discovery-notes.md
|
|
35
|
+
- gates/plan/code-truth-map.json
|
|
36
|
+
- gates/plan/claim-ledger.json
|
|
37
|
+
- gates/plan/claim-ledger-check.md
|
|
38
|
+
- gates/plan/claim-ledger-check.json
|
|
39
|
+
- gates/plan/implementation-flow-contract.json
|
|
40
|
+
- gates/plan/local-pattern-research.json
|
|
41
|
+
- gates/plan/plan-contract.json
|
|
42
|
+
- gates/plan/plan-contract-check.md
|
|
43
|
+
- gates/plan/plan-contract-check.json
|
|
44
|
+
- gates/plan/plan-existence-check.md
|
|
45
|
+
- gates/plan/task-graph-check.md
|
|
46
|
+
- gates/plan/task-graph-check.json
|
|
47
|
+
organisation_policy:
|
|
48
|
+
required:
|
|
49
|
+
- gates/plan/organisation-policy-design.json
|
|
50
|
+
pattern-validation:
|
|
51
|
+
required:
|
|
52
|
+
- pattern-validation.md
|
|
53
|
+
- gates/pattern-validation/implementation-flow-contract-check.json
|
|
54
|
+
- gates/pattern-validation/local-pattern-research-check.json
|
|
55
|
+
- gates/pattern-validation/claim-ledger-check.md
|
|
56
|
+
- gates/pattern-validation/claim-ledger-check.json
|
|
57
|
+
- gates/pattern-validation/plan-contract-check.md
|
|
58
|
+
- gates/pattern-validation/plan-contract-check.json
|
|
59
|
+
- gates/pattern-validation/task-graph-check.md
|
|
60
|
+
- gates/pattern-validation/task-graph-check.json
|
|
61
|
+
- gates/pattern-validation/plan-existence-check.md
|
|
62
|
+
test-plan:
|
|
63
|
+
required:
|
|
64
|
+
- test-plan.md
|
|
65
|
+
- gates/test-plan/task-to-test-traceability.md
|
|
66
|
+
- gates/test-plan/red-green-refactor-traceability.md
|
|
67
|
+
- gates/test-plan/claim-ledger-check.md
|
|
68
|
+
- gates/test-plan/claim-ledger-check.json
|
|
69
|
+
- gates/test-plan/plan-contract-check.md
|
|
70
|
+
- gates/test-plan/plan-contract-check.json
|
|
71
|
+
- gates/test-plan/plan-existence-check.md
|
|
72
|
+
- gates/test-plan/task-graph-check.md
|
|
73
|
+
- gates/test-plan/task-graph-check.json
|
|
74
|
+
validate-external-plan:
|
|
75
|
+
required:
|
|
76
|
+
- validate-external-plan/actions.md
|
|
77
|
+
- gates/validate-external-plan/plan-contract-check.md
|
|
78
|
+
- gates/validate-external-plan/plan-contract-check.json
|
|
79
|
+
- gates/validate-external-plan/plan-existence-check.md
|
|
80
|
+
validation_cycles: true
|
|
81
|
+
validate-external-test-plan:
|
|
82
|
+
required:
|
|
83
|
+
- validate-external-test-plan/actions.md
|
|
84
|
+
- gates/validate-external-test-plan/claim-ledger-check.md
|
|
85
|
+
- gates/validate-external-test-plan/claim-ledger-check.json
|
|
86
|
+
- gates/validate-external-test-plan/plan-contract-check.md
|
|
87
|
+
- gates/validate-external-test-plan/plan-contract-check.json
|
|
88
|
+
validation_cycles: true
|
|
89
|
+
fit-check:
|
|
90
|
+
required:
|
|
91
|
+
- fit-check-report.md
|
|
92
|
+
build:
|
|
93
|
+
required:
|
|
94
|
+
- delivery-checklist.md
|
|
95
|
+
- gates/build/plan-contract-check.md
|
|
96
|
+
- gates/build/plan-contract-check.json
|
|
97
|
+
- gates/build/build-contract-integrity.md
|
|
98
|
+
- gates/build/build-contract-integrity.json
|
|
99
|
+
- gates/build/task-graph-check.md
|
|
100
|
+
- gates/build/task-graph-check.json
|
|
101
|
+
task_reports: true
|
|
102
|
+
standards-sweep:
|
|
103
|
+
required:
|
|
104
|
+
- standards-sweep.md
|
|
105
|
+
test-execute:
|
|
106
|
+
required:
|
|
107
|
+
- test-execute-report.md
|
|
108
|
+
validate-external-code:
|
|
109
|
+
required:
|
|
110
|
+
- validate-external-code/actions.md
|
|
111
|
+
validation_cycles: true
|
|
112
|
+
delivery:
|
|
113
|
+
required:
|
|
114
|
+
- delivery-checklist.md
|
|
115
|
+
- qa-walkthrough.md
|
|
116
|
+
- gates/delivery/task-graph-check.md
|
|
117
|
+
- gates/delivery/task-graph-check.json
|
|
118
|
+
task_reports: true
|
|
119
|
+
retro:
|
|
120
|
+
required:
|
|
121
|
+
- retro.md
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
schema: ewai.delivery-stages/v1
|
|
2
|
+
name: EWAI fourteen-stage delivery loop
|
|
3
|
+
mission: be right, not done
|
|
4
|
+
stages:
|
|
5
|
+
- number: 1
|
|
6
|
+
id: ideate
|
|
7
|
+
required: conditional
|
|
8
|
+
condition: Input is a rough idea without an approved intent.
|
|
9
|
+
- number: 2
|
|
10
|
+
id: intent
|
|
11
|
+
required: always
|
|
12
|
+
- number: 3
|
|
13
|
+
id: reconcile
|
|
14
|
+
required: conditional
|
|
15
|
+
condition: Existing implementation or inherited code is in scope.
|
|
16
|
+
- number: 4
|
|
17
|
+
id: plan
|
|
18
|
+
required: always
|
|
19
|
+
- number: 5
|
|
20
|
+
id: pattern-validation
|
|
21
|
+
required: always
|
|
22
|
+
- number: 6
|
|
23
|
+
id: test-plan
|
|
24
|
+
required: always
|
|
25
|
+
- number: 7
|
|
26
|
+
id: validate-external-plan
|
|
27
|
+
required: provider-gated
|
|
28
|
+
providers: [claude, codex, antigravity]
|
|
29
|
+
provider_policy: project-configured-independent-only
|
|
30
|
+
on_unavailable: not-supported
|
|
31
|
+
- number: 8
|
|
32
|
+
id: validate-external-test-plan
|
|
33
|
+
required: provider-gated
|
|
34
|
+
providers: [claude, codex, antigravity]
|
|
35
|
+
provider_policy: project-configured-independent-only
|
|
36
|
+
on_unavailable: not-supported
|
|
37
|
+
- number: 9
|
|
38
|
+
id: build
|
|
39
|
+
required: always
|
|
40
|
+
approval: required
|
|
41
|
+
- number: 10
|
|
42
|
+
id: standards-sweep
|
|
43
|
+
required: always
|
|
44
|
+
- number: 11
|
|
45
|
+
id: test-execute
|
|
46
|
+
required: always
|
|
47
|
+
- number: 12
|
|
48
|
+
id: validate-external-code
|
|
49
|
+
required: provider-gated
|
|
50
|
+
providers: [claude, codex, antigravity]
|
|
51
|
+
provider_policy: project-configured-independent-only
|
|
52
|
+
on_unavailable: not-supported
|
|
53
|
+
- number: 13
|
|
54
|
+
id: delivery
|
|
55
|
+
required: always
|
|
56
|
+
- number: 14
|
|
57
|
+
id: retro
|
|
58
|
+
required: always
|
|
59
|
+
after: manual-qa-approved
|
|
60
|
+
adjuncts:
|
|
61
|
+
- id: ui-design
|
|
62
|
+
after: reconcile
|
|
63
|
+
condition: User-facing interface work is in scope.
|
|
64
|
+
- id: fit-check
|
|
65
|
+
before: build
|
|
66
|
+
condition: A shelved plan is being resumed and needs revalidation.
|
|
67
|
+
human_gates:
|
|
68
|
+
- id: manual-qa
|
|
69
|
+
after: delivery
|
|
70
|
+
before: retro
|
|
71
|
+
required: always
|
|
72
|
+
rules:
|
|
73
|
+
- A not-supported provider-gated stage remains visible and is never marked passed.
|
|
74
|
+
- The active orchestrator cannot satisfy an independent external-validation stage.
|
|
75
|
+
- Standards compliance remains required when no external validator is configured.
|
|
76
|
+
- Retro is complete only when its action plan routes accepted learning into durable assets.
|
|
77
|
+
- Project Retro may change project-local SPECS and assets; it must not mutate a global EWAI installation.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://engineeringwith.ai/schemas/design-system-v1.json",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"required": ["compatibility", "provenance", "contributions"],
|
|
6
|
+
"properties": {
|
|
7
|
+
"compatibility": {
|
|
8
|
+
"type": "object",
|
|
9
|
+
"required": ["ewai"],
|
|
10
|
+
"properties": {
|
|
11
|
+
"ewai": { "type": "string", "pattern": "^[0-9]+\\.x$" }
|
|
12
|
+
},
|
|
13
|
+
"additionalProperties": false
|
|
14
|
+
},
|
|
15
|
+
"provenance": {
|
|
16
|
+
"type": "object",
|
|
17
|
+
"required": ["kind", "summary"],
|
|
18
|
+
"properties": {
|
|
19
|
+
"kind": { "enum": ["owner-declared", "observed", "inferred", "adapted"] },
|
|
20
|
+
"summary": { "type": "string", "minLength": 1, "maxLength": 500 },
|
|
21
|
+
"source": { "type": "string", "minLength": 1, "maxLength": 500 }
|
|
22
|
+
},
|
|
23
|
+
"additionalProperties": false
|
|
24
|
+
},
|
|
25
|
+
"contributions": {
|
|
26
|
+
"type": "array",
|
|
27
|
+
"minItems": 1,
|
|
28
|
+
"maxItems": 200,
|
|
29
|
+
"items": {
|
|
30
|
+
"type": "object",
|
|
31
|
+
"required": ["id", "kind", "title", "source", "applicability", "required"],
|
|
32
|
+
"properties": {
|
|
33
|
+
"id": { "type": "string", "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$" },
|
|
34
|
+
"kind": { "enum": ["experience", "principles", "foundations", "tokens", "components", "interaction", "content", "states", "responsive", "accessibility", "motion", "prohibited", "review"] },
|
|
35
|
+
"title": { "type": "string", "minLength": 1, "maxLength": 160 },
|
|
36
|
+
"source": { "type": "string", "minLength": 1, "maxLength": 240, "not": { "pattern": "(^[a-zA-Z][a-zA-Z0-9+.-]*:|^/|(^|[\\\\/])\\.\\.([\\\\/]|$))" } },
|
|
37
|
+
"applicability": { "type": "array", "minItems": 1, "maxItems": 30, "uniqueItems": true, "items": { "type": "string", "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$" } },
|
|
38
|
+
"required": { "type": "boolean" },
|
|
39
|
+
"replaces": { "type": "array", "maxItems": 30, "uniqueItems": true, "items": { "type": "string", "pattern": "^(?:ewai\\.[a-z0-9.-]+|org\\.[a-z0-9-]+\\.[a-z0-9.-]+):[a-z0-9]+(?:-[a-z0-9]+)*$" } }
|
|
40
|
+
},
|
|
41
|
+
"additionalProperties": false
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"additionalProperties": false
|
|
46
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://engineeringwithai.dev/schemas/error-reporting.schema.json",
|
|
4
|
+
"title": "EWAI local error report",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": ["schema", "id", "status", "revision", "createdAt", "updatedAt", "diagnostics", "description", "redactions", "attachments"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"schema": { "const": "ewai.error-report/v1" },
|
|
10
|
+
"id": { "type": "string", "pattern": "^report_[a-z0-9_]{3,80}$" },
|
|
11
|
+
"status": { "enum": ["draft", "finalised", "archived"] },
|
|
12
|
+
"revision": { "type": "integer", "minimum": 1 },
|
|
13
|
+
"createdAt": { "type": "string", "format": "date-time" },
|
|
14
|
+
"updatedAt": { "type": "string", "format": "date-time" },
|
|
15
|
+
"diagnostics": {
|
|
16
|
+
"type": "object",
|
|
17
|
+
"additionalProperties": false,
|
|
18
|
+
"required": ["capability", "errorCode", "command", "ewaiVersion", "nodeVersion", "osClass", "installationSource"],
|
|
19
|
+
"properties": {
|
|
20
|
+
"capability": { "type": "string", "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$" },
|
|
21
|
+
"errorCode": { "type": "string", "pattern": "^[A-Z][A-Z0-9-]{2,79}$" },
|
|
22
|
+
"command": { "type": "string", "maxLength": 160 },
|
|
23
|
+
"ewaiVersion": { "type": "string", "maxLength": 40 },
|
|
24
|
+
"nodeVersion": { "type": "string", "maxLength": 40 },
|
|
25
|
+
"osClass": { "enum": ["darwin", "linux", "win32", "other"] },
|
|
26
|
+
"installationSource": { "enum": ["npm", "git", "local", "unknown"] }
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"description": {
|
|
30
|
+
"type": "object",
|
|
31
|
+
"additionalProperties": false,
|
|
32
|
+
"required": ["title", "expected", "actual", "reproductionSteps"],
|
|
33
|
+
"properties": {
|
|
34
|
+
"title": { "type": "string", "maxLength": 500 },
|
|
35
|
+
"expected": { "type": "string", "maxLength": 4000 },
|
|
36
|
+
"actual": { "type": "string", "maxLength": 4000 },
|
|
37
|
+
"reproductionSteps": { "type": "array", "maxItems": 50, "items": { "type": "string", "maxLength": 1000 } }
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"redactions": { "$ref": "#/$defs/redactions" },
|
|
41
|
+
"attachments": {
|
|
42
|
+
"type": "array",
|
|
43
|
+
"maxItems": 20,
|
|
44
|
+
"items": {
|
|
45
|
+
"type": "object",
|
|
46
|
+
"additionalProperties": false,
|
|
47
|
+
"required": ["name", "size", "digest"],
|
|
48
|
+
"properties": {
|
|
49
|
+
"name": { "type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,119}$" },
|
|
50
|
+
"size": { "type": "integer", "minimum": 0, "maximum": 5242880 },
|
|
51
|
+
"digest": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" }
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
"package": {
|
|
56
|
+
"type": "object",
|
|
57
|
+
"additionalProperties": false,
|
|
58
|
+
"required": ["packageDigest", "archiveDigest", "size", "memberCount"],
|
|
59
|
+
"properties": {
|
|
60
|
+
"packageDigest": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" },
|
|
61
|
+
"archiveDigest": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" },
|
|
62
|
+
"size": { "type": "integer", "minimum": 1 },
|
|
63
|
+
"memberCount": { "type": "integer", "minimum": 4 }
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"$defs": {
|
|
68
|
+
"redactions": {
|
|
69
|
+
"type": "object",
|
|
70
|
+
"additionalProperties": false,
|
|
71
|
+
"required": ["schema", "classes", "counts"],
|
|
72
|
+
"properties": {
|
|
73
|
+
"schema": { "const": "ewai.error-report-redactions/v1" },
|
|
74
|
+
"classes": { "type": "array", "uniqueItems": true, "items": { "type": "string" } },
|
|
75
|
+
"counts": { "type": "object", "additionalProperties": { "type": "integer", "minimum": 0 } }
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|