agentic-qe 1.0.1 → 1.0.3
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 +51 -11
- package/.claude/agents/qe-chaos-engineer.md +95 -43
- package/.claude/agents/qe-coverage-analyzer.md +134 -57
- package/.claude/agents/qe-deployment-readiness.md +48 -11
- package/.claude/agents/qe-flaky-test-hunter.md +57 -11
- package/.claude/agents/qe-fleet-commander.md +106 -49
- package/.claude/agents/qe-performance-tester.md +98 -45
- package/.claude/agents/qe-production-intelligence.md +48 -11
- package/.claude/agents/qe-quality-gate.md +160 -28
- package/.claude/agents/qe-regression-risk-analyzer.md +53 -11
- package/.claude/agents/qe-requirements-validator.md +48 -11
- package/.claude/agents/qe-security-scanner.md +230 -47
- package/.claude/agents/qe-test-data-architect.md +49 -11
- package/.claude/agents/qe-test-executor.md +59 -55
- package/.claude/agents/qe-test-generator.md +222 -48
- package/.claude/agents/qe-visual-tester.md +66 -65
- package/CHANGELOG.md +162 -0
- package/README.md +33 -2
- package/dist/adapters/MemoryStoreAdapter.d.ts +157 -0
- package/dist/adapters/MemoryStoreAdapter.d.ts.map +1 -0
- package/dist/adapters/MemoryStoreAdapter.js +433 -0
- package/dist/adapters/MemoryStoreAdapter.js.map +1 -0
- package/dist/adapters/index.d.ts +8 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +12 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/agents/BaseAgent.d.ts +22 -3
- package/dist/agents/BaseAgent.d.ts.map +1 -1
- package/dist/agents/BaseAgent.js +110 -6
- package/dist/agents/BaseAgent.js.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.d.ts +0 -1
- package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/QualityAnalyzerAgent.d.ts +0 -1
- package/dist/agents/QualityAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/QualityGateAgent.d.ts +0 -1
- package/dist/agents/QualityGateAgent.d.ts.map +1 -1
- package/dist/agents/RegressionRiskAnalyzerAgent.js +17 -7
- package/dist/agents/RegressionRiskAnalyzerAgent.js.map +1 -1
- package/dist/agents/TestExecutorAgent.js +17 -7
- package/dist/agents/TestExecutorAgent.js.map +1 -1
- package/dist/agents/index.js +2 -2
- package/dist/agents/index.js.map +1 -1
- package/dist/cli/commands/agent/assign.js +17 -7
- package/dist/cli/commands/agent/assign.js.map +1 -1
- package/dist/cli/commands/agent/attach.d.ts +0 -1
- package/dist/cli/commands/agent/attach.d.ts.map +1 -1
- package/dist/cli/commands/agent/attach.js +17 -7
- package/dist/cli/commands/agent/attach.js.map +1 -1
- package/dist/cli/commands/agent/benchmark.js +1 -2
- package/dist/cli/commands/agent/benchmark.js.map +1 -1
- package/dist/cli/commands/agent/clone.js +1 -2
- package/dist/cli/commands/agent/clone.js.map +1 -1
- package/dist/cli/commands/agent/detach.js +17 -7
- package/dist/cli/commands/agent/detach.js.map +1 -1
- package/dist/cli/commands/agent/index.js +3 -3
- package/dist/cli/commands/agent/index.js.map +1 -1
- package/dist/cli/commands/agent/inspect.js +17 -7
- package/dist/cli/commands/agent/inspect.js.map +1 -1
- package/dist/cli/commands/agent/migrate.js +1 -2
- package/dist/cli/commands/agent/migrate.js.map +1 -1
- package/dist/cli/commands/agent/restart.js +17 -7
- package/dist/cli/commands/agent/restart.js.map +1 -1
- package/dist/cli/commands/analyze.js +17 -7
- package/dist/cli/commands/analyze.js.map +1 -1
- package/dist/cli/commands/config/export.js +17 -7
- package/dist/cli/commands/config/export.js.map +1 -1
- package/dist/cli/commands/config/get.js +19 -9
- package/dist/cli/commands/config/get.js.map +1 -1
- package/dist/cli/commands/config/import.js +17 -7
- package/dist/cli/commands/config/import.js.map +1 -1
- package/dist/cli/commands/config/init.js +19 -9
- package/dist/cli/commands/config/init.js.map +1 -1
- package/dist/cli/commands/config/list.js +1 -2
- package/dist/cli/commands/config/list.js.map +1 -1
- package/dist/cli/commands/config/reset.js +1 -2
- package/dist/cli/commands/config/reset.js.map +1 -1
- package/dist/cli/commands/config/set.js +19 -9
- package/dist/cli/commands/config/set.js.map +1 -1
- package/dist/cli/commands/config/validate.js +19 -9
- package/dist/cli/commands/config/validate.js.map +1 -1
- package/dist/cli/commands/debug/agent.js +18 -9
- package/dist/cli/commands/debug/agent.js.map +1 -1
- package/dist/cli/commands/debug/diagnostics.js +18 -9
- package/dist/cli/commands/debug/diagnostics.js.map +1 -1
- package/dist/cli/commands/debug/health-check.js +18 -9
- package/dist/cli/commands/debug/health-check.js.map +1 -1
- package/dist/cli/commands/debug/profile.js +18 -9
- package/dist/cli/commands/debug/profile.js.map +1 -1
- package/dist/cli/commands/debug/trace.js +18 -9
- package/dist/cli/commands/debug/trace.js.map +1 -1
- package/dist/cli/commands/debug/troubleshoot.js +18 -9
- package/dist/cli/commands/debug/troubleshoot.js.map +1 -1
- package/dist/cli/commands/fleet/backup.js +1 -2
- package/dist/cli/commands/fleet/backup.js.map +1 -1
- package/dist/cli/commands/fleet/health.js +17 -7
- package/dist/cli/commands/fleet/health.js.map +1 -1
- package/dist/cli/commands/fleet/init.js +17 -7
- package/dist/cli/commands/fleet/init.js.map +1 -1
- package/dist/cli/commands/fleet/logs.js +17 -7
- package/dist/cli/commands/fleet/logs.js.map +1 -1
- package/dist/cli/commands/fleet/metrics.js +17 -7
- package/dist/cli/commands/fleet/metrics.js.map +1 -1
- package/dist/cli/commands/fleet/monitor.js +17 -7
- package/dist/cli/commands/fleet/monitor.js.map +1 -1
- package/dist/cli/commands/fleet/optimize.js +1 -2
- package/dist/cli/commands/fleet/optimize.js.map +1 -1
- package/dist/cli/commands/fleet/recover.js +1 -2
- package/dist/cli/commands/fleet/recover.js.map +1 -1
- package/dist/cli/commands/fleet/restart.js +17 -7
- package/dist/cli/commands/fleet/restart.js.map +1 -1
- package/dist/cli/commands/fleet/scale.js +17 -7
- package/dist/cli/commands/fleet/scale.js.map +1 -1
- package/dist/cli/commands/fleet/shutdown.js +17 -7
- package/dist/cli/commands/fleet/shutdown.js.map +1 -1
- package/dist/cli/commands/fleet/status.js +17 -7
- package/dist/cli/commands/fleet/status.js.map +1 -1
- package/dist/cli/commands/fleet/topology.js +17 -7
- package/dist/cli/commands/fleet/topology.js.map +1 -1
- package/dist/cli/commands/fleet.d.ts +0 -1
- package/dist/cli/commands/fleet.d.ts.map +1 -1
- package/dist/cli/commands/fleet.js +37 -60
- package/dist/cli/commands/fleet.js.map +1 -1
- package/dist/cli/commands/generate.js +17 -7
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +250 -82
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/memory/compact.js +1 -2
- package/dist/cli/commands/memory/compact.js.map +1 -1
- package/dist/cli/commands/memory/index.js +4 -5
- package/dist/cli/commands/memory/index.js.map +1 -1
- package/dist/cli/commands/memory/stats.js +1 -2
- package/dist/cli/commands/memory/stats.js.map +1 -1
- package/dist/cli/commands/memory/vacuum.js +1 -2
- package/dist/cli/commands/memory/vacuum.js.map +1 -1
- package/dist/cli/commands/monitor/alerts.js +17 -7
- package/dist/cli/commands/monitor/alerts.js.map +1 -1
- package/dist/cli/commands/monitor/analyze.js +17 -7
- package/dist/cli/commands/monitor/analyze.js.map +1 -1
- package/dist/cli/commands/monitor/compare.js +17 -7
- package/dist/cli/commands/monitor/compare.js.map +1 -1
- package/dist/cli/commands/monitor/dashboard.js +17 -7
- package/dist/cli/commands/monitor/dashboard.js.map +1 -1
- package/dist/cli/commands/monitor/export.js +17 -7
- package/dist/cli/commands/monitor/export.js.map +1 -1
- package/dist/cli/commands/quality/baseline.js +1 -2
- package/dist/cli/commands/quality/baseline.js.map +1 -1
- package/dist/cli/commands/quality/compare.js +1 -2
- package/dist/cli/commands/quality/compare.js.map +1 -1
- package/dist/cli/commands/quality/decision.js +2 -2
- package/dist/cli/commands/quality/decision.js.map +1 -1
- package/dist/cli/commands/quality/gate.js +2 -2
- package/dist/cli/commands/quality/gate.js.map +1 -1
- package/dist/cli/commands/quality/index.js +2 -2
- package/dist/cli/commands/quality/index.js.map +1 -1
- package/dist/cli/commands/quality/policy.js +19 -9
- package/dist/cli/commands/quality/policy.js.map +1 -1
- package/dist/cli/commands/quality/risk.js +2 -2
- package/dist/cli/commands/quality/risk.js.map +1 -1
- package/dist/cli/commands/quality/trends.js +1 -2
- package/dist/cli/commands/quality/trends.js.map +1 -1
- package/dist/cli/commands/quality/validate.js +19 -9
- package/dist/cli/commands/quality/validate.js.map +1 -1
- package/dist/cli/commands/run.js +17 -7
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/test/analyze-failures.js +1 -2
- package/dist/cli/commands/test/analyze-failures.js.map +1 -1
- package/dist/cli/commands/test/clean.js +18 -9
- package/dist/cli/commands/test/clean.js.map +1 -1
- package/dist/cli/commands/test/debug.js +18 -9
- package/dist/cli/commands/test/debug.js.map +1 -1
- package/dist/cli/commands/test/diff.js +18 -9
- package/dist/cli/commands/test/diff.js.map +1 -1
- package/dist/cli/commands/test/flakiness.js +1 -2
- package/dist/cli/commands/test/flakiness.js.map +1 -1
- package/dist/cli/commands/test/index.js +2 -2
- package/dist/cli/commands/test/index.js.map +1 -1
- package/dist/cli/commands/test/mutate.js +1 -2
- package/dist/cli/commands/test/mutate.js.map +1 -1
- package/dist/cli/commands/test/parallel.js +1 -2
- package/dist/cli/commands/test/parallel.js.map +1 -1
- package/dist/cli/commands/test/profile.js +18 -9
- package/dist/cli/commands/test/profile.js.map +1 -1
- package/dist/cli/commands/test/queue.js +1 -2
- package/dist/cli/commands/test/queue.js.map +1 -1
- package/dist/cli/commands/test/retry.js +1 -2
- package/dist/cli/commands/test/retry.js.map +1 -1
- package/dist/cli/commands/test/snapshot.js +1 -2
- package/dist/cli/commands/test/snapshot.js.map +1 -1
- package/dist/cli/commands/test/trace.js +18 -9
- package/dist/cli/commands/test/trace.js.map +1 -1
- package/dist/cli/commands/test/watch.js +1 -2
- package/dist/cli/commands/test/watch.js.map +1 -1
- package/dist/cli/commands/workflow/cancel.js +2 -3
- package/dist/cli/commands/workflow/cancel.js.map +1 -1
- package/dist/cli/commands/workflow/list.js +2 -3
- package/dist/cli/commands/workflow/list.js.map +1 -1
- package/dist/cli/commands/workflow/pause.js +2 -3
- package/dist/cli/commands/workflow/pause.js.map +1 -1
- package/dist/cli/index-working.js +17 -7
- package/dist/cli/index-working.js.map +1 -1
- package/dist/cli/index.js +17 -7
- package/dist/cli/index.js.map +1 -1
- package/dist/core/Agent.d.ts +0 -1
- package/dist/core/Agent.d.ts.map +1 -1
- package/dist/core/ArtifactWorkflow.js +17 -7
- package/dist/core/ArtifactWorkflow.js.map +1 -1
- package/dist/core/EventBus.d.ts +0 -1
- package/dist/core/EventBus.d.ts.map +1 -1
- package/dist/core/FleetManager.d.ts +0 -1
- package/dist/core/FleetManager.d.ts.map +1 -1
- package/dist/core/FleetManager.js +17 -7
- package/dist/core/FleetManager.js.map +1 -1
- package/dist/core/MemoryManager.d.ts +0 -1
- package/dist/core/MemoryManager.d.ts.map +1 -1
- package/dist/core/Task.d.ts +0 -1
- package/dist/core/Task.d.ts.map +1 -1
- package/dist/core/coordination/BlackboardCoordination.d.ts +0 -1
- package/dist/core/coordination/BlackboardCoordination.d.ts.map +1 -1
- package/dist/core/coordination/ConsensusGating.d.ts +0 -1
- package/dist/core/coordination/ConsensusGating.d.ts.map +1 -1
- package/dist/core/coordination/GOAPCoordination.d.ts +0 -1
- package/dist/core/coordination/GOAPCoordination.d.ts.map +1 -1
- package/dist/core/coordination/OODACoordination.d.ts +0 -1
- package/dist/core/coordination/OODACoordination.d.ts.map +1 -1
- package/dist/core/events/QEEventBus.d.ts +0 -1
- package/dist/core/events/QEEventBus.d.ts.map +1 -1
- package/dist/core/hooks/RollbackManager.d.ts +2 -2
- package/dist/core/hooks/RollbackManager.d.ts.map +1 -1
- package/dist/core/hooks/RollbackManager.js +17 -7
- package/dist/core/hooks/RollbackManager.js.map +1 -1
- package/dist/core/hooks/VerificationHookManager.d.ts +2 -3
- package/dist/core/hooks/VerificationHookManager.d.ts.map +1 -1
- package/dist/core/hooks/VerificationHookManager.js.map +1 -1
- package/dist/core/hooks/checkers/ConfigurationChecker.d.ts +2 -2
- package/dist/core/hooks/checkers/ConfigurationChecker.d.ts.map +1 -1
- package/dist/core/hooks/checkers/ConfigurationChecker.js.map +1 -1
- package/dist/core/hooks/checkers/EnvironmentChecker.js +17 -7
- package/dist/core/hooks/checkers/EnvironmentChecker.js.map +1 -1
- package/dist/core/hooks/checkers/PermissionChecker.js +17 -7
- package/dist/core/hooks/checkers/PermissionChecker.js.map +1 -1
- package/dist/core/hooks/checkers/ResourceChecker.js +17 -7
- package/dist/core/hooks/checkers/ResourceChecker.js.map +1 -1
- package/dist/core/memory/CompressionManager.js +17 -7
- package/dist/core/memory/CompressionManager.js.map +1 -1
- package/dist/core/memory/EncryptionManager.js +17 -7
- package/dist/core/memory/EncryptionManager.js.map +1 -1
- package/dist/core/memory/EnhancedSwarmMemoryManager.js +17 -7
- package/dist/core/memory/EnhancedSwarmMemoryManager.js.map +1 -1
- package/dist/core/memory/SwarmMemoryManager.js +17 -7
- package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
- package/dist/core/memory/VersionHistory.js +17 -7
- package/dist/core/memory/VersionHistory.js.map +1 -1
- package/dist/coverage/coverage-collector.js +17 -7
- package/dist/coverage/coverage-collector.js.map +1 -1
- package/dist/coverage/coverage-reporter.js +17 -7
- package/dist/coverage/coverage-reporter.js.map +1 -1
- package/dist/mcp/handlers/advanced/api-breaking-changes.js +1 -2
- package/dist/mcp/handlers/advanced/api-breaking-changes.js.map +1 -1
- package/dist/mcp/handlers/advanced/mutation-test-execute.js +1 -2
- package/dist/mcp/handlers/advanced/mutation-test-execute.js.map +1 -1
- package/dist/mcp/handlers/advanced/production-incident-replay.js +1 -2
- package/dist/mcp/handlers/advanced/production-incident-replay.js.map +1 -1
- package/dist/mcp/handlers/advanced/production-rum-analyze.js +1 -2
- package/dist/mcp/handlers/advanced/production-rum-analyze.js.map +1 -1
- package/dist/mcp/handlers/advanced/requirements-generate-bdd.js +1 -2
- package/dist/mcp/handlers/advanced/requirements-generate-bdd.js.map +1 -1
- package/dist/mcp/handlers/advanced/requirements-validate.js +1 -2
- package/dist/mcp/handlers/advanced/requirements-validate.js.map +1 -1
- package/dist/mcp/handlers/analysis/coverageAnalyzeSublinear.js +1 -2
- package/dist/mcp/handlers/analysis/coverageAnalyzeSublinear.js.map +1 -1
- package/dist/mcp/handlers/analysis/coverageGapsDetect.js +1 -2
- package/dist/mcp/handlers/analysis/coverageGapsDetect.js.map +1 -1
- package/dist/mcp/handlers/analysis/performanceBenchmarkRun.js +1 -2
- package/dist/mcp/handlers/analysis/performanceBenchmarkRun.js.map +1 -1
- package/dist/mcp/handlers/analysis/performanceMonitorRealtime.js +1 -2
- package/dist/mcp/handlers/analysis/performanceMonitorRealtime.js.map +1 -1
- package/dist/mcp/handlers/analysis/securityScanComprehensive.js +1 -2
- package/dist/mcp/handlers/analysis/securityScanComprehensive.js.map +1 -1
- package/dist/mcp/handlers/chaos/chaos-inject-failure.js +3 -4
- package/dist/mcp/handlers/chaos/chaos-inject-failure.js.map +1 -1
- package/dist/mcp/handlers/chaos/chaos-inject-latency.js +3 -4
- package/dist/mcp/handlers/chaos/chaos-inject-latency.js.map +1 -1
- package/dist/mcp/handlers/chaos/chaos-resilience-test.js +3 -4
- package/dist/mcp/handlers/chaos/chaos-resilience-test.js.map +1 -1
- package/dist/mcp/handlers/integration/contract-validate.js +1 -2
- package/dist/mcp/handlers/integration/contract-validate.js.map +1 -1
- package/dist/mcp/handlers/integration/dependency-check.js +1 -2
- package/dist/mcp/handlers/integration/dependency-check.js.map +1 -1
- package/dist/mcp/handlers/integration/integration-test-orchestrate.js +1 -2
- package/dist/mcp/handlers/integration/integration-test-orchestrate.js.map +1 -1
- package/dist/mcp/handlers/test-execute.js +17 -7
- package/dist/mcp/handlers/test-execute.js.map +1 -1
- package/dist/mcp/server.js +3 -3
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/services/AgentRegistry.js +3 -3
- package/dist/mcp/services/AgentRegistry.js.map +1 -1
- package/dist/mcp/services/HookExecutor.d.ts +79 -6
- package/dist/mcp/services/HookExecutor.d.ts.map +1 -1
- package/dist/mcp/services/HookExecutor.js +313 -17
- package/dist/mcp/services/HookExecutor.js.map +1 -1
- package/dist/types/api-contract.types.js +1 -2
- package/dist/types/api-contract.types.js.map +1 -1
- package/dist/types/errors.d.ts.map +1 -1
- package/dist/types/errors.js +5 -5
- package/dist/types/errors.js.map +1 -1
- package/dist/types/hook.types.d.ts +147 -0
- package/dist/types/hook.types.d.ts.map +1 -0
- package/dist/types/hook.types.js +7 -0
- package/dist/types/hook.types.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +16 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/memory-interfaces.d.ts +104 -0
- package/dist/types/memory-interfaces.d.ts.map +1 -0
- package/dist/types/memory-interfaces.js +9 -0
- package/dist/types/memory-interfaces.js.map +1 -0
- package/dist/utils/Config.d.ts +2 -2
- package/dist/utils/Config.d.ts.map +1 -1
- package/dist/utils/Config.js +17 -7
- package/dist/utils/Config.js.map +1 -1
- package/dist/utils/FakerDataGenerator.d.ts.map +1 -1
- package/dist/utils/SecurityScanner.js +17 -7
- package/dist/utils/SecurityScanner.js.map +1 -1
- package/dist/utils/TestFrameworkExecutor.js +17 -7
- package/dist/utils/TestFrameworkExecutor.js.map +1 -1
- package/dist/utils/validation.js +6 -7
- package/dist/utils/validation.js.map +1 -1
- package/package.json +19 -15
|
@@ -13,17 +13,8 @@ capabilities:
|
|
|
13
13
|
- fault-tolerance
|
|
14
14
|
- scaling-orchestration
|
|
15
15
|
- performance-monitoring
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
- "npx claude-flow@alpha hooks pre-task --description 'Fleet Commander: Initializing fleet coordination'"
|
|
19
|
-
- "npx claude-flow@alpha memory retrieve --key 'aqe/fleet/topology'"
|
|
20
|
-
- "npx claude-flow@alpha memory retrieve --key 'aqe/fleet/agents/active'"
|
|
21
|
-
post_task:
|
|
22
|
-
- "npx claude-flow@alpha hooks post-task --task-id '${TASK_ID}'"
|
|
23
|
-
- "npx claude-flow@alpha memory store --key 'aqe/fleet/coordination/results' --value '${COORDINATION_RESULTS}'"
|
|
24
|
-
- "npx claude-flow@alpha memory store --key 'aqe/fleet/metrics/performance' --value '${FLEET_METRICS}'"
|
|
25
|
-
post_edit:
|
|
26
|
-
- "npx claude-flow@alpha hooks post-edit --file '${FILE_PATH}' --memory-key 'aqe/fleet/config/${FILE_NAME}'"
|
|
16
|
+
coordination:
|
|
17
|
+
protocol: aqe-hooks
|
|
27
18
|
metadata:
|
|
28
19
|
version: "2.0.0"
|
|
29
20
|
max_agents: 50
|
|
@@ -139,18 +130,29 @@ await fleetCommander.rebalanceLoad(rebalancingStrategy);
|
|
|
139
130
|
## Integration Points
|
|
140
131
|
|
|
141
132
|
### Memory Coordination
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
|
|
133
|
+
```typescript
|
|
134
|
+
// Store fleet topology and configuration
|
|
135
|
+
await this.memoryStore.store('aqe/fleet/topology', {
|
|
136
|
+
mode: 'hierarchical',
|
|
137
|
+
agents: 50
|
|
138
|
+
}, {
|
|
139
|
+
partition: 'coordination'
|
|
140
|
+
});
|
|
145
141
|
|
|
146
|
-
|
|
147
|
-
|
|
142
|
+
// Store agent lifecycle status
|
|
143
|
+
await this.memoryStore.store('aqe/fleet/agents/active', activeAgentsJson, {
|
|
144
|
+
partition: 'coordination'
|
|
145
|
+
});
|
|
148
146
|
|
|
149
|
-
|
|
150
|
-
|
|
147
|
+
// Store resource allocation matrix
|
|
148
|
+
await this.memoryStore.store('aqe/fleet/resources/allocation', resourceMatrix, {
|
|
149
|
+
partition: 'coordination'
|
|
150
|
+
});
|
|
151
151
|
|
|
152
|
-
|
|
153
|
-
|
|
152
|
+
// Store coordination metrics
|
|
153
|
+
await this.memoryStore.store('aqe/fleet/metrics/coordination', coordinationMetrics, {
|
|
154
|
+
partition: 'coordination'
|
|
155
|
+
});
|
|
154
156
|
```
|
|
155
157
|
|
|
156
158
|
### EventBus Integration
|
|
@@ -184,6 +186,53 @@ eventBus.publish('fleet:topology-changed', {
|
|
|
184
186
|
- **QE Performance Tester**: Orchestrates performance testing workflows
|
|
185
187
|
- **QE Security Scanner**: Coordinates security scanning tasks
|
|
186
188
|
|
|
189
|
+
## Coordination Protocol
|
|
190
|
+
|
|
191
|
+
This agent uses **AQE hooks (Agentic QE native hooks)** for coordination (zero external dependencies, 100-500x faster).
|
|
192
|
+
|
|
193
|
+
**Automatic Lifecycle Hooks:**
|
|
194
|
+
```typescript
|
|
195
|
+
// Automatically called by BaseAgent
|
|
196
|
+
protected async onPreTask(data: { assignment: TaskAssignment }): Promise<void> {
|
|
197
|
+
// Load fleet topology and active agents
|
|
198
|
+
const topology = await this.memoryStore.retrieve('aqe/fleet/topology');
|
|
199
|
+
const activeAgents = await this.memoryStore.retrieve('aqe/fleet/agents/active');
|
|
200
|
+
|
|
201
|
+
this.logger.info('Fleet coordination initialized', {
|
|
202
|
+
topology: topology?.mode || 'hierarchical',
|
|
203
|
+
activeAgents: activeAgents?.length || 0,
|
|
204
|
+
maxAgents: 50
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
protected async onPostTask(data: { assignment: TaskAssignment; result: any }): Promise<void> {
|
|
209
|
+
// Store coordination results and fleet metrics
|
|
210
|
+
await this.memoryStore.store('aqe/fleet/coordination/results', data.result.coordinationOutcomes);
|
|
211
|
+
await this.memoryStore.store('aqe/fleet/metrics/performance', data.result.fleetMetrics);
|
|
212
|
+
await this.memoryStore.store('aqe/fleet/agents/active', data.result.activeAgents);
|
|
213
|
+
|
|
214
|
+
// Emit fleet coordination event
|
|
215
|
+
this.eventBus.emit('fleet-commander:coordinated', {
|
|
216
|
+
agentsOrchestrated: data.result.activeAgents.length,
|
|
217
|
+
throughput: data.result.fleetMetrics.throughput,
|
|
218
|
+
efficiency: data.result.fleetMetrics.efficiency
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
**Advanced Verification (Optional):**
|
|
224
|
+
```typescript
|
|
225
|
+
const hookManager = new VerificationHookManager(this.memoryStore);
|
|
226
|
+
const verification = await hookManager.executePreTaskVerification({
|
|
227
|
+
task: 'fleet-orchestration',
|
|
228
|
+
context: {
|
|
229
|
+
requiredVars: ['FLEET_MODE', 'MAX_AGENTS'],
|
|
230
|
+
minMemoryMB: 2048,
|
|
231
|
+
requiredKeys: ['aqe/fleet/topology']
|
|
232
|
+
}
|
|
233
|
+
});
|
|
234
|
+
```
|
|
235
|
+
|
|
187
236
|
## Memory Keys
|
|
188
237
|
|
|
189
238
|
### Input Keys
|
|
@@ -210,38 +259,46 @@ eventBus.publish('fleet:topology-changed', {
|
|
|
210
259
|
## Coordination Protocol
|
|
211
260
|
|
|
212
261
|
### Swarm Integration
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
262
|
+
```typescript
|
|
263
|
+
// Initialize fleet with hierarchical topology
|
|
264
|
+
await this.swarmManager.initialize({
|
|
265
|
+
topology: 'hierarchical',
|
|
266
|
+
maxAgents: 50,
|
|
267
|
+
coordinator: 'qe-fleet-commander'
|
|
268
|
+
});
|
|
269
|
+
|
|
270
|
+
// Spawn specialized agent pool via EventBus
|
|
271
|
+
this.eventBus.emit('fleet:spawn-pool', {
|
|
272
|
+
type: 'test-executor',
|
|
273
|
+
poolSize: 10,
|
|
274
|
+
priority: 'critical'
|
|
275
|
+
});
|
|
276
|
+
|
|
277
|
+
// Orchestrate distributed testing workflow
|
|
278
|
+
await this.taskManager.orchestrate({
|
|
279
|
+
task: 'Execute 5000 tests across frameworks',
|
|
280
|
+
agents: {
|
|
281
|
+
'test-executor': 10,
|
|
282
|
+
'coverage-analyzer': 3
|
|
283
|
+
},
|
|
284
|
+
strategy: 'hierarchical-parallel'
|
|
285
|
+
});
|
|
231
286
|
```
|
|
232
287
|
|
|
233
288
|
### Neural Pattern Training
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
289
|
+
```typescript
|
|
290
|
+
// Train fleet coordination patterns
|
|
291
|
+
await this.neuralManager.trainPattern({
|
|
292
|
+
patternType: 'fleet-coordination',
|
|
293
|
+
trainingData: coordinationHistory,
|
|
294
|
+
optimization: 'sublinear'
|
|
295
|
+
});
|
|
296
|
+
|
|
297
|
+
// Predict optimal agent allocation
|
|
298
|
+
const allocation = await this.neuralManager.predict({
|
|
299
|
+
modelId: 'fleet-allocation-model',
|
|
300
|
+
input: workloadAnalysis
|
|
301
|
+
});
|
|
245
302
|
```
|
|
246
303
|
|
|
247
304
|
## Hierarchical Coordination Patterns
|
|
@@ -53,15 +53,8 @@ workflows:
|
|
|
53
53
|
- regression_detection
|
|
54
54
|
- reporting
|
|
55
55
|
- optimization_recommendations
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
- "npx claude-flow@alpha hooks pre-task --description 'Starting performance testing'"
|
|
59
|
-
- "npx claude-flow@alpha memory retrieve --key 'aqe/performance/baselines'"
|
|
60
|
-
post_task:
|
|
61
|
-
- "npx claude-flow@alpha hooks post-task --task-id '${TASK_ID}'"
|
|
62
|
-
- "npx claude-flow@alpha memory store --key 'aqe/performance/results' --value '${PERF_RESULTS}'"
|
|
63
|
-
post_edit:
|
|
64
|
-
- "npx claude-flow@alpha hooks post-edit --file '${FILE_PATH}' --memory-key 'aqe/performance/${FILE_NAME}'"
|
|
56
|
+
coordination:
|
|
57
|
+
protocol: aqe-hooks
|
|
65
58
|
description: "Multi-tool performance testing with load orchestration, bottleneck detection, and SLA validation"
|
|
66
59
|
---
|
|
67
60
|
|
|
@@ -93,11 +86,18 @@ description: "Multi-tool performance testing with load orchestration, bottleneck
|
|
|
93
86
|
## Workflow Orchestration
|
|
94
87
|
|
|
95
88
|
### Pre-Execution Phase
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
89
|
+
```typescript
|
|
90
|
+
// Initialize coordination via native hooks
|
|
91
|
+
protected async onPreTask(data: { assignment: TaskAssignment }): Promise<void> {
|
|
92
|
+
// Load baselines and requirements
|
|
93
|
+
const baselines = await this.memoryStore.retrieve('aqe/performance/baselines');
|
|
94
|
+
const requirements = await this.memoryStore.retrieve('aqe/test-plan/requirements');
|
|
95
|
+
|
|
96
|
+
this.logger.info('Performance testing workflow initialized', {
|
|
97
|
+
hasBaselines: !!baselines,
|
|
98
|
+
requirements: requirements?.performance || {}
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
101
|
```
|
|
102
102
|
|
|
103
103
|
### Test Planning & Baseline Establishment
|
|
@@ -145,12 +145,25 @@ gatling.sh -s LoadTestSimulation -rf results/
|
|
|
145
145
|
- Provide optimization recommendations
|
|
146
146
|
|
|
147
147
|
### Post-Execution Coordination
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
148
|
+
```typescript
|
|
149
|
+
// Store results and notify other agents via native hooks
|
|
150
|
+
protected async onPostTask(data: { assignment: TaskAssignment; result: any }): Promise<void> {
|
|
151
|
+
// Store performance results
|
|
152
|
+
await this.memoryStore.store('aqe/performance/results', data.result.metrics, {
|
|
153
|
+
partition: 'coordination'
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
await this.memoryStore.store('aqe/performance/regressions', data.result.regressions, {
|
|
157
|
+
partition: 'coordination'
|
|
158
|
+
});
|
|
159
|
+
|
|
160
|
+
// Notify other agents via EventBus
|
|
161
|
+
this.eventBus.emit('performance:completed', {
|
|
162
|
+
summary: data.result.summary,
|
|
163
|
+
metrics: data.result.metrics,
|
|
164
|
+
regressions: data.result.regressions.length
|
|
165
|
+
});
|
|
166
|
+
}
|
|
154
167
|
```
|
|
155
168
|
|
|
156
169
|
## Tool Integration
|
|
@@ -223,37 +236,77 @@ class LoadTestSimulation extends Simulation {
|
|
|
223
236
|
}
|
|
224
237
|
```
|
|
225
238
|
|
|
239
|
+
## Coordination Protocol
|
|
240
|
+
|
|
241
|
+
This agent uses **AQE hooks (Agentic QE native hooks)** for coordination (zero external dependencies, 100-500x faster).
|
|
242
|
+
|
|
243
|
+
**Automatic Lifecycle Hooks:**
|
|
244
|
+
```typescript
|
|
245
|
+
// Automatically called by BaseAgent
|
|
246
|
+
protected async onPreTask(data: { assignment: TaskAssignment }): Promise<void> {
|
|
247
|
+
// Load performance baselines and thresholds
|
|
248
|
+
const baselines = await this.memoryStore.retrieve('aqe/performance/baselines');
|
|
249
|
+
const thresholds = await this.memoryStore.retrieve('aqe/performance/thresholds');
|
|
250
|
+
|
|
251
|
+
this.logger.info('Performance testing initialized', {
|
|
252
|
+
hasBaselines: !!baselines,
|
|
253
|
+
thresholds: thresholds?.response_time?.p95 || 500
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
protected async onPostTask(data: { assignment: TaskAssignment; result: any }): Promise<void> {
|
|
258
|
+
// Store performance test results
|
|
259
|
+
await this.memoryStore.store('aqe/performance/results', data.result.metrics);
|
|
260
|
+
await this.memoryStore.store('aqe/performance/regressions', data.result.regressions);
|
|
261
|
+
|
|
262
|
+
// Emit performance test completion
|
|
263
|
+
this.eventBus.emit('performance-tester:completed', {
|
|
264
|
+
p95Latency: data.result.metrics.latency.p95,
|
|
265
|
+
throughput: data.result.metrics.throughput,
|
|
266
|
+
regressions: data.result.regressions.length
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
**Advanced Verification (Optional):**
|
|
272
|
+
```typescript
|
|
273
|
+
const hookManager = new VerificationHookManager(this.memoryStore);
|
|
274
|
+
const verification = await hookManager.executePreTaskVerification({
|
|
275
|
+
task: 'performance-testing',
|
|
276
|
+
context: {
|
|
277
|
+
requiredVars: ['TARGET_URL', 'LOAD_PATTERN'],
|
|
278
|
+
minMemoryMB: 1024,
|
|
279
|
+
requiredKeys: ['aqe/performance/baselines']
|
|
280
|
+
}
|
|
281
|
+
});
|
|
282
|
+
```
|
|
283
|
+
|
|
226
284
|
## Memory Management
|
|
227
285
|
|
|
228
286
|
### Baseline Storage
|
|
229
|
-
```
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
}
|
|
287
|
+
```typescript
|
|
288
|
+
// Store performance baselines via memory
|
|
289
|
+
await this.memoryStore.store('aqe/performance/baselines', {
|
|
290
|
+
api_response_time_p95: 200,
|
|
291
|
+
page_load_time_p95: 2000,
|
|
292
|
+
throughput_rps: 1000,
|
|
293
|
+
error_rate_threshold: 0.01
|
|
294
|
+
}, {
|
|
295
|
+
partition: 'coordination',
|
|
296
|
+
ttl: 86400 // 24 hours
|
|
297
|
+
});
|
|
237
298
|
```
|
|
238
299
|
|
|
239
300
|
### Threshold Configuration
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
"min_rps": 100,
|
|
250
|
-
"target_rps": 1000
|
|
251
|
-
},
|
|
252
|
-
"availability": {
|
|
253
|
-
"uptime_percentage": 99.9,
|
|
254
|
-
"error_rate_max": 0.01
|
|
255
|
-
}
|
|
256
|
-
}'
|
|
301
|
+
```typescript
|
|
302
|
+
// Configure performance thresholds via memory
|
|
303
|
+
await this.memoryStore.store('aqe/performance/thresholds', {
|
|
304
|
+
response_time: { p50: 100, p95: 500, p99: 1000 },
|
|
305
|
+
throughput: { min_rps: 100, target_rps: 1000 },
|
|
306
|
+
availability: { uptime_percentage: 99.9, error_rate_max: 0.01 }
|
|
307
|
+
}, {
|
|
308
|
+
partition: 'coordination'
|
|
309
|
+
});
|
|
257
310
|
```
|
|
258
311
|
|
|
259
312
|
## Agent Coordination
|
|
@@ -12,17 +12,8 @@ capabilities:
|
|
|
12
12
|
- feature-usage-analytics
|
|
13
13
|
- error-pattern-mining
|
|
14
14
|
- user-journey-reconstruction
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
- "npx claude-flow@alpha hooks pre-task --description 'Analyzing production intelligence'"
|
|
18
|
-
- "npx claude-flow@alpha memory retrieve --key 'aqe/production/incidents'"
|
|
19
|
-
- "npx claude-flow@alpha memory retrieve --key 'aqe/production/rum-data'"
|
|
20
|
-
post_task:
|
|
21
|
-
- "npx claude-flow@alpha hooks post-task --task-id '${TASK_ID}'"
|
|
22
|
-
- "npx claude-flow@alpha memory store --key 'aqe/production/test-scenarios' --value '${SCENARIOS}'"
|
|
23
|
-
- "npx claude-flow@alpha memory store --key 'aqe/production/insights' --value '${INSIGHTS}'"
|
|
24
|
-
post_edit:
|
|
25
|
-
- "npx claude-flow@alpha hooks post-edit --file '${FILE_PATH}' --memory-key 'aqe/production/updated'"
|
|
15
|
+
coordination:
|
|
16
|
+
protocol: aqe-hooks
|
|
26
17
|
metadata:
|
|
27
18
|
version: "1.0.0"
|
|
28
19
|
stakeholders: ["Engineering", "QA", "SRE", "Product", "Customer Success"]
|
|
@@ -1070,6 +1061,52 @@ describe('Real User Journey: Successful Purchase with Coupon', () => {
|
|
|
1070
1061
|
- **qe-fleet-commander**: Orchestrates production intelligence workflow
|
|
1071
1062
|
- **qe-deployment-readiness**: Uses production insights for risk assessment
|
|
1072
1063
|
|
|
1064
|
+
## Coordination Protocol
|
|
1065
|
+
|
|
1066
|
+
This agent uses **AQE hooks (Agentic QE native hooks)** for coordination (zero external dependencies, 100-500x faster).
|
|
1067
|
+
|
|
1068
|
+
**Automatic Lifecycle Hooks:**
|
|
1069
|
+
```typescript
|
|
1070
|
+
// Automatically called by BaseAgent
|
|
1071
|
+
protected async onPreTask(data: { assignment: TaskAssignment }): Promise<void> {
|
|
1072
|
+
// Load production incidents and RUM data
|
|
1073
|
+
const incidents = await this.memoryStore.retrieve('aqe/production/incidents');
|
|
1074
|
+
const rumData = await this.memoryStore.retrieve('aqe/production/rum-data');
|
|
1075
|
+
|
|
1076
|
+
this.logger.info('Production intelligence analysis started', {
|
|
1077
|
+
recentIncidents: incidents?.length || 0,
|
|
1078
|
+
rumSessions: rumData?.totalSessions || 0
|
|
1079
|
+
});
|
|
1080
|
+
}
|
|
1081
|
+
|
|
1082
|
+
protected async onPostTask(data: { assignment: TaskAssignment; result: any }): Promise<void> {
|
|
1083
|
+
// Store generated test scenarios and insights
|
|
1084
|
+
await this.memoryStore.store('aqe/production/test-scenarios', data.result.scenarios);
|
|
1085
|
+
await this.memoryStore.store('aqe/production/insights', data.result.insights);
|
|
1086
|
+
await this.memoryStore.store('aqe/production/anomalies', data.result.anomalies);
|
|
1087
|
+
|
|
1088
|
+
// Emit production intelligence event
|
|
1089
|
+
this.eventBus.emit('production-intelligence:analyzed', {
|
|
1090
|
+
scenariosGenerated: data.result.scenarios.length,
|
|
1091
|
+
anomaliesDetected: data.result.anomalies.length,
|
|
1092
|
+
highPriorityInsights: data.result.insights.filter(i => i.priority === 'HIGH').length
|
|
1093
|
+
});
|
|
1094
|
+
}
|
|
1095
|
+
```
|
|
1096
|
+
|
|
1097
|
+
**Advanced Verification (Optional):**
|
|
1098
|
+
```typescript
|
|
1099
|
+
const hookManager = new VerificationHookManager(this.memoryStore);
|
|
1100
|
+
const verification = await hookManager.executePreTaskVerification({
|
|
1101
|
+
task: 'production-analysis',
|
|
1102
|
+
context: {
|
|
1103
|
+
requiredVars: ['PROD_ENV', 'MONITORING_PLATFORM'],
|
|
1104
|
+
minMemoryMB: 1024,
|
|
1105
|
+
requiredKeys: ['aqe/production/incidents', 'aqe/production/rum-data']
|
|
1106
|
+
}
|
|
1107
|
+
});
|
|
1108
|
+
```
|
|
1109
|
+
|
|
1073
1110
|
## Memory Keys
|
|
1074
1111
|
|
|
1075
1112
|
### Input Keys
|
|
@@ -14,15 +14,8 @@ capabilities:
|
|
|
14
14
|
- decision-trees
|
|
15
15
|
- threshold-management
|
|
16
16
|
- automated-decisions
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
- "npx claude-flow@alpha hooks pre-task --description 'Starting quality gate validation'"
|
|
20
|
-
- "npx claude-flow@alpha memory retrieve --key 'aqe/quality/thresholds'"
|
|
21
|
-
post_task:
|
|
22
|
-
- "npx claude-flow@alpha hooks post-task --task-id '${TASK_ID}'"
|
|
23
|
-
- "npx claude-flow@alpha memory store --key 'aqe/quality/decisions' --value '${GATE_DECISIONS}'"
|
|
24
|
-
post_edit:
|
|
25
|
-
- "npx claude-flow@alpha hooks post-edit --file '${FILE_PATH}' --memory-key 'aqe/quality/${FILE_NAME}'"
|
|
17
|
+
coordination:
|
|
18
|
+
protocol: aqe-hooks
|
|
26
19
|
metadata:
|
|
27
20
|
decision_tree_capabilities: true
|
|
28
21
|
temporal_prediction: enabled
|
|
@@ -58,6 +51,164 @@ integration_points:
|
|
|
58
51
|
- Risk-based override mechanisms with audit trails
|
|
59
52
|
- Real-time policy compliance monitoring
|
|
60
53
|
|
|
54
|
+
## Coordination Protocol
|
|
55
|
+
|
|
56
|
+
This agent uses **AQE hooks (Agentic QE native hooks)** for coordination (zero external dependencies, 100-500x faster).
|
|
57
|
+
|
|
58
|
+
**Automatic Lifecycle Hooks:**
|
|
59
|
+
```typescript
|
|
60
|
+
// Called automatically by BaseAgent
|
|
61
|
+
protected async onPreTask(data: { assignment: TaskAssignment }): Promise<void> {
|
|
62
|
+
// Load quality thresholds from memory
|
|
63
|
+
const thresholds = await this.memoryStore.retrieve('aqe/quality/thresholds', {
|
|
64
|
+
partition: 'configuration'
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
// Retrieve decision context
|
|
68
|
+
const context = await this.memoryStore.retrieve('aqe/context', {
|
|
69
|
+
partition: 'coordination'
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
// Verify environment for quality gate execution
|
|
73
|
+
const verification = await this.hookManager.executePreTaskVerification({
|
|
74
|
+
task: 'quality-gate-evaluation',
|
|
75
|
+
context: {
|
|
76
|
+
requiredVars: ['NODE_ENV', 'QUALITY_PROFILE'],
|
|
77
|
+
minMemoryMB: 512,
|
|
78
|
+
requiredModules: ['jest', 'eslint']
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
// Emit quality gate starting event
|
|
83
|
+
this.eventBus.emit('quality-gate:starting', {
|
|
84
|
+
agentId: this.agentId,
|
|
85
|
+
thresholds: thresholds,
|
|
86
|
+
context: context
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
this.logger.info('Quality gate validation starting', {
|
|
90
|
+
thresholds,
|
|
91
|
+
verification: verification.passed
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
protected async onPostTask(data: { assignment: TaskAssignment; result: any }): Promise<void> {
|
|
96
|
+
// Store quality gate decisions in swarm memory
|
|
97
|
+
await this.memoryStore.store('aqe/quality/decisions', data.result, {
|
|
98
|
+
partition: 'decisions',
|
|
99
|
+
ttl: 86400 // 24 hours
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
// Store decision metrics for trend analysis
|
|
103
|
+
await this.memoryStore.store('aqe/quality/metrics', {
|
|
104
|
+
timestamp: Date.now(),
|
|
105
|
+
decision: data.result.decision,
|
|
106
|
+
score: data.result.score,
|
|
107
|
+
riskLevel: data.result.riskLevel,
|
|
108
|
+
policyViolations: data.result.policyViolations
|
|
109
|
+
}, {
|
|
110
|
+
partition: 'metrics',
|
|
111
|
+
ttl: 604800 // 7 days
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
// Emit completion event with decision outcome
|
|
115
|
+
this.eventBus.emit('quality-gate:completed', {
|
|
116
|
+
agentId: this.agentId,
|
|
117
|
+
decision: data.result.decision,
|
|
118
|
+
score: data.result.score,
|
|
119
|
+
goPassed: data.result.decision === 'GO'
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
// Validate quality gate results
|
|
123
|
+
const validation = await this.hookManager.executePostTaskValidation({
|
|
124
|
+
task: 'quality-gate-evaluation',
|
|
125
|
+
result: {
|
|
126
|
+
output: data.result,
|
|
127
|
+
coverage: data.result.coverageScore,
|
|
128
|
+
metrics: {
|
|
129
|
+
qualityScore: data.result.score,
|
|
130
|
+
riskLevel: data.result.riskLevel
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
this.logger.info('Quality gate evaluation completed', {
|
|
136
|
+
decision: data.result.decision,
|
|
137
|
+
score: data.result.score,
|
|
138
|
+
validated: validation.passed
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
protected async onTaskError(data: { assignment: TaskAssignment; error: Error }): Promise<void> {
|
|
143
|
+
// Store error for fleet analysis
|
|
144
|
+
await this.memoryStore.store(`aqe/errors/${data.assignment.task.id}`, {
|
|
145
|
+
error: data.error.message,
|
|
146
|
+
timestamp: Date.now(),
|
|
147
|
+
agent: this.agentId,
|
|
148
|
+
taskType: 'quality-gate-evaluation'
|
|
149
|
+
}, {
|
|
150
|
+
partition: 'errors',
|
|
151
|
+
ttl: 604800 // 7 days
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
// Emit error event for fleet coordination
|
|
155
|
+
this.eventBus.emit('quality-gate:error', {
|
|
156
|
+
agentId: this.agentId,
|
|
157
|
+
error: data.error.message,
|
|
158
|
+
taskId: data.assignment.task.id
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
this.logger.error('Quality gate evaluation failed', {
|
|
162
|
+
error: data.error.message,
|
|
163
|
+
stack: data.error.stack
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
**Advanced Verification (Optional):**
|
|
169
|
+
```typescript
|
|
170
|
+
// Use VerificationHookManager for comprehensive validation
|
|
171
|
+
const hookManager = new VerificationHookManager(this.memoryStore);
|
|
172
|
+
|
|
173
|
+
// Pre-task verification with environment checks
|
|
174
|
+
const verification = await hookManager.executePreTaskVerification({
|
|
175
|
+
task: 'quality-gate-evaluation',
|
|
176
|
+
context: {
|
|
177
|
+
requiredVars: ['NODE_ENV', 'QUALITY_PROFILE', 'THRESHOLD_CONFIG'],
|
|
178
|
+
minMemoryMB: 512,
|
|
179
|
+
requiredModules: ['jest', 'eslint', '@typescript-eslint/parser']
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
|
|
183
|
+
// Post-task validation with result verification
|
|
184
|
+
const validation = await hookManager.executePostTaskValidation({
|
|
185
|
+
task: 'quality-gate-evaluation',
|
|
186
|
+
result: {
|
|
187
|
+
output: gateDecision,
|
|
188
|
+
coverage: coverageScore,
|
|
189
|
+
metrics: {
|
|
190
|
+
qualityScore: qualityScore,
|
|
191
|
+
riskLevel: riskLevel,
|
|
192
|
+
policyCompliance: complianceScore
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
});
|
|
196
|
+
|
|
197
|
+
// Pre-edit verification before modifying quality configurations
|
|
198
|
+
const editCheck = await hookManager.executePreEditVerification({
|
|
199
|
+
filePath: 'config/quality-thresholds.json',
|
|
200
|
+
operation: 'write',
|
|
201
|
+
content: JSON.stringify(newThresholds)
|
|
202
|
+
});
|
|
203
|
+
|
|
204
|
+
// Session finalization with quality gate audit export
|
|
205
|
+
const finalization = await hookManager.executeSessionEndFinalization({
|
|
206
|
+
sessionId: 'quality-gate-v2.0.0',
|
|
207
|
+
exportMetrics: true,
|
|
208
|
+
exportArtifacts: true
|
|
209
|
+
});
|
|
210
|
+
```
|
|
211
|
+
|
|
61
212
|
## Decision Workflow
|
|
62
213
|
|
|
63
214
|
### Phase 1: Context Assessment
|
|
@@ -249,25 +400,6 @@ agentic-qe agent status --name qe-quality-gate
|
|
|
249
400
|
agentic-qe agent history qe-quality-gate --decisions --limit 50
|
|
250
401
|
```
|
|
251
402
|
|
|
252
|
-
## Coordination Hooks
|
|
253
|
-
|
|
254
|
-
### Pre-Task Hooks
|
|
255
|
-
```bash
|
|
256
|
-
# Validate quality thresholds before evaluation
|
|
257
|
-
npx claude-flow@alpha hooks pre-task --agent qe-quality-gate --action validate_thresholds
|
|
258
|
-
|
|
259
|
-
# Load decision context
|
|
260
|
-
npx claude-flow@alpha hooks pre-task --agent qe-quality-gate --action load_context
|
|
261
|
-
```
|
|
262
|
-
|
|
263
|
-
### Post-Task Hooks
|
|
264
|
-
```bash
|
|
265
|
-
# Update quality metrics after decision
|
|
266
|
-
npx claude-flow@alpha hooks post-task --agent qe-quality-gate --action update_metrics
|
|
267
|
-
|
|
268
|
-
# Store decision outcomes
|
|
269
|
-
npx claude-flow@alpha hooks post-task --agent qe-quality-gate --action store_outcomes
|
|
270
|
-
```
|
|
271
403
|
|
|
272
404
|
## Fleet Integration
|
|
273
405
|
|