@agentic-qe/v3 3.0.0-alpha.6 → 3.0.0-alpha.8
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/assets/agents/v3/subagents/v3-qe-code-reviewer.md +339 -0
- package/assets/agents/v3/subagents/v3-qe-integration-reviewer.md +344 -0
- package/assets/agents/v3/subagents/v3-qe-performance-reviewer.md +351 -0
- package/assets/agents/v3/subagents/v3-qe-security-reviewer.md +374 -0
- package/assets/agents/v3/subagents/v3-qe-tdd-green.md +334 -0
- package/assets/agents/v3/subagents/v3-qe-tdd-red.md +329 -0
- package/assets/agents/v3/subagents/v3-qe-tdd-refactor.md +361 -0
- package/assets/agents/v3/v3-qe-accessibility-auditor.md +266 -0
- package/assets/agents/v3/v3-qe-bdd-generator.md +279 -0
- package/assets/agents/v3/v3-qe-chaos-engineer.md +265 -0
- package/assets/agents/v3/v3-qe-code-complexity.md +298 -0
- package/assets/agents/v3/v3-qe-code-intelligence.md +262 -0
- package/assets/agents/v3/v3-qe-contract-validator.md +267 -0
- package/assets/agents/v3/v3-qe-coverage-specialist.md +227 -0
- package/assets/agents/v3/v3-qe-defect-predictor.md +251 -0
- package/assets/agents/v3/v3-qe-dependency-mapper.md +277 -0
- package/assets/agents/v3/v3-qe-deployment-advisor.md +275 -0
- package/assets/agents/v3/v3-qe-flaky-hunter.md +248 -0
- package/assets/agents/v3/v3-qe-fleet-commander.md +293 -0
- package/assets/agents/v3/v3-qe-gap-detector.md +260 -0
- package/assets/agents/v3/v3-qe-graphql-tester.md +308 -0
- package/assets/agents/v3/v3-qe-impact-analyzer.md +299 -0
- package/assets/agents/v3/v3-qe-integration-tester.md +238 -0
- package/assets/agents/v3/v3-qe-kg-builder.md +273 -0
- package/assets/agents/v3/v3-qe-learning-coordinator.md +226 -0
- package/assets/agents/v3/v3-qe-load-tester.md +280 -0
- package/assets/agents/v3/v3-qe-metrics-optimizer.md +300 -0
- package/assets/agents/v3/v3-qe-mutation-tester.md +301 -0
- package/assets/agents/v3/v3-qe-parallel-executor.md +240 -0
- package/assets/agents/v3/v3-qe-pattern-learner.md +271 -0
- package/assets/agents/v3/v3-qe-performance-tester.md +262 -0
- package/assets/agents/v3/v3-qe-property-tester.md +247 -0
- package/assets/agents/v3/v3-qe-quality-gate.md +218 -0
- package/assets/agents/v3/v3-qe-queen-coordinator.md +214 -0
- package/assets/agents/v3/v3-qe-qx-partner.md +313 -0
- package/assets/agents/v3/v3-qe-regression-analyzer.md +322 -0
- package/assets/agents/v3/v3-qe-requirements-validator.md +360 -0
- package/assets/agents/v3/v3-qe-responsive-tester.md +311 -0
- package/assets/agents/v3/v3-qe-retry-handler.md +256 -0
- package/assets/agents/v3/v3-qe-risk-assessor.md +273 -0
- package/assets/agents/v3/v3-qe-root-cause-analyzer.md +286 -0
- package/assets/agents/v3/v3-qe-security-auditor.md +299 -0
- package/assets/agents/v3/v3-qe-security-scanner.md +235 -0
- package/assets/agents/v3/v3-qe-tdd-specialist.md +239 -0
- package/assets/agents/v3/v3-qe-test-architect.md +233 -0
- package/assets/agents/v3/v3-qe-transfer-specialist.md +295 -0
- package/assets/agents/v3/v3-qe-visual-tester.md +232 -0
- package/assets/skills/accessibility-testing/SKILL.md +216 -0
- package/assets/skills/agentdb-advanced/SKILL.md +550 -0
- package/assets/skills/agentdb-learning/SKILL.md +545 -0
- package/assets/skills/agentdb-memory-patterns/SKILL.md +339 -0
- package/assets/skills/agentdb-optimization/SKILL.md +509 -0
- package/assets/skills/agentdb-vector-search/SKILL.md +339 -0
- package/assets/skills/agentic-jujutsu/SKILL.md +645 -0
- package/assets/skills/agentic-quality-engineering/SKILL.md +335 -0
- package/assets/skills/api-testing-patterns/SKILL.md +294 -0
- package/assets/skills/aqe-v2-v3-migration/skill.md +322 -0
- package/assets/skills/brutal-honesty-review/README.md +218 -0
- package/assets/skills/brutal-honesty-review/SKILL.md +235 -0
- package/assets/skills/brutal-honesty-review/resources/assessment-rubrics.md +295 -0
- package/assets/skills/brutal-honesty-review/resources/review-template.md +102 -0
- package/assets/skills/brutal-honesty-review/scripts/assess-code.sh +179 -0
- package/assets/skills/brutal-honesty-review/scripts/assess-tests.sh +223 -0
- package/assets/skills/bug-reporting-excellence/SKILL.md +225 -0
- package/assets/skills/chaos-engineering-resilience/SKILL.md +158 -0
- package/assets/skills/cicd-pipeline-qe-orchestrator/README.md +304 -0
- package/assets/skills/cicd-pipeline-qe-orchestrator/SKILL.md +315 -0
- package/assets/skills/cicd-pipeline-qe-orchestrator/resources/workflows/microservice-pipeline.md +239 -0
- package/assets/skills/cicd-pipeline-qe-orchestrator/resources/workflows/mobile-pipeline.md +375 -0
- package/assets/skills/cicd-pipeline-qe-orchestrator/resources/workflows/monolith-pipeline.md +268 -0
- package/assets/skills/code-review-quality/SKILL.md +227 -0
- package/assets/skills/compatibility-testing/SKILL.md +205 -0
- package/assets/skills/compliance-testing/SKILL.md +225 -0
- package/assets/skills/consultancy-practices/SKILL.md +202 -0
- package/assets/skills/context-driven-testing/SKILL.md +196 -0
- package/assets/skills/contract-testing/SKILL.md +222 -0
- package/assets/skills/database-testing/SKILL.md +244 -0
- package/assets/skills/exploratory-testing-advanced/SKILL.md +201 -0
- package/assets/skills/flow-nexus-neural/SKILL.md +738 -0
- package/assets/skills/flow-nexus-platform/SKILL.md +1157 -0
- package/assets/skills/flow-nexus-swarm/SKILL.md +610 -0
- package/assets/skills/github-code-review/SKILL.md +1140 -0
- package/assets/skills/github-multi-repo/SKILL.md +874 -0
- package/assets/skills/github-project-management/SKILL.md +1277 -0
- package/assets/skills/github-release-management/SKILL.md +1081 -0
- package/assets/skills/github-workflow-automation/SKILL.md +1065 -0
- package/assets/skills/hive-mind-advanced/SKILL.md +712 -0
- package/assets/skills/holistic-testing-pact/SKILL.md +171 -0
- package/assets/skills/hooks-automation/SKILL.md +1201 -0
- package/assets/skills/localization-testing/SKILL.md +221 -0
- package/assets/skills/mobile-testing/SKILL.md +219 -0
- package/assets/skills/mutation-testing/SKILL.md +229 -0
- package/assets/skills/n8n-expression-testing/SKILL.md +434 -0
- package/assets/skills/n8n-integration-testing-patterns/SKILL.md +540 -0
- package/assets/skills/n8n-security-testing/SKILL.md +599 -0
- package/assets/skills/n8n-trigger-testing-strategies/SKILL.md +541 -0
- package/assets/skills/n8n-workflow-testing-fundamentals/SKILL.md +447 -0
- package/assets/skills/pair-programming/SKILL.md +1202 -0
- package/assets/skills/performance-analysis/SKILL.md +563 -0
- package/assets/skills/performance-testing/SKILL.md +310 -0
- package/assets/skills/quality-metrics/SKILL.md +225 -0
- package/assets/skills/reasoningbank-agentdb/SKILL.md +446 -0
- package/assets/skills/reasoningbank-intelligence/SKILL.md +201 -0
- package/assets/skills/refactoring-patterns/SKILL.md +205 -0
- package/assets/skills/regression-testing/SKILL.md +227 -0
- package/assets/skills/risk-based-testing/SKILL.md +206 -0
- package/assets/skills/security-testing/SKILL.md +306 -0
- package/assets/skills/sherlock-review/SKILL.md +250 -0
- package/assets/skills/shift-left-testing/SKILL.md +225 -0
- package/assets/skills/shift-right-testing/SKILL.md +227 -0
- package/assets/skills/six-thinking-hats/README.md +190 -0
- package/assets/skills/six-thinking-hats/SKILL.md +280 -0
- package/assets/skills/six-thinking-hats/resources/examples/api-testing-example.md +345 -0
- package/assets/skills/six-thinking-hats/resources/templates/solo-session-template.md +167 -0
- package/assets/skills/six-thinking-hats/resources/templates/team-session-template.md +336 -0
- package/assets/skills/skill-builder/SKILL.md +910 -0
- package/assets/skills/sparc-methodology/SKILL.md +1115 -0
- package/assets/skills/stream-chain/SKILL.md +563 -0
- package/assets/skills/swarm-advanced/SKILL.md +973 -0
- package/assets/skills/swarm-orchestration/SKILL.md +179 -0
- package/assets/skills/tdd-london-chicago/SKILL.md +244 -0
- package/assets/skills/technical-writing/SKILL.md +178 -0
- package/assets/skills/test-automation-strategy/SKILL.md +230 -0
- package/assets/skills/test-data-management/SKILL.md +270 -0
- package/assets/skills/test-design-techniques/SKILL.md +244 -0
- package/assets/skills/test-environment-management/SKILL.md +243 -0
- package/assets/skills/test-reporting-analytics/SKILL.md +214 -0
- package/assets/skills/testability-scoring/README.md +71 -0
- package/assets/skills/testability-scoring/SKILL.md +346 -0
- package/assets/skills/testability-scoring/resources/templates/config.template.js +84 -0
- package/assets/skills/testability-scoring/resources/templates/testability-scoring.spec.template.js +532 -0
- package/assets/skills/testability-scoring/scripts/generate-html-report.js +1007 -0
- package/assets/skills/testability-scoring/scripts/run-assessment.sh +70 -0
- package/assets/skills/v3-qe-chaos-resilience/SKILL.md +238 -0
- package/assets/skills/v3-qe-code-intelligence/SKILL.md +209 -0
- package/assets/skills/v3-qe-contract-testing/SKILL.md +218 -0
- package/assets/skills/v3-qe-coverage-analysis/SKILL.md +187 -0
- package/assets/skills/v3-qe-defect-intelligence/SKILL.md +205 -0
- package/assets/skills/v3-qe-learning-optimization/SKILL.md +238 -0
- package/assets/skills/v3-qe-quality-assessment/SKILL.md +213 -0
- package/assets/skills/v3-qe-requirements-validation/SKILL.md +248 -0
- package/assets/skills/v3-qe-test-execution/SKILL.md +182 -0
- package/assets/skills/v3-qe-test-generation/SKILL.md +141 -0
- package/assets/skills/v3-qe-visual-accessibility/SKILL.md +242 -0
- package/assets/skills/verification-quality/SKILL.md +649 -0
- package/assets/skills/visual-testing-advanced/SKILL.md +219 -0
- package/assets/skills/xp-practices/SKILL.md +229 -0
- package/dist/cli/bundle.js +23 -13
- package/dist/init/agents-installer.js +4 -4
- package/dist/init/agents-installer.js.map +1 -1
- package/dist/init/init-wizard.d.ts.map +1 -1
- package/dist/init/init-wizard.js +15 -5
- package/dist/init/init-wizard.js.map +1 -1
- package/dist/init/skills-installer.js +4 -4
- package/dist/init/skills-installer.js.map +1 -1
- package/package.json +7 -1
- package/docs/analysis/V3-INIT-REQUIREMENTS-ANALYSIS.md +0 -352
- package/implementation/README.md +0 -90
- package/implementation/adrs/ADR-030-coherence-gated-quality-gates.md +0 -312
- package/implementation/adrs/ADR-031-strange-loop-self-awareness.md +0 -484
- package/implementation/adrs/ADR-032-time-crystal-scheduling.md +0 -530
- package/implementation/adrs/ADR-033-early-exit-testing.md +0 -634
- package/implementation/adrs/ADR-034-neural-topology-optimizer.md +0 -589
- package/implementation/adrs/ADR-035-causal-discovery.md +0 -610
- package/implementation/adrs/ADR-036-result-persistence.md +0 -326
- package/implementation/adrs/ADR-037-v3-qe-agent-naming.md +0 -105
- package/implementation/adrs/ADR-038-v3-qe-memory-unification.md +0 -154
- package/implementation/adrs/ADR-039-v3-qe-mcp-optimization.md +0 -179
- package/implementation/adrs/ADR-040-v3-qe-agentic-flow-integration.md +0 -240
- package/implementation/adrs/ADR-041-v3-qe-cli-enhancement.md +0 -296
- package/implementation/adrs/ADR-042-v3-qe-token-tracking-integration.md +0 -517
- package/implementation/adrs/v3-adrs.md +0 -2783
- package/implementation/planning/AQE-V3-MASTER-PLAN.md +0 -815
- package/security-scan-report-2026-01-11.md +0 -410
- package/security-verification-report-2026-01-11.md +0 -278
- package/src/benchmarks/performance-benchmarks.ts +0 -646
- package/src/benchmarks/run-benchmarks.ts +0 -324
- package/src/causal-discovery/causal-graph.ts +0 -450
- package/src/causal-discovery/discovery-engine.ts +0 -438
- package/src/causal-discovery/index.ts +0 -117
- package/src/causal-discovery/types.ts +0 -456
- package/src/causal-discovery/weight-matrix.ts +0 -453
- package/src/cli/commands/qe-tools.ts +0 -634
- package/src/cli/index.ts +0 -1976
- package/src/compatibility/agent-mapper.ts +0 -291
- package/src/compatibility/cli-adapter.ts +0 -277
- package/src/compatibility/config-migrator.ts +0 -334
- package/src/compatibility/index.ts +0 -112
- package/src/compatibility/mcp-adapter.ts +0 -248
- package/src/compatibility/types.ts +0 -156
- package/src/coordination/claims/claim-repository.ts +0 -636
- package/src/coordination/claims/claim-service.ts +0 -675
- package/src/coordination/claims/handoff-manager.ts +0 -535
- package/src/coordination/claims/index.ts +0 -276
- package/src/coordination/claims/interfaces.ts +0 -687
- package/src/coordination/claims/work-stealing.ts +0 -436
- package/src/coordination/cross-domain-router.ts +0 -492
- package/src/coordination/index.ts +0 -127
- package/src/coordination/interfaces.ts +0 -691
- package/src/coordination/protocol-executor.ts +0 -760
- package/src/coordination/protocols/code-intelligence-index.ts +0 -855
- package/src/coordination/protocols/defect-investigation.ts +0 -1184
- package/src/coordination/protocols/index.ts +0 -11
- package/src/coordination/protocols/learning-consolidation.ts +0 -1181
- package/src/coordination/protocols/morning-sync.ts +0 -1055
- package/src/coordination/protocols/quality-gate.ts +0 -1566
- package/src/coordination/protocols/security-audit.ts +0 -1587
- package/src/coordination/queen-coordinator.ts +0 -1176
- package/src/coordination/result-saver.ts +0 -780
- package/src/coordination/task-executor.ts +0 -1146
- package/src/coordination/workflow-orchestrator.ts +0 -1917
- package/src/domains/chaos-resilience/coordinator.ts +0 -1032
- package/src/domains/chaos-resilience/index.ts +0 -143
- package/src/domains/chaos-resilience/interfaces.ts +0 -659
- package/src/domains/chaos-resilience/plugin.ts +0 -691
- package/src/domains/chaos-resilience/services/chaos-engineer.ts +0 -1097
- package/src/domains/chaos-resilience/services/index.ts +0 -19
- package/src/domains/chaos-resilience/services/load-tester.ts +0 -799
- package/src/domains/chaos-resilience/services/performance-profiler.ts +0 -792
- package/src/domains/code-intelligence/coordinator.ts +0 -631
- package/src/domains/code-intelligence/index.ts +0 -86
- package/src/domains/code-intelligence/interfaces.ts +0 -162
- package/src/domains/code-intelligence/plugin.ts +0 -451
- package/src/domains/code-intelligence/services/impact-analyzer.ts +0 -567
- package/src/domains/code-intelligence/services/index.ts +0 -26
- package/src/domains/code-intelligence/services/knowledge-graph.ts +0 -1067
- package/src/domains/code-intelligence/services/semantic-analyzer.ts +0 -901
- package/src/domains/contract-testing/coordinator.ts +0 -1038
- package/src/domains/contract-testing/index.ts +0 -122
- package/src/domains/contract-testing/interfaces.ts +0 -458
- package/src/domains/contract-testing/plugin.ts +0 -746
- package/src/domains/contract-testing/services/api-compatibility.ts +0 -748
- package/src/domains/contract-testing/services/contract-validator.ts +0 -1700
- package/src/domains/contract-testing/services/index.ts +0 -19
- package/src/domains/contract-testing/services/schema-validator.ts +0 -1102
- package/src/domains/coverage-analysis/coordinator.ts +0 -485
- package/src/domains/coverage-analysis/index.ts +0 -114
- package/src/domains/coverage-analysis/interfaces.ts +0 -142
- package/src/domains/coverage-analysis/plugin.ts +0 -172
- package/src/domains/coverage-analysis/services/coverage-analyzer.ts +0 -449
- package/src/domains/coverage-analysis/services/coverage-embedder.ts +0 -733
- package/src/domains/coverage-analysis/services/coverage-parser.ts +0 -753
- package/src/domains/coverage-analysis/services/gap-detector.ts +0 -592
- package/src/domains/coverage-analysis/services/hnsw-index.ts +0 -728
- package/src/domains/coverage-analysis/services/index.ts +0 -61
- package/src/domains/coverage-analysis/services/risk-scorer.ts +0 -540
- package/src/domains/coverage-analysis/services/sublinear-analyzer.ts +0 -747
- package/src/domains/defect-intelligence/coordinator.ts +0 -635
- package/src/domains/defect-intelligence/index.ts +0 -83
- package/src/domains/defect-intelligence/interfaces.ts +0 -152
- package/src/domains/defect-intelligence/plugin.ts +0 -483
- package/src/domains/defect-intelligence/services/causal-root-cause-analyzer.ts +0 -494
- package/src/domains/defect-intelligence/services/defect-predictor.ts +0 -852
- package/src/domains/defect-intelligence/services/index.ts +0 -37
- package/src/domains/defect-intelligence/services/pattern-learner.ts +0 -738
- package/src/domains/defect-intelligence/services/root-cause-analyzer.ts +0 -637
- package/src/domains/domain-interface.ts +0 -77
- package/src/domains/index.ts +0 -23
- package/src/domains/learning-optimization/coordinator.ts +0 -1215
- package/src/domains/learning-optimization/index.ts +0 -127
- package/src/domains/learning-optimization/interfaces.ts +0 -570
- package/src/domains/learning-optimization/plugin.ts +0 -851
- package/src/domains/learning-optimization/services/index.ts +0 -29
- package/src/domains/learning-optimization/services/learning-coordinator.ts +0 -972
- package/src/domains/learning-optimization/services/metrics-optimizer.ts +0 -915
- package/src/domains/learning-optimization/services/production-intel.ts +0 -971
- package/src/domains/learning-optimization/services/transfer-specialist.ts +0 -723
- package/src/domains/quality-assessment/coherence/gate-controller.ts +0 -549
- package/src/domains/quality-assessment/coherence/index.ts +0 -211
- package/src/domains/quality-assessment/coherence/lambda-calculator.ts +0 -384
- package/src/domains/quality-assessment/coherence/partition-detector.ts +0 -469
- package/src/domains/quality-assessment/coherence/types.ts +0 -384
- package/src/domains/quality-assessment/coordinator.ts +0 -605
- package/src/domains/quality-assessment/index.ts +0 -97
- package/src/domains/quality-assessment/interfaces.ts +0 -152
- package/src/domains/quality-assessment/plugin.ts +0 -496
- package/src/domains/quality-assessment/services/coherence-gate.ts +0 -358
- package/src/domains/quality-assessment/services/deployment-advisor.ts +0 -571
- package/src/domains/quality-assessment/services/index.ts +0 -34
- package/src/domains/quality-assessment/services/quality-analyzer.ts +0 -670
- package/src/domains/quality-assessment/services/quality-gate.ts +0 -384
- package/src/domains/requirements-validation/coordinator.ts +0 -812
- package/src/domains/requirements-validation/index.ts +0 -92
- package/src/domains/requirements-validation/interfaces.ts +0 -303
- package/src/domains/requirements-validation/plugin.ts +0 -576
- package/src/domains/requirements-validation/services/bdd-scenario-writer.ts +0 -676
- package/src/domains/requirements-validation/services/index.ts +0 -20
- package/src/domains/requirements-validation/services/requirements-validator.ts +0 -559
- package/src/domains/requirements-validation/services/testability-scorer.ts +0 -639
- package/src/domains/security-compliance/coordinator.ts +0 -757
- package/src/domains/security-compliance/index.ts +0 -120
- package/src/domains/security-compliance/interfaces.ts +0 -434
- package/src/domains/security-compliance/plugin.ts +0 -509
- package/src/domains/security-compliance/services/compliance-validator.ts +0 -1226
- package/src/domains/security-compliance/services/index.ts +0 -31
- package/src/domains/security-compliance/services/security-auditor.ts +0 -2227
- package/src/domains/security-compliance/services/security-scanner.ts +0 -2354
- package/src/domains/security-compliance/services/semgrep-integration.ts +0 -289
- package/src/domains/test-execution/coordinator.ts +0 -426
- package/src/domains/test-execution/index.ts +0 -76
- package/src/domains/test-execution/interfaces.ts +0 -119
- package/src/domains/test-execution/plugin.ts +0 -208
- package/src/domains/test-execution/services/flaky-detector.ts +0 -1240
- package/src/domains/test-execution/services/index.ts +0 -8
- package/src/domains/test-execution/services/retry-handler.ts +0 -820
- package/src/domains/test-execution/services/test-executor.ts +0 -885
- package/src/domains/test-generation/coordinator.ts +0 -656
- package/src/domains/test-generation/index.ts +0 -77
- package/src/domains/test-generation/interfaces.ts +0 -118
- package/src/domains/test-generation/plugin.ts +0 -397
- package/src/domains/test-generation/services/index.ts +0 -23
- package/src/domains/test-generation/services/pattern-matcher.ts +0 -1725
- package/src/domains/test-generation/services/test-generator.ts +0 -2750
- package/src/domains/visual-accessibility/coordinator.ts +0 -860
- package/src/domains/visual-accessibility/index.ts +0 -116
- package/src/domains/visual-accessibility/interfaces.ts +0 -435
- package/src/domains/visual-accessibility/plugin.ts +0 -568
- package/src/domains/visual-accessibility/services/accessibility-tester.ts +0 -982
- package/src/domains/visual-accessibility/services/axe-core-audit.ts +0 -630
- package/src/domains/visual-accessibility/services/index.ts +0 -28
- package/src/domains/visual-accessibility/services/responsive-tester.ts +0 -934
- package/src/domains/visual-accessibility/services/visual-tester.ts +0 -458
- package/src/early-exit/early-exit-controller.ts +0 -490
- package/src/early-exit/early-exit-decision.ts +0 -391
- package/src/early-exit/index.ts +0 -115
- package/src/early-exit/quality-signal.ts +0 -389
- package/src/early-exit/speculative-executor.ts +0 -505
- package/src/early-exit/types.ts +0 -407
- package/src/feedback/coverage-learner.ts +0 -456
- package/src/feedback/feedback-loop.ts +0 -426
- package/src/feedback/index.ts +0 -72
- package/src/feedback/pattern-promotion.ts +0 -373
- package/src/feedback/quality-score-calculator.ts +0 -334
- package/src/feedback/test-outcome-tracker.ts +0 -450
- package/src/feedback/types.ts +0 -497
- package/src/index.ts +0 -224
- package/src/init/agents-installer.ts +0 -536
- package/src/init/index.ts +0 -80
- package/src/init/init-wizard.ts +0 -1061
- package/src/init/project-analyzer.ts +0 -696
- package/src/init/self-configurator.ts +0 -488
- package/src/init/skills-installer.ts +0 -467
- package/src/init/types.ts +0 -432
- package/src/integrations/ruvector/ast-complexity.ts +0 -470
- package/src/integrations/ruvector/coverage-router.ts +0 -594
- package/src/integrations/ruvector/diff-risk-classifier.ts +0 -759
- package/src/integrations/ruvector/fallback.ts +0 -942
- package/src/integrations/ruvector/graph-boundaries.ts +0 -809
- package/src/integrations/ruvector/index.ts +0 -363
- package/src/integrations/ruvector/interfaces.ts +0 -609
- package/src/integrations/ruvector/q-learning-router.ts +0 -550
- package/src/kernel/agent-coordinator.ts +0 -165
- package/src/kernel/agentdb-backend.ts +0 -504
- package/src/kernel/event-bus.ts +0 -129
- package/src/kernel/hybrid-backend.ts +0 -538
- package/src/kernel/index.ts +0 -28
- package/src/kernel/interfaces.ts +0 -257
- package/src/kernel/kernel.ts +0 -285
- package/src/kernel/memory-backend.ts +0 -169
- package/src/kernel/memory-factory.ts +0 -293
- package/src/kernel/plugin-loader.ts +0 -179
- package/src/learning/index.ts +0 -219
- package/src/learning/pattern-store.ts +0 -990
- package/src/learning/qe-guidance.ts +0 -832
- package/src/learning/qe-hooks.ts +0 -644
- package/src/learning/qe-patterns.ts +0 -449
- package/src/learning/qe-reasoning-bank.ts +0 -951
- package/src/learning/real-embeddings.ts +0 -277
- package/src/learning/real-qe-reasoning-bank.ts +0 -833
- package/src/learning/sqlite-persistence.ts +0 -554
- package/src/mcp/entry.ts +0 -59
- package/src/mcp/handlers/agent-handlers.ts +0 -285
- package/src/mcp/handlers/core-handlers.ts +0 -317
- package/src/mcp/handlers/domain-handlers.ts +0 -1444
- package/src/mcp/handlers/index.ts +0 -57
- package/src/mcp/handlers/memory-handlers.ts +0 -338
- package/src/mcp/handlers/task-handlers.ts +0 -363
- package/src/mcp/index.ts +0 -30
- package/src/mcp/metrics/index.ts +0 -14
- package/src/mcp/metrics/metrics-collector.ts +0 -503
- package/src/mcp/protocol-server.ts +0 -752
- package/src/mcp/security/cve-prevention.ts +0 -742
- package/src/mcp/security/index.ts +0 -356
- package/src/mcp/security/oauth21-provider.ts +0 -821
- package/src/mcp/security/rate-limiter.ts +0 -615
- package/src/mcp/security/sampling-server.ts +0 -662
- package/src/mcp/security/schema-validator.ts +0 -855
- package/src/mcp/server.ts +0 -657
- package/src/mcp/tool-registry.ts +0 -391
- package/src/mcp/tools/base.ts +0 -399
- package/src/mcp/tools/chaos-resilience/inject.ts +0 -699
- package/src/mcp/tools/code-intelligence/analyze.ts +0 -745
- package/src/mcp/tools/contract-testing/validate.ts +0 -708
- package/src/mcp/tools/coverage-analysis/index.ts +0 -770
- package/src/mcp/tools/defect-intelligence/predict.ts +0 -466
- package/src/mcp/tools/index.ts +0 -214
- package/src/mcp/tools/learning-optimization/optimize.ts +0 -772
- package/src/mcp/tools/quality-assessment/evaluate.ts +0 -385
- package/src/mcp/tools/registry.ts +0 -248
- package/src/mcp/tools/requirements-validation/validate.ts +0 -394
- package/src/mcp/tools/security-compliance/scan.ts +0 -365
- package/src/mcp/tools/test-execution/execute.ts +0 -291
- package/src/mcp/tools/test-generation/generate.ts +0 -544
- package/src/mcp/tools/visual-accessibility/index.ts +0 -791
- package/src/mcp/transport/index.ts +0 -31
- package/src/mcp/transport/stdio.ts +0 -318
- package/src/mcp/types.ts +0 -543
- package/src/neural-optimizer/index.ts +0 -111
- package/src/neural-optimizer/replay-buffer.ts +0 -455
- package/src/neural-optimizer/swarm-topology.ts +0 -508
- package/src/neural-optimizer/topology-optimizer.ts +0 -828
- package/src/neural-optimizer/types.ts +0 -481
- package/src/neural-optimizer/value-network.ts +0 -351
- package/src/optimization/auto-tuner.ts +0 -817
- package/src/optimization/index.ts +0 -77
- package/src/optimization/metric-collectors.ts +0 -474
- package/src/optimization/qe-workers.ts +0 -704
- package/src/optimization/tuning-algorithm.ts +0 -401
- package/src/optimization/types.ts +0 -314
- package/src/routing/index.ts +0 -51
- package/src/routing/qe-agent-registry.ts +0 -963
- package/src/routing/qe-task-router.ts +0 -564
- package/src/routing/routing-feedback.ts +0 -365
- package/src/routing/types.ts +0 -406
- package/src/shared/embeddings/embedding-cache.ts +0 -157
- package/src/shared/embeddings/index.ts +0 -50
- package/src/shared/embeddings/nomic-embedder.ts +0 -404
- package/src/shared/embeddings/ollama-client.ts +0 -195
- package/src/shared/embeddings/types.ts +0 -147
- package/src/shared/entities/agent.ts +0 -141
- package/src/shared/entities/base-entity.ts +0 -79
- package/src/shared/entities/index.ts +0 -6
- package/src/shared/events/domain-events.ts +0 -259
- package/src/shared/events/index.ts +0 -5
- package/src/shared/git/git-analyzer.ts +0 -656
- package/src/shared/git/index.ts +0 -11
- package/src/shared/http/http-client.ts +0 -420
- package/src/shared/http/index.ts +0 -13
- package/src/shared/index.ts +0 -41
- package/src/shared/io/file-reader.ts +0 -525
- package/src/shared/io/index.ts +0 -25
- package/src/shared/llm/cache.ts +0 -473
- package/src/shared/llm/circuit-breaker.ts +0 -369
- package/src/shared/llm/cost-tracker.ts +0 -460
- package/src/shared/llm/index.ts +0 -140
- package/src/shared/llm/interfaces.ts +0 -629
- package/src/shared/llm/provider-manager.ts +0 -685
- package/src/shared/llm/providers/claude.ts +0 -524
- package/src/shared/llm/providers/index.ts +0 -8
- package/src/shared/llm/providers/ollama.ts +0 -575
- package/src/shared/llm/providers/openai.ts +0 -609
- package/src/shared/metrics/code-metrics.ts +0 -520
- package/src/shared/metrics/index.ts +0 -23
- package/src/shared/metrics/system-metrics.ts +0 -353
- package/src/shared/parsers/index.ts +0 -6
- package/src/shared/parsers/typescript-parser.ts +0 -841
- package/src/shared/security/compliance-patterns.ts +0 -666
- package/src/shared/security/index.ts +0 -30
- package/src/shared/security/osv-client.ts +0 -468
- package/src/shared/types/index.ts +0 -150
- package/src/shared/value-objects/index.ts +0 -273
- package/src/strange-loop/healing-controller.ts +0 -833
- package/src/strange-loop/index.ts +0 -104
- package/src/strange-loop/self-model.ts +0 -494
- package/src/strange-loop/strange-loop.ts +0 -446
- package/src/strange-loop/swarm-observer.ts +0 -448
- package/src/strange-loop/topology-analyzer.ts +0 -565
- package/src/strange-loop/types.ts +0 -640
- package/src/time-crystal/default-phases.ts +0 -520
- package/src/time-crystal/index.ts +0 -164
- package/src/time-crystal/oscillator.ts +0 -425
- package/src/time-crystal/phase-executor.ts +0 -521
- package/src/time-crystal/scheduler.ts +0 -1025
- package/src/time-crystal/test-runner.ts +0 -787
- package/src/time-crystal/types.ts +0 -421
- package/src/workers/base-worker.ts +0 -304
- package/src/workers/daemon.ts +0 -264
- package/src/workers/index.ts +0 -119
- package/src/workers/interfaces.ts +0 -393
- package/src/workers/worker-manager.ts +0 -424
- package/src/workers/workers/compliance-checker.ts +0 -445
- package/src/workers/workers/coverage-tracker.ts +0 -344
- package/src/workers/workers/defect-predictor.ts +0 -375
- package/src/workers/workers/flaky-detector.ts +0 -390
- package/src/workers/workers/index.ts +0 -17
- package/src/workers/workers/learning-consolidation.ts +0 -442
- package/src/workers/workers/performance-baseline.ts +0 -434
- package/src/workers/workers/quality-gate.ts +0 -419
- package/src/workers/workers/regression-monitor.ts +0 -357
- package/src/workers/workers/security-scan.ts +0 -349
- package/src/workers/workers/test-health.ts +0 -359
- package/tests/integration/code-intelligence/knowledge-graph-real.test.ts +0 -540
- package/tests/integration/coordination/cross-domain-router.test.ts +0 -403
- package/tests/integration/coordination/protocol-executor.test.ts +0 -454
- package/tests/integration/coordination/workflow-orchestrator.test.ts +0 -418
- package/tests/integration/feedback/feedback-loop-integration.test.ts +0 -560
- package/tests/integration/migration/v2-to-v3-migration.test.ts +0 -471
- package/tests/integration/parsers/typescript-parser.test.ts +0 -463
- package/tests/integration/security/vulnerability-detection.test.ts +0 -628
- package/tests/integration/test-execution/coordinator.test.ts +0 -410
- package/tests/integration/test-generation/coordinator.test.ts +0 -361
- package/tests/mocks/index.ts +0 -228
- package/tests/time-crystal/default-phases.test.ts +0 -476
- package/tests/time-crystal/oscillator.test.ts +0 -541
- package/tests/time-crystal/phase-executor.test.ts +0 -653
- package/tests/time-crystal/scheduler.test.ts +0 -626
- package/tests/time-crystal/test-runner.test.ts +0 -594
- package/tests/unit/causal-discovery/causal-graph.test.ts +0 -504
- package/tests/unit/causal-discovery/causal-root-cause-analyzer.test.ts +0 -347
- package/tests/unit/causal-discovery/discovery-engine.test.ts +0 -435
- package/tests/unit/causal-discovery/weight-matrix.test.ts +0 -328
- package/tests/unit/cli/cli.test.ts +0 -341
- package/tests/unit/cli/commands.test.ts +0 -414
- package/tests/unit/cli/init-command.test.ts +0 -274
- package/tests/unit/cli/migrate-command.test.ts +0 -396
- package/tests/unit/coordination/claims/claim-service.test.ts +0 -949
- package/tests/unit/coordination/claims/handoff-manager.test.ts +0 -773
- package/tests/unit/coordination/claims/work-stealing.test.ts +0 -492
- package/tests/unit/coordination/queen-coordinator.test.ts +0 -966
- package/tests/unit/coordination/result-saver.test.ts +0 -653
- package/tests/unit/coordination/task-executor.test.ts +0 -810
- package/tests/unit/domains/chaos-resilience/chaos-engineer.test.ts +0 -484
- package/tests/unit/domains/chaos-resilience/load-tester.test.ts +0 -559
- package/tests/unit/domains/chaos-resilience/performance-profiler.test.ts +0 -490
- package/tests/unit/domains/code-intelligence/impact-analyzer.test.ts +0 -560
- package/tests/unit/domains/code-intelligence/knowledge-graph.test.ts +0 -460
- package/tests/unit/domains/code-intelligence/semantic-analyzer.test.ts +0 -584
- package/tests/unit/domains/contract-testing/api-compatibility.test.ts +0 -483
- package/tests/unit/domains/contract-testing/contract-validator.test.ts +0 -370
- package/tests/unit/domains/contract-testing/schema-validator.test.ts +0 -610
- package/tests/unit/domains/coverage-analysis/coverage-embedder.test.ts +0 -298
- package/tests/unit/domains/coverage-analysis/hnsw-index.test.ts +0 -292
- package/tests/unit/domains/coverage-analysis/sublinear-analyzer.test.ts +0 -506
- package/tests/unit/domains/defect-intelligence/defect-predictor.test.ts +0 -370
- package/tests/unit/domains/defect-intelligence/pattern-learner.test.ts +0 -546
- package/tests/unit/domains/defect-intelligence/root-cause-analyzer.test.ts +0 -534
- package/tests/unit/domains/learning-optimization/learning-coordinator.test.ts +0 -541
- package/tests/unit/domains/learning-optimization/metrics-optimizer.test.ts +0 -552
- package/tests/unit/domains/learning-optimization/production-intel.test.ts +0 -589
- package/tests/unit/domains/learning-optimization/transfer-specialist.test.ts +0 -453
- package/tests/unit/domains/quality-assessment/coherence-gate.test.ts +0 -1006
- package/tests/unit/domains/quality-assessment/deployment-advisor.test.ts +0 -515
- package/tests/unit/domains/quality-assessment/quality-analyzer.test.ts +0 -401
- package/tests/unit/domains/quality-assessment/quality-gate.test.ts +0 -324
- package/tests/unit/domains/requirements-validation/bdd-scenario-writer.test.ts +0 -479
- package/tests/unit/domains/requirements-validation/requirements-validator.test.ts +0 -452
- package/tests/unit/domains/requirements-validation/testability-scorer.test.ts +0 -505
- package/tests/unit/domains/security-compliance/compliance-validator.test.ts +0 -500
- package/tests/unit/domains/security-compliance/security-auditor.test.ts +0 -498
- package/tests/unit/domains/security-compliance/security-scanner.test.ts +0 -412
- package/tests/unit/domains/visual-accessibility/accessibility-tester.test.ts +0 -432
- package/tests/unit/domains/visual-accessibility/responsive-tester.test.ts +0 -506
- package/tests/unit/domains/visual-accessibility/visual-tester.test.ts +0 -412
- package/tests/unit/early-exit/early-exit-controller.test.ts +0 -548
- package/tests/unit/early-exit/early-exit-decision.test.ts +0 -617
- package/tests/unit/early-exit/index.test.ts +0 -254
- package/tests/unit/early-exit/quality-signal.test.ts +0 -589
- package/tests/unit/early-exit/speculative-executor.test.ts +0 -453
- package/tests/unit/feedback/coverage-learner.test.ts +0 -288
- package/tests/unit/feedback/feedback-loop.test.ts +0 -458
- package/tests/unit/feedback/pattern-promotion.test.ts +0 -390
- package/tests/unit/feedback/quality-score-calculator.test.ts +0 -364
- package/tests/unit/feedback/test-outcome-tracker.test.ts +0 -243
- package/tests/unit/init/init-wizard.test.ts +0 -881
- package/tests/unit/init/project-analyzer.test.ts +0 -807
- package/tests/unit/init/self-configurator.test.ts +0 -493
- package/tests/unit/integrations/ruvector/ast-complexity.test.ts +0 -240
- package/tests/unit/integrations/ruvector/coverage-router.test.ts +0 -366
- package/tests/unit/integrations/ruvector/diff-risk-classifier.test.ts +0 -340
- package/tests/unit/integrations/ruvector/graph-boundaries.test.ts +0 -355
- package/tests/unit/integrations/ruvector/q-learning-router.test.ts +0 -314
- package/tests/unit/kernel/agent-coordinator.test.ts +0 -220
- package/tests/unit/kernel/event-bus.test.ts +0 -197
- package/tests/unit/learning/qe-reasoning-bank.test.ts +0 -666
- package/tests/unit/learning/real-qe-reasoning-bank.benchmark.test.ts +0 -415
- package/tests/unit/mcp/mcp-server.test.ts +0 -544
- package/tests/unit/mcp/metrics/metrics-collector.test.ts +0 -340
- package/tests/unit/mcp/security/cve-prevention.test.ts +0 -512
- package/tests/unit/mcp/security/oauth21-provider.test.ts +0 -624
- package/tests/unit/mcp/security/rate-limiter.test.ts +0 -410
- package/tests/unit/mcp/security/sampling-server.test.ts +0 -420
- package/tests/unit/mcp/security/schema-validator.test.ts +0 -494
- package/tests/unit/mcp/tools/base.test.ts +0 -336
- package/tests/unit/mcp/tools/domain-tools.test.ts +0 -759
- package/tests/unit/mcp/tools/registry.test.ts +0 -240
- package/tests/unit/neural-optimizer/replay-buffer.test.ts +0 -403
- package/tests/unit/neural-optimizer/swarm-topology.test.ts +0 -473
- package/tests/unit/neural-optimizer/topology-optimizer.test.ts +0 -595
- package/tests/unit/neural-optimizer/value-network.test.ts +0 -343
- package/tests/unit/optimization/auto-tuner.test.ts +0 -506
- package/tests/unit/optimization/metric-collectors.test.ts +0 -352
- package/tests/unit/optimization/qe-workers.test.ts +0 -407
- package/tests/unit/optimization/tuning-algorithm.test.ts +0 -467
- package/tests/unit/routing/qe-agent-registry.test.ts +0 -229
- package/tests/unit/routing/qe-task-router.test.ts +0 -390
- package/tests/unit/routing/routing-feedback.test.ts +0 -339
- package/tests/unit/shared/embeddings/nomic-embedder.test.ts +0 -419
- package/tests/unit/shared/http/http-client.test.ts +0 -719
- package/tests/unit/shared/io/file-reader.test.ts +0 -511
- package/tests/unit/shared/llm/cache.test.ts +0 -391
- package/tests/unit/shared/llm/circuit-breaker.test.ts +0 -293
- package/tests/unit/shared/llm/cost-tracker.test.ts +0 -431
- package/tests/unit/shared/llm/provider-manager.test.ts +0 -550
- package/tests/unit/shared/llm/providers.test.ts +0 -532
- package/tests/unit/shared/parsers/typescript-parser.test.ts +0 -693
- package/tests/unit/shared/value-objects.test.ts +0 -184
- package/tests/unit/strange-loop/strange-loop.test.ts +0 -1170
- package/tests/unit/workers/base-worker.test.ts +0 -341
- package/tests/unit/workers/daemon.test.ts +0 -291
- package/tests/unit/workers/worker-manager.test.ts +0 -284
- package/tsconfig.json +0 -32
- package/vitest.config.ts +0 -27
|
@@ -1,659 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Agentic QE v3 - Chaos & Resilience Testing Domain Interfaces
|
|
3
|
-
*
|
|
4
|
-
* Bounded Context: Chaos & Resilience Testing
|
|
5
|
-
* Responsibility: Chaos engineering, fault injection, performance/load testing
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import type { DomainEvent, Result } from '../../shared/types/index.js';
|
|
9
|
-
import type { RiskScore } from '../../shared/value-objects/index.js';
|
|
10
|
-
|
|
11
|
-
// ============================================================================
|
|
12
|
-
// Value Objects
|
|
13
|
-
// ============================================================================
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Chaos experiment definition
|
|
17
|
-
*/
|
|
18
|
-
export interface ChaosExperiment {
|
|
19
|
-
readonly id: string;
|
|
20
|
-
readonly name: string;
|
|
21
|
-
readonly description: string;
|
|
22
|
-
readonly hypothesis: Hypothesis;
|
|
23
|
-
readonly steadyState: SteadyStateDefinition;
|
|
24
|
-
readonly faults: FaultInjection[];
|
|
25
|
-
readonly blastRadius: BlastRadius;
|
|
26
|
-
readonly rollbackPlan: RollbackPlan;
|
|
27
|
-
readonly schedule?: ExperimentSchedule;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export interface Hypothesis {
|
|
31
|
-
readonly statement: string;
|
|
32
|
-
readonly metrics: MetricExpectation[];
|
|
33
|
-
readonly tolerances: Tolerance[];
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export interface MetricExpectation {
|
|
37
|
-
readonly metric: string;
|
|
38
|
-
readonly operator: 'eq' | 'lt' | 'gt' | 'lte' | 'gte' | 'between';
|
|
39
|
-
readonly value: number | [number, number];
|
|
40
|
-
readonly unit?: string;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export interface Tolerance {
|
|
44
|
-
readonly metric: string;
|
|
45
|
-
readonly maxDeviation: number;
|
|
46
|
-
readonly unit: 'percent' | 'absolute';
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
export interface SteadyStateDefinition {
|
|
50
|
-
readonly description: string;
|
|
51
|
-
readonly probes: SteadyStateProbe[];
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export interface SteadyStateProbe {
|
|
55
|
-
readonly name: string;
|
|
56
|
-
readonly type: 'http' | 'tcp' | 'command' | 'metric';
|
|
57
|
-
readonly target: string;
|
|
58
|
-
readonly expected: unknown;
|
|
59
|
-
readonly timeout: number;
|
|
60
|
-
/** Expected HTTP status code (for http probes) */
|
|
61
|
-
readonly expectedStatus?: number;
|
|
62
|
-
/** Expected output substring (for command probes) */
|
|
63
|
-
readonly expectedOutput?: string;
|
|
64
|
-
/** Threshold configuration (for metric probes) */
|
|
65
|
-
readonly threshold?: {
|
|
66
|
-
readonly operator: 'lt' | 'gt' | 'lte' | 'gte' | 'eq';
|
|
67
|
-
readonly value: number;
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Fault injection configuration
|
|
73
|
-
*/
|
|
74
|
-
export interface FaultInjection {
|
|
75
|
-
readonly id: string;
|
|
76
|
-
readonly type: FaultType;
|
|
77
|
-
readonly target: FaultTarget;
|
|
78
|
-
readonly parameters: FaultParameters;
|
|
79
|
-
readonly duration: number;
|
|
80
|
-
readonly probability?: number;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
export type FaultType =
|
|
84
|
-
| 'latency'
|
|
85
|
-
| 'error'
|
|
86
|
-
| 'timeout'
|
|
87
|
-
| 'packet-loss'
|
|
88
|
-
| 'cpu-stress'
|
|
89
|
-
| 'memory-stress'
|
|
90
|
-
| 'disk-stress'
|
|
91
|
-
| 'network-partition'
|
|
92
|
-
| 'dns-failure'
|
|
93
|
-
| 'process-kill';
|
|
94
|
-
|
|
95
|
-
export interface FaultTarget {
|
|
96
|
-
readonly type: 'service' | 'pod' | 'container' | 'host' | 'network';
|
|
97
|
-
readonly selector: string;
|
|
98
|
-
readonly namespace?: string;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
export interface FaultParameters {
|
|
102
|
-
readonly [key: string]: unknown;
|
|
103
|
-
readonly latencyMs?: number;
|
|
104
|
-
readonly errorCode?: number;
|
|
105
|
-
readonly packetLossPercent?: number;
|
|
106
|
-
readonly cpuPercent?: number;
|
|
107
|
-
readonly memoryBytes?: number;
|
|
108
|
-
/** Number of CPU cores to stress (for cpu-stress faults) */
|
|
109
|
-
readonly cores?: number;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
export interface BlastRadius {
|
|
113
|
-
readonly scope: 'single' | 'subset' | 'all';
|
|
114
|
-
readonly percentage?: number;
|
|
115
|
-
readonly maxAffected?: number;
|
|
116
|
-
readonly excludeProduction?: boolean;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
export interface RollbackPlan {
|
|
120
|
-
readonly automatic: boolean;
|
|
121
|
-
readonly triggerConditions: RollbackTrigger[];
|
|
122
|
-
readonly steps: RollbackStep[];
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
export interface RollbackTrigger {
|
|
126
|
-
readonly type: 'metric-threshold' | 'error-rate' | 'manual' | 'timeout';
|
|
127
|
-
readonly condition: string;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
export interface RollbackStep {
|
|
131
|
-
readonly order: number;
|
|
132
|
-
readonly action: string;
|
|
133
|
-
readonly target?: string;
|
|
134
|
-
readonly timeout?: number;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
export interface ExperimentSchedule {
|
|
138
|
-
readonly type: 'once' | 'recurring';
|
|
139
|
-
readonly cron?: string;
|
|
140
|
-
readonly nextRun?: Date;
|
|
141
|
-
readonly lastRun?: Date;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* Experiment execution result
|
|
146
|
-
*/
|
|
147
|
-
export interface ExperimentResult {
|
|
148
|
-
readonly experimentId: string;
|
|
149
|
-
readonly status: ExperimentStatus;
|
|
150
|
-
readonly startTime: Date;
|
|
151
|
-
readonly endTime?: Date;
|
|
152
|
-
readonly hypothesisValidated: boolean;
|
|
153
|
-
readonly steadyStateVerified: boolean;
|
|
154
|
-
readonly faultResults: FaultResult[];
|
|
155
|
-
readonly metrics: MetricSnapshot[];
|
|
156
|
-
readonly incidents: Incident[];
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
export type ExperimentStatus = 'pending' | 'running' | 'completed' | 'failed' | 'rolled-back' | 'aborted';
|
|
160
|
-
|
|
161
|
-
export interface FaultResult {
|
|
162
|
-
readonly faultId: string;
|
|
163
|
-
readonly injected: boolean;
|
|
164
|
-
readonly duration: number;
|
|
165
|
-
readonly affectedTargets: number;
|
|
166
|
-
readonly errors: string[];
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
export interface MetricSnapshot {
|
|
170
|
-
readonly timestamp: Date;
|
|
171
|
-
readonly name: string;
|
|
172
|
-
readonly value: number;
|
|
173
|
-
readonly labels: Record<string, string>;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
export interface Incident {
|
|
177
|
-
readonly type: 'alert' | 'error' | 'degradation';
|
|
178
|
-
readonly severity: 'critical' | 'high' | 'medium' | 'low';
|
|
179
|
-
readonly message: string;
|
|
180
|
-
readonly timestamp: Date;
|
|
181
|
-
readonly resolved: boolean;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
/**
|
|
185
|
-
* Load test configuration
|
|
186
|
-
*/
|
|
187
|
-
export interface LoadTest {
|
|
188
|
-
readonly id: string;
|
|
189
|
-
readonly name: string;
|
|
190
|
-
readonly type: LoadTestType;
|
|
191
|
-
readonly target: LoadTestTarget;
|
|
192
|
-
readonly profile: LoadProfile;
|
|
193
|
-
readonly scenarios: LoadScenario[];
|
|
194
|
-
readonly assertions: LoadAssertion[];
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
export type LoadTestType = 'load' | 'stress' | 'spike' | 'soak' | 'breakpoint';
|
|
198
|
-
|
|
199
|
-
export interface LoadTestTarget {
|
|
200
|
-
readonly url: string;
|
|
201
|
-
readonly method: string;
|
|
202
|
-
readonly headers?: Record<string, string>;
|
|
203
|
-
readonly body?: unknown;
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
export interface LoadProfile {
|
|
207
|
-
readonly virtualUsers: VirtualUserConfig;
|
|
208
|
-
readonly duration: number;
|
|
209
|
-
readonly rampUp?: number;
|
|
210
|
-
readonly rampDown?: number;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
export interface VirtualUserConfig {
|
|
214
|
-
readonly start: number;
|
|
215
|
-
readonly max: number;
|
|
216
|
-
readonly pattern: 'constant' | 'ramp' | 'step' | 'spike';
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
export interface LoadScenario {
|
|
220
|
-
readonly name: string;
|
|
221
|
-
readonly weight: number;
|
|
222
|
-
readonly steps: LoadStep[];
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
export interface LoadStep {
|
|
226
|
-
readonly type: 'request' | 'think' | 'pause';
|
|
227
|
-
readonly target?: LoadTestTarget;
|
|
228
|
-
readonly duration?: number;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
export interface LoadAssertion {
|
|
232
|
-
readonly metric: 'response-time' | 'throughput' | 'error-rate' | 'p95' | 'p99';
|
|
233
|
-
readonly operator: 'lt' | 'gt' | 'lte' | 'gte';
|
|
234
|
-
readonly value: number;
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
/**
|
|
238
|
-
* Load test results
|
|
239
|
-
*/
|
|
240
|
-
export interface LoadTestResult {
|
|
241
|
-
readonly testId: string;
|
|
242
|
-
readonly status: 'completed' | 'failed' | 'aborted';
|
|
243
|
-
readonly duration: number;
|
|
244
|
-
readonly summary: LoadTestSummary;
|
|
245
|
-
readonly timeline: TimelinePoint[];
|
|
246
|
-
readonly errors: LoadTestError[];
|
|
247
|
-
readonly assertionResults: AssertionResult[];
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
export interface LoadTestSummary {
|
|
251
|
-
readonly totalRequests: number;
|
|
252
|
-
readonly successfulRequests: number;
|
|
253
|
-
readonly failedRequests: number;
|
|
254
|
-
readonly requestsPerSecond: number;
|
|
255
|
-
readonly avgResponseTime: number;
|
|
256
|
-
readonly p50ResponseTime: number;
|
|
257
|
-
readonly p95ResponseTime: number;
|
|
258
|
-
readonly p99ResponseTime: number;
|
|
259
|
-
readonly maxResponseTime: number;
|
|
260
|
-
readonly errorRate: number;
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
export interface TimelinePoint {
|
|
264
|
-
readonly timestamp: Date;
|
|
265
|
-
readonly virtualUsers: number;
|
|
266
|
-
readonly requestsPerSecond: number;
|
|
267
|
-
readonly avgResponseTime: number;
|
|
268
|
-
readonly errorRate: number;
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
export interface LoadTestError {
|
|
272
|
-
readonly type: string;
|
|
273
|
-
readonly message: string;
|
|
274
|
-
readonly count: number;
|
|
275
|
-
readonly firstOccurrence: Date;
|
|
276
|
-
readonly lastOccurrence: Date;
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
export interface AssertionResult {
|
|
280
|
-
readonly assertion: LoadAssertion;
|
|
281
|
-
readonly passed: boolean;
|
|
282
|
-
readonly actualValue: number;
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
// ============================================================================
|
|
286
|
-
// Domain Events
|
|
287
|
-
// ============================================================================
|
|
288
|
-
|
|
289
|
-
export interface ChaosExperimentStartedEvent extends DomainEvent {
|
|
290
|
-
readonly type: 'ChaosExperimentStartedEvent';
|
|
291
|
-
readonly experimentId: string;
|
|
292
|
-
readonly name: string;
|
|
293
|
-
readonly faultTypes: FaultType[];
|
|
294
|
-
readonly blastRadius: BlastRadius;
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
export interface ChaosExperimentCompletedEvent extends DomainEvent {
|
|
298
|
-
readonly type: 'ChaosExperimentCompletedEvent';
|
|
299
|
-
readonly experimentId: string;
|
|
300
|
-
readonly status: ExperimentStatus;
|
|
301
|
-
readonly hypothesisValidated: boolean;
|
|
302
|
-
readonly incidentCount: number;
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
export interface FaultInjectedEvent extends DomainEvent {
|
|
306
|
-
readonly type: 'FaultInjectedEvent';
|
|
307
|
-
readonly experimentId: string;
|
|
308
|
-
readonly faultId: string;
|
|
309
|
-
readonly faultType: FaultType;
|
|
310
|
-
readonly target: string;
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
export interface LoadTestCompletedEvent extends DomainEvent {
|
|
314
|
-
readonly type: 'LoadTestCompletedEvent';
|
|
315
|
-
readonly testId: string;
|
|
316
|
-
readonly testType: LoadTestType;
|
|
317
|
-
readonly summary: LoadTestSummary;
|
|
318
|
-
readonly passed: boolean;
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
export interface ResilienceIssueDetectedEvent extends Omit<DomainEvent, 'source'> {
|
|
322
|
-
readonly type: 'ResilienceIssueDetectedEvent';
|
|
323
|
-
readonly issueSource: 'chaos' | 'load';
|
|
324
|
-
readonly issue: ResilienceIssue;
|
|
325
|
-
readonly severity: 'critical' | 'high' | 'medium' | 'low';
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
export interface ResilienceIssue {
|
|
329
|
-
readonly type: string;
|
|
330
|
-
readonly description: string;
|
|
331
|
-
readonly affectedService: string;
|
|
332
|
-
readonly recommendation: string;
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
// ============================================================================
|
|
336
|
-
// Service Interfaces
|
|
337
|
-
// ============================================================================
|
|
338
|
-
|
|
339
|
-
/**
|
|
340
|
-
* Chaos Engineering Service
|
|
341
|
-
* Fault injection and experiment execution
|
|
342
|
-
*/
|
|
343
|
-
export interface IChaosEngineeringService {
|
|
344
|
-
/**
|
|
345
|
-
* Create chaos experiment
|
|
346
|
-
*/
|
|
347
|
-
createExperiment(experiment: ChaosExperiment): Promise<Result<string>>;
|
|
348
|
-
|
|
349
|
-
/**
|
|
350
|
-
* Run chaos experiment
|
|
351
|
-
*/
|
|
352
|
-
runExperiment(experimentId: string): Promise<Result<ExperimentResult>>;
|
|
353
|
-
|
|
354
|
-
/**
|
|
355
|
-
* Abort running experiment
|
|
356
|
-
*/
|
|
357
|
-
abortExperiment(experimentId: string, reason: string): Promise<Result<void>>;
|
|
358
|
-
|
|
359
|
-
/**
|
|
360
|
-
* Verify steady state
|
|
361
|
-
*/
|
|
362
|
-
verifySteadyState(definition: SteadyStateDefinition): Promise<Result<boolean>>;
|
|
363
|
-
|
|
364
|
-
/**
|
|
365
|
-
* Inject single fault
|
|
366
|
-
*/
|
|
367
|
-
injectFault(fault: FaultInjection): Promise<Result<FaultResult>>;
|
|
368
|
-
|
|
369
|
-
/**
|
|
370
|
-
* Remove injected fault
|
|
371
|
-
*/
|
|
372
|
-
removeFault(faultId: string): Promise<Result<void>>;
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
/**
|
|
376
|
-
* Load Testing Service
|
|
377
|
-
* Performance and stress testing
|
|
378
|
-
*/
|
|
379
|
-
export interface ILoadTestingService {
|
|
380
|
-
/**
|
|
381
|
-
* Create load test
|
|
382
|
-
*/
|
|
383
|
-
createTest(test: LoadTest): Promise<Result<string>>;
|
|
384
|
-
|
|
385
|
-
/**
|
|
386
|
-
* Run load test
|
|
387
|
-
*/
|
|
388
|
-
runTest(testId: string): Promise<Result<LoadTestResult>>;
|
|
389
|
-
|
|
390
|
-
/**
|
|
391
|
-
* Stop running test
|
|
392
|
-
*/
|
|
393
|
-
stopTest(testId: string): Promise<Result<LoadTestResult>>;
|
|
394
|
-
|
|
395
|
-
/**
|
|
396
|
-
* Get real-time metrics
|
|
397
|
-
*/
|
|
398
|
-
getRealtimeMetrics(testId: string): Promise<Result<TimelinePoint>>;
|
|
399
|
-
|
|
400
|
-
/**
|
|
401
|
-
* Generate load test from traffic
|
|
402
|
-
*/
|
|
403
|
-
generateFromTraffic(
|
|
404
|
-
trafficSample: TrafficSample,
|
|
405
|
-
multiplier: number
|
|
406
|
-
): Promise<Result<LoadTest>>;
|
|
407
|
-
}
|
|
408
|
-
|
|
409
|
-
export interface TrafficSample {
|
|
410
|
-
readonly requests: SampledRequest[];
|
|
411
|
-
readonly duration: number;
|
|
412
|
-
readonly source: string;
|
|
413
|
-
}
|
|
414
|
-
|
|
415
|
-
export interface SampledRequest {
|
|
416
|
-
readonly url: string;
|
|
417
|
-
readonly method: string;
|
|
418
|
-
readonly frequency: number;
|
|
419
|
-
readonly avgResponseTime: number;
|
|
420
|
-
}
|
|
421
|
-
|
|
422
|
-
/**
|
|
423
|
-
* Resilience Testing Service
|
|
424
|
-
* Recovery and failover testing
|
|
425
|
-
*/
|
|
426
|
-
export interface IResilienceTestingService {
|
|
427
|
-
/**
|
|
428
|
-
* Test service recovery
|
|
429
|
-
*/
|
|
430
|
-
testRecovery(
|
|
431
|
-
service: string,
|
|
432
|
-
faultType: FaultType,
|
|
433
|
-
expectedRecoveryTime: number
|
|
434
|
-
): Promise<Result<RecoveryTestResult>>;
|
|
435
|
-
|
|
436
|
-
/**
|
|
437
|
-
* Test failover
|
|
438
|
-
*/
|
|
439
|
-
testFailover(
|
|
440
|
-
primaryService: string,
|
|
441
|
-
secondaryService: string
|
|
442
|
-
): Promise<Result<FailoverTestResult>>;
|
|
443
|
-
|
|
444
|
-
/**
|
|
445
|
-
* Test circuit breaker
|
|
446
|
-
*/
|
|
447
|
-
testCircuitBreaker(
|
|
448
|
-
service: string,
|
|
449
|
-
options?: CircuitBreakerTestOptions
|
|
450
|
-
): Promise<Result<CircuitBreakerTestResult>>;
|
|
451
|
-
|
|
452
|
-
/**
|
|
453
|
-
* Test rate limiting
|
|
454
|
-
*/
|
|
455
|
-
testRateLimiting(
|
|
456
|
-
service: string,
|
|
457
|
-
expectedLimit: number
|
|
458
|
-
): Promise<Result<RateLimitTestResult>>;
|
|
459
|
-
}
|
|
460
|
-
|
|
461
|
-
export interface RecoveryTestResult {
|
|
462
|
-
readonly service: string;
|
|
463
|
-
readonly faultType: FaultType;
|
|
464
|
-
readonly recoveryTime: number;
|
|
465
|
-
readonly expectedRecoveryTime: number;
|
|
466
|
-
readonly passed: boolean;
|
|
467
|
-
readonly timeline: RecoveryEvent[];
|
|
468
|
-
}
|
|
469
|
-
|
|
470
|
-
export interface RecoveryEvent {
|
|
471
|
-
readonly timestamp: Date;
|
|
472
|
-
readonly event: string;
|
|
473
|
-
readonly status: 'healthy' | 'degraded' | 'unhealthy';
|
|
474
|
-
}
|
|
475
|
-
|
|
476
|
-
export interface FailoverTestResult {
|
|
477
|
-
readonly primaryService: string;
|
|
478
|
-
readonly secondaryService: string;
|
|
479
|
-
readonly failoverTime: number;
|
|
480
|
-
readonly dataLoss: boolean;
|
|
481
|
-
readonly passed: boolean;
|
|
482
|
-
readonly steps: FailoverStep[];
|
|
483
|
-
}
|
|
484
|
-
|
|
485
|
-
export interface FailoverStep {
|
|
486
|
-
readonly order: number;
|
|
487
|
-
readonly action: string;
|
|
488
|
-
readonly duration: number;
|
|
489
|
-
readonly success: boolean;
|
|
490
|
-
}
|
|
491
|
-
|
|
492
|
-
export interface CircuitBreakerTestOptions {
|
|
493
|
-
readonly errorThreshold?: number;
|
|
494
|
-
readonly timeout?: number;
|
|
495
|
-
readonly halfOpenRequests?: number;
|
|
496
|
-
}
|
|
497
|
-
|
|
498
|
-
export interface CircuitBreakerTestResult {
|
|
499
|
-
readonly service: string;
|
|
500
|
-
readonly opened: boolean;
|
|
501
|
-
readonly openedAfterErrors: number;
|
|
502
|
-
readonly closedAfterRecovery: boolean;
|
|
503
|
-
readonly halfOpenBehavior: 'correct' | 'incorrect';
|
|
504
|
-
readonly passed: boolean;
|
|
505
|
-
}
|
|
506
|
-
|
|
507
|
-
export interface RateLimitTestResult {
|
|
508
|
-
readonly service: string;
|
|
509
|
-
readonly expectedLimit: number;
|
|
510
|
-
readonly actualLimit: number;
|
|
511
|
-
readonly passed: boolean;
|
|
512
|
-
readonly responseWhenLimited: RateLimitResponse;
|
|
513
|
-
}
|
|
514
|
-
|
|
515
|
-
export interface RateLimitResponse {
|
|
516
|
-
readonly statusCode: number;
|
|
517
|
-
readonly retryAfter?: number;
|
|
518
|
-
readonly body?: unknown;
|
|
519
|
-
}
|
|
520
|
-
|
|
521
|
-
// ============================================================================
|
|
522
|
-
// Repository Interfaces
|
|
523
|
-
// ============================================================================
|
|
524
|
-
|
|
525
|
-
export interface IChaosExperimentRepository {
|
|
526
|
-
findById(id: string): Promise<ChaosExperiment | null>;
|
|
527
|
-
findByName(name: string): Promise<ChaosExperiment[]>;
|
|
528
|
-
findScheduled(): Promise<ChaosExperiment[]>;
|
|
529
|
-
save(experiment: ChaosExperiment): Promise<void>;
|
|
530
|
-
delete(id: string): Promise<void>;
|
|
531
|
-
}
|
|
532
|
-
|
|
533
|
-
export interface IExperimentResultRepository {
|
|
534
|
-
findByExperimentId(experimentId: string): Promise<ExperimentResult[]>;
|
|
535
|
-
findLatest(experimentId: string): Promise<ExperimentResult | null>;
|
|
536
|
-
findByDateRange(startDate: Date, endDate: Date): Promise<ExperimentResult[]>;
|
|
537
|
-
save(result: ExperimentResult): Promise<void>;
|
|
538
|
-
}
|
|
539
|
-
|
|
540
|
-
export interface ILoadTestRepository {
|
|
541
|
-
findById(id: string): Promise<LoadTest | null>;
|
|
542
|
-
findByType(type: LoadTestType): Promise<LoadTest[]>;
|
|
543
|
-
save(test: LoadTest): Promise<void>;
|
|
544
|
-
}
|
|
545
|
-
|
|
546
|
-
export interface ILoadTestResultRepository {
|
|
547
|
-
findByTestId(testId: string): Promise<LoadTestResult[]>;
|
|
548
|
-
findLatest(testId: string): Promise<LoadTestResult | null>;
|
|
549
|
-
save(result: LoadTestResult): Promise<void>;
|
|
550
|
-
}
|
|
551
|
-
|
|
552
|
-
// ============================================================================
|
|
553
|
-
// Coordinator Interface
|
|
554
|
-
// ============================================================================
|
|
555
|
-
|
|
556
|
-
export interface IChaosResilienceCoordinator {
|
|
557
|
-
/**
|
|
558
|
-
* Run chaos experiment suite
|
|
559
|
-
*/
|
|
560
|
-
runChaosSuite(experimentIds: string[]): Promise<Result<ChaosSuiteReport>>;
|
|
561
|
-
|
|
562
|
-
/**
|
|
563
|
-
* Run load test suite
|
|
564
|
-
*/
|
|
565
|
-
runLoadTestSuite(testIds: string[]): Promise<Result<LoadTestSuiteReport>>;
|
|
566
|
-
|
|
567
|
-
/**
|
|
568
|
-
* Run full resilience assessment
|
|
569
|
-
*/
|
|
570
|
-
assessResilience(services: string[]): Promise<Result<ResilienceAssessment>>;
|
|
571
|
-
|
|
572
|
-
/**
|
|
573
|
-
* Generate chaos experiment from architecture
|
|
574
|
-
*/
|
|
575
|
-
generateExperiments(
|
|
576
|
-
architecture: ServiceArchitecture
|
|
577
|
-
): Promise<Result<ChaosExperiment[]>>;
|
|
578
|
-
|
|
579
|
-
/**
|
|
580
|
-
* Get resilience dashboard data
|
|
581
|
-
*/
|
|
582
|
-
getResilienceDashboard(): Promise<Result<ResilienceDashboard>>;
|
|
583
|
-
}
|
|
584
|
-
|
|
585
|
-
export interface ServiceArchitecture {
|
|
586
|
-
readonly services: ServiceDefinition[];
|
|
587
|
-
readonly dependencies: ServiceDependency[];
|
|
588
|
-
readonly criticalPaths: string[][];
|
|
589
|
-
}
|
|
590
|
-
|
|
591
|
-
export interface ServiceDefinition {
|
|
592
|
-
readonly name: string;
|
|
593
|
-
readonly type: 'api' | 'worker' | 'database' | 'cache' | 'queue';
|
|
594
|
-
readonly replicas: number;
|
|
595
|
-
readonly hasFailover: boolean;
|
|
596
|
-
}
|
|
597
|
-
|
|
598
|
-
export interface ServiceDependency {
|
|
599
|
-
readonly from: string;
|
|
600
|
-
readonly to: string;
|
|
601
|
-
readonly type: 'sync' | 'async';
|
|
602
|
-
readonly criticality: 'critical' | 'important' | 'optional';
|
|
603
|
-
}
|
|
604
|
-
|
|
605
|
-
export interface ChaosSuiteReport {
|
|
606
|
-
readonly totalExperiments: number;
|
|
607
|
-
readonly passed: number;
|
|
608
|
-
readonly failed: number;
|
|
609
|
-
readonly results: ExperimentResult[];
|
|
610
|
-
readonly recommendations: ResilienceRecommendation[];
|
|
611
|
-
}
|
|
612
|
-
|
|
613
|
-
export interface LoadTestSuiteReport {
|
|
614
|
-
readonly totalTests: number;
|
|
615
|
-
readonly passed: number;
|
|
616
|
-
readonly failed: number;
|
|
617
|
-
readonly results: LoadTestResult[];
|
|
618
|
-
readonly bottlenecks: PerformanceBottleneck[];
|
|
619
|
-
}
|
|
620
|
-
|
|
621
|
-
export interface PerformanceBottleneck {
|
|
622
|
-
readonly location: string;
|
|
623
|
-
readonly type: 'cpu' | 'memory' | 'io' | 'network' | 'database';
|
|
624
|
-
readonly description: string;
|
|
625
|
-
readonly impact: 'high' | 'medium' | 'low';
|
|
626
|
-
readonly recommendation: string;
|
|
627
|
-
}
|
|
628
|
-
|
|
629
|
-
export interface ResilienceAssessment {
|
|
630
|
-
readonly overallScore: number;
|
|
631
|
-
readonly serviceScores: Map<string, number>;
|
|
632
|
-
readonly strengths: string[];
|
|
633
|
-
readonly weaknesses: ResilienceWeakness[];
|
|
634
|
-
readonly recommendations: ResilienceRecommendation[];
|
|
635
|
-
}
|
|
636
|
-
|
|
637
|
-
export interface ResilienceWeakness {
|
|
638
|
-
readonly service: string;
|
|
639
|
-
readonly type: string;
|
|
640
|
-
readonly description: string;
|
|
641
|
-
readonly risk: RiskScore;
|
|
642
|
-
}
|
|
643
|
-
|
|
644
|
-
export interface ResilienceRecommendation {
|
|
645
|
-
readonly priority: 'critical' | 'high' | 'medium' | 'low';
|
|
646
|
-
readonly category: string;
|
|
647
|
-
readonly recommendation: string;
|
|
648
|
-
readonly effort: 'trivial' | 'minor' | 'moderate' | 'major';
|
|
649
|
-
}
|
|
650
|
-
|
|
651
|
-
export interface ResilienceDashboard {
|
|
652
|
-
readonly overallHealth: 'healthy' | 'degraded' | 'unhealthy';
|
|
653
|
-
readonly lastExperimentDate?: Date;
|
|
654
|
-
readonly lastLoadTestDate?: Date;
|
|
655
|
-
readonly activeIncidents: number;
|
|
656
|
-
readonly uptime: number;
|
|
657
|
-
readonly mttr: number; // Mean Time To Recovery
|
|
658
|
-
readonly changeFailureRate: number;
|
|
659
|
-
}
|