agentic-qe 3.7.9 → 3.7.11
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/.claude/skills/.validation/README.md +111 -111
- package/.claude/skills/.validation/examples/chaos-engineering-output.example.json +530 -530
- package/.claude/skills/.validation/examples/performance-testing-output.example.json +252 -252
- package/.claude/skills/.validation/examples/security-testing-output.example.json +413 -413
- package/.claude/skills/.validation/examples/testability-scoring-output.example.json +350 -350
- package/.claude/skills/.validation/schemas/skill-eval.schema.json +462 -462
- package/.claude/skills/.validation/schemas/skill-frontmatter.schema.json +341 -341
- package/.claude/skills/.validation/schemas/skill-output-meta.schema.json +199 -199
- package/.claude/skills/.validation/schemas/skill-output.template.json +610 -610
- package/.claude/skills/.validation/skill-validation-mcp-integration.md +250 -250
- package/.claude/skills/.validation/templates/eval.template.yaml +366 -366
- package/.claude/skills/.validation/templates/schemas/output.json +145 -145
- package/.claude/skills/.validation/templates/security-testing-eval.template.yaml +725 -725
- package/.claude/skills/.validation/templates/skill-frontmatter.example.yaml +225 -225
- package/.claude/skills/.validation/test-data/invalid-output.json +5 -5
- package/.claude/skills/.validation/test-data/minimal-output.json +9 -9
- package/.claude/skills/.validation/test-data/sample-output.json +73 -73
- package/.claude/skills/a11y-ally/evals/a11y-ally.yaml +376 -376
- package/.claude/skills/a11y-ally/schemas/output.json +549 -549
- package/.claude/skills/accessibility-testing/evals/accessibility-testing.yaml +719 -719
- package/.claude/skills/accessibility-testing/schemas/output.json +776 -776
- package/.claude/skills/accessibility-testing/test-data/sample-output.json +191 -191
- package/.claude/skills/agentic-quality-engineering/schemas/output.json +577 -577
- package/.claude/skills/api-testing-patterns/evals/api-testing-patterns.yaml +696 -696
- package/.claude/skills/api-testing-patterns/schemas/output.json +845 -845
- package/.claude/skills/aqe-v2-v3-migration/schemas/output.json +513 -513
- package/.claude/skills/brutal-honesty-review/schemas/output.json +291 -291
- package/.claude/skills/bug-reporting-excellence/schemas/output.json +288 -288
- package/.claude/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +761 -761
- package/.claude/skills/chaos-engineering-resilience/schemas/output.json +1205 -1205
- package/.claude/skills/cicd-pipeline-qe-orchestrator/evals/cicd-pipeline-qe-orchestrator.yaml +157 -157
- package/.claude/skills/cicd-pipeline-qe-orchestrator/schemas/output.json +542 -542
- package/.claude/skills/code-review-quality/schemas/output.json +264 -264
- package/.claude/skills/compatibility-testing/evals/compatibility-testing.yaml +410 -410
- package/.claude/skills/compatibility-testing/schemas/output.json +551 -551
- package/.claude/skills/compliance-testing/evals/compliance-testing.yaml +1107 -1107
- package/.claude/skills/compliance-testing/schemas/output.json +845 -845
- package/.claude/skills/consultancy-practices/schemas/output.json +282 -282
- package/.claude/skills/contract-testing/evals/contract-testing.yaml +748 -748
- package/.claude/skills/contract-testing/schemas/output.json +638 -638
- package/.claude/skills/database-testing/evals/database-testing.yaml +968 -968
- package/.claude/skills/database-testing/schemas/output.json +1446 -1446
- package/.claude/skills/debug-loop/SKILL.md +61 -61
- package/.claude/skills/enterprise-integration-testing/SKILL.md +735 -735
- package/.claude/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml +158 -158
- package/.claude/skills/enterprise-integration-testing/schemas/output.json +74 -74
- package/.claude/skills/enterprise-integration-testing/scripts/validate-config.json +25 -25
- package/.claude/skills/iterative-loop/SKILL.md +371 -371
- package/.claude/skills/localization-testing/evals/localization-testing.yaml +544 -544
- package/.claude/skills/localization-testing/schemas/output.json +325 -325
- package/.claude/skills/middleware-testing-patterns/SKILL.md +798 -798
- package/.claude/skills/middleware-testing-patterns/evals/middleware-testing-patterns.yaml +153 -153
- package/.claude/skills/middleware-testing-patterns/schemas/output.json +58 -58
- package/.claude/skills/middleware-testing-patterns/scripts/validate-config.json +25 -25
- package/.claude/skills/mobile-testing/evals/mobile-testing.yaml +537 -537
- package/.claude/skills/mobile-testing/schemas/output.json +318 -318
- package/.claude/skills/mutation-testing/evals/mutation-testing.yaml +652 -652
- package/.claude/skills/mutation-testing/schemas/output.json +707 -707
- package/.claude/skills/mutation-testing/test-data/sample-output.json +295 -295
- package/.claude/skills/n8n-expression-testing/evals/n8n-expression-testing.yaml +450 -450
- package/.claude/skills/n8n-expression-testing/schemas/output.json +369 -369
- package/.claude/skills/n8n-integration-testing-patterns/evals/n8n-integration-testing-patterns.yaml +522 -522
- package/.claude/skills/n8n-integration-testing-patterns/schemas/output.json +291 -291
- package/.claude/skills/n8n-security-testing/evals/n8n-security-testing.yaml +493 -493
- package/.claude/skills/n8n-security-testing/schemas/output.json +293 -293
- package/.claude/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +500 -500
- package/.claude/skills/n8n-trigger-testing-strategies/schemas/output.json +295 -295
- package/.claude/skills/n8n-workflow-testing-fundamentals/evals/n8n-workflow-testing-fundamentals.yaml +497 -497
- package/.claude/skills/n8n-workflow-testing-fundamentals/schemas/output.json +254 -254
- package/.claude/skills/observability-testing-patterns/SKILL.md +930 -930
- package/.claude/skills/observability-testing-patterns/evals/observability-testing-patterns.yaml +157 -157
- package/.claude/skills/observability-testing-patterns/schemas/output.json +58 -58
- package/.claude/skills/observability-testing-patterns/scripts/validate-config.json +25 -25
- package/.claude/skills/pentest-validation/SKILL.md +268 -268
- package/.claude/skills/pentest-validation/evals/pentest-validation.yaml +708 -708
- package/.claude/skills/pentest-validation/schemas/output.json +281 -281
- package/.claude/skills/performance-analysis/evals/performance-analysis.yaml +144 -144
- package/.claude/skills/performance-analysis/schemas/output.json +588 -588
- package/.claude/skills/performance-testing/evals/performance-testing.yaml +772 -772
- package/.claude/skills/performance-testing/schemas/output.json +1184 -1184
- package/.claude/skills/pr-review/SKILL.md +61 -61
- package/.claude/skills/qcsd-cicd-swarm/SKILL.md +2206 -2206
- package/.claude/skills/qcsd-cicd-swarm/evals/qcsd-cicd-swarm.yaml +211 -211
- package/.claude/skills/qcsd-cicd-swarm/schemas/output.json +86 -86
- package/.claude/skills/qcsd-cicd-swarm/scripts/validate-config.json +30 -30
- package/.claude/skills/qcsd-development-swarm/SKILL.md +2154 -2154
- package/.claude/skills/qcsd-development-swarm/evals/qcsd-development-swarm.yaml +162 -162
- package/.claude/skills/qcsd-development-swarm/schemas/output.json +72 -72
- package/.claude/skills/qcsd-development-swarm/scripts/validate-config.json +25 -25
- package/.claude/skills/qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml +138 -138
- package/.claude/skills/qcsd-ideation-swarm/schemas/output.json +568 -568
- package/.claude/skills/qcsd-production-swarm/SKILL.md +2781 -2781
- package/.claude/skills/qcsd-production-swarm/evals/qcsd-production-swarm.yaml +246 -246
- package/.claude/skills/qcsd-production-swarm/schemas/output.json +505 -505
- package/.claude/skills/qcsd-production-swarm/scripts/validate-config.json +25 -25
- package/.claude/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +443 -443
- package/.claude/skills/qe-chaos-resilience/schemas/output.json +314 -314
- package/.claude/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +459 -459
- package/.claude/skills/qe-code-intelligence/schemas/output.json +315 -315
- package/.claude/skills/qe-contract-testing/evals/qe-contract-testing.yaml +513 -513
- package/.claude/skills/qe-contract-testing/schemas/output.json +295 -295
- package/.claude/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +494 -494
- package/.claude/skills/qe-coverage-analysis/schemas/output.json +286 -286
- package/.claude/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +511 -511
- package/.claude/skills/qe-defect-intelligence/schemas/output.json +283 -283
- package/.claude/skills/qe-iterative-loop/schemas/output.json +264 -264
- package/.claude/skills/qe-learning-optimization/evals/qe-learning-optimization.yaml +144 -144
- package/.claude/skills/qe-learning-optimization/schemas/output.json +288 -288
- package/.claude/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +506 -506
- package/.claude/skills/qe-quality-assessment/schemas/output.json +550 -550
- package/.claude/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +598 -598
- package/.claude/skills/qe-requirements-validation/schemas/output.json +587 -587
- package/.claude/skills/qe-security-compliance/evals/qe-security-compliance.yaml +595 -595
- package/.claude/skills/qe-security-compliance/schemas/output.json +498 -498
- package/.claude/skills/qe-test-execution/evals/qe-test-execution.yaml +607 -607
- package/.claude/skills/qe-test-execution/schemas/output.json +529 -529
- package/.claude/skills/qe-test-generation/evals/qe-test-generation.yaml +148 -148
- package/.claude/skills/qe-test-generation/schemas/output.json +439 -439
- package/.claude/skills/qe-visual-accessibility/evals/qe-visual-accessibility.yaml +142 -142
- package/.claude/skills/qe-visual-accessibility/schemas/output.json +491 -491
- package/.claude/skills/quality-metrics/evals/quality-metrics.yaml +494 -494
- package/.claude/skills/quality-metrics/schemas/output.json +403 -403
- package/.claude/skills/refactoring-patterns/schemas/output.json +475 -475
- package/.claude/skills/regression-testing/evals/regression-testing.yaml +504 -504
- package/.claude/skills/regression-testing/schemas/output.json +311 -311
- package/.claude/skills/release/SKILL.md +347 -347
- package/.claude/skills/risk-based-testing/evals/risk-based-testing.yaml +141 -141
- package/.claude/skills/risk-based-testing/schemas/output.json +480 -480
- package/.claude/skills/security-testing/evals/security-testing.yaml +789 -789
- package/.claude/skills/security-testing/schemas/output.json +879 -879
- package/.claude/skills/security-visual-testing/evals/security-visual-testing.yaml +163 -163
- package/.claude/skills/security-visual-testing/schemas/output.json +486 -486
- package/.claude/skills/sfdipot-product-factors/SKILL.md +239 -239
- package/.claude/skills/sherlock-review/schemas/output.json +297 -297
- package/.claude/skills/shift-left-testing/evals/shift-left-testing.yaml +145 -145
- package/.claude/skills/shift-left-testing/schemas/output.json +459 -459
- package/.claude/skills/shift-right-testing/evals/shift-right-testing.yaml +147 -147
- package/.claude/skills/shift-right-testing/schemas/output.json +418 -418
- package/.claude/skills/skills-manifest.json +1 -1
- package/.claude/skills/tdd-london-chicago/schemas/output.json +444 -444
- package/.claude/skills/technical-writing/schemas/output.json +268 -268
- package/.claude/skills/test-automation-strategy/evals/test-automation-strategy.yaml +148 -148
- package/.claude/skills/test-automation-strategy/schemas/output.json +444 -444
- package/.claude/skills/test-data-management/evals/test-data-management.yaml +504 -504
- package/.claude/skills/test-data-management/schemas/output.json +284 -284
- package/.claude/skills/test-design-techniques/evals/test-design-techniques.yaml +142 -142
- package/.claude/skills/test-design-techniques/schemas/output.json +295 -295
- package/.claude/skills/test-environment-management/schemas/output.json +310 -310
- package/.claude/skills/test-idea-rewriting/SKILL.md +229 -229
- package/.claude/skills/test-reporting-analytics/evals/test-reporting-analytics.yaml +155 -155
- package/.claude/skills/test-reporting-analytics/schemas/output.json +329 -329
- package/.claude/skills/testability-scoring/evals/testability-scoring.yaml +814 -814
- package/.claude/skills/testability-scoring/resources/templates/config.template.js +84 -84
- package/.claude/skills/testability-scoring/schemas/output.json +606 -606
- package/.claude/skills/testability-scoring/scripts/generate-html-report.js +1007 -1007
- package/.claude/skills/verification-quality/evals/verification-quality.yaml +150 -150
- package/.claude/skills/verification-quality/schemas/output.json +432 -432
- package/.claude/skills/visual-testing-advanced/evals/visual-testing-advanced.yaml +154 -154
- package/.claude/skills/visual-testing-advanced/schemas/output.json +294 -294
- package/.claude/skills/wms-testing-patterns/evals/wms-testing-patterns.yaml +165 -165
- package/.claude/skills/wms-testing-patterns/schemas/output.json +150 -150
- package/.claude/skills/wms-testing-patterns/scripts/validate-config.json +51 -51
- package/CHANGELOG.md +36 -0
- package/README.md +171 -901
- package/assets/agents/v3/helpers/quality-criteria/evidence-classification.md +116 -116
- package/assets/agents/v3/helpers/quality-criteria/htsm-categories.md +139 -139
- package/assets/governance/constitution.md +202 -202
- package/assets/governance/shards/chaos-resilience.shard.md +221 -221
- package/assets/governance/shards/code-intelligence.shard.md +178 -178
- package/assets/governance/shards/contract-testing.shard.md +206 -206
- package/assets/governance/shards/coverage-analysis.shard.md +146 -146
- package/assets/governance/shards/defect-intelligence.shard.md +182 -182
- package/assets/governance/shards/learning-optimization.shard.md +248 -248
- package/assets/governance/shards/quality-assessment.shard.md +165 -165
- package/assets/governance/shards/requirements-validation.shard.md +177 -177
- package/assets/governance/shards/security-compliance.shard.md +196 -196
- package/assets/governance/shards/test-execution.shard.md +156 -156
- package/assets/governance/shards/test-generation.shard.md +128 -128
- package/assets/governance/shards/visual-accessibility.shard.md +209 -209
- package/assets/hooks/cross-phase-memory.yaml +253 -253
- package/assets/patterns/adr-051-booster-patterns.json +78 -78
- package/assets/patterns/adr-051-embedding-patterns.json +147 -147
- package/assets/patterns/adr-051-integration-summary.json +62 -62
- package/assets/patterns/adr-051-reasoning-patterns.json +166 -166
- package/assets/patterns/adr-051-router-patterns.json +113 -113
- package/assets/patterns/index.json +136 -136
- package/assets/skills/.validation/README.md +111 -111
- package/assets/skills/.validation/examples/chaos-engineering-output.example.json +530 -530
- package/assets/skills/.validation/examples/performance-testing-output.example.json +252 -252
- package/assets/skills/.validation/examples/security-testing-output.example.json +413 -413
- package/assets/skills/.validation/examples/testability-scoring-output.example.json +350 -350
- package/assets/skills/.validation/schemas/skill-eval.schema.json +462 -462
- package/assets/skills/.validation/schemas/skill-frontmatter.schema.json +341 -341
- package/assets/skills/.validation/schemas/skill-output-meta.schema.json +199 -199
- package/assets/skills/.validation/schemas/skill-output.template.json +610 -610
- package/assets/skills/.validation/skill-validation-mcp-integration.md +250 -250
- package/assets/skills/.validation/templates/eval.template.yaml +366 -366
- package/assets/skills/.validation/templates/schemas/output.json +145 -145
- package/assets/skills/.validation/templates/security-testing-eval.template.yaml +725 -725
- package/assets/skills/.validation/templates/skill-frontmatter.example.yaml +225 -225
- package/assets/skills/.validation/test-data/invalid-output.json +5 -5
- package/assets/skills/.validation/test-data/minimal-output.json +9 -9
- package/assets/skills/.validation/test-data/sample-output.json +73 -73
- package/assets/skills/a11y-ally/evals/a11y-ally.yaml +376 -376
- package/assets/skills/a11y-ally/schemas/output.json +549 -549
- package/assets/skills/accessibility-testing/evals/accessibility-testing.yaml +719 -719
- package/assets/skills/accessibility-testing/schemas/output.json +776 -776
- package/assets/skills/accessibility-testing/test-data/sample-output.json +191 -191
- package/assets/skills/agentic-quality-engineering/schemas/output.json +577 -577
- package/assets/skills/api-testing-patterns/evals/api-testing-patterns.yaml +696 -696
- package/assets/skills/api-testing-patterns/schemas/output.json +845 -845
- package/assets/skills/aqe-v2-v3-migration/schemas/output.json +513 -513
- package/assets/skills/brutal-honesty-review/schemas/output.json +291 -291
- package/assets/skills/bug-reporting-excellence/schemas/output.json +288 -288
- package/assets/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +761 -761
- package/assets/skills/chaos-engineering-resilience/schemas/output.json +1205 -1205
- package/assets/skills/cicd-pipeline-qe-orchestrator/evals/cicd-pipeline-qe-orchestrator.yaml +157 -157
- package/assets/skills/cicd-pipeline-qe-orchestrator/schemas/output.json +542 -542
- package/assets/skills/code-review-quality/schemas/output.json +264 -264
- package/assets/skills/compatibility-testing/evals/compatibility-testing.yaml +410 -410
- package/assets/skills/compatibility-testing/schemas/output.json +551 -551
- package/assets/skills/compliance-testing/evals/compliance-testing.yaml +1107 -1107
- package/assets/skills/compliance-testing/schemas/output.json +845 -845
- package/assets/skills/consultancy-practices/schemas/output.json +282 -282
- package/assets/skills/contract-testing/evals/contract-testing.yaml +748 -748
- package/assets/skills/contract-testing/schemas/output.json +638 -638
- package/assets/skills/database-testing/evals/database-testing.yaml +968 -968
- package/assets/skills/database-testing/schemas/output.json +1446 -1446
- package/assets/skills/debug-loop/SKILL.md +61 -61
- package/assets/skills/enterprise-integration-testing/SKILL.md +735 -735
- package/assets/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml +158 -158
- package/assets/skills/enterprise-integration-testing/schemas/output.json +74 -74
- package/assets/skills/enterprise-integration-testing/scripts/validate-config.json +25 -25
- package/assets/skills/localization-testing/evals/localization-testing.yaml +544 -544
- package/assets/skills/localization-testing/schemas/output.json +325 -325
- package/assets/skills/middleware-testing-patterns/SKILL.md +798 -798
- package/assets/skills/middleware-testing-patterns/evals/middleware-testing-patterns.yaml +153 -153
- package/assets/skills/middleware-testing-patterns/schemas/output.json +58 -58
- package/assets/skills/middleware-testing-patterns/scripts/validate-config.json +25 -25
- package/assets/skills/mobile-testing/evals/mobile-testing.yaml +537 -537
- package/assets/skills/mobile-testing/schemas/output.json +318 -318
- package/assets/skills/mutation-testing/evals/mutation-testing.yaml +652 -652
- package/assets/skills/mutation-testing/schemas/output.json +707 -707
- package/assets/skills/mutation-testing/test-data/sample-output.json +295 -295
- package/assets/skills/n8n-expression-testing/evals/n8n-expression-testing.yaml +450 -450
- package/assets/skills/n8n-expression-testing/schemas/output.json +369 -369
- package/assets/skills/n8n-integration-testing-patterns/evals/n8n-integration-testing-patterns.yaml +522 -522
- package/assets/skills/n8n-integration-testing-patterns/schemas/output.json +291 -291
- package/assets/skills/n8n-security-testing/evals/n8n-security-testing.yaml +493 -493
- package/assets/skills/n8n-security-testing/schemas/output.json +293 -293
- package/assets/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +500 -500
- package/assets/skills/n8n-trigger-testing-strategies/schemas/output.json +295 -295
- package/assets/skills/n8n-workflow-testing-fundamentals/evals/n8n-workflow-testing-fundamentals.yaml +497 -497
- package/assets/skills/n8n-workflow-testing-fundamentals/schemas/output.json +254 -254
- package/assets/skills/observability-testing-patterns/SKILL.md +930 -930
- package/assets/skills/observability-testing-patterns/evals/observability-testing-patterns.yaml +157 -157
- package/assets/skills/observability-testing-patterns/schemas/output.json +58 -58
- package/assets/skills/observability-testing-patterns/scripts/validate-config.json +25 -25
- package/assets/skills/pentest-validation/SKILL.md +268 -268
- package/assets/skills/pentest-validation/evals/pentest-validation.yaml +708 -708
- package/assets/skills/pentest-validation/schemas/output.json +281 -281
- package/assets/skills/performance-testing/evals/performance-testing.yaml +772 -772
- package/assets/skills/performance-testing/schemas/output.json +1184 -1184
- package/assets/skills/pr-review/SKILL.md +61 -61
- package/assets/skills/qcsd-cicd-swarm/SKILL.md +2206 -2206
- package/assets/skills/qcsd-cicd-swarm/evals/qcsd-cicd-swarm.yaml +211 -211
- package/assets/skills/qcsd-cicd-swarm/schemas/output.json +86 -86
- package/assets/skills/qcsd-cicd-swarm/scripts/validate-config.json +30 -30
- package/assets/skills/qcsd-development-swarm/SKILL.md +2154 -2154
- package/assets/skills/qcsd-development-swarm/evals/qcsd-development-swarm.yaml +162 -162
- package/assets/skills/qcsd-development-swarm/schemas/output.json +72 -72
- package/assets/skills/qcsd-development-swarm/scripts/validate-config.json +25 -25
- package/assets/skills/qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml +138 -138
- package/assets/skills/qcsd-ideation-swarm/schemas/output.json +568 -568
- package/assets/skills/qcsd-production-swarm/SKILL.md +2781 -2781
- package/assets/skills/qcsd-production-swarm/evals/qcsd-production-swarm.yaml +246 -246
- package/assets/skills/qcsd-production-swarm/schemas/output.json +505 -505
- package/assets/skills/qcsd-production-swarm/scripts/validate-config.json +25 -25
- package/assets/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +443 -443
- package/assets/skills/qe-chaos-resilience/schemas/output.json +314 -314
- package/assets/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +459 -459
- package/assets/skills/qe-code-intelligence/schemas/output.json +315 -315
- package/assets/skills/qe-contract-testing/evals/qe-contract-testing.yaml +513 -513
- package/assets/skills/qe-contract-testing/schemas/output.json +295 -295
- package/assets/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +494 -494
- package/assets/skills/qe-coverage-analysis/schemas/output.json +286 -286
- package/assets/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +511 -511
- package/assets/skills/qe-defect-intelligence/schemas/output.json +283 -283
- package/assets/skills/qe-iterative-loop/schemas/output.json +264 -264
- package/assets/skills/qe-learning-optimization/evals/qe-learning-optimization.yaml +144 -144
- package/assets/skills/qe-learning-optimization/schemas/output.json +288 -288
- package/assets/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +506 -506
- package/assets/skills/qe-quality-assessment/schemas/output.json +550 -550
- package/assets/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +598 -598
- package/assets/skills/qe-requirements-validation/schemas/output.json +587 -587
- package/assets/skills/qe-security-compliance/evals/qe-security-compliance.yaml +595 -595
- package/assets/skills/qe-security-compliance/schemas/output.json +498 -498
- package/assets/skills/qe-test-execution/evals/qe-test-execution.yaml +607 -607
- package/assets/skills/qe-test-execution/schemas/output.json +529 -529
- package/assets/skills/qe-test-generation/evals/qe-test-generation.yaml +148 -148
- package/assets/skills/qe-test-generation/schemas/output.json +439 -439
- package/assets/skills/qe-visual-accessibility/evals/qe-visual-accessibility.yaml +142 -142
- package/assets/skills/qe-visual-accessibility/schemas/output.json +491 -491
- package/assets/skills/quality-metrics/evals/quality-metrics.yaml +494 -494
- package/assets/skills/quality-metrics/schemas/output.json +403 -403
- package/assets/skills/refactoring-patterns/schemas/output.json +475 -475
- package/assets/skills/regression-testing/evals/regression-testing.yaml +504 -504
- package/assets/skills/regression-testing/schemas/output.json +311 -311
- package/assets/skills/risk-based-testing/evals/risk-based-testing.yaml +141 -141
- package/assets/skills/risk-based-testing/schemas/output.json +480 -480
- package/assets/skills/security-testing/evals/security-testing.yaml +789 -789
- package/assets/skills/security-testing/schemas/output.json +879 -879
- package/assets/skills/security-visual-testing/evals/security-visual-testing.yaml +163 -163
- package/assets/skills/security-visual-testing/schemas/output.json +486 -486
- package/assets/skills/sfdipot-product-factors/SKILL.md +239 -239
- package/assets/skills/sherlock-review/schemas/output.json +297 -297
- package/assets/skills/shift-left-testing/evals/shift-left-testing.yaml +145 -145
- package/assets/skills/shift-left-testing/schemas/output.json +459 -459
- package/assets/skills/shift-right-testing/evals/shift-right-testing.yaml +147 -147
- package/assets/skills/shift-right-testing/schemas/output.json +418 -418
- package/assets/skills/tdd-london-chicago/schemas/output.json +444 -444
- package/assets/skills/technical-writing/schemas/output.json +268 -268
- package/assets/skills/test-automation-strategy/evals/test-automation-strategy.yaml +148 -148
- package/assets/skills/test-automation-strategy/schemas/output.json +444 -444
- package/assets/skills/test-data-management/evals/test-data-management.yaml +504 -504
- package/assets/skills/test-data-management/schemas/output.json +284 -284
- package/assets/skills/test-design-techniques/evals/test-design-techniques.yaml +142 -142
- package/assets/skills/test-design-techniques/schemas/output.json +295 -295
- package/assets/skills/test-environment-management/schemas/output.json +310 -310
- package/assets/skills/test-idea-rewriting/SKILL.md +229 -229
- package/assets/skills/test-reporting-analytics/evals/test-reporting-analytics.yaml +155 -155
- package/assets/skills/test-reporting-analytics/schemas/output.json +329 -329
- package/assets/skills/testability-scoring/evals/testability-scoring.yaml +814 -814
- package/assets/skills/testability-scoring/resources/templates/config.template.js +84 -84
- package/assets/skills/testability-scoring/schemas/output.json +606 -606
- package/assets/skills/testability-scoring/scripts/generate-html-report.js +1007 -1007
- package/assets/skills/verification-quality/evals/verification-quality.yaml +150 -150
- package/assets/skills/verification-quality/schemas/output.json +432 -432
- package/assets/skills/visual-testing-advanced/evals/visual-testing-advanced.yaml +154 -154
- package/assets/skills/visual-testing-advanced/schemas/output.json +294 -294
- package/assets/skills/wms-testing-patterns/evals/wms-testing-patterns.yaml +165 -165
- package/assets/skills/wms-testing-patterns/schemas/output.json +150 -150
- package/assets/skills/wms-testing-patterns/scripts/validate-config.json +51 -51
- package/assets/templates/validation-summary.json +56 -56
- package/dist/agents/claim-verifier/verifiers/output-verifier.d.ts +1 -0
- package/dist/agents/claim-verifier/verifiers/output-verifier.d.ts.map +1 -1
- package/dist/agents/claim-verifier/verifiers/output-verifier.js +16 -3
- package/dist/agents/claim-verifier/verifiers/output-verifier.js.map +1 -1
- package/dist/cli/bundle.js +488 -75
- package/dist/cli/commands/mcp.d.ts.map +1 -1
- package/dist/cli/commands/mcp.js +11 -9
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/governance/adversarial-defense-integration.d.ts +29 -0
- package/dist/governance/adversarial-defense-integration.d.ts.map +1 -1
- package/dist/governance/adversarial-defense-integration.js +85 -1
- package/dist/governance/adversarial-defense-integration.js.map +1 -1
- package/dist/governance/continue-gate-integration.d.ts +7 -5
- package/dist/governance/continue-gate-integration.d.ts.map +1 -1
- package/dist/governance/continue-gate-integration.js +72 -15
- package/dist/governance/continue-gate-integration.js.map +1 -1
- package/dist/governance/deterministic-gateway-integration.d.ts +5 -0
- package/dist/governance/deterministic-gateway-integration.d.ts.map +1 -1
- package/dist/governance/deterministic-gateway-integration.js +35 -1
- package/dist/governance/deterministic-gateway-integration.js.map +1 -1
- package/dist/governance/evolution-pipeline-integration.d.ts +5 -0
- package/dist/governance/evolution-pipeline-integration.d.ts.map +1 -1
- package/dist/governance/evolution-pipeline-integration.js +57 -1
- package/dist/governance/evolution-pipeline-integration.js.map +1 -1
- package/dist/governance/memory-write-gate-integration.d.ts +6 -3
- package/dist/governance/memory-write-gate-integration.d.ts.map +1 -1
- package/dist/governance/memory-write-gate-integration.js +48 -10
- package/dist/governance/memory-write-gate-integration.js.map +1 -1
- package/dist/governance/proof-envelope-integration.d.ts +1 -0
- package/dist/governance/proof-envelope-integration.d.ts.map +1 -1
- package/dist/governance/proof-envelope-integration.js +37 -0
- package/dist/governance/proof-envelope-integration.js.map +1 -1
- package/dist/governance/shard-retriever-integration.d.ts +10 -0
- package/dist/governance/shard-retriever-integration.d.ts.map +1 -1
- package/dist/governance/shard-retriever-integration.js +50 -1
- package/dist/governance/shard-retriever-integration.js.map +1 -1
- package/dist/governance/trust-accumulator-integration.d.ts +5 -0
- package/dist/governance/trust-accumulator-integration.d.ts.map +1 -1
- package/dist/governance/trust-accumulator-integration.js +35 -2
- package/dist/governance/trust-accumulator-integration.js.map +1 -1
- package/dist/init/phases/10-workers.js +2 -2
- package/dist/init/phases/10-workers.js.map +1 -1
- package/dist/mcp/bundle.js +478 -62
- package/dist/mcp/protocol-server.js +2 -2
- package/dist/mcp/tool-registry.d.ts.map +1 -1
- package/dist/mcp/tool-registry.js +1 -0
- package/dist/mcp/tool-registry.js.map +1 -1
- package/dist/shared/language-detector.js +1 -1
- package/dist/shared/language-detector.js.map +1 -1
- package/dist/shared/parsers/multi-language-parser.d.ts.map +1 -1
- package/dist/shared/parsers/multi-language-parser.js +55 -16
- package/dist/shared/parsers/multi-language-parser.js.map +1 -1
- package/dist/shared/sql-safety.d.ts.map +1 -1
- package/dist/shared/sql-safety.js +7 -1
- package/dist/shared/sql-safety.js.map +1 -1
- package/package.json +6 -2
- package/scripts/prepare-assets.sh +8 -0
|
@@ -1,761 +1,761 @@
|
|
|
1
|
-
# =============================================================================
|
|
2
|
-
# AQE Skill Evaluation Test Suite: Chaos Engineering Resilience v1.0.0
|
|
3
|
-
# =============================================================================
|
|
4
|
-
#
|
|
5
|
-
# Comprehensive evaluation suite for the chaos-engineering-resilience skill
|
|
6
|
-
# per ADR-056. Tests fault injection, steady-state validation, blast radius
|
|
7
|
-
# control, recovery time measurement, and resilience scoring.
|
|
8
|
-
#
|
|
9
|
-
# Schema: .claude/skills/.validation/schemas/skill-eval.schema.json
|
|
10
|
-
# Validator: .claude/skills/chaos-engineering-resilience/scripts/validate-config.json
|
|
11
|
-
#
|
|
12
|
-
# Coverage:
|
|
13
|
-
# - Network chaos (latency, packet loss, partition)
|
|
14
|
-
# - Resource chaos (CPU stress, memory exhaust, disk fill)
|
|
15
|
-
# - Infrastructure chaos (pod kill, node drain, zone failure)
|
|
16
|
-
# - Application chaos (exception injection, deadlocks)
|
|
17
|
-
# - Byzantine fault tolerance (malicious nodes, split-brain)
|
|
18
|
-
# - Spike and ramp-up load testing
|
|
19
|
-
# - Negative tests (safety controls validation)
|
|
20
|
-
#
|
|
21
|
-
# =============================================================================
|
|
22
|
-
|
|
23
|
-
skill: chaos-engineering-resilience
|
|
24
|
-
version: 1.0.0
|
|
25
|
-
description: >
|
|
26
|
-
Comprehensive evaluation suite for the chaos-engineering-resilience skill.
|
|
27
|
-
Tests fault injection types, steady-state hypothesis validation, blast
|
|
28
|
-
radius controls, recovery time measurement, Byzantine fault tolerance,
|
|
29
|
-
and resilience scoring. Supports multi-model testing and integrates with
|
|
30
|
-
ReasoningBank for continuous improvement.
|
|
31
|
-
|
|
32
|
-
# =============================================================================
|
|
33
|
-
# Multi-Model Configuration
|
|
34
|
-
# =============================================================================
|
|
35
|
-
|
|
36
|
-
models_to_test:
|
|
37
|
-
- claude-3.5-sonnet # Primary model (high accuracy expected)
|
|
38
|
-
- claude-3-haiku # Fast model (minimum quality threshold)
|
|
39
|
-
- gpt-4o # Cross-vendor validation
|
|
40
|
-
|
|
41
|
-
# =============================================================================
|
|
42
|
-
# MCP Integration Configuration
|
|
43
|
-
# =============================================================================
|
|
44
|
-
|
|
45
|
-
mcp_integration:
|
|
46
|
-
enabled: true
|
|
47
|
-
namespace: skill-validation
|
|
48
|
-
|
|
49
|
-
# Query existing chaos patterns before running evals
|
|
50
|
-
query_patterns: true
|
|
51
|
-
|
|
52
|
-
# Track each test outcome for learning feedback loop
|
|
53
|
-
track_outcomes: true
|
|
54
|
-
|
|
55
|
-
# Store successful patterns after evals complete
|
|
56
|
-
store_patterns: true
|
|
57
|
-
|
|
58
|
-
# Share learning with fleet coordinator agents
|
|
59
|
-
share_learning: true
|
|
60
|
-
|
|
61
|
-
# Update quality gate with validation metrics
|
|
62
|
-
update_quality_gate: true
|
|
63
|
-
|
|
64
|
-
# Target agents for learning distribution
|
|
65
|
-
target_agents:
|
|
66
|
-
- qe-learning-coordinator
|
|
67
|
-
- qe-queen-coordinator
|
|
68
|
-
- qe-chaos-engineer
|
|
69
|
-
- qe-performance-tester
|
|
70
|
-
|
|
71
|
-
# =============================================================================
|
|
72
|
-
# ReasoningBank Learning Configuration
|
|
73
|
-
# =============================================================================
|
|
74
|
-
|
|
75
|
-
learning:
|
|
76
|
-
store_success_patterns: true
|
|
77
|
-
store_failure_patterns: true
|
|
78
|
-
pattern_ttl_days: 90
|
|
79
|
-
min_confidence_to_store: 0.7
|
|
80
|
-
cross_model_comparison: true
|
|
81
|
-
|
|
82
|
-
# =============================================================================
|
|
83
|
-
# Result Format Configuration
|
|
84
|
-
# =============================================================================
|
|
85
|
-
|
|
86
|
-
result_format:
|
|
87
|
-
json_output: true
|
|
88
|
-
markdown_report: true
|
|
89
|
-
include_raw_output: false
|
|
90
|
-
include_timing: true
|
|
91
|
-
include_token_usage: true
|
|
92
|
-
|
|
93
|
-
# =============================================================================
|
|
94
|
-
# Environment Setup
|
|
95
|
-
# =============================================================================
|
|
96
|
-
|
|
97
|
-
setup:
|
|
98
|
-
required_tools:
|
|
99
|
-
- jq # JSON parsing (required)
|
|
100
|
-
|
|
101
|
-
environment_variables:
|
|
102
|
-
CHAOS_ENABLED: "true"
|
|
103
|
-
BLAST_RADIUS_LIMIT: "single-service"
|
|
104
|
-
SAFETY_CONTROLS: "enabled"
|
|
105
|
-
|
|
106
|
-
fixtures:
|
|
107
|
-
- name: kubernetes_deployment
|
|
108
|
-
path: fixtures/kubernetes-deployment.yaml
|
|
109
|
-
content: |
|
|
110
|
-
apiVersion: apps/v1
|
|
111
|
-
kind: Deployment
|
|
112
|
-
metadata:
|
|
113
|
-
name: user-service
|
|
114
|
-
namespace: production
|
|
115
|
-
spec:
|
|
116
|
-
replicas: 3
|
|
117
|
-
selector:
|
|
118
|
-
matchLabels:
|
|
119
|
-
app: user-service
|
|
120
|
-
template:
|
|
121
|
-
metadata:
|
|
122
|
-
labels:
|
|
123
|
-
app: user-service
|
|
124
|
-
spec:
|
|
125
|
-
containers:
|
|
126
|
-
- name: user-service
|
|
127
|
-
image: user-service:v1.2.3
|
|
128
|
-
resources:
|
|
129
|
-
limits:
|
|
130
|
-
cpu: "500m"
|
|
131
|
-
memory: "512Mi"
|
|
132
|
-
|
|
133
|
-
# =============================================================================
|
|
134
|
-
# TEST CASES
|
|
135
|
-
# =============================================================================
|
|
136
|
-
|
|
137
|
-
test_cases:
|
|
138
|
-
# ---------------------------------------------------------------------------
|
|
139
|
-
# CATEGORY: Network Chaos
|
|
140
|
-
# ---------------------------------------------------------------------------
|
|
141
|
-
|
|
142
|
-
- id: tc001_network_latency_injection
|
|
143
|
-
description: "Test network latency injection and system tolerance"
|
|
144
|
-
category: network
|
|
145
|
-
priority: critical
|
|
146
|
-
|
|
147
|
-
input:
|
|
148
|
-
scenario: |
|
|
149
|
-
Target: user-service in production
|
|
150
|
-
Inject: 500ms latency with 100ms jitter
|
|
151
|
-
Duration: 10 minutes
|
|
152
|
-
Blast radius: 50% of pods
|
|
153
|
-
Steady-state: error_rate < 1%, p99 < 300ms
|
|
154
|
-
context:
|
|
155
|
-
environment: staging
|
|
156
|
-
kubernetes: true
|
|
157
|
-
service_mesh: istio
|
|
158
|
-
|
|
159
|
-
expected_output:
|
|
160
|
-
must_contain:
|
|
161
|
-
- "latency"
|
|
162
|
-
- "steady-state"
|
|
163
|
-
- "recovery"
|
|
164
|
-
- "experiment"
|
|
165
|
-
must_not_contain:
|
|
166
|
-
- "no impact"
|
|
167
|
-
- "skipped"
|
|
168
|
-
must_match_regex:
|
|
169
|
-
- "CHAOS-\\d{3,6}"
|
|
170
|
-
- "network|latency"
|
|
171
|
-
experiment_result: ["passed", "partial"]
|
|
172
|
-
experiment_count:
|
|
173
|
-
min: 1
|
|
174
|
-
max: 5
|
|
175
|
-
weakness_count:
|
|
176
|
-
max: 5
|
|
177
|
-
|
|
178
|
-
validation:
|
|
179
|
-
schema_check: true
|
|
180
|
-
keyword_match_threshold: 0.8
|
|
181
|
-
reasoning_quality_min: 0.7
|
|
182
|
-
|
|
183
|
-
timeout_ms: 60000
|
|
184
|
-
|
|
185
|
-
- id: tc002_network_partition_zones
|
|
186
|
-
description: "Test network partition between availability zones"
|
|
187
|
-
category: network
|
|
188
|
-
priority: critical
|
|
189
|
-
|
|
190
|
-
input:
|
|
191
|
-
scenario: |
|
|
192
|
-
Target: Cross-zone communication between zone-a and zone-b
|
|
193
|
-
Inject: Full network partition
|
|
194
|
-
Duration: 15 minutes
|
|
195
|
-
Blast radius: All cross-zone traffic
|
|
196
|
-
Steady-state: availability > 99%, database failover < 5s
|
|
197
|
-
context:
|
|
198
|
-
environment: staging
|
|
199
|
-
multi_zone: true
|
|
200
|
-
|
|
201
|
-
expected_output:
|
|
202
|
-
must_contain:
|
|
203
|
-
- "partition"
|
|
204
|
-
- "zone"
|
|
205
|
-
- "failover"
|
|
206
|
-
- "availability"
|
|
207
|
-
must_match_regex:
|
|
208
|
-
- "CHAOS-\\d{3,6}"
|
|
209
|
-
- "zone|partition"
|
|
210
|
-
experiment_result: ["passed", "partial", "failed"]
|
|
211
|
-
|
|
212
|
-
validation:
|
|
213
|
-
schema_check: true
|
|
214
|
-
keyword_match_threshold: 0.7
|
|
215
|
-
|
|
216
|
-
- id: tc003_packet_loss_simulation
|
|
217
|
-
description: "Test packet loss simulation and retry handling"
|
|
218
|
-
category: network
|
|
219
|
-
priority: high
|
|
220
|
-
|
|
221
|
-
input:
|
|
222
|
-
scenario: |
|
|
223
|
-
Target: payment-service
|
|
224
|
-
Inject: 10% packet loss with 50% correlation
|
|
225
|
-
Duration: 5 minutes
|
|
226
|
-
Steady-state: success_rate > 99%
|
|
227
|
-
context:
|
|
228
|
-
environment: staging
|
|
229
|
-
|
|
230
|
-
expected_output:
|
|
231
|
-
must_contain:
|
|
232
|
-
- "packet"
|
|
233
|
-
- "loss"
|
|
234
|
-
- "retry"
|
|
235
|
-
must_match_regex:
|
|
236
|
-
- "CHAOS-\\d{3,6}"
|
|
237
|
-
|
|
238
|
-
validation:
|
|
239
|
-
schema_check: true
|
|
240
|
-
keyword_match_threshold: 0.7
|
|
241
|
-
|
|
242
|
-
# ---------------------------------------------------------------------------
|
|
243
|
-
# CATEGORY: Resource Chaos
|
|
244
|
-
# ---------------------------------------------------------------------------
|
|
245
|
-
|
|
246
|
-
- id: tc004_cpu_stress_test
|
|
247
|
-
description: "Test CPU stress and auto-scaling response"
|
|
248
|
-
category: resource
|
|
249
|
-
priority: high
|
|
250
|
-
|
|
251
|
-
input:
|
|
252
|
-
scenario: |
|
|
253
|
-
Target: compute-service pods
|
|
254
|
-
Inject: 90% CPU load for 10 minutes
|
|
255
|
-
Blast radius: 2 pods out of 6
|
|
256
|
-
Steady-state: response_time_p99 < 500ms
|
|
257
|
-
Expected: Auto-scaling triggers new pods
|
|
258
|
-
context:
|
|
259
|
-
environment: staging
|
|
260
|
-
auto_scaling: true
|
|
261
|
-
|
|
262
|
-
expected_output:
|
|
263
|
-
must_contain:
|
|
264
|
-
- "CPU"
|
|
265
|
-
- "stress"
|
|
266
|
-
- "scaling"
|
|
267
|
-
must_match_regex:
|
|
268
|
-
- "CHAOS-\\d{3,6}"
|
|
269
|
-
- "resource|cpu"
|
|
270
|
-
experiment_result: ["passed", "partial"]
|
|
271
|
-
|
|
272
|
-
validation:
|
|
273
|
-
schema_check: true
|
|
274
|
-
keyword_match_threshold: 0.7
|
|
275
|
-
|
|
276
|
-
- id: tc005_memory_exhaustion
|
|
277
|
-
description: "Test memory exhaustion and OOM behavior"
|
|
278
|
-
category: resource
|
|
279
|
-
priority: critical
|
|
280
|
-
|
|
281
|
-
input:
|
|
282
|
-
scenario: |
|
|
283
|
-
Target: data-processor service
|
|
284
|
-
Inject: Fill 90% of container memory
|
|
285
|
-
Duration: 8 minutes
|
|
286
|
-
Steady-state: No OOM kills, graceful degradation
|
|
287
|
-
Blast radius: 1 pod
|
|
288
|
-
context:
|
|
289
|
-
environment: staging
|
|
290
|
-
memory_limits: true
|
|
291
|
-
|
|
292
|
-
expected_output:
|
|
293
|
-
must_contain:
|
|
294
|
-
- "memory"
|
|
295
|
-
- "OOM"
|
|
296
|
-
- "graceful"
|
|
297
|
-
must_match_regex:
|
|
298
|
-
- "CHAOS-\\d{3,6}"
|
|
299
|
-
|
|
300
|
-
validation:
|
|
301
|
-
schema_check: true
|
|
302
|
-
keyword_match_threshold: 0.7
|
|
303
|
-
|
|
304
|
-
- id: tc006_disk_iops_limit
|
|
305
|
-
description: "Test disk IOPS throttling impact on database"
|
|
306
|
-
category: resource
|
|
307
|
-
priority: high
|
|
308
|
-
|
|
309
|
-
input:
|
|
310
|
-
scenario: |
|
|
311
|
-
Target: database service
|
|
312
|
-
Inject: Limit IOPS to 100 (from baseline 1000)
|
|
313
|
-
Duration: 5 minutes
|
|
314
|
-
Steady-state: query_latency_p99 < 200ms
|
|
315
|
-
Blast radius: Single database pod
|
|
316
|
-
context:
|
|
317
|
-
environment: staging
|
|
318
|
-
database: postgresql
|
|
319
|
-
|
|
320
|
-
expected_output:
|
|
321
|
-
must_contain:
|
|
322
|
-
- "disk"
|
|
323
|
-
- "IOPS"
|
|
324
|
-
- "database"
|
|
325
|
-
- "latency"
|
|
326
|
-
must_match_regex:
|
|
327
|
-
- "CHAOS-\\d{3,6}"
|
|
328
|
-
|
|
329
|
-
validation:
|
|
330
|
-
schema_check: true
|
|
331
|
-
keyword_match_threshold: 0.7
|
|
332
|
-
|
|
333
|
-
# ---------------------------------------------------------------------------
|
|
334
|
-
# CATEGORY: Infrastructure Chaos
|
|
335
|
-
# ---------------------------------------------------------------------------
|
|
336
|
-
|
|
337
|
-
- id: tc007_pod_termination
|
|
338
|
-
description: "Test pod termination and restart behavior"
|
|
339
|
-
category: infrastructure
|
|
340
|
-
priority: critical
|
|
341
|
-
|
|
342
|
-
input:
|
|
343
|
-
scenario: |
|
|
344
|
-
Target: api-gateway pods
|
|
345
|
-
Inject: Terminate 50% of pods randomly
|
|
346
|
-
Duration: Instant, observe recovery
|
|
347
|
-
Steady-state: availability > 99.9%
|
|
348
|
-
Expected: Kubernetes restarts pods, no user impact
|
|
349
|
-
context:
|
|
350
|
-
environment: staging
|
|
351
|
-
replicas: 6
|
|
352
|
-
|
|
353
|
-
expected_output:
|
|
354
|
-
must_contain:
|
|
355
|
-
- "pod"
|
|
356
|
-
- "terminate"
|
|
357
|
-
- "restart"
|
|
358
|
-
- "recovery"
|
|
359
|
-
must_match_regex:
|
|
360
|
-
- "CHAOS-\\d{3,6}"
|
|
361
|
-
- "infrastructure|pod"
|
|
362
|
-
experiment_result: ["passed", "partial"]
|
|
363
|
-
recovery_time:
|
|
364
|
-
max_ms: 30000
|
|
365
|
-
|
|
366
|
-
validation:
|
|
367
|
-
schema_check: true
|
|
368
|
-
keyword_match_threshold: 0.8
|
|
369
|
-
|
|
370
|
-
- id: tc008_node_drain_simulation
|
|
371
|
-
description: "Test node drain and workload redistribution"
|
|
372
|
-
category: infrastructure
|
|
373
|
-
priority: high
|
|
374
|
-
|
|
375
|
-
input:
|
|
376
|
-
scenario: |
|
|
377
|
-
Target: Worker node hosting critical services
|
|
378
|
-
Inject: Drain node (cordon + evict pods)
|
|
379
|
-
Duration: Until redistribution complete
|
|
380
|
-
Steady-state: All services remain available
|
|
381
|
-
Blast radius: 1 node
|
|
382
|
-
context:
|
|
383
|
-
environment: staging
|
|
384
|
-
node_count: 5
|
|
385
|
-
|
|
386
|
-
expected_output:
|
|
387
|
-
must_contain:
|
|
388
|
-
- "node"
|
|
389
|
-
- "drain"
|
|
390
|
-
- "redistribute"
|
|
391
|
-
- "evict"
|
|
392
|
-
must_match_regex:
|
|
393
|
-
- "CHAOS-\\d{3,6}"
|
|
394
|
-
|
|
395
|
-
validation:
|
|
396
|
-
schema_check: true
|
|
397
|
-
keyword_match_threshold: 0.7
|
|
398
|
-
|
|
399
|
-
# ---------------------------------------------------------------------------
|
|
400
|
-
# CATEGORY: Application Chaos
|
|
401
|
-
# ---------------------------------------------------------------------------
|
|
402
|
-
|
|
403
|
-
- id: tc009_exception_injection
|
|
404
|
-
description: "Test exception injection and error handling"
|
|
405
|
-
category: application
|
|
406
|
-
priority: high
|
|
407
|
-
|
|
408
|
-
input:
|
|
409
|
-
scenario: |
|
|
410
|
-
Target: order-service
|
|
411
|
-
Inject: RuntimeException on 10% of requests
|
|
412
|
-
Duration: 5 minutes
|
|
413
|
-
Steady-state: error_rate < 5%, circuit_breaker triggers
|
|
414
|
-
Expected: Circuit breaker protects downstream services
|
|
415
|
-
context:
|
|
416
|
-
environment: staging
|
|
417
|
-
circuit_breaker: true
|
|
418
|
-
|
|
419
|
-
expected_output:
|
|
420
|
-
must_contain:
|
|
421
|
-
- "exception"
|
|
422
|
-
- "circuit breaker"
|
|
423
|
-
- "error"
|
|
424
|
-
must_match_regex:
|
|
425
|
-
- "CHAOS-\\d{3,6}"
|
|
426
|
-
- "application|exception"
|
|
427
|
-
|
|
428
|
-
validation:
|
|
429
|
-
schema_check: true
|
|
430
|
-
keyword_match_threshold: 0.7
|
|
431
|
-
|
|
432
|
-
- id: tc010_connection_pool_exhaust
|
|
433
|
-
description: "Test database connection pool exhaustion"
|
|
434
|
-
category: application
|
|
435
|
-
priority: high
|
|
436
|
-
|
|
437
|
-
input:
|
|
438
|
-
scenario: |
|
|
439
|
-
Target: user-service database connections
|
|
440
|
-
Inject: Exhaust connection pool (hold connections)
|
|
441
|
-
Duration: 3 minutes
|
|
442
|
-
Steady-state: Service remains responsive with queue
|
|
443
|
-
Expected: Connection timeout and retry behavior
|
|
444
|
-
context:
|
|
445
|
-
environment: staging
|
|
446
|
-
pool_size: 50
|
|
447
|
-
|
|
448
|
-
expected_output:
|
|
449
|
-
must_contain:
|
|
450
|
-
- "connection"
|
|
451
|
-
- "pool"
|
|
452
|
-
- "exhaust"
|
|
453
|
-
- "timeout"
|
|
454
|
-
must_match_regex:
|
|
455
|
-
- "CHAOS-\\d{3,6}"
|
|
456
|
-
|
|
457
|
-
validation:
|
|
458
|
-
schema_check: true
|
|
459
|
-
keyword_match_threshold: 0.7
|
|
460
|
-
|
|
461
|
-
# ---------------------------------------------------------------------------
|
|
462
|
-
# CATEGORY: Byzantine Fault Tolerance
|
|
463
|
-
# ---------------------------------------------------------------------------
|
|
464
|
-
|
|
465
|
-
- id: tc011_byzantine_malicious_node
|
|
466
|
-
description: "Test Byzantine fault tolerance with malicious node"
|
|
467
|
-
category: byzantine
|
|
468
|
-
priority: critical
|
|
469
|
-
|
|
470
|
-
input:
|
|
471
|
-
scenario: |
|
|
472
|
-
Target: Consensus cluster (7 nodes, f=2 tolerance)
|
|
473
|
-
Inject: 1 node sends incorrect values to subset of nodes
|
|
474
|
-
Duration: 10 minutes
|
|
475
|
-
Steady-state: Consensus reached with correct values
|
|
476
|
-
Expected: System tolerates 1 Byzantine node (f < n/3)
|
|
477
|
-
context:
|
|
478
|
-
environment: staging
|
|
479
|
-
consensus: pbft
|
|
480
|
-
nodes: 7
|
|
481
|
-
|
|
482
|
-
expected_output:
|
|
483
|
-
must_contain:
|
|
484
|
-
- "Byzantine"
|
|
485
|
-
- "consensus"
|
|
486
|
-
- "malicious"
|
|
487
|
-
- "tolerance"
|
|
488
|
-
must_match_regex:
|
|
489
|
-
- "CHAOS-\\d{3,6}"
|
|
490
|
-
- "byzantine|consensus"
|
|
491
|
-
experiment_result: ["passed"]
|
|
492
|
-
|
|
493
|
-
validation:
|
|
494
|
-
schema_check: true
|
|
495
|
-
keyword_match_threshold: 0.8
|
|
496
|
-
reasoning_quality_min: 0.8
|
|
497
|
-
|
|
498
|
-
- id: tc012_split_brain_scenario
|
|
499
|
-
description: "Test split-brain detection and resolution"
|
|
500
|
-
category: byzantine
|
|
501
|
-
priority: critical
|
|
502
|
-
|
|
503
|
-
input:
|
|
504
|
-
scenario: |
|
|
505
|
-
Target: Distributed database cluster
|
|
506
|
-
Inject: Network partition causing split-brain
|
|
507
|
-
Duration: 5 minutes
|
|
508
|
-
Steady-state: No conflicting writes accepted
|
|
509
|
-
Expected: Leader election resolves split-brain
|
|
510
|
-
context:
|
|
511
|
-
environment: staging
|
|
512
|
-
database: distributed
|
|
513
|
-
|
|
514
|
-
expected_output:
|
|
515
|
-
must_contain:
|
|
516
|
-
- "split-brain"
|
|
517
|
-
- "partition"
|
|
518
|
-
- "leader"
|
|
519
|
-
- "election"
|
|
520
|
-
must_match_regex:
|
|
521
|
-
- "CHAOS-\\d{3,6}"
|
|
522
|
-
- "split|brain|partition"
|
|
523
|
-
|
|
524
|
-
validation:
|
|
525
|
-
schema_check: true
|
|
526
|
-
keyword_match_threshold: 0.7
|
|
527
|
-
|
|
528
|
-
# ---------------------------------------------------------------------------
|
|
529
|
-
# CATEGORY: Load Testing (Spike/Ramp)
|
|
530
|
-
# ---------------------------------------------------------------------------
|
|
531
|
-
|
|
532
|
-
- id: tc013_spike_load_test
|
|
533
|
-
description: "Test sudden 10x load spike and auto-scaling"
|
|
534
|
-
category: load
|
|
535
|
-
priority: critical
|
|
536
|
-
|
|
537
|
-
input:
|
|
538
|
-
scenario: |
|
|
539
|
-
Target: api-gateway
|
|
540
|
-
Inject: Sudden spike from 100 req/s to 1000 req/s
|
|
541
|
-
Duration: 60 seconds spike, then observe recovery
|
|
542
|
-
Steady-state: error_rate < 5%, p99 < 500ms
|
|
543
|
-
Expected: Auto-scaling handles spike within 45s
|
|
544
|
-
context:
|
|
545
|
-
environment: staging
|
|
546
|
-
auto_scaling: true
|
|
547
|
-
|
|
548
|
-
expected_output:
|
|
549
|
-
must_contain:
|
|
550
|
-
- "spike"
|
|
551
|
-
- "load"
|
|
552
|
-
- "scaling"
|
|
553
|
-
- "recovery"
|
|
554
|
-
must_match_regex:
|
|
555
|
-
- "CHAOS-\\d{3,6}"
|
|
556
|
-
- "spike|load|ramp"
|
|
557
|
-
|
|
558
|
-
validation:
|
|
559
|
-
schema_check: true
|
|
560
|
-
keyword_match_threshold: 0.7
|
|
561
|
-
|
|
562
|
-
- id: tc014_ramp_up_capacity_test
|
|
563
|
-
description: "Test gradual ramp-up to find capacity limits"
|
|
564
|
-
category: load
|
|
565
|
-
priority: high
|
|
566
|
-
|
|
567
|
-
input:
|
|
568
|
-
scenario: |
|
|
569
|
-
Target: order-service
|
|
570
|
-
Inject: Ramp from 100 req/s to 1600 req/s (2x every 5 min)
|
|
571
|
-
Duration: 25 minutes total
|
|
572
|
-
Steady-state: Track degradation point
|
|
573
|
-
Expected: Identify max capacity before degradation
|
|
574
|
-
context:
|
|
575
|
-
environment: staging
|
|
576
|
-
|
|
577
|
-
expected_output:
|
|
578
|
-
must_contain:
|
|
579
|
-
- "ramp"
|
|
580
|
-
- "capacity"
|
|
581
|
-
- "throughput"
|
|
582
|
-
- "degradation"
|
|
583
|
-
must_match_regex:
|
|
584
|
-
- "CHAOS-\\d{3,6}"
|
|
585
|
-
|
|
586
|
-
validation:
|
|
587
|
-
schema_check: true
|
|
588
|
-
keyword_match_threshold: 0.7
|
|
589
|
-
|
|
590
|
-
# ---------------------------------------------------------------------------
|
|
591
|
-
# CATEGORY: Safety Controls
|
|
592
|
-
# ---------------------------------------------------------------------------
|
|
593
|
-
|
|
594
|
-
- id: tc015_blast_radius_enforcement
|
|
595
|
-
description: "Verify blast radius limits are enforced"
|
|
596
|
-
category: safety
|
|
597
|
-
priority: critical
|
|
598
|
-
|
|
599
|
-
input:
|
|
600
|
-
scenario: |
|
|
601
|
-
Target: All services (attempt wide blast radius)
|
|
602
|
-
Inject: Attempt to affect 100% of pods
|
|
603
|
-
Blast radius limit: single-service
|
|
604
|
-
Expected: Experiment blocked or limited by safety controls
|
|
605
|
-
context:
|
|
606
|
-
environment: staging
|
|
607
|
-
safety_controls: true
|
|
608
|
-
|
|
609
|
-
expected_output:
|
|
610
|
-
must_contain:
|
|
611
|
-
- "blast radius"
|
|
612
|
-
- "safety"
|
|
613
|
-
- "limit"
|
|
614
|
-
must_not_contain:
|
|
615
|
-
- "100% affected"
|
|
616
|
-
- "all services"
|
|
617
|
-
must_match_regex:
|
|
618
|
-
- "CHAOS-\\d{3,6}|WEAK-\\d{3,6}"
|
|
619
|
-
|
|
620
|
-
validation:
|
|
621
|
-
schema_check: true
|
|
622
|
-
keyword_match_threshold: 0.7
|
|
623
|
-
|
|
624
|
-
- id: tc016_emergency_stop_validation
|
|
625
|
-
description: "Verify emergency stop triggers on threshold breach"
|
|
626
|
-
category: safety
|
|
627
|
-
priority: critical
|
|
628
|
-
|
|
629
|
-
input:
|
|
630
|
-
scenario: |
|
|
631
|
-
Target: payment-service
|
|
632
|
-
Inject: Network latency that causes error_rate > 10%
|
|
633
|
-
Emergency stop trigger: error_rate > 5%
|
|
634
|
-
Expected: Experiment stopped, rollback executed
|
|
635
|
-
context:
|
|
636
|
-
environment: staging
|
|
637
|
-
emergency_stop: true
|
|
638
|
-
|
|
639
|
-
expected_output:
|
|
640
|
-
must_contain:
|
|
641
|
-
- "emergency"
|
|
642
|
-
- "stop"
|
|
643
|
-
- "rollback"
|
|
644
|
-
- "threshold"
|
|
645
|
-
must_match_regex:
|
|
646
|
-
- "CHAOS-\\d{3,6}"
|
|
647
|
-
- "rollback|emergency"
|
|
648
|
-
|
|
649
|
-
validation:
|
|
650
|
-
schema_check: true
|
|
651
|
-
keyword_match_threshold: 0.8
|
|
652
|
-
|
|
653
|
-
# ---------------------------------------------------------------------------
|
|
654
|
-
# CATEGORY: Negative Tests
|
|
655
|
-
# ---------------------------------------------------------------------------
|
|
656
|
-
|
|
657
|
-
- id: tc017_resilient_system_validation
|
|
658
|
-
description: "Verify resilient system passes chaos experiments"
|
|
659
|
-
category: negative
|
|
660
|
-
priority: high
|
|
661
|
-
|
|
662
|
-
input:
|
|
663
|
-
scenario: |
|
|
664
|
-
Target: Well-architected microservice with:
|
|
665
|
-
- Circuit breakers (Hystrix)
|
|
666
|
-
- Retry policies (exponential backoff)
|
|
667
|
-
- Health checks and auto-restart
|
|
668
|
-
- Multi-zone deployment
|
|
669
|
-
- Auto-scaling enabled
|
|
670
|
-
|
|
671
|
-
Inject: Multiple chaos types (latency, pod kill, CPU stress)
|
|
672
|
-
Expected: System remains resilient, no critical weaknesses
|
|
673
|
-
context:
|
|
674
|
-
environment: staging
|
|
675
|
-
resilience_patterns: all
|
|
676
|
-
|
|
677
|
-
expected_output:
|
|
678
|
-
must_contain:
|
|
679
|
-
- "resilient"
|
|
680
|
-
- "passed"
|
|
681
|
-
- "circuit breaker"
|
|
682
|
-
must_not_contain:
|
|
683
|
-
- "critical weakness"
|
|
684
|
-
- "system failure"
|
|
685
|
-
experiment_result: ["passed"]
|
|
686
|
-
weakness_count:
|
|
687
|
-
max: 2 # Allow minor observations
|
|
688
|
-
|
|
689
|
-
validation:
|
|
690
|
-
schema_check: true
|
|
691
|
-
keyword_match_threshold: 0.6
|
|
692
|
-
allow_partial: true
|
|
693
|
-
|
|
694
|
-
- id: tc018_steady_state_validation
|
|
695
|
-
description: "Verify steady-state hypothesis is validated pre/post"
|
|
696
|
-
category: validation
|
|
697
|
-
priority: critical
|
|
698
|
-
|
|
699
|
-
input:
|
|
700
|
-
scenario: |
|
|
701
|
-
Target: inventory-service
|
|
702
|
-
Inject: 200ms latency injection
|
|
703
|
-
|
|
704
|
-
Steady-state hypothesis:
|
|
705
|
-
- error_rate < 0.1%
|
|
706
|
-
- latency_p99 < 300ms
|
|
707
|
-
- throughput > 800 req/s
|
|
708
|
-
|
|
709
|
-
Expected: Pre and post validation of steady-state
|
|
710
|
-
context:
|
|
711
|
-
environment: staging
|
|
712
|
-
|
|
713
|
-
expected_output:
|
|
714
|
-
must_contain:
|
|
715
|
-
- "steady-state"
|
|
716
|
-
- "hypothesis"
|
|
717
|
-
- "before"
|
|
718
|
-
- "after"
|
|
719
|
-
- "validated"
|
|
720
|
-
must_match_regex:
|
|
721
|
-
- "CHAOS-\\d{3,6}"
|
|
722
|
-
|
|
723
|
-
validation:
|
|
724
|
-
schema_check: true
|
|
725
|
-
keyword_match_threshold: 0.8
|
|
726
|
-
|
|
727
|
-
# =============================================================================
|
|
728
|
-
# SUCCESS CRITERIA
|
|
729
|
-
# =============================================================================
|
|
730
|
-
|
|
731
|
-
success_criteria:
|
|
732
|
-
# Overall pass rate (90% of tests must pass)
|
|
733
|
-
pass_rate: 0.9
|
|
734
|
-
|
|
735
|
-
# Critical tests must ALL pass (100%)
|
|
736
|
-
critical_pass_rate: 1.0
|
|
737
|
-
|
|
738
|
-
# Average reasoning quality score
|
|
739
|
-
avg_reasoning_quality: 0.75
|
|
740
|
-
|
|
741
|
-
# Maximum suite execution time (10 minutes)
|
|
742
|
-
max_execution_time_ms: 600000
|
|
743
|
-
|
|
744
|
-
# Maximum variance between model results (15%)
|
|
745
|
-
cross_model_variance: 0.15
|
|
746
|
-
|
|
747
|
-
# =============================================================================
|
|
748
|
-
# METADATA
|
|
749
|
-
# =============================================================================
|
|
750
|
-
|
|
751
|
-
metadata:
|
|
752
|
-
author: "qe-chaos-engineer"
|
|
753
|
-
created: "2026-02-02"
|
|
754
|
-
last_updated: "2026-02-02"
|
|
755
|
-
coverage_target: >
|
|
756
|
-
Chaos Engineering Coverage: Network chaos (latency, partition, packet loss),
|
|
757
|
-
Resource chaos (CPU, memory, disk), Infrastructure chaos (pod/node/zone failure),
|
|
758
|
-
Application chaos (exceptions, deadlocks), Byzantine fault tolerance (malicious
|
|
759
|
-
nodes, split-brain), Load testing (spike, ramp-up), Safety controls (blast
|
|
760
|
-
radius, emergency stop). 18 test cases with 90% pass rate requirement and
|
|
761
|
-
100% critical pass rate for safety-related tests.
|
|
1
|
+
# =============================================================================
|
|
2
|
+
# AQE Skill Evaluation Test Suite: Chaos Engineering Resilience v1.0.0
|
|
3
|
+
# =============================================================================
|
|
4
|
+
#
|
|
5
|
+
# Comprehensive evaluation suite for the chaos-engineering-resilience skill
|
|
6
|
+
# per ADR-056. Tests fault injection, steady-state validation, blast radius
|
|
7
|
+
# control, recovery time measurement, and resilience scoring.
|
|
8
|
+
#
|
|
9
|
+
# Schema: .claude/skills/.validation/schemas/skill-eval.schema.json
|
|
10
|
+
# Validator: .claude/skills/chaos-engineering-resilience/scripts/validate-config.json
|
|
11
|
+
#
|
|
12
|
+
# Coverage:
|
|
13
|
+
# - Network chaos (latency, packet loss, partition)
|
|
14
|
+
# - Resource chaos (CPU stress, memory exhaust, disk fill)
|
|
15
|
+
# - Infrastructure chaos (pod kill, node drain, zone failure)
|
|
16
|
+
# - Application chaos (exception injection, deadlocks)
|
|
17
|
+
# - Byzantine fault tolerance (malicious nodes, split-brain)
|
|
18
|
+
# - Spike and ramp-up load testing
|
|
19
|
+
# - Negative tests (safety controls validation)
|
|
20
|
+
#
|
|
21
|
+
# =============================================================================
|
|
22
|
+
|
|
23
|
+
skill: chaos-engineering-resilience
|
|
24
|
+
version: 1.0.0
|
|
25
|
+
description: >
|
|
26
|
+
Comprehensive evaluation suite for the chaos-engineering-resilience skill.
|
|
27
|
+
Tests fault injection types, steady-state hypothesis validation, blast
|
|
28
|
+
radius controls, recovery time measurement, Byzantine fault tolerance,
|
|
29
|
+
and resilience scoring. Supports multi-model testing and integrates with
|
|
30
|
+
ReasoningBank for continuous improvement.
|
|
31
|
+
|
|
32
|
+
# =============================================================================
|
|
33
|
+
# Multi-Model Configuration
|
|
34
|
+
# =============================================================================
|
|
35
|
+
|
|
36
|
+
models_to_test:
|
|
37
|
+
- claude-3.5-sonnet # Primary model (high accuracy expected)
|
|
38
|
+
- claude-3-haiku # Fast model (minimum quality threshold)
|
|
39
|
+
- gpt-4o # Cross-vendor validation
|
|
40
|
+
|
|
41
|
+
# =============================================================================
|
|
42
|
+
# MCP Integration Configuration
|
|
43
|
+
# =============================================================================
|
|
44
|
+
|
|
45
|
+
mcp_integration:
|
|
46
|
+
enabled: true
|
|
47
|
+
namespace: skill-validation
|
|
48
|
+
|
|
49
|
+
# Query existing chaos patterns before running evals
|
|
50
|
+
query_patterns: true
|
|
51
|
+
|
|
52
|
+
# Track each test outcome for learning feedback loop
|
|
53
|
+
track_outcomes: true
|
|
54
|
+
|
|
55
|
+
# Store successful patterns after evals complete
|
|
56
|
+
store_patterns: true
|
|
57
|
+
|
|
58
|
+
# Share learning with fleet coordinator agents
|
|
59
|
+
share_learning: true
|
|
60
|
+
|
|
61
|
+
# Update quality gate with validation metrics
|
|
62
|
+
update_quality_gate: true
|
|
63
|
+
|
|
64
|
+
# Target agents for learning distribution
|
|
65
|
+
target_agents:
|
|
66
|
+
- qe-learning-coordinator
|
|
67
|
+
- qe-queen-coordinator
|
|
68
|
+
- qe-chaos-engineer
|
|
69
|
+
- qe-performance-tester
|
|
70
|
+
|
|
71
|
+
# =============================================================================
|
|
72
|
+
# ReasoningBank Learning Configuration
|
|
73
|
+
# =============================================================================
|
|
74
|
+
|
|
75
|
+
learning:
|
|
76
|
+
store_success_patterns: true
|
|
77
|
+
store_failure_patterns: true
|
|
78
|
+
pattern_ttl_days: 90
|
|
79
|
+
min_confidence_to_store: 0.7
|
|
80
|
+
cross_model_comparison: true
|
|
81
|
+
|
|
82
|
+
# =============================================================================
|
|
83
|
+
# Result Format Configuration
|
|
84
|
+
# =============================================================================
|
|
85
|
+
|
|
86
|
+
result_format:
|
|
87
|
+
json_output: true
|
|
88
|
+
markdown_report: true
|
|
89
|
+
include_raw_output: false
|
|
90
|
+
include_timing: true
|
|
91
|
+
include_token_usage: true
|
|
92
|
+
|
|
93
|
+
# =============================================================================
|
|
94
|
+
# Environment Setup
|
|
95
|
+
# =============================================================================
|
|
96
|
+
|
|
97
|
+
setup:
|
|
98
|
+
required_tools:
|
|
99
|
+
- jq # JSON parsing (required)
|
|
100
|
+
|
|
101
|
+
environment_variables:
|
|
102
|
+
CHAOS_ENABLED: "true"
|
|
103
|
+
BLAST_RADIUS_LIMIT: "single-service"
|
|
104
|
+
SAFETY_CONTROLS: "enabled"
|
|
105
|
+
|
|
106
|
+
fixtures:
|
|
107
|
+
- name: kubernetes_deployment
|
|
108
|
+
path: fixtures/kubernetes-deployment.yaml
|
|
109
|
+
content: |
|
|
110
|
+
apiVersion: apps/v1
|
|
111
|
+
kind: Deployment
|
|
112
|
+
metadata:
|
|
113
|
+
name: user-service
|
|
114
|
+
namespace: production
|
|
115
|
+
spec:
|
|
116
|
+
replicas: 3
|
|
117
|
+
selector:
|
|
118
|
+
matchLabels:
|
|
119
|
+
app: user-service
|
|
120
|
+
template:
|
|
121
|
+
metadata:
|
|
122
|
+
labels:
|
|
123
|
+
app: user-service
|
|
124
|
+
spec:
|
|
125
|
+
containers:
|
|
126
|
+
- name: user-service
|
|
127
|
+
image: user-service:v1.2.3
|
|
128
|
+
resources:
|
|
129
|
+
limits:
|
|
130
|
+
cpu: "500m"
|
|
131
|
+
memory: "512Mi"
|
|
132
|
+
|
|
133
|
+
# =============================================================================
|
|
134
|
+
# TEST CASES
|
|
135
|
+
# =============================================================================
|
|
136
|
+
|
|
137
|
+
test_cases:
|
|
138
|
+
# ---------------------------------------------------------------------------
|
|
139
|
+
# CATEGORY: Network Chaos
|
|
140
|
+
# ---------------------------------------------------------------------------
|
|
141
|
+
|
|
142
|
+
- id: tc001_network_latency_injection
|
|
143
|
+
description: "Test network latency injection and system tolerance"
|
|
144
|
+
category: network
|
|
145
|
+
priority: critical
|
|
146
|
+
|
|
147
|
+
input:
|
|
148
|
+
scenario: |
|
|
149
|
+
Target: user-service in production
|
|
150
|
+
Inject: 500ms latency with 100ms jitter
|
|
151
|
+
Duration: 10 minutes
|
|
152
|
+
Blast radius: 50% of pods
|
|
153
|
+
Steady-state: error_rate < 1%, p99 < 300ms
|
|
154
|
+
context:
|
|
155
|
+
environment: staging
|
|
156
|
+
kubernetes: true
|
|
157
|
+
service_mesh: istio
|
|
158
|
+
|
|
159
|
+
expected_output:
|
|
160
|
+
must_contain:
|
|
161
|
+
- "latency"
|
|
162
|
+
- "steady-state"
|
|
163
|
+
- "recovery"
|
|
164
|
+
- "experiment"
|
|
165
|
+
must_not_contain:
|
|
166
|
+
- "no impact"
|
|
167
|
+
- "skipped"
|
|
168
|
+
must_match_regex:
|
|
169
|
+
- "CHAOS-\\d{3,6}"
|
|
170
|
+
- "network|latency"
|
|
171
|
+
experiment_result: ["passed", "partial"]
|
|
172
|
+
experiment_count:
|
|
173
|
+
min: 1
|
|
174
|
+
max: 5
|
|
175
|
+
weakness_count:
|
|
176
|
+
max: 5
|
|
177
|
+
|
|
178
|
+
validation:
|
|
179
|
+
schema_check: true
|
|
180
|
+
keyword_match_threshold: 0.8
|
|
181
|
+
reasoning_quality_min: 0.7
|
|
182
|
+
|
|
183
|
+
timeout_ms: 60000
|
|
184
|
+
|
|
185
|
+
- id: tc002_network_partition_zones
|
|
186
|
+
description: "Test network partition between availability zones"
|
|
187
|
+
category: network
|
|
188
|
+
priority: critical
|
|
189
|
+
|
|
190
|
+
input:
|
|
191
|
+
scenario: |
|
|
192
|
+
Target: Cross-zone communication between zone-a and zone-b
|
|
193
|
+
Inject: Full network partition
|
|
194
|
+
Duration: 15 minutes
|
|
195
|
+
Blast radius: All cross-zone traffic
|
|
196
|
+
Steady-state: availability > 99%, database failover < 5s
|
|
197
|
+
context:
|
|
198
|
+
environment: staging
|
|
199
|
+
multi_zone: true
|
|
200
|
+
|
|
201
|
+
expected_output:
|
|
202
|
+
must_contain:
|
|
203
|
+
- "partition"
|
|
204
|
+
- "zone"
|
|
205
|
+
- "failover"
|
|
206
|
+
- "availability"
|
|
207
|
+
must_match_regex:
|
|
208
|
+
- "CHAOS-\\d{3,6}"
|
|
209
|
+
- "zone|partition"
|
|
210
|
+
experiment_result: ["passed", "partial", "failed"]
|
|
211
|
+
|
|
212
|
+
validation:
|
|
213
|
+
schema_check: true
|
|
214
|
+
keyword_match_threshold: 0.7
|
|
215
|
+
|
|
216
|
+
- id: tc003_packet_loss_simulation
|
|
217
|
+
description: "Test packet loss simulation and retry handling"
|
|
218
|
+
category: network
|
|
219
|
+
priority: high
|
|
220
|
+
|
|
221
|
+
input:
|
|
222
|
+
scenario: |
|
|
223
|
+
Target: payment-service
|
|
224
|
+
Inject: 10% packet loss with 50% correlation
|
|
225
|
+
Duration: 5 minutes
|
|
226
|
+
Steady-state: success_rate > 99%
|
|
227
|
+
context:
|
|
228
|
+
environment: staging
|
|
229
|
+
|
|
230
|
+
expected_output:
|
|
231
|
+
must_contain:
|
|
232
|
+
- "packet"
|
|
233
|
+
- "loss"
|
|
234
|
+
- "retry"
|
|
235
|
+
must_match_regex:
|
|
236
|
+
- "CHAOS-\\d{3,6}"
|
|
237
|
+
|
|
238
|
+
validation:
|
|
239
|
+
schema_check: true
|
|
240
|
+
keyword_match_threshold: 0.7
|
|
241
|
+
|
|
242
|
+
# ---------------------------------------------------------------------------
|
|
243
|
+
# CATEGORY: Resource Chaos
|
|
244
|
+
# ---------------------------------------------------------------------------
|
|
245
|
+
|
|
246
|
+
- id: tc004_cpu_stress_test
|
|
247
|
+
description: "Test CPU stress and auto-scaling response"
|
|
248
|
+
category: resource
|
|
249
|
+
priority: high
|
|
250
|
+
|
|
251
|
+
input:
|
|
252
|
+
scenario: |
|
|
253
|
+
Target: compute-service pods
|
|
254
|
+
Inject: 90% CPU load for 10 minutes
|
|
255
|
+
Blast radius: 2 pods out of 6
|
|
256
|
+
Steady-state: response_time_p99 < 500ms
|
|
257
|
+
Expected: Auto-scaling triggers new pods
|
|
258
|
+
context:
|
|
259
|
+
environment: staging
|
|
260
|
+
auto_scaling: true
|
|
261
|
+
|
|
262
|
+
expected_output:
|
|
263
|
+
must_contain:
|
|
264
|
+
- "CPU"
|
|
265
|
+
- "stress"
|
|
266
|
+
- "scaling"
|
|
267
|
+
must_match_regex:
|
|
268
|
+
- "CHAOS-\\d{3,6}"
|
|
269
|
+
- "resource|cpu"
|
|
270
|
+
experiment_result: ["passed", "partial"]
|
|
271
|
+
|
|
272
|
+
validation:
|
|
273
|
+
schema_check: true
|
|
274
|
+
keyword_match_threshold: 0.7
|
|
275
|
+
|
|
276
|
+
- id: tc005_memory_exhaustion
|
|
277
|
+
description: "Test memory exhaustion and OOM behavior"
|
|
278
|
+
category: resource
|
|
279
|
+
priority: critical
|
|
280
|
+
|
|
281
|
+
input:
|
|
282
|
+
scenario: |
|
|
283
|
+
Target: data-processor service
|
|
284
|
+
Inject: Fill 90% of container memory
|
|
285
|
+
Duration: 8 minutes
|
|
286
|
+
Steady-state: No OOM kills, graceful degradation
|
|
287
|
+
Blast radius: 1 pod
|
|
288
|
+
context:
|
|
289
|
+
environment: staging
|
|
290
|
+
memory_limits: true
|
|
291
|
+
|
|
292
|
+
expected_output:
|
|
293
|
+
must_contain:
|
|
294
|
+
- "memory"
|
|
295
|
+
- "OOM"
|
|
296
|
+
- "graceful"
|
|
297
|
+
must_match_regex:
|
|
298
|
+
- "CHAOS-\\d{3,6}"
|
|
299
|
+
|
|
300
|
+
validation:
|
|
301
|
+
schema_check: true
|
|
302
|
+
keyword_match_threshold: 0.7
|
|
303
|
+
|
|
304
|
+
- id: tc006_disk_iops_limit
|
|
305
|
+
description: "Test disk IOPS throttling impact on database"
|
|
306
|
+
category: resource
|
|
307
|
+
priority: high
|
|
308
|
+
|
|
309
|
+
input:
|
|
310
|
+
scenario: |
|
|
311
|
+
Target: database service
|
|
312
|
+
Inject: Limit IOPS to 100 (from baseline 1000)
|
|
313
|
+
Duration: 5 minutes
|
|
314
|
+
Steady-state: query_latency_p99 < 200ms
|
|
315
|
+
Blast radius: Single database pod
|
|
316
|
+
context:
|
|
317
|
+
environment: staging
|
|
318
|
+
database: postgresql
|
|
319
|
+
|
|
320
|
+
expected_output:
|
|
321
|
+
must_contain:
|
|
322
|
+
- "disk"
|
|
323
|
+
- "IOPS"
|
|
324
|
+
- "database"
|
|
325
|
+
- "latency"
|
|
326
|
+
must_match_regex:
|
|
327
|
+
- "CHAOS-\\d{3,6}"
|
|
328
|
+
|
|
329
|
+
validation:
|
|
330
|
+
schema_check: true
|
|
331
|
+
keyword_match_threshold: 0.7
|
|
332
|
+
|
|
333
|
+
# ---------------------------------------------------------------------------
|
|
334
|
+
# CATEGORY: Infrastructure Chaos
|
|
335
|
+
# ---------------------------------------------------------------------------
|
|
336
|
+
|
|
337
|
+
- id: tc007_pod_termination
|
|
338
|
+
description: "Test pod termination and restart behavior"
|
|
339
|
+
category: infrastructure
|
|
340
|
+
priority: critical
|
|
341
|
+
|
|
342
|
+
input:
|
|
343
|
+
scenario: |
|
|
344
|
+
Target: api-gateway pods
|
|
345
|
+
Inject: Terminate 50% of pods randomly
|
|
346
|
+
Duration: Instant, observe recovery
|
|
347
|
+
Steady-state: availability > 99.9%
|
|
348
|
+
Expected: Kubernetes restarts pods, no user impact
|
|
349
|
+
context:
|
|
350
|
+
environment: staging
|
|
351
|
+
replicas: 6
|
|
352
|
+
|
|
353
|
+
expected_output:
|
|
354
|
+
must_contain:
|
|
355
|
+
- "pod"
|
|
356
|
+
- "terminate"
|
|
357
|
+
- "restart"
|
|
358
|
+
- "recovery"
|
|
359
|
+
must_match_regex:
|
|
360
|
+
- "CHAOS-\\d{3,6}"
|
|
361
|
+
- "infrastructure|pod"
|
|
362
|
+
experiment_result: ["passed", "partial"]
|
|
363
|
+
recovery_time:
|
|
364
|
+
max_ms: 30000
|
|
365
|
+
|
|
366
|
+
validation:
|
|
367
|
+
schema_check: true
|
|
368
|
+
keyword_match_threshold: 0.8
|
|
369
|
+
|
|
370
|
+
- id: tc008_node_drain_simulation
|
|
371
|
+
description: "Test node drain and workload redistribution"
|
|
372
|
+
category: infrastructure
|
|
373
|
+
priority: high
|
|
374
|
+
|
|
375
|
+
input:
|
|
376
|
+
scenario: |
|
|
377
|
+
Target: Worker node hosting critical services
|
|
378
|
+
Inject: Drain node (cordon + evict pods)
|
|
379
|
+
Duration: Until redistribution complete
|
|
380
|
+
Steady-state: All services remain available
|
|
381
|
+
Blast radius: 1 node
|
|
382
|
+
context:
|
|
383
|
+
environment: staging
|
|
384
|
+
node_count: 5
|
|
385
|
+
|
|
386
|
+
expected_output:
|
|
387
|
+
must_contain:
|
|
388
|
+
- "node"
|
|
389
|
+
- "drain"
|
|
390
|
+
- "redistribute"
|
|
391
|
+
- "evict"
|
|
392
|
+
must_match_regex:
|
|
393
|
+
- "CHAOS-\\d{3,6}"
|
|
394
|
+
|
|
395
|
+
validation:
|
|
396
|
+
schema_check: true
|
|
397
|
+
keyword_match_threshold: 0.7
|
|
398
|
+
|
|
399
|
+
# ---------------------------------------------------------------------------
|
|
400
|
+
# CATEGORY: Application Chaos
|
|
401
|
+
# ---------------------------------------------------------------------------
|
|
402
|
+
|
|
403
|
+
- id: tc009_exception_injection
|
|
404
|
+
description: "Test exception injection and error handling"
|
|
405
|
+
category: application
|
|
406
|
+
priority: high
|
|
407
|
+
|
|
408
|
+
input:
|
|
409
|
+
scenario: |
|
|
410
|
+
Target: order-service
|
|
411
|
+
Inject: RuntimeException on 10% of requests
|
|
412
|
+
Duration: 5 minutes
|
|
413
|
+
Steady-state: error_rate < 5%, circuit_breaker triggers
|
|
414
|
+
Expected: Circuit breaker protects downstream services
|
|
415
|
+
context:
|
|
416
|
+
environment: staging
|
|
417
|
+
circuit_breaker: true
|
|
418
|
+
|
|
419
|
+
expected_output:
|
|
420
|
+
must_contain:
|
|
421
|
+
- "exception"
|
|
422
|
+
- "circuit breaker"
|
|
423
|
+
- "error"
|
|
424
|
+
must_match_regex:
|
|
425
|
+
- "CHAOS-\\d{3,6}"
|
|
426
|
+
- "application|exception"
|
|
427
|
+
|
|
428
|
+
validation:
|
|
429
|
+
schema_check: true
|
|
430
|
+
keyword_match_threshold: 0.7
|
|
431
|
+
|
|
432
|
+
- id: tc010_connection_pool_exhaust
|
|
433
|
+
description: "Test database connection pool exhaustion"
|
|
434
|
+
category: application
|
|
435
|
+
priority: high
|
|
436
|
+
|
|
437
|
+
input:
|
|
438
|
+
scenario: |
|
|
439
|
+
Target: user-service database connections
|
|
440
|
+
Inject: Exhaust connection pool (hold connections)
|
|
441
|
+
Duration: 3 minutes
|
|
442
|
+
Steady-state: Service remains responsive with queue
|
|
443
|
+
Expected: Connection timeout and retry behavior
|
|
444
|
+
context:
|
|
445
|
+
environment: staging
|
|
446
|
+
pool_size: 50
|
|
447
|
+
|
|
448
|
+
expected_output:
|
|
449
|
+
must_contain:
|
|
450
|
+
- "connection"
|
|
451
|
+
- "pool"
|
|
452
|
+
- "exhaust"
|
|
453
|
+
- "timeout"
|
|
454
|
+
must_match_regex:
|
|
455
|
+
- "CHAOS-\\d{3,6}"
|
|
456
|
+
|
|
457
|
+
validation:
|
|
458
|
+
schema_check: true
|
|
459
|
+
keyword_match_threshold: 0.7
|
|
460
|
+
|
|
461
|
+
# ---------------------------------------------------------------------------
|
|
462
|
+
# CATEGORY: Byzantine Fault Tolerance
|
|
463
|
+
# ---------------------------------------------------------------------------
|
|
464
|
+
|
|
465
|
+
- id: tc011_byzantine_malicious_node
|
|
466
|
+
description: "Test Byzantine fault tolerance with malicious node"
|
|
467
|
+
category: byzantine
|
|
468
|
+
priority: critical
|
|
469
|
+
|
|
470
|
+
input:
|
|
471
|
+
scenario: |
|
|
472
|
+
Target: Consensus cluster (7 nodes, f=2 tolerance)
|
|
473
|
+
Inject: 1 node sends incorrect values to subset of nodes
|
|
474
|
+
Duration: 10 minutes
|
|
475
|
+
Steady-state: Consensus reached with correct values
|
|
476
|
+
Expected: System tolerates 1 Byzantine node (f < n/3)
|
|
477
|
+
context:
|
|
478
|
+
environment: staging
|
|
479
|
+
consensus: pbft
|
|
480
|
+
nodes: 7
|
|
481
|
+
|
|
482
|
+
expected_output:
|
|
483
|
+
must_contain:
|
|
484
|
+
- "Byzantine"
|
|
485
|
+
- "consensus"
|
|
486
|
+
- "malicious"
|
|
487
|
+
- "tolerance"
|
|
488
|
+
must_match_regex:
|
|
489
|
+
- "CHAOS-\\d{3,6}"
|
|
490
|
+
- "byzantine|consensus"
|
|
491
|
+
experiment_result: ["passed"]
|
|
492
|
+
|
|
493
|
+
validation:
|
|
494
|
+
schema_check: true
|
|
495
|
+
keyword_match_threshold: 0.8
|
|
496
|
+
reasoning_quality_min: 0.8
|
|
497
|
+
|
|
498
|
+
- id: tc012_split_brain_scenario
|
|
499
|
+
description: "Test split-brain detection and resolution"
|
|
500
|
+
category: byzantine
|
|
501
|
+
priority: critical
|
|
502
|
+
|
|
503
|
+
input:
|
|
504
|
+
scenario: |
|
|
505
|
+
Target: Distributed database cluster
|
|
506
|
+
Inject: Network partition causing split-brain
|
|
507
|
+
Duration: 5 minutes
|
|
508
|
+
Steady-state: No conflicting writes accepted
|
|
509
|
+
Expected: Leader election resolves split-brain
|
|
510
|
+
context:
|
|
511
|
+
environment: staging
|
|
512
|
+
database: distributed
|
|
513
|
+
|
|
514
|
+
expected_output:
|
|
515
|
+
must_contain:
|
|
516
|
+
- "split-brain"
|
|
517
|
+
- "partition"
|
|
518
|
+
- "leader"
|
|
519
|
+
- "election"
|
|
520
|
+
must_match_regex:
|
|
521
|
+
- "CHAOS-\\d{3,6}"
|
|
522
|
+
- "split|brain|partition"
|
|
523
|
+
|
|
524
|
+
validation:
|
|
525
|
+
schema_check: true
|
|
526
|
+
keyword_match_threshold: 0.7
|
|
527
|
+
|
|
528
|
+
# ---------------------------------------------------------------------------
|
|
529
|
+
# CATEGORY: Load Testing (Spike/Ramp)
|
|
530
|
+
# ---------------------------------------------------------------------------
|
|
531
|
+
|
|
532
|
+
- id: tc013_spike_load_test
|
|
533
|
+
description: "Test sudden 10x load spike and auto-scaling"
|
|
534
|
+
category: load
|
|
535
|
+
priority: critical
|
|
536
|
+
|
|
537
|
+
input:
|
|
538
|
+
scenario: |
|
|
539
|
+
Target: api-gateway
|
|
540
|
+
Inject: Sudden spike from 100 req/s to 1000 req/s
|
|
541
|
+
Duration: 60 seconds spike, then observe recovery
|
|
542
|
+
Steady-state: error_rate < 5%, p99 < 500ms
|
|
543
|
+
Expected: Auto-scaling handles spike within 45s
|
|
544
|
+
context:
|
|
545
|
+
environment: staging
|
|
546
|
+
auto_scaling: true
|
|
547
|
+
|
|
548
|
+
expected_output:
|
|
549
|
+
must_contain:
|
|
550
|
+
- "spike"
|
|
551
|
+
- "load"
|
|
552
|
+
- "scaling"
|
|
553
|
+
- "recovery"
|
|
554
|
+
must_match_regex:
|
|
555
|
+
- "CHAOS-\\d{3,6}"
|
|
556
|
+
- "spike|load|ramp"
|
|
557
|
+
|
|
558
|
+
validation:
|
|
559
|
+
schema_check: true
|
|
560
|
+
keyword_match_threshold: 0.7
|
|
561
|
+
|
|
562
|
+
- id: tc014_ramp_up_capacity_test
|
|
563
|
+
description: "Test gradual ramp-up to find capacity limits"
|
|
564
|
+
category: load
|
|
565
|
+
priority: high
|
|
566
|
+
|
|
567
|
+
input:
|
|
568
|
+
scenario: |
|
|
569
|
+
Target: order-service
|
|
570
|
+
Inject: Ramp from 100 req/s to 1600 req/s (2x every 5 min)
|
|
571
|
+
Duration: 25 minutes total
|
|
572
|
+
Steady-state: Track degradation point
|
|
573
|
+
Expected: Identify max capacity before degradation
|
|
574
|
+
context:
|
|
575
|
+
environment: staging
|
|
576
|
+
|
|
577
|
+
expected_output:
|
|
578
|
+
must_contain:
|
|
579
|
+
- "ramp"
|
|
580
|
+
- "capacity"
|
|
581
|
+
- "throughput"
|
|
582
|
+
- "degradation"
|
|
583
|
+
must_match_regex:
|
|
584
|
+
- "CHAOS-\\d{3,6}"
|
|
585
|
+
|
|
586
|
+
validation:
|
|
587
|
+
schema_check: true
|
|
588
|
+
keyword_match_threshold: 0.7
|
|
589
|
+
|
|
590
|
+
# ---------------------------------------------------------------------------
|
|
591
|
+
# CATEGORY: Safety Controls
|
|
592
|
+
# ---------------------------------------------------------------------------
|
|
593
|
+
|
|
594
|
+
- id: tc015_blast_radius_enforcement
|
|
595
|
+
description: "Verify blast radius limits are enforced"
|
|
596
|
+
category: safety
|
|
597
|
+
priority: critical
|
|
598
|
+
|
|
599
|
+
input:
|
|
600
|
+
scenario: |
|
|
601
|
+
Target: All services (attempt wide blast radius)
|
|
602
|
+
Inject: Attempt to affect 100% of pods
|
|
603
|
+
Blast radius limit: single-service
|
|
604
|
+
Expected: Experiment blocked or limited by safety controls
|
|
605
|
+
context:
|
|
606
|
+
environment: staging
|
|
607
|
+
safety_controls: true
|
|
608
|
+
|
|
609
|
+
expected_output:
|
|
610
|
+
must_contain:
|
|
611
|
+
- "blast radius"
|
|
612
|
+
- "safety"
|
|
613
|
+
- "limit"
|
|
614
|
+
must_not_contain:
|
|
615
|
+
- "100% affected"
|
|
616
|
+
- "all services"
|
|
617
|
+
must_match_regex:
|
|
618
|
+
- "CHAOS-\\d{3,6}|WEAK-\\d{3,6}"
|
|
619
|
+
|
|
620
|
+
validation:
|
|
621
|
+
schema_check: true
|
|
622
|
+
keyword_match_threshold: 0.7
|
|
623
|
+
|
|
624
|
+
- id: tc016_emergency_stop_validation
|
|
625
|
+
description: "Verify emergency stop triggers on threshold breach"
|
|
626
|
+
category: safety
|
|
627
|
+
priority: critical
|
|
628
|
+
|
|
629
|
+
input:
|
|
630
|
+
scenario: |
|
|
631
|
+
Target: payment-service
|
|
632
|
+
Inject: Network latency that causes error_rate > 10%
|
|
633
|
+
Emergency stop trigger: error_rate > 5%
|
|
634
|
+
Expected: Experiment stopped, rollback executed
|
|
635
|
+
context:
|
|
636
|
+
environment: staging
|
|
637
|
+
emergency_stop: true
|
|
638
|
+
|
|
639
|
+
expected_output:
|
|
640
|
+
must_contain:
|
|
641
|
+
- "emergency"
|
|
642
|
+
- "stop"
|
|
643
|
+
- "rollback"
|
|
644
|
+
- "threshold"
|
|
645
|
+
must_match_regex:
|
|
646
|
+
- "CHAOS-\\d{3,6}"
|
|
647
|
+
- "rollback|emergency"
|
|
648
|
+
|
|
649
|
+
validation:
|
|
650
|
+
schema_check: true
|
|
651
|
+
keyword_match_threshold: 0.8
|
|
652
|
+
|
|
653
|
+
# ---------------------------------------------------------------------------
|
|
654
|
+
# CATEGORY: Negative Tests
|
|
655
|
+
# ---------------------------------------------------------------------------
|
|
656
|
+
|
|
657
|
+
- id: tc017_resilient_system_validation
|
|
658
|
+
description: "Verify resilient system passes chaos experiments"
|
|
659
|
+
category: negative
|
|
660
|
+
priority: high
|
|
661
|
+
|
|
662
|
+
input:
|
|
663
|
+
scenario: |
|
|
664
|
+
Target: Well-architected microservice with:
|
|
665
|
+
- Circuit breakers (Hystrix)
|
|
666
|
+
- Retry policies (exponential backoff)
|
|
667
|
+
- Health checks and auto-restart
|
|
668
|
+
- Multi-zone deployment
|
|
669
|
+
- Auto-scaling enabled
|
|
670
|
+
|
|
671
|
+
Inject: Multiple chaos types (latency, pod kill, CPU stress)
|
|
672
|
+
Expected: System remains resilient, no critical weaknesses
|
|
673
|
+
context:
|
|
674
|
+
environment: staging
|
|
675
|
+
resilience_patterns: all
|
|
676
|
+
|
|
677
|
+
expected_output:
|
|
678
|
+
must_contain:
|
|
679
|
+
- "resilient"
|
|
680
|
+
- "passed"
|
|
681
|
+
- "circuit breaker"
|
|
682
|
+
must_not_contain:
|
|
683
|
+
- "critical weakness"
|
|
684
|
+
- "system failure"
|
|
685
|
+
experiment_result: ["passed"]
|
|
686
|
+
weakness_count:
|
|
687
|
+
max: 2 # Allow minor observations
|
|
688
|
+
|
|
689
|
+
validation:
|
|
690
|
+
schema_check: true
|
|
691
|
+
keyword_match_threshold: 0.6
|
|
692
|
+
allow_partial: true
|
|
693
|
+
|
|
694
|
+
- id: tc018_steady_state_validation
|
|
695
|
+
description: "Verify steady-state hypothesis is validated pre/post"
|
|
696
|
+
category: validation
|
|
697
|
+
priority: critical
|
|
698
|
+
|
|
699
|
+
input:
|
|
700
|
+
scenario: |
|
|
701
|
+
Target: inventory-service
|
|
702
|
+
Inject: 200ms latency injection
|
|
703
|
+
|
|
704
|
+
Steady-state hypothesis:
|
|
705
|
+
- error_rate < 0.1%
|
|
706
|
+
- latency_p99 < 300ms
|
|
707
|
+
- throughput > 800 req/s
|
|
708
|
+
|
|
709
|
+
Expected: Pre and post validation of steady-state
|
|
710
|
+
context:
|
|
711
|
+
environment: staging
|
|
712
|
+
|
|
713
|
+
expected_output:
|
|
714
|
+
must_contain:
|
|
715
|
+
- "steady-state"
|
|
716
|
+
- "hypothesis"
|
|
717
|
+
- "before"
|
|
718
|
+
- "after"
|
|
719
|
+
- "validated"
|
|
720
|
+
must_match_regex:
|
|
721
|
+
- "CHAOS-\\d{3,6}"
|
|
722
|
+
|
|
723
|
+
validation:
|
|
724
|
+
schema_check: true
|
|
725
|
+
keyword_match_threshold: 0.8
|
|
726
|
+
|
|
727
|
+
# =============================================================================
|
|
728
|
+
# SUCCESS CRITERIA
|
|
729
|
+
# =============================================================================
|
|
730
|
+
|
|
731
|
+
success_criteria:
|
|
732
|
+
# Overall pass rate (90% of tests must pass)
|
|
733
|
+
pass_rate: 0.9
|
|
734
|
+
|
|
735
|
+
# Critical tests must ALL pass (100%)
|
|
736
|
+
critical_pass_rate: 1.0
|
|
737
|
+
|
|
738
|
+
# Average reasoning quality score
|
|
739
|
+
avg_reasoning_quality: 0.75
|
|
740
|
+
|
|
741
|
+
# Maximum suite execution time (10 minutes)
|
|
742
|
+
max_execution_time_ms: 600000
|
|
743
|
+
|
|
744
|
+
# Maximum variance between model results (15%)
|
|
745
|
+
cross_model_variance: 0.15
|
|
746
|
+
|
|
747
|
+
# =============================================================================
|
|
748
|
+
# METADATA
|
|
749
|
+
# =============================================================================
|
|
750
|
+
|
|
751
|
+
metadata:
|
|
752
|
+
author: "qe-chaos-engineer"
|
|
753
|
+
created: "2026-02-02"
|
|
754
|
+
last_updated: "2026-02-02"
|
|
755
|
+
coverage_target: >
|
|
756
|
+
Chaos Engineering Coverage: Network chaos (latency, partition, packet loss),
|
|
757
|
+
Resource chaos (CPU, memory, disk), Infrastructure chaos (pod/node/zone failure),
|
|
758
|
+
Application chaos (exceptions, deadlocks), Byzantine fault tolerance (malicious
|
|
759
|
+
nodes, split-brain), Load testing (spike, ramp-up), Safety controls (blast
|
|
760
|
+
radius, emergency stop). 18 test cases with 90% pass rate requirement and
|
|
761
|
+
100% critical pass rate for safety-related tests.
|