agentic-qe 2.0.0 → 2.1.1
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/agents/qx-partner.md +17 -4
- package/.claude/skills/accessibility-testing/SKILL.md +144 -692
- package/.claude/skills/agentic-quality-engineering/SKILL.md +176 -529
- package/.claude/skills/api-testing-patterns/SKILL.md +180 -560
- package/.claude/skills/brutal-honesty-review/SKILL.md +113 -603
- package/.claude/skills/bug-reporting-excellence/SKILL.md +116 -517
- package/.claude/skills/chaos-engineering-resilience/SKILL.md +127 -72
- package/.claude/skills/cicd-pipeline-qe-orchestrator/SKILL.md +209 -404
- package/.claude/skills/code-review-quality/SKILL.md +158 -608
- package/.claude/skills/compatibility-testing/SKILL.md +148 -38
- package/.claude/skills/compliance-testing/SKILL.md +132 -63
- package/.claude/skills/consultancy-practices/SKILL.md +114 -446
- package/.claude/skills/context-driven-testing/SKILL.md +117 -381
- package/.claude/skills/contract-testing/SKILL.md +176 -141
- package/.claude/skills/database-testing/SKILL.md +137 -130
- package/.claude/skills/exploratory-testing-advanced/SKILL.md +160 -629
- package/.claude/skills/holistic-testing-pact/SKILL.md +140 -188
- package/.claude/skills/localization-testing/SKILL.md +145 -33
- package/.claude/skills/mobile-testing/SKILL.md +132 -448
- package/.claude/skills/mutation-testing/SKILL.md +147 -41
- package/.claude/skills/performance-testing/SKILL.md +200 -546
- package/.claude/skills/quality-metrics/SKILL.md +164 -519
- package/.claude/skills/refactoring-patterns/SKILL.md +132 -699
- package/.claude/skills/regression-testing/SKILL.md +120 -926
- package/.claude/skills/risk-based-testing/SKILL.md +157 -660
- package/.claude/skills/security-testing/SKILL.md +199 -538
- package/.claude/skills/sherlock-review/SKILL.md +163 -699
- package/.claude/skills/shift-left-testing/SKILL.md +161 -465
- package/.claude/skills/shift-right-testing/SKILL.md +161 -519
- package/.claude/skills/six-thinking-hats/SKILL.md +175 -1110
- package/.claude/skills/skills-manifest.json +71 -20
- package/.claude/skills/tdd-london-chicago/SKILL.md +131 -448
- package/.claude/skills/technical-writing/SKILL.md +103 -154
- package/.claude/skills/test-automation-strategy/SKILL.md +166 -772
- package/.claude/skills/test-data-management/SKILL.md +126 -910
- package/.claude/skills/test-design-techniques/SKILL.md +179 -89
- package/.claude/skills/test-environment-management/SKILL.md +136 -91
- package/.claude/skills/test-reporting-analytics/SKILL.md +169 -92
- package/.claude/skills/testability-scoring/SKILL.md +172 -538
- package/.claude/skills/testability-scoring/scripts/generate-html-report.js +0 -0
- package/.claude/skills/visual-testing-advanced/SKILL.md +155 -78
- package/.claude/skills/xp-practices/SKILL.md +151 -587
- package/CHANGELOG.md +86 -0
- package/README.md +23 -16
- package/dist/agents/QXPartnerAgent.d.ts +47 -1
- package/dist/agents/QXPartnerAgent.d.ts.map +1 -1
- package/dist/agents/QXPartnerAgent.js +2086 -125
- package/dist/agents/QXPartnerAgent.js.map +1 -1
- package/dist/agents/lifecycle/AgentLifecycleManager.d.ts.map +1 -1
- package/dist/agents/lifecycle/AgentLifecycleManager.js +34 -31
- package/dist/agents/lifecycle/AgentLifecycleManager.js.map +1 -1
- package/dist/cli/commands/init-claude-md-template.d.ts.map +1 -1
- package/dist/cli/commands/init-claude-md-template.js +14 -0
- package/dist/cli/commands/init-claude-md-template.js.map +1 -1
- package/dist/core/SwarmCoordinator.d.ts +180 -0
- package/dist/core/SwarmCoordinator.d.ts.map +1 -0
- package/dist/core/SwarmCoordinator.js +473 -0
- package/dist/core/SwarmCoordinator.js.map +1 -0
- package/dist/core/memory/ReflexionMemoryAdapter.d.ts +109 -0
- package/dist/core/memory/ReflexionMemoryAdapter.d.ts.map +1 -0
- package/dist/core/memory/ReflexionMemoryAdapter.js +306 -0
- package/dist/core/memory/ReflexionMemoryAdapter.js.map +1 -0
- package/dist/core/memory/RuVectorPatternStore.d.ts +28 -0
- package/dist/core/memory/RuVectorPatternStore.d.ts.map +1 -1
- package/dist/core/memory/RuVectorPatternStore.js +70 -0
- package/dist/core/memory/RuVectorPatternStore.js.map +1 -1
- package/dist/core/memory/SparseVectorSearch.d.ts +55 -0
- package/dist/core/memory/SparseVectorSearch.d.ts.map +1 -0
- package/dist/core/memory/SparseVectorSearch.js +130 -0
- package/dist/core/memory/SparseVectorSearch.js.map +1 -0
- package/dist/core/memory/TieredCompression.d.ts +81 -0
- package/dist/core/memory/TieredCompression.d.ts.map +1 -0
- package/dist/core/memory/TieredCompression.js +270 -0
- package/dist/core/memory/TieredCompression.js.map +1 -0
- package/dist/core/memory/index.d.ts +6 -0
- package/dist/core/memory/index.d.ts.map +1 -1
- package/dist/core/memory/index.js +29 -1
- package/dist/core/memory/index.js.map +1 -1
- package/dist/core/metrics/MetricsAggregator.d.ts +228 -0
- package/dist/core/metrics/MetricsAggregator.d.ts.map +1 -0
- package/dist/core/metrics/MetricsAggregator.js +482 -0
- package/dist/core/metrics/MetricsAggregator.js.map +1 -0
- package/dist/core/metrics/index.d.ts +5 -0
- package/dist/core/metrics/index.d.ts.map +1 -0
- package/dist/core/metrics/index.js +11 -0
- package/dist/core/metrics/index.js.map +1 -0
- package/dist/core/optimization/SwarmOptimizer.d.ts +5 -0
- package/dist/core/optimization/SwarmOptimizer.d.ts.map +1 -1
- package/dist/core/optimization/SwarmOptimizer.js +17 -0
- package/dist/core/optimization/SwarmOptimizer.js.map +1 -1
- package/dist/core/orchestration/AdaptiveScheduler.d.ts +190 -0
- package/dist/core/orchestration/AdaptiveScheduler.d.ts.map +1 -0
- package/dist/core/orchestration/AdaptiveScheduler.js +460 -0
- package/dist/core/orchestration/AdaptiveScheduler.js.map +1 -0
- package/dist/core/orchestration/WorkflowOrchestrator.d.ts +13 -0
- package/dist/core/orchestration/WorkflowOrchestrator.d.ts.map +1 -1
- package/dist/core/orchestration/WorkflowOrchestrator.js +32 -0
- package/dist/core/orchestration/WorkflowOrchestrator.js.map +1 -1
- package/dist/core/recovery/CircuitBreaker.d.ts +176 -0
- package/dist/core/recovery/CircuitBreaker.d.ts.map +1 -0
- package/dist/core/recovery/CircuitBreaker.js +382 -0
- package/dist/core/recovery/CircuitBreaker.js.map +1 -0
- package/dist/core/recovery/RecoveryOrchestrator.d.ts +186 -0
- package/dist/core/recovery/RecoveryOrchestrator.d.ts.map +1 -0
- package/dist/core/recovery/RecoveryOrchestrator.js +476 -0
- package/dist/core/recovery/RecoveryOrchestrator.js.map +1 -0
- package/dist/core/recovery/RetryStrategy.d.ts +127 -0
- package/dist/core/recovery/RetryStrategy.d.ts.map +1 -0
- package/dist/core/recovery/RetryStrategy.js +314 -0
- package/dist/core/recovery/RetryStrategy.js.map +1 -0
- package/dist/core/recovery/index.d.ts +8 -0
- package/dist/core/recovery/index.d.ts.map +1 -0
- package/dist/core/recovery/index.js +27 -0
- package/dist/core/recovery/index.js.map +1 -0
- package/dist/core/skills/DependencyResolver.d.ts +99 -0
- package/dist/core/skills/DependencyResolver.d.ts.map +1 -0
- package/dist/core/skills/DependencyResolver.js +260 -0
- package/dist/core/skills/DependencyResolver.js.map +1 -0
- package/dist/core/skills/ManifestGenerator.d.ts +114 -0
- package/dist/core/skills/ManifestGenerator.d.ts.map +1 -0
- package/dist/core/skills/ManifestGenerator.js +449 -0
- package/dist/core/skills/ManifestGenerator.js.map +1 -0
- package/dist/core/skills/index.d.ts +9 -0
- package/dist/core/skills/index.d.ts.map +1 -0
- package/dist/core/skills/index.js +24 -0
- package/dist/core/skills/index.js.map +1 -0
- package/dist/mcp/handlers/chaos/chaos-inject-failure.d.ts +5 -0
- package/dist/mcp/handlers/chaos/chaos-inject-failure.d.ts.map +1 -1
- package/dist/mcp/handlers/chaos/chaos-inject-failure.js +36 -2
- package/dist/mcp/handlers/chaos/chaos-inject-failure.js.map +1 -1
- package/dist/mcp/handlers/chaos/chaos-inject-latency.d.ts +5 -0
- package/dist/mcp/handlers/chaos/chaos-inject-latency.d.ts.map +1 -1
- package/dist/mcp/handlers/chaos/chaos-inject-latency.js +36 -2
- package/dist/mcp/handlers/chaos/chaos-inject-latency.js.map +1 -1
- package/dist/mcp/server.d.ts +9 -9
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +1 -2
- package/dist/mcp/server.js.map +1 -1
- package/dist/types/qx.d.ts +113 -7
- package/dist/types/qx.d.ts.map +1 -1
- package/dist/types/qx.js.map +1 -1
- package/dist/visualization/api/RestEndpoints.js +1 -1
- package/dist/visualization/api/RestEndpoints.js.map +1 -1
- package/package.json +15 -54
|
@@ -1,79 +1,103 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: chaos-engineering-resilience
|
|
3
|
-
description: Chaos engineering principles, controlled failure injection, resilience testing, and system recovery validation. Use when testing distributed systems, building confidence in fault tolerance, or validating disaster recovery.
|
|
3
|
+
description: "Chaos engineering principles, controlled failure injection, resilience testing, and system recovery validation. Use when testing distributed systems, building confidence in fault tolerance, or validating disaster recovery."
|
|
4
|
+
category: specialized-testing
|
|
5
|
+
priority: high
|
|
6
|
+
tokenEstimate: 900
|
|
7
|
+
agents: [qe-chaos-engineer, qe-performance-tester, qe-production-intelligence]
|
|
8
|
+
implementation_status: optimized
|
|
9
|
+
optimization_version: 1.0
|
|
10
|
+
last_optimized: 2025-12-02
|
|
11
|
+
dependencies: []
|
|
12
|
+
quick_reference_card: true
|
|
13
|
+
tags: [chaos, resilience, fault-injection, distributed-systems, recovery, netflix]
|
|
4
14
|
---
|
|
5
15
|
|
|
6
16
|
# Chaos Engineering & Resilience Testing
|
|
7
17
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
**Chaos
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
18
|
+
<default_to_action>
|
|
19
|
+
When testing system resilience or injecting failures:
|
|
20
|
+
1. DEFINE steady state (normal metrics: error rate, latency, throughput)
|
|
21
|
+
2. HYPOTHESIZE system continues in steady state during failure
|
|
22
|
+
3. INJECT real-world failures (network, instance, disk, CPU)
|
|
23
|
+
4. OBSERVE and measure deviation from steady state
|
|
24
|
+
5. FIX weaknesses discovered, document runbooks, repeat
|
|
25
|
+
|
|
26
|
+
**Quick Chaos Steps:**
|
|
27
|
+
- Start small: Dev → Staging → 1% prod → gradual rollout
|
|
28
|
+
- Define clear rollback triggers (error_rate > 5%)
|
|
29
|
+
- Measure blast radius, never exceed planned scope
|
|
30
|
+
- Document findings → runbooks → improved resilience
|
|
31
|
+
|
|
32
|
+
**Critical Success Factors:**
|
|
33
|
+
- Controlled experiments with automatic rollback
|
|
34
|
+
- Steady state must be measurable
|
|
35
|
+
- Start in non-production, graduate to production
|
|
36
|
+
</default_to_action>
|
|
37
|
+
|
|
38
|
+
## Quick Reference Card
|
|
39
|
+
|
|
40
|
+
### When to Use
|
|
41
|
+
- Distributed systems validation
|
|
42
|
+
- Disaster recovery testing
|
|
43
|
+
- Building confidence in fault tolerance
|
|
44
|
+
- Pre-production resilience verification
|
|
45
|
+
|
|
46
|
+
### Failure Types to Inject
|
|
47
|
+
| Category | Failures | Tools |
|
|
48
|
+
|----------|----------|-------|
|
|
49
|
+
| **Network** | Latency, packet loss, partition | tc, toxiproxy |
|
|
50
|
+
| **Infrastructure** | Instance kill, disk failure, CPU | Chaos Monkey |
|
|
51
|
+
| **Application** | Exceptions, slow responses, leaks | Gremlin, LitmusChaos |
|
|
52
|
+
| **Dependencies** | Service outage, timeout | WireMock |
|
|
53
|
+
|
|
54
|
+
### Blast Radius Progression
|
|
55
|
+
```
|
|
56
|
+
Dev (safe) → Staging → 1% prod → 10% → 50% → 100%
|
|
57
|
+
↓ ↓ ↓ ↓
|
|
58
|
+
Learn Validate Careful Full confidence
|
|
59
|
+
```
|
|
33
60
|
|
|
34
|
-
###
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
-
|
|
61
|
+
### Steady State Metrics
|
|
62
|
+
| Metric | Normal | Alert Threshold |
|
|
63
|
+
|--------|--------|-----------------|
|
|
64
|
+
| Error rate | < 0.1% | > 1% |
|
|
65
|
+
| p99 latency | < 200ms | > 500ms |
|
|
66
|
+
| Throughput | baseline | -20% |
|
|
40
67
|
|
|
41
|
-
|
|
42
|
-
- Exceptions
|
|
43
|
-
- Slow responses
|
|
44
|
-
- Resource leaks
|
|
45
|
-
- Deadlocks
|
|
68
|
+
---
|
|
46
69
|
|
|
47
|
-
##
|
|
70
|
+
## Chaos Experiment Structure
|
|
48
71
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
72
|
+
```typescript
|
|
73
|
+
// Chaos experiment definition
|
|
74
|
+
const experiment = {
|
|
75
|
+
name: 'Database latency injection',
|
|
76
|
+
hypothesis: 'System handles 500ms DB latency gracefully',
|
|
77
|
+
steadyState: {
|
|
78
|
+
errorRate: '< 0.1%',
|
|
79
|
+
p99Latency: '< 300ms'
|
|
80
|
+
},
|
|
81
|
+
method: {
|
|
82
|
+
type: 'network-latency',
|
|
83
|
+
target: 'database',
|
|
84
|
+
delay: '500ms',
|
|
85
|
+
duration: '5m'
|
|
86
|
+
},
|
|
87
|
+
rollback: {
|
|
88
|
+
automatic: true,
|
|
89
|
+
trigger: 'errorRate > 5%'
|
|
90
|
+
}
|
|
91
|
+
};
|
|
55
92
|
```
|
|
56
93
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
**Randomly terminates instances:**
|
|
60
|
-
```javascript
|
|
61
|
-
// Chaos Monkey configuration
|
|
62
|
-
{
|
|
63
|
-
"enabled": true,
|
|
64
|
-
"meanTimeBetweenKillsInWorkDays": 2,
|
|
65
|
-
"minTimeBetweenKillsInWorkDays": 1,
|
|
66
|
-
"grouping": "cluster",
|
|
67
|
-
"regions": ["us-east-1"],
|
|
68
|
-
"exceptions": ["production-critical"]
|
|
69
|
-
}
|
|
70
|
-
```
|
|
94
|
+
---
|
|
71
95
|
|
|
72
|
-
##
|
|
96
|
+
## Agent-Driven Chaos
|
|
73
97
|
|
|
74
98
|
```typescript
|
|
75
|
-
//
|
|
76
|
-
|
|
99
|
+
// qe-chaos-engineer runs controlled experiments
|
|
100
|
+
await Task("Chaos Experiment", {
|
|
77
101
|
target: 'payment-service',
|
|
78
102
|
failure: 'terminate-random-instance',
|
|
79
103
|
blastRadius: '10%',
|
|
@@ -81,23 +105,54 @@ const experiment = await agent.runChaosExperiment({
|
|
|
81
105
|
steadyStateHypothesis: {
|
|
82
106
|
metric: 'success-rate',
|
|
83
107
|
threshold: 0.99
|
|
84
|
-
}
|
|
85
|
-
|
|
108
|
+
},
|
|
109
|
+
autoRollback: true
|
|
110
|
+
}, "qe-chaos-engineer");
|
|
86
111
|
|
|
87
|
-
//
|
|
112
|
+
// Validates:
|
|
88
113
|
// - System recovers automatically
|
|
89
|
-
// - Error rate stays
|
|
114
|
+
// - Error rate stays within threshold
|
|
90
115
|
// - No data loss
|
|
91
116
|
// - Alerts triggered appropriately
|
|
92
117
|
```
|
|
93
118
|
|
|
94
|
-
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Agent Coordination Hints
|
|
122
|
+
|
|
123
|
+
### Memory Namespace
|
|
124
|
+
```
|
|
125
|
+
aqe/chaos-engineering/
|
|
126
|
+
├── experiments/* - Experiment definitions & results
|
|
127
|
+
├── steady-states/* - Baseline measurements
|
|
128
|
+
├── runbooks/* - Generated recovery procedures
|
|
129
|
+
└── blast-radius/* - Impact analysis
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Fleet Coordination
|
|
133
|
+
```typescript
|
|
134
|
+
const chaosFleet = await FleetManager.coordinate({
|
|
135
|
+
strategy: 'chaos-engineering',
|
|
136
|
+
agents: [
|
|
137
|
+
'qe-chaos-engineer', // Experiment execution
|
|
138
|
+
'qe-performance-tester', // Baseline metrics
|
|
139
|
+
'qe-production-intelligence' // Production monitoring
|
|
140
|
+
],
|
|
141
|
+
topology: 'sequential'
|
|
142
|
+
});
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
---
|
|
95
146
|
|
|
96
|
-
|
|
147
|
+
## Related Skills
|
|
148
|
+
- [shift-right-testing](../shift-right-testing/) - Production testing
|
|
149
|
+
- [performance-testing](../performance-testing/) - Load testing
|
|
150
|
+
- [test-environment-management](../test-environment-management/) - Environment stability
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Remember
|
|
97
155
|
|
|
98
|
-
|
|
99
|
-
- Build confidence in system resilience
|
|
100
|
-
- Validate recovery procedures work
|
|
101
|
-
- Create runbooks from experiments
|
|
156
|
+
**Break things on purpose to prevent unplanned outages.** Find weaknesses before users do. Define steady state, inject failures, measure impact, fix weaknesses, create runbooks. Start small, increase blast radius gradually.
|
|
102
157
|
|
|
103
|
-
**With Agents:** `qe-chaos-engineer` automates chaos experiments with blast radius control, automatic rollback, and comprehensive resilience validation.
|
|
158
|
+
**With Agents:** `qe-chaos-engineer` automates chaos experiments with blast radius control, automatic rollback, and comprehensive resilience validation. Generates runbooks from experiment results.
|