agentic-qe 1.9.4 → 2.0.0
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/qe-api-contract-validator.md +95 -1336
- package/.claude/agents/qe-chaos-engineer.md +152 -1211
- package/.claude/agents/qe-code-complexity.md +144 -707
- package/.claude/agents/qe-coverage-analyzer.md +147 -743
- package/.claude/agents/qe-deployment-readiness.md +143 -1496
- package/.claude/agents/qe-flaky-test-hunter.md +132 -1529
- package/.claude/agents/qe-fleet-commander.md +12 -12
- package/.claude/agents/qe-performance-tester.md +150 -886
- package/.claude/agents/qe-production-intelligence.md +155 -1396
- package/.claude/agents/qe-quality-analyzer.md +6 -6
- package/.claude/agents/qe-quality-gate.md +151 -648
- package/.claude/agents/qe-regression-risk-analyzer.md +132 -1150
- package/.claude/agents/qe-requirements-validator.md +149 -932
- package/.claude/agents/qe-security-scanner.md +157 -797
- package/.claude/agents/qe-test-data-architect.md +96 -1365
- package/.claude/agents/qe-test-executor.md +8 -8
- package/.claude/agents/qe-test-generator.md +145 -1540
- package/.claude/agents/qe-visual-tester.md +153 -1257
- package/.claude/agents/qx-partner.md +235 -0
- package/.claude/agents/subagents/qe-code-reviewer.md +40 -136
- package/.claude/agents/subagents/qe-coverage-gap-analyzer.md +40 -480
- package/.claude/agents/subagents/qe-data-generator.md +41 -125
- package/.claude/agents/subagents/qe-flaky-investigator.md +55 -411
- package/.claude/agents/subagents/qe-integration-tester.md +53 -141
- package/.claude/agents/subagents/qe-performance-validator.md +54 -130
- package/.claude/agents/subagents/qe-security-auditor.md +56 -114
- package/.claude/agents/subagents/qe-test-data-architect-sub.md +57 -548
- package/.claude/agents/subagents/qe-test-implementer.md +58 -551
- package/.claude/agents/subagents/qe-test-refactorer.md +65 -722
- package/.claude/agents/subagents/qe-test-writer.md +63 -726
- package/.claude/skills/skills-manifest.json +632 -0
- package/.claude/skills/testability-scoring/README.md +71 -0
- package/.claude/skills/testability-scoring/SKILL.md +611 -0
- package/.claude/skills/testability-scoring/resources/templates/config.template.js +84 -0
- package/.claude/skills/testability-scoring/resources/templates/testability-scoring.spec.template.js +532 -0
- package/.claude/skills/testability-scoring/scripts/generate-html-report.js +1007 -0
- package/.claude/skills/testability-scoring/scripts/run-assessment.sh +70 -0
- package/CHANGELOG.md +62 -0
- package/README.md +33 -6
- package/dist/agents/QXPartnerAgent.d.ts +139 -0
- package/dist/agents/QXPartnerAgent.d.ts.map +1 -0
- package/dist/agents/QXPartnerAgent.js +769 -0
- package/dist/agents/QXPartnerAgent.js.map +1 -0
- package/dist/agents/index.d.ts +1 -0
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +82 -2
- package/dist/agents/index.js.map +1 -1
- package/dist/cli/commands/debug/agent.d.ts.map +1 -1
- package/dist/cli/commands/debug/agent.js +19 -6
- package/dist/cli/commands/debug/agent.js.map +1 -1
- package/dist/cli/commands/debug/health-check.js +20 -7
- package/dist/cli/commands/debug/health-check.js.map +1 -1
- package/dist/cli/commands/init-claude-md-template.d.ts +1 -0
- package/dist/cli/commands/init-claude-md-template.d.ts.map +1 -1
- package/dist/cli/commands/init-claude-md-template.js +4 -3
- package/dist/cli/commands/init-claude-md-template.js.map +1 -1
- package/dist/cli/commands/workflow/cancel.d.ts.map +1 -1
- package/dist/cli/commands/workflow/cancel.js +4 -3
- package/dist/cli/commands/workflow/cancel.js.map +1 -1
- package/dist/cli/commands/workflow/list.d.ts.map +1 -1
- package/dist/cli/commands/workflow/list.js +4 -3
- package/dist/cli/commands/workflow/list.js.map +1 -1
- package/dist/cli/commands/workflow/pause.d.ts.map +1 -1
- package/dist/cli/commands/workflow/pause.js +4 -3
- package/dist/cli/commands/workflow/pause.js.map +1 -1
- package/dist/cli/init/claude-config.d.ts.map +1 -1
- package/dist/cli/init/claude-config.js +3 -8
- package/dist/cli/init/claude-config.js.map +1 -1
- package/dist/cli/init/claude-md.d.ts.map +1 -1
- package/dist/cli/init/claude-md.js +44 -2
- package/dist/cli/init/claude-md.js.map +1 -1
- package/dist/cli/init/database-init.js +1 -1
- package/dist/cli/init/index.d.ts.map +1 -1
- package/dist/cli/init/index.js +13 -6
- package/dist/cli/init/index.js.map +1 -1
- package/dist/cli/init/skills.d.ts.map +1 -1
- package/dist/cli/init/skills.js +2 -1
- package/dist/cli/init/skills.js.map +1 -1
- package/dist/core/memory/AgentDBIntegration.d.ts +24 -6
- package/dist/core/memory/AgentDBIntegration.d.ts.map +1 -1
- package/dist/core/memory/AgentDBIntegration.js +66 -10
- package/dist/core/memory/AgentDBIntegration.js.map +1 -1
- package/dist/core/memory/UnifiedMemoryCoordinator.d.ts +341 -0
- package/dist/core/memory/UnifiedMemoryCoordinator.d.ts.map +1 -0
- package/dist/core/memory/UnifiedMemoryCoordinator.js +986 -0
- package/dist/core/memory/UnifiedMemoryCoordinator.js.map +1 -0
- package/dist/core/memory/index.d.ts +5 -0
- package/dist/core/memory/index.d.ts.map +1 -1
- package/dist/core/memory/index.js +23 -1
- package/dist/core/memory/index.js.map +1 -1
- package/dist/core/optimization/SwarmOptimizer.d.ts +185 -0
- package/dist/core/optimization/SwarmOptimizer.d.ts.map +1 -0
- package/dist/core/optimization/SwarmOptimizer.js +631 -0
- package/dist/core/optimization/SwarmOptimizer.js.map +1 -0
- package/dist/core/optimization/index.d.ts +9 -0
- package/dist/core/optimization/index.d.ts.map +1 -0
- package/dist/core/optimization/index.js +25 -0
- package/dist/core/optimization/index.js.map +1 -0
- package/dist/core/optimization/types.d.ts +53 -0
- package/dist/core/optimization/types.d.ts.map +1 -0
- package/dist/core/optimization/types.js +6 -0
- package/dist/core/optimization/types.js.map +1 -0
- package/dist/core/orchestration/PriorityQueue.d.ts +54 -0
- package/dist/core/orchestration/PriorityQueue.d.ts.map +1 -0
- package/dist/core/orchestration/PriorityQueue.js +122 -0
- package/dist/core/orchestration/PriorityQueue.js.map +1 -0
- package/dist/core/orchestration/WorkflowOrchestrator.d.ts +176 -0
- package/dist/core/orchestration/WorkflowOrchestrator.d.ts.map +1 -0
- package/dist/core/orchestration/WorkflowOrchestrator.js +813 -0
- package/dist/core/orchestration/WorkflowOrchestrator.js.map +1 -0
- package/dist/core/orchestration/index.d.ts +7 -0
- package/dist/core/orchestration/index.d.ts.map +1 -0
- package/dist/core/orchestration/index.js +11 -0
- package/dist/core/orchestration/index.js.map +1 -0
- package/dist/core/orchestration/types.d.ts +96 -0
- package/dist/core/orchestration/types.d.ts.map +1 -0
- package/dist/core/orchestration/types.js +6 -0
- package/dist/core/orchestration/types.js.map +1 -0
- package/dist/core/skills/DynamicSkillLoader.d.ts +96 -0
- package/dist/core/skills/DynamicSkillLoader.d.ts.map +1 -0
- package/dist/core/skills/DynamicSkillLoader.js +353 -0
- package/dist/core/skills/DynamicSkillLoader.js.map +1 -0
- package/dist/core/skills/types.d.ts +118 -0
- package/dist/core/skills/types.d.ts.map +1 -0
- package/dist/core/skills/types.js +7 -0
- package/dist/core/skills/types.js.map +1 -0
- package/dist/core/transport/QUICTransport.d.ts +320 -0
- package/dist/core/transport/QUICTransport.d.ts.map +1 -0
- package/dist/core/transport/QUICTransport.js +711 -0
- package/dist/core/transport/QUICTransport.js.map +1 -0
- package/dist/core/transport/index.d.ts +40 -0
- package/dist/core/transport/index.d.ts.map +1 -0
- package/dist/core/transport/index.js +46 -0
- package/dist/core/transport/index.js.map +1 -0
- package/dist/core/transport/quic-loader.d.ts +123 -0
- package/dist/core/transport/quic-loader.d.ts.map +1 -0
- package/dist/core/transport/quic-loader.js +293 -0
- package/dist/core/transport/quic-loader.js.map +1 -0
- package/dist/core/transport/quic.d.ts +154 -0
- package/dist/core/transport/quic.d.ts.map +1 -0
- package/dist/core/transport/quic.js +214 -0
- package/dist/core/transport/quic.js.map +1 -0
- package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
- package/dist/mcp/services/AgentRegistry.js +4 -1
- package/dist/mcp/services/AgentRegistry.js.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/qx.d.ts +397 -0
- package/dist/types/qx.d.ts.map +1 -0
- package/dist/types/qx.js +71 -0
- package/dist/types/qx.js.map +1 -0
- package/dist/visualization/api/RestEndpoints.js +1 -1
- package/dist/visualization/api/RestEndpoints.js.map +1 -1
- package/dist/visualization/api/WebSocketServer.d.ts +44 -0
- package/dist/visualization/api/WebSocketServer.d.ts.map +1 -1
- package/dist/visualization/api/WebSocketServer.js +144 -23
- package/dist/visualization/api/WebSocketServer.js.map +1 -1
- package/dist/visualization/core/DataTransformer.d.ts +10 -0
- package/dist/visualization/core/DataTransformer.d.ts.map +1 -1
- package/dist/visualization/core/DataTransformer.js +60 -5
- package/dist/visualization/core/DataTransformer.js.map +1 -1
- package/dist/visualization/emit-event.d.ts +75 -0
- package/dist/visualization/emit-event.d.ts.map +1 -0
- package/dist/visualization/emit-event.js +213 -0
- package/dist/visualization/emit-event.js.map +1 -0
- package/dist/visualization/index.d.ts +1 -0
- package/dist/visualization/index.d.ts.map +1 -1
- package/dist/visualization/index.js +7 -1
- package/dist/visualization/index.js.map +1 -1
- package/docs/reference/skills.md +63 -1
- package/package.json +4 -4
|
@@ -1,137 +1,61 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qe-performance-validator
|
|
3
3
|
description: "Validates performance metrics against SLAs and benchmarks"
|
|
4
|
+
parent: qe-performance-tester
|
|
4
5
|
---
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Validate
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
7
|
+
<qe_subagent_definition>
|
|
8
|
+
<identity>
|
|
9
|
+
You are QE Performance Validator, a specialized subagent for validating performance test results.
|
|
10
|
+
Role: Validate metrics against SLAs, detect regressions, and enforce performance budgets.
|
|
11
|
+
</identity>
|
|
12
|
+
|
|
13
|
+
<implementation_status>
|
|
14
|
+
✅ Working: SLA validation (response time, throughput, error rate), regression detection, performance budgets
|
|
15
|
+
⚠️ Partial: Predictive degradation analysis, capacity planning recommendations
|
|
16
|
+
</implementation_status>
|
|
17
|
+
|
|
18
|
+
<default_to_action>
|
|
19
|
+
Validate performance results immediately when metrics and SLAs are provided.
|
|
20
|
+
Compare against baselines automatically to detect regressions (>10% degradation).
|
|
21
|
+
Block handoff if critical SLA violations detected (p95 response time, error rate).
|
|
22
|
+
Generate performance recommendations without confirmation.
|
|
23
|
+
</default_to_action>
|
|
24
|
+
|
|
25
|
+
<capabilities>
|
|
26
|
+
- **SLA Validation**: Response time (p95, p99, max), throughput (req/sec), error rate thresholds
|
|
27
|
+
- **Regression Detection**: Compare current vs baseline, calculate percentage change
|
|
28
|
+
- **Performance Budgets**: Enforce max response times, min throughput requirements
|
|
29
|
+
- **Load Profile Analysis**: Validate under different load patterns (stress, spike, endurance)
|
|
30
|
+
- **Recommendations**: Optimization suggestions based on violation patterns
|
|
31
|
+
</capabilities>
|
|
32
|
+
|
|
33
|
+
<memory_namespace>
|
|
34
|
+
Reads: aqe/performance/cycle-{cycleId}/input (test config, SLAs)
|
|
35
|
+
Writes: aqe/performance/cycle-{cycleId}/results (validation status, violations)
|
|
36
|
+
Baselines: aqe/performance/baselines/{endpoint}
|
|
37
|
+
</memory_namespace>
|
|
38
|
+
|
|
39
|
+
<output_format>
|
|
40
|
+
Returns validation result (pass/fail/warning), detailed metrics (min/max/mean/p95/p99), SLA violations, regression details.
|
|
41
|
+
</output_format>
|
|
42
|
+
|
|
43
|
+
<examples>
|
|
44
|
+
Example: SLA validation
|
|
30
45
|
```
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
## TDD Coordination Protocol
|
|
39
|
-
|
|
40
|
-
### Memory Namespace
|
|
41
|
-
`aqe/performance/cycle-{cycleId}/*`
|
|
42
|
-
|
|
43
|
-
### Subagent Input Interface
|
|
44
|
-
```typescript
|
|
45
|
-
interface PerformanceRequest {
|
|
46
|
-
cycleId: string; // Links to parent TDD workflow
|
|
47
|
-
testType: 'load' | 'stress' | 'endurance' | 'spike';
|
|
48
|
-
targets: {
|
|
49
|
-
endpoint: string;
|
|
50
|
-
method: string;
|
|
51
|
-
payload?: object;
|
|
52
|
-
}[];
|
|
53
|
-
sla: {
|
|
54
|
-
responseTime: {
|
|
55
|
-
max: number; // Maximum acceptable (ms)
|
|
56
|
-
p95: number; // 95th percentile target
|
|
57
|
-
p99: number; // 99th percentile target
|
|
58
|
-
};
|
|
59
|
-
throughput: {
|
|
60
|
-
min: number; // Minimum requests/second
|
|
61
|
-
};
|
|
62
|
-
errorRate: {
|
|
63
|
-
max: number; // Maximum error rate (0.01 = 1%)
|
|
64
|
-
};
|
|
65
|
-
};
|
|
66
|
-
loadProfile?: {
|
|
67
|
-
users: number;
|
|
68
|
-
rampUp: number; // seconds
|
|
69
|
-
duration: number; // seconds
|
|
70
|
-
};
|
|
71
|
-
baselineResults?: object; // Previous results for regression detection
|
|
72
|
-
}
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
### Subagent Output Interface
|
|
76
|
-
```typescript
|
|
77
|
-
interface PerformanceOutput {
|
|
78
|
-
cycleId: string;
|
|
79
|
-
validationResult: 'pass' | 'fail' | 'warning';
|
|
80
|
-
metrics: {
|
|
81
|
-
responseTime: {
|
|
82
|
-
min: number;
|
|
83
|
-
max: number;
|
|
84
|
-
mean: number;
|
|
85
|
-
median: number;
|
|
86
|
-
p95: number;
|
|
87
|
-
p99: number;
|
|
88
|
-
};
|
|
89
|
-
throughput: {
|
|
90
|
-
requestsPerSecond: number;
|
|
91
|
-
bytesPerSecond: number;
|
|
92
|
-
};
|
|
93
|
-
errorRate: number;
|
|
94
|
-
concurrentUsers: number;
|
|
95
|
-
};
|
|
96
|
-
slaValidation: {
|
|
97
|
-
responseTimePassed: boolean;
|
|
98
|
-
throughputPassed: boolean;
|
|
99
|
-
errorRatePassed: boolean;
|
|
100
|
-
allPassed: boolean;
|
|
101
|
-
};
|
|
102
|
-
violations: {
|
|
103
|
-
metric: string;
|
|
104
|
-
actual: number;
|
|
105
|
-
expected: number;
|
|
106
|
-
severity: 'critical' | 'warning';
|
|
107
|
-
}[];
|
|
108
|
-
regressionDetected: boolean;
|
|
109
|
-
regressionDetails?: {
|
|
110
|
-
metric: string;
|
|
111
|
-
previousValue: number;
|
|
112
|
-
currentValue: number;
|
|
113
|
-
percentageChange: number;
|
|
114
|
-
}[];
|
|
115
|
-
recommendations: string[];
|
|
116
|
-
readyForHandoff: boolean;
|
|
117
|
-
}
|
|
46
|
+
Input: SLA { p95: 200ms, throughput: 1000rps, errorRate: 1% }
|
|
47
|
+
Output:
|
|
48
|
+
- Validation: FAIL
|
|
49
|
+
- p95 Response Time: 245ms (expected: 200ms) - VIOLATION
|
|
50
|
+
- Throughput: 1250rps - PASS
|
|
51
|
+
- Error Rate: 0.5% - PASS
|
|
52
|
+
- Regression: +22% from baseline
|
|
118
53
|
```
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
1. Read performance test config from `aqe/performance/cycle-{cycleId}/input`
|
|
128
|
-
2. Execute performance tests based on load profile
|
|
129
|
-
3. Validate results against SLAs
|
|
130
|
-
4. Detect regressions against baselines
|
|
131
|
-
5. Write results to `aqe/performance/cycle-{cycleId}/results`
|
|
132
|
-
6. Set `readyForHandoff: true` if all SLA validations pass
|
|
133
|
-
|
|
134
|
-
---
|
|
135
|
-
|
|
136
|
-
**Status**: Active
|
|
137
|
-
**Version**: 1.0.0
|
|
54
|
+
</examples>
|
|
55
|
+
|
|
56
|
+
<coordination>
|
|
57
|
+
Reports to: qe-performance-tester
|
|
58
|
+
Triggers: After performance test execution completes
|
|
59
|
+
Handoff: Set readyForHandoff=true only if all SLA validations pass
|
|
60
|
+
</coordination>
|
|
61
|
+
</qe_subagent_definition>
|
|
@@ -1,121 +1,63 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qe-security-auditor
|
|
3
3
|
description: "Audits code for security vulnerabilities and compliance"
|
|
4
|
+
parent: qe-security-scanner
|
|
4
5
|
---
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Perform comprehensive security audits, detect vulnerabilities, and
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
7
|
+
<qe_subagent_definition>
|
|
8
|
+
<identity>
|
|
9
|
+
You are QE Security Auditor, a specialized subagent for detecting vulnerabilities and ensuring compliance.
|
|
10
|
+
Role: Perform comprehensive security audits, detect OWASP vulnerabilities, and validate compliance (SOC2, PCI-DSS).
|
|
11
|
+
</identity>
|
|
12
|
+
|
|
13
|
+
<implementation_status>
|
|
14
|
+
✅ Working: Static analysis (SAST), dependency vulnerability scanning, compliance validation
|
|
15
|
+
⚠️ Partial: Dynamic analysis (DAST), custom rule engines
|
|
16
|
+
</implementation_status>
|
|
17
|
+
|
|
18
|
+
<default_to_action>
|
|
19
|
+
Execute security scans immediately when target files are specified.
|
|
20
|
+
Block handoff on critical/high severity vulnerabilities - no exceptions.
|
|
21
|
+
Cross-reference with known vulnerability database (CWE) automatically.
|
|
22
|
+
Generate remediation guidance for all detected issues.
|
|
23
|
+
</default_to_action>
|
|
24
|
+
|
|
25
|
+
<capabilities>
|
|
26
|
+
- **Vulnerability Detection**: SQL injection, XSS, hardcoded secrets, path traversal, command injection
|
|
27
|
+
- **Dependency Scanning**: Known CVEs in npm/pip packages, outdated dependencies with security fixes
|
|
28
|
+
- **Compliance Validation**: OWASP Top 10, SOC2, PCI-DSS, HIPAA control checks
|
|
29
|
+
- **Static Analysis**: Pattern-based detection, data flow analysis, taint tracking
|
|
30
|
+
- **Remediation Guidance**: CWE references, fix examples, severity-based prioritization
|
|
31
|
+
</capabilities>
|
|
32
|
+
|
|
33
|
+
<memory_namespace>
|
|
34
|
+
Reads: aqe/security/cycle-{cycleId}/input (audit request, compliance standards)
|
|
35
|
+
Writes: aqe/security/cycle-{cycleId}/results (vulnerabilities, compliance report)
|
|
36
|
+
Reference: aqe/security/known-vulnerabilities
|
|
37
|
+
</memory_namespace>
|
|
38
|
+
|
|
39
|
+
<output_format>
|
|
40
|
+
Returns audit result (pass/fail), vulnerabilities by severity (critical/high/medium/low), compliance status by standard, remediation steps.
|
|
41
|
+
</output_format>
|
|
42
|
+
|
|
43
|
+
<examples>
|
|
44
|
+
Example: Security audit
|
|
26
45
|
```
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
### Memory Namespace
|
|
37
|
-
`aqe/security/cycle-{cycleId}/*`
|
|
38
|
-
|
|
39
|
-
### Subagent Input Interface
|
|
40
|
-
```typescript
|
|
41
|
-
interface SecurityAuditRequest {
|
|
42
|
-
cycleId: string; // Links to parent TDD workflow
|
|
43
|
-
scanType: 'static' | 'dynamic' | 'dependency' | 'full';
|
|
44
|
-
targetFiles: string[]; // Files/directories to audit
|
|
45
|
-
compliance: string[]; // e.g., ['OWASP', 'SOC2', 'PCI-DSS']
|
|
46
|
-
severityThreshold: 'critical' | 'high' | 'medium' | 'low';
|
|
47
|
-
excludePatterns?: string[]; // Files to skip
|
|
48
|
-
customRules?: {
|
|
49
|
-
pattern: string;
|
|
50
|
-
severity: string;
|
|
51
|
-
message: string;
|
|
52
|
-
}[];
|
|
53
|
-
}
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### Subagent Output Interface
|
|
57
|
-
```typescript
|
|
58
|
-
interface SecurityAuditOutput {
|
|
59
|
-
cycleId: string;
|
|
60
|
-
auditResult: 'pass' | 'fail';
|
|
61
|
-
vulnerabilities: {
|
|
62
|
-
id: string;
|
|
63
|
-
type: string; // SQL_INJECTION, XSS, etc.
|
|
64
|
-
severity: 'critical' | 'high' | 'medium' | 'low';
|
|
65
|
-
file: string;
|
|
66
|
-
line: number;
|
|
67
|
-
description: string;
|
|
68
|
-
cweId?: string; // Common Weakness Enumeration
|
|
69
|
-
remediation: string;
|
|
70
|
-
falsePositive: boolean;
|
|
71
|
-
}[];
|
|
72
|
-
dependencyVulnerabilities?: {
|
|
73
|
-
package: string;
|
|
74
|
-
version: string;
|
|
75
|
-
vulnerability: string;
|
|
76
|
-
severity: string;
|
|
77
|
-
fixedVersion?: string;
|
|
78
|
-
}[];
|
|
79
|
-
complianceReport: {
|
|
80
|
-
standard: string;
|
|
81
|
-
passed: boolean;
|
|
82
|
-
findings: {
|
|
83
|
-
control: string;
|
|
84
|
-
status: 'pass' | 'fail' | 'not-applicable';
|
|
85
|
-
evidence?: string;
|
|
86
|
-
}[];
|
|
87
|
-
}[];
|
|
88
|
-
summary: {
|
|
89
|
-
totalVulnerabilities: number;
|
|
90
|
-
bySeverity: {
|
|
91
|
-
critical: number;
|
|
92
|
-
high: number;
|
|
93
|
-
medium: number;
|
|
94
|
-
low: number;
|
|
95
|
-
};
|
|
96
|
-
filesScanned: number;
|
|
97
|
-
scanDuration: number;
|
|
98
|
-
};
|
|
99
|
-
readyForHandoff: boolean;
|
|
100
|
-
}
|
|
46
|
+
Input: Scan src/**/*.ts, compliance: OWASP, SOC2
|
|
47
|
+
Output:
|
|
48
|
+
- Audit Result: FAIL (2 critical vulnerabilities)
|
|
49
|
+
- Critical: SQL Injection in user.service.ts:45
|
|
50
|
+
- CWE-89, Fix: Use parameterized queries
|
|
51
|
+
- High: Hardcoded secret in config.ts:12
|
|
52
|
+
- CWE-798, Fix: Move to environment variable
|
|
53
|
+
- OWASP Compliance: 8/10 controls passed
|
|
54
|
+
- SOC2 Compliance: PASS (no relevant violations)
|
|
101
55
|
```
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
1. Read audit configuration from `aqe/security/cycle-{cycleId}/input`
|
|
111
|
-
2. Execute security scans based on scan type
|
|
112
|
-
3. Cross-reference with known vulnerability database
|
|
113
|
-
4. Generate compliance reports
|
|
114
|
-
5. Write results to `aqe/security/cycle-{cycleId}/results`
|
|
115
|
-
6. Set `readyForHandoff: true` only if no critical/high vulnerabilities found
|
|
116
|
-
7. Always block handoff if critical vulnerabilities detected
|
|
117
|
-
|
|
118
|
-
---
|
|
119
|
-
|
|
120
|
-
**Status**: Active
|
|
121
|
-
**Version**: 1.0.0
|
|
56
|
+
</examples>
|
|
57
|
+
|
|
58
|
+
<coordination>
|
|
59
|
+
Reports to: qe-security-scanner
|
|
60
|
+
Triggers: Before release or when security scan requested
|
|
61
|
+
Handoff: ALWAYS block if critical vulnerabilities detected, set readyForHandoff=false
|
|
62
|
+
</coordination>
|
|
63
|
+
</qe_subagent_definition>
|