agentic-qe 1.9.3 → 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 +116 -0
- package/README.md +59 -7
- package/config/.env.otel.example +25 -0
- package/config/OTEL-QUICK-REFERENCE.md +137 -0
- package/config/README-OTEL.md +222 -0
- package/config/alerting-rules.yml +518 -0
- package/config/docker-compose.otel.yml +187 -0
- package/config/grafana/dashboards/agentic-qe-overview.json +286 -0
- package/config/grafana/provisioning/dashboards/dashboards.yml +19 -0
- package/config/grafana/provisioning/datasources/datasources.yml +53 -0
- package/config/otel-collector-config.yaml.example +145 -0
- package/config/prometheus.yml.example +106 -0
- 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/alerting/AlertManager.d.ts +120 -0
- package/dist/alerting/AlertManager.d.ts.map +1 -0
- package/dist/alerting/AlertManager.js +345 -0
- package/dist/alerting/AlertManager.js.map +1 -0
- package/dist/alerting/FeedbackRouter.d.ts +98 -0
- package/dist/alerting/FeedbackRouter.d.ts.map +1 -0
- package/dist/alerting/FeedbackRouter.js +331 -0
- package/dist/alerting/FeedbackRouter.js.map +1 -0
- package/dist/alerting/StrategyApplicator.d.ts +120 -0
- package/dist/alerting/StrategyApplicator.d.ts.map +1 -0
- package/dist/alerting/StrategyApplicator.js +299 -0
- package/dist/alerting/StrategyApplicator.js.map +1 -0
- package/dist/alerting/index.d.ts +68 -0
- package/dist/alerting/index.d.ts.map +1 -0
- package/dist/alerting/index.js +112 -0
- package/dist/alerting/index.js.map +1 -0
- package/dist/alerting/types.d.ts +118 -0
- package/dist/alerting/types.d.ts.map +1 -0
- package/dist/alerting/types.js +11 -0
- package/dist/alerting/types.js.map +1 -0
- 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 +13 -13
- 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/IPatternStore.d.ts +209 -0
- package/dist/core/memory/IPatternStore.d.ts.map +1 -0
- package/dist/core/memory/IPatternStore.js +15 -0
- package/dist/core/memory/IPatternStore.js.map +1 -0
- package/dist/core/memory/MigrationTools.d.ts +192 -0
- package/dist/core/memory/MigrationTools.d.ts.map +1 -0
- package/dist/core/memory/MigrationTools.js +615 -0
- package/dist/core/memory/MigrationTools.js.map +1 -0
- package/dist/core/memory/NeuralEnhancement.d.ts +154 -0
- package/dist/core/memory/NeuralEnhancement.d.ts.map +1 -0
- package/dist/core/memory/NeuralEnhancement.js +598 -0
- package/dist/core/memory/NeuralEnhancement.js.map +1 -0
- package/dist/core/memory/PatternStoreFactory.d.ts +143 -0
- package/dist/core/memory/PatternStoreFactory.d.ts.map +1 -0
- package/dist/core/memory/PatternStoreFactory.js +370 -0
- package/dist/core/memory/PatternStoreFactory.js.map +1 -0
- package/dist/core/memory/RealAgentDBAdapter.d.ts +1 -0
- package/dist/core/memory/RealAgentDBAdapter.d.ts.map +1 -1
- package/dist/core/memory/RealAgentDBAdapter.js +28 -20
- package/dist/core/memory/RealAgentDBAdapter.js.map +1 -1
- package/dist/core/memory/RuVectorPatternStore.d.ts +198 -0
- package/dist/core/memory/RuVectorPatternStore.d.ts.map +1 -0
- package/dist/core/memory/RuVectorPatternStore.js +605 -0
- package/dist/core/memory/RuVectorPatternStore.js.map +1 -0
- package/dist/core/memory/SelfHealingMonitor.d.ts +186 -0
- package/dist/core/memory/SelfHealingMonitor.d.ts.map +1 -0
- package/dist/core/memory/SelfHealingMonitor.js +451 -0
- package/dist/core/memory/SelfHealingMonitor.js.map +1 -0
- package/dist/core/memory/SwarmMemoryManager.d.ts +62 -0
- package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
- package/dist/core/memory/SwarmMemoryManager.js +97 -0
- package/dist/core/memory/SwarmMemoryManager.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 +16 -0
- package/dist/core/memory/index.d.ts.map +1 -1
- package/dist/core/memory/index.js +58 -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/reasoning/RuVectorReasoningAdapter.d.ts +232 -0
- package/dist/reasoning/RuVectorReasoningAdapter.d.ts.map +1 -0
- package/dist/reasoning/RuVectorReasoningAdapter.js +585 -0
- package/dist/reasoning/RuVectorReasoningAdapter.js.map +1 -0
- package/dist/reasoning/index.d.ts +2 -0
- package/dist/reasoning/index.d.ts.map +1 -1
- package/dist/reasoning/index.js +6 -1
- package/dist/reasoning/index.js.map +1 -1
- package/dist/reporting/ResultAggregator.d.ts +107 -0
- package/dist/reporting/ResultAggregator.d.ts.map +1 -0
- package/dist/reporting/ResultAggregator.js +435 -0
- package/dist/reporting/ResultAggregator.js.map +1 -0
- package/dist/reporting/index.d.ts +48 -0
- package/dist/reporting/index.d.ts.map +1 -0
- package/dist/reporting/index.js +154 -0
- package/dist/reporting/index.js.map +1 -0
- package/dist/reporting/reporters/ControlLoopReporter.d.ts +128 -0
- package/dist/reporting/reporters/ControlLoopReporter.d.ts.map +1 -0
- package/dist/reporting/reporters/ControlLoopReporter.js +417 -0
- package/dist/reporting/reporters/ControlLoopReporter.js.map +1 -0
- package/dist/reporting/reporters/HumanReadableReporter.d.ts +140 -0
- package/dist/reporting/reporters/HumanReadableReporter.d.ts.map +1 -0
- package/dist/reporting/reporters/HumanReadableReporter.js +524 -0
- package/dist/reporting/reporters/HumanReadableReporter.js.map +1 -0
- package/dist/reporting/reporters/JSONReporter.d.ts +193 -0
- package/dist/reporting/reporters/JSONReporter.d.ts.map +1 -0
- package/dist/reporting/reporters/JSONReporter.js +324 -0
- package/dist/reporting/reporters/JSONReporter.js.map +1 -0
- package/dist/reporting/reporters/index.d.ts +14 -0
- package/dist/reporting/reporters/index.d.ts.map +1 -0
- package/dist/reporting/reporters/index.js +19 -0
- package/dist/reporting/reporters/index.js.map +1 -0
- package/dist/reporting/types.d.ts +427 -0
- package/dist/reporting/types.d.ts.map +1 -0
- package/dist/reporting/types.js +12 -0
- package/dist/reporting/types.js.map +1 -0
- 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 +12 -4
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
set -e
|
|
3
|
+
|
|
4
|
+
# Testability Scoring Assessment Runner
|
|
5
|
+
# Usage: ./run-assessment.sh <URL> [browser]
|
|
6
|
+
|
|
7
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
8
|
+
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../../../.." && pwd)"
|
|
9
|
+
TEST_FILE="$PROJECT_ROOT/tests/testability-scoring/testability-scoring.spec.js"
|
|
10
|
+
|
|
11
|
+
# Colors
|
|
12
|
+
GREEN='\033[0;32m'
|
|
13
|
+
BLUE='\033[0;34m'
|
|
14
|
+
YELLOW='\033[1;33m'
|
|
15
|
+
RED='\033[0;31m'
|
|
16
|
+
NC='\033[0m' # No Color
|
|
17
|
+
|
|
18
|
+
# Check if URL provided
|
|
19
|
+
if [ -z "$1" ]; then
|
|
20
|
+
echo -e "${RED}Error: URL required${NC}"
|
|
21
|
+
echo "Usage: $0 <URL> [browser]"
|
|
22
|
+
echo "Example: $0 https://example.com chromium"
|
|
23
|
+
exit 1
|
|
24
|
+
fi
|
|
25
|
+
|
|
26
|
+
TARGET_URL="$1"
|
|
27
|
+
BROWSER="${2:-chromium}"
|
|
28
|
+
|
|
29
|
+
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
30
|
+
echo -e "${GREEN}🎯 Testability Assessment${NC}"
|
|
31
|
+
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
32
|
+
echo ""
|
|
33
|
+
echo -e " ${YELLOW}URL:${NC} $TARGET_URL"
|
|
34
|
+
echo -e " ${YELLOW}Browser:${NC} $BROWSER"
|
|
35
|
+
echo ""
|
|
36
|
+
echo -e "${BLUE}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
37
|
+
echo ""
|
|
38
|
+
|
|
39
|
+
# Change to project root
|
|
40
|
+
cd "$PROJECT_ROOT"
|
|
41
|
+
|
|
42
|
+
# Run Playwright tests with TEST_URL environment variable
|
|
43
|
+
echo -e "${YELLOW}⏳ Running assessment...${NC}\n"
|
|
44
|
+
|
|
45
|
+
TEST_URL="$TARGET_URL" npx playwright test "$TEST_FILE" --project="$BROWSER" --workers=1
|
|
46
|
+
|
|
47
|
+
# Check if tests passed
|
|
48
|
+
if [ $? -eq 0 ]; then
|
|
49
|
+
echo ""
|
|
50
|
+
echo -e "${GREEN}✅ Assessment completed successfully!${NC}"
|
|
51
|
+
|
|
52
|
+
# Find the latest JSON report
|
|
53
|
+
LATEST_JSON=$(ls -t "$PROJECT_ROOT/tests/reports/testability-results-"*.json 2>/dev/null | head -1)
|
|
54
|
+
|
|
55
|
+
if [ -n "$LATEST_JSON" ]; then
|
|
56
|
+
# Generate HTML report
|
|
57
|
+
echo -e "\n${YELLOW}📊 Generating HTML report...${NC}\n"
|
|
58
|
+
node "$SCRIPT_DIR/generate-html-report.js" "$LATEST_JSON"
|
|
59
|
+
|
|
60
|
+
echo ""
|
|
61
|
+
echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
62
|
+
echo -e "${GREEN}✓ Complete! Check your browser for the report.${NC}"
|
|
63
|
+
echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
|
64
|
+
else
|
|
65
|
+
echo -e "${YELLOW}⚠️ JSON report not found${NC}"
|
|
66
|
+
fi
|
|
67
|
+
else
|
|
68
|
+
echo -e "\n${RED}❌ Assessment failed${NC}"
|
|
69
|
+
exit 1
|
|
70
|
+
fi
|
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,122 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [2.0.0] - 2025-12-02
|
|
11
|
+
|
|
12
|
+
### 🚀 Major Release: Agentic QE Fleet v2
|
|
13
|
+
|
|
14
|
+
This major release delivers significant improvements across the entire Agentic QE Fleet, including proper QUIC transport, enhanced visualization, testability scoring skill, QX Partner agent, and contributor features.
|
|
15
|
+
|
|
16
|
+
### ⚠️ Breaking Changes
|
|
17
|
+
|
|
18
|
+
- **QUIC Transport**: Replaced fake HTTP/2-based implementation with proper QUIC via Rust/WASM (`@agentic-flow/quic-wasm`)
|
|
19
|
+
- **Skills Manifest**: Reduced from 68 to 41 QE-only skills (removed Claude Flow platform skills)
|
|
20
|
+
- **EventType in emit-event.ts**: Changed from string to enum mapping for type safety
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
|
|
24
|
+
#### Real-Time Visualization Dashboard (PR #96 by @fndlalit)
|
|
25
|
+
- WebSocket connection on port 8080 for backend compatibility
|
|
26
|
+
- LifecycleTimeline support for `agent:spawned`, `agent:started`, `agent:completed`, `agent:error` events
|
|
27
|
+
- New `emit-event.ts` module with convenience functions for agent lifecycle events
|
|
28
|
+
- CLI event emission via `scripts/emit-agent-event.ts`
|
|
29
|
+
- Hook integration with `emit-task-spawn.sh` and `emit-task-complete.sh`
|
|
30
|
+
|
|
31
|
+
#### Testability Scoring Skill (PR #98 by @fndlalit)
|
|
32
|
+
- Comprehensive context collection for all 10 testability principles
|
|
33
|
+
- Contextual, site-specific recommendations based on actual measurements
|
|
34
|
+
- HTML report generation with principle breakdown table
|
|
35
|
+
- `run-assessment.sh` shell script with colored terminal output
|
|
36
|
+
- Browser auto-open support (chromium/firefox/webkit)
|
|
37
|
+
- Complete skill package at `.claude/skills/testability-scoring/`
|
|
38
|
+
|
|
39
|
+
#### QX Partner Agent
|
|
40
|
+
- New `QXPartnerAgent.ts` with balance analysis and oracle detection
|
|
41
|
+
- Comprehensive documentation at `docs/agents/QX-PARTNER-AGENT.md`
|
|
42
|
+
- Example implementations in `examples/qx-partner/`
|
|
43
|
+
|
|
44
|
+
#### Proper QUIC Transport Layer
|
|
45
|
+
- `src/core/transport/quic.ts` - QUIC via Rust/WASM with 0-RTT, stream multiplexing, TLS 1.3
|
|
46
|
+
- `src/core/transport/quic-loader.ts` - Automatic WebSocket fallback when WASM unavailable
|
|
47
|
+
- `src/types/agentic-flow-quic-wasm.d.ts` - Dedicated type declarations for optional WASM module
|
|
48
|
+
- 21 transport tests passing
|
|
49
|
+
|
|
50
|
+
#### Skills Manifest Cleanup
|
|
51
|
+
- `.claude/skills/skills-manifest.json` with 41 QE-only skills
|
|
52
|
+
- Categories: qe-core, testing-methodologies, test-design, specialized-testing, analysis-review, infrastructure, development-practices, bug-management
|
|
53
|
+
|
|
54
|
+
### Fixed
|
|
55
|
+
|
|
56
|
+
- **emit-event.ts TypeScript errors**: EventType mapping and string ID handling
|
|
57
|
+
- **UnifiedMemoryCoordinator.ts**: Logger.getInstance(), correct method signatures
|
|
58
|
+
- **Visualization WebSocket**: Port 8080, timestamp handling, MindMap null checks
|
|
59
|
+
- **express security vulnerability**: Updated to 5.2.1 (CVE-2024-51999)
|
|
60
|
+
|
|
61
|
+
### Changed
|
|
62
|
+
|
|
63
|
+
- Agent definitions streamlined (removed redundant content from 14 agent files)
|
|
64
|
+
- Skills manifest reorganized with proper categorization
|
|
65
|
+
- Transport layer architecture (QUIC with WebSocket fallback)
|
|
66
|
+
|
|
67
|
+
### Contributors
|
|
68
|
+
|
|
69
|
+
- **@fndlalit**: Real-time visualization dashboard, testability scoring skill
|
|
70
|
+
- **Dependabot**: Security updates (express 5.2.1)
|
|
71
|
+
|
|
72
|
+
## [1.9.4] - 2025-11-30
|
|
73
|
+
|
|
74
|
+
### 🔧 Critical Fixes: Memory/Learning/Patterns System
|
|
75
|
+
|
|
76
|
+
This release delivers critical fixes to the memory, learning, and patterns system based on thorough investigation (Sherlock Investigation Report). All QE agents now have a fully functional learning system with proper vector embeddings, Q-value reinforcement learning, and persistent pattern storage.
|
|
77
|
+
|
|
78
|
+
### Fixed
|
|
79
|
+
|
|
80
|
+
- **Vector embeddings now stored correctly** (was storing NULL): Fixed `RealAgentDBAdapter.store()` to properly store 384-dimension embeddings as BLOB data instead of NULL
|
|
81
|
+
- **SQL parameter style bug**: Fixed agentdb's `SqlJsDatabase` wrapper to use spread params (`stmt.run(a, b, c)`) instead of array params (`stmt.run([a,b,c])`) which caused "NOT NULL constraint failed" errors
|
|
82
|
+
- **HNSW index schema mismatch**: Added `pattern_id` generated column for agentdb's HNSWIndex compatibility which requires this column for vector search
|
|
83
|
+
- **Learning experience retrieval**: Added missing getter methods that were referenced but didn't exist
|
|
84
|
+
- **Hooks saving to wrong database**: Fixed all Claude Code hooks to explicitly export `AGENTDB_PATH=.agentic-qe/agentdb.db` so learning data is saved to the project database instead of the root directory
|
|
85
|
+
- **CI failures due to ARM64-only ruvector packages**: Moved `@ruvector/node-linux-arm64-gnu` and `ruvector-core-linux-arm64-gnu` from dependencies to optionalDependencies. Added x64 variants for CI compatibility
|
|
86
|
+
|
|
87
|
+
### Added
|
|
88
|
+
|
|
89
|
+
- **New SwarmMemoryManager methods for learning data retrieval**:
|
|
90
|
+
- `getBestAction(agentId, stateKey)` - Q-learning best action selection
|
|
91
|
+
- `getRecentLearningExperiences(agentId, limit)` - Recent experience retrieval
|
|
92
|
+
- `getLearningExperiencesByTaskType(agentId, taskType, limit)` - Task-filtered experiences
|
|
93
|
+
- `getHighRewardExperiences(agentId, minReward, limit)` - Successful experience extraction
|
|
94
|
+
- `getLearningStats(agentId)` - Aggregate learning statistics (total, avg, max, min rewards)
|
|
95
|
+
|
|
96
|
+
- **Hooks integration**: Added `AGENTDB_PATH` environment variable to connect Claude Code hooks to the QE database
|
|
97
|
+
|
|
98
|
+
- **New modules (Phase 4 Alerting & Reporting)**:
|
|
99
|
+
- `src/alerting/` - AlertManager, FeedbackRouter, StrategyApplicator (1,394 LOC)
|
|
100
|
+
- `src/reporting/` - ResultAggregator, reporters (3,030 LOC)
|
|
101
|
+
- Quality gate scripts and GitHub Actions workflow
|
|
102
|
+
|
|
103
|
+
- **Integration test**: `tests/integration/memory-learning-loop.test.ts` - Comprehensive 7-phase test validating the full learning cycle:
|
|
104
|
+
1. Pattern storage with embeddings
|
|
105
|
+
2. Learning experience capture
|
|
106
|
+
3. Q-value reinforcement learning
|
|
107
|
+
4. Memory persistence
|
|
108
|
+
5. Pattern retrieval
|
|
109
|
+
6. Vector similarity search
|
|
110
|
+
7. Full learning loop simulation
|
|
111
|
+
|
|
112
|
+
### Changed
|
|
113
|
+
|
|
114
|
+
- **RealAgentDBAdapter**: Now properly retrieves stored embeddings when querying patterns instead of using placeholder values
|
|
115
|
+
- **Pattern table schema**: Added generated column `pattern_id TEXT GENERATED ALWAYS AS (id) STORED` for HNSW compatibility
|
|
116
|
+
|
|
117
|
+
### Technical Details
|
|
118
|
+
|
|
119
|
+
- Vector embeddings: 384 dimensions × 4 bytes = 1,536 bytes per pattern
|
|
120
|
+
- AgentDB version: v1.6.1 with ReasoningBank (16 learning tables)
|
|
121
|
+
- HNSW index: 150x faster vector search enabled
|
|
122
|
+
- All 12 integration tests pass
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
10
126
|
## [1.9.3] - 2025-11-26
|
|
11
127
|
|
|
12
128
|
### 🐛 Bugfix: NPM Package Missing Files
|
package/README.md
CHANGED
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
<img alt="NPM Downloads" src="https://img.shields.io/npm/dw/agentic-qe">
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
**Version
|
|
12
|
+
**Version 2.0.0** | [Changelog](CHANGELOG.md) | [Issues](https://github.com/proffesor-for-testing/agentic-qe/issues) | [Discussions](https://github.com/proffesor-for-testing/agentic-qe/discussions)
|
|
13
13
|
|
|
14
|
-
> Agentic test automation with AI learning, real-time visualization, OpenTelemetry observability, persistent event storage, constitutional AI governance, and intelligent model routing.
|
|
14
|
+
> Agentic test automation with AI learning, real-time visualization, QUIC transport, testability scoring, OpenTelemetry observability, persistent event storage, constitutional AI governance, and intelligent model routing.
|
|
15
15
|
|
|
16
|
-
🎨 **Real-Time Visualization** | 📊 **
|
|
16
|
+
🎨 **Real-Time Visualization** | 📊 **Testability Scoring** | 🧠 **QE Agent Learning** | 🚀 **QUIC Transport** | 📋 **Constitution System** | 📚 **41 QE Skills** | 🎯 **Flaky Detection** | 💰 **Multi-Model Router**
|
|
17
17
|
|
|
18
18
|
</div>
|
|
19
19
|
|
|
@@ -62,7 +62,7 @@ claude "Use qe-flaky-test-hunter to analyze the last 100 test runs and identify
|
|
|
62
62
|
- ✅ ML Flaky Detection (100% accuracy)
|
|
63
63
|
- ✅ 19 Specialized agent definitions (including qe-code-complexity)
|
|
64
64
|
- ✅ 11 TDD subagent definitions (RED/GREEN/REFACTOR phases + specialized)
|
|
65
|
-
- ✅
|
|
65
|
+
- ✅ 41 World-class QE skills library (accessibility, shift-left/right, verification, visual testing, XP practices, **testability-scoring** by [@fndlalit](https://github.com/fndlalit))
|
|
66
66
|
- ✅ 8 AQE slash commands
|
|
67
67
|
- ✅ Modular init system with comprehensive project setup
|
|
68
68
|
|
|
@@ -193,7 +193,7 @@ open http://localhost:3000
|
|
|
193
193
|
- **Performance Testing**: k6, JMeter, Gatling integration
|
|
194
194
|
- **Real-Time Streaming**: Live progress updates for all operations
|
|
195
195
|
|
|
196
|
-
### 🎓
|
|
196
|
+
### 🎓 41 QE Skills Library (v1.9.0)
|
|
197
197
|
**95%+ coverage of modern QE practices**
|
|
198
198
|
|
|
199
199
|
<details>
|
|
@@ -206,7 +206,7 @@ open http://localhost:3000
|
|
|
206
206
|
- **Code Quality**: code-review-quality, refactoring-patterns, quality-metrics
|
|
207
207
|
- **Communication**: bug-reporting-excellence, technical-writing, consultancy-practices
|
|
208
208
|
|
|
209
|
-
**Phase 2: Expanded QE Skills Library (
|
|
209
|
+
**Phase 2: Expanded QE Skills Library (16 skills)**
|
|
210
210
|
- **Testing Methodologies (7)**: regression-testing, shift-left-testing, shift-right-testing, test-design-techniques, mutation-testing, test-data-management, verification-quality
|
|
211
211
|
- **Specialized Testing (9)**: accessibility-testing, mobile-testing, database-testing, contract-testing, chaos-engineering-resilience, compatibility-testing, localization-testing, compliance-testing, visual-testing-advanced
|
|
212
212
|
- **Testing Infrastructure (2)**: test-environment-management, test-reporting-analytics
|
|
@@ -214,7 +214,7 @@ open http://localhost:3000
|
|
|
214
214
|
**Phase 3: Advanced Quality Engineering Skills (4 skills)**
|
|
215
215
|
- **Strategic Testing Methodologies (4)**: six-thinking-hats, brutal-honesty-review, sherlock-review, cicd-pipeline-qe-orchestrator
|
|
216
216
|
|
|
217
|
-
**Total:
|
|
217
|
+
**Total: 41 QE Skills** - Includes accessibility testing, shift-left/right testing, verification & quality assurance, visual testing advanced, XP practices, and technical writing
|
|
218
218
|
|
|
219
219
|
</details>
|
|
220
220
|
|
|
@@ -354,6 +354,33 @@ mcp__agentic_qe__coverage_analyze({
|
|
|
354
354
|
})
|
|
355
355
|
```
|
|
356
356
|
|
|
357
|
+
**All 102 MCP Tools Available:**
|
|
358
|
+
- Fleet Management (9 tools): init, spawn, status, coordinate, orchestrate
|
|
359
|
+
- Test Generation (4 tools): generate, enhanced, unit, integration
|
|
360
|
+
- Test Execution (3 tools): execute, parallel, stream
|
|
361
|
+
- Coverage Analysis (6 tools): analyze, gaps, trends, risk scoring, ML detection, recommendations
|
|
362
|
+
- Quality Gates (5 tools): execute, validate, assess risk, policy check, generate report
|
|
363
|
+
- Flaky Test Detection (3 tools): detect, analyze patterns, auto-stabilize
|
|
364
|
+
- Performance Testing (4 tools): benchmark, monitor, analyze bottlenecks, generate report
|
|
365
|
+
- Security Scanning (5 tools): comprehensive scan, vulnerabilities, auth validation, authz check, dependencies
|
|
366
|
+
- Visual Testing (3 tools): compare screenshots, accessibility validation, regression detection
|
|
367
|
+
- API Contract Testing (3 tools): validate, breaking changes, versioning
|
|
368
|
+
- Test Data Management (3 tools): generate, mask, analyze schema
|
|
369
|
+
- Requirements Engineering (2 tools): validate, generate BDD
|
|
370
|
+
- Code Quality (2 tools): complexity analysis, metrics
|
|
371
|
+
- Memory & Collaboration (5 tools): store, retrieve, query, share, backup
|
|
372
|
+
- Blackboard System (2 tools): post, read
|
|
373
|
+
- Consensus Mechanisms (2 tools): propose, vote
|
|
374
|
+
- Workflow Management (4 tools): create, execute, checkpoint, resume
|
|
375
|
+
- Event System (2 tools): emit, subscribe
|
|
376
|
+
- Regression Analysis (2 tools): risk analyze, select tests
|
|
377
|
+
- Production Monitoring (2 tools): incident replay, RUM analyze
|
|
378
|
+
- Mutation Testing (1 tool): execute
|
|
379
|
+
- Deployment Readiness (1 tool): check
|
|
380
|
+
- Artifact Management (1 tool): manifest
|
|
381
|
+
- Task Management (1 tool): status
|
|
382
|
+
- Learning System (4 tools): store experience, store Q-value, store pattern, query
|
|
383
|
+
|
|
357
384
|
### CLI Direct Usage
|
|
358
385
|
|
|
359
386
|
```bash
|
|
@@ -645,6 +672,31 @@ The test generator automatically delegates to subagents for a complete RED-GREEN
|
|
|
645
672
|
|
|
646
673
|
---
|
|
647
674
|
|
|
675
|
+
## 📝 What's New in v1.9.4
|
|
676
|
+
|
|
677
|
+
🔧 **Critical Memory & Learning System Fixes** (2025-11-30)
|
|
678
|
+
|
|
679
|
+
This release delivers critical fixes to the memory, learning, and patterns system. All QE agents now have a fully functional learning system with proper vector embeddings, Q-value reinforcement learning, and persistent pattern storage.
|
|
680
|
+
|
|
681
|
+
### Key Fixes
|
|
682
|
+
|
|
683
|
+
- **Vector embeddings now stored correctly**: Fixed `RealAgentDBAdapter.store()` to properly store 384-dimension embeddings as BLOB data
|
|
684
|
+
- **SQL parameter style bug**: Fixed agentdb's `SqlJsDatabase` wrapper to use spread params instead of array params
|
|
685
|
+
- **HNSW index schema mismatch**: Added `pattern_id` generated column for agentdb's HNSWIndex compatibility
|
|
686
|
+
- **Learning experience retrieval**: Added missing getter methods for Q-learning and experience replay
|
|
687
|
+
- **Hooks saving to wrong database**: Fixed all Claude Code hooks to explicitly export `AGENTDB_PATH` so learning data is saved correctly
|
|
688
|
+
- **CI platform compatibility**: Moved ARM64-only ruvector packages to optionalDependencies for x64 CI compatibility
|
|
689
|
+
|
|
690
|
+
### New Features
|
|
691
|
+
|
|
692
|
+
- **SwarmMemoryManager learning methods**: `getBestAction()`, `getRecentLearningExperiences()`, `getLearningStats()`, and more
|
|
693
|
+
- **Phase 4 Alerting & Reporting**: AlertManager, FeedbackRouter, StrategyApplicator modules
|
|
694
|
+
- **Quality Gate CI workflow**: GitHub Actions integration for automated quality validation
|
|
695
|
+
|
|
696
|
+
**Upgrade**: `npm install agentic-qe@1.9.4`
|
|
697
|
+
|
|
698
|
+
---
|
|
699
|
+
|
|
648
700
|
## 📝 What's New in v1.9.3
|
|
649
701
|
|
|
650
702
|
📦 **NPM Package Fix** (2025-11-26)
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# OTEL Stack Environment Variables
|
|
2
|
+
# Agentic QE Fleet - Issue #71
|
|
3
|
+
#
|
|
4
|
+
# Copy this file to .env.otel and customize as needed
|
|
5
|
+
# Usage: docker-compose -f config/docker-compose.otel.yml --env-file config/.env.otel up -d
|
|
6
|
+
|
|
7
|
+
# Deployment environment
|
|
8
|
+
DEPLOYMENT_ENVIRONMENT=development
|
|
9
|
+
|
|
10
|
+
# Grafana credentials (CHANGE IN PRODUCTION!)
|
|
11
|
+
GRAFANA_ADMIN_USER=admin
|
|
12
|
+
GRAFANA_ADMIN_PASSWORD=admin
|
|
13
|
+
|
|
14
|
+
# OTEL Collector settings
|
|
15
|
+
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318
|
|
16
|
+
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
|
|
17
|
+
|
|
18
|
+
# Service configuration
|
|
19
|
+
SERVICE_NAME=agentic-qe-fleet
|
|
20
|
+
SERVICE_NAMESPACE=agentic-qe
|
|
21
|
+
SERVICE_VERSION=1.9.3
|
|
22
|
+
|
|
23
|
+
# Prometheus retention
|
|
24
|
+
PROMETHEUS_RETENTION_TIME=15d
|
|
25
|
+
PROMETHEUS_RETENTION_SIZE=10GB
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# OTEL Stack Quick Reference Card
|
|
2
|
+
|
|
3
|
+
## 🚀 One-Line Start
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
docker-compose -f config/docker-compose.otel.yml up -d
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
## 🌐 Service URLs
|
|
10
|
+
|
|
11
|
+
| Service | URL | Login |
|
|
12
|
+
|---------|-----|-------|
|
|
13
|
+
| **Grafana** | http://localhost:3001 | admin/admin |
|
|
14
|
+
| **Prometheus** | http://localhost:9090 | - |
|
|
15
|
+
| **Jaeger** | http://localhost:16686 | - |
|
|
16
|
+
| **OTEL Health** | http://localhost:13133/health | - |
|
|
17
|
+
|
|
18
|
+
## 📡 Send Telemetry
|
|
19
|
+
|
|
20
|
+
### OTLP Endpoints
|
|
21
|
+
- gRPC: `localhost:4317`
|
|
22
|
+
- HTTP: `localhost:4318`
|
|
23
|
+
|
|
24
|
+
### Node.js Example
|
|
25
|
+
```javascript
|
|
26
|
+
const exporter = new OTLPTraceExporter({
|
|
27
|
+
url: 'http://localhost:4318/v1/traces'
|
|
28
|
+
});
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### cURL Test
|
|
32
|
+
```bash
|
|
33
|
+
curl http://localhost:4318/v1/traces \
|
|
34
|
+
-H "Content-Type: application/json" \
|
|
35
|
+
-d @trace.json
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## 🔍 Quick Checks
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
# Verify all services
|
|
42
|
+
./scripts/verify-otel-stack.sh
|
|
43
|
+
|
|
44
|
+
# Check health
|
|
45
|
+
curl http://localhost:13133/health # OTEL Collector
|
|
46
|
+
curl http://localhost:9090/-/healthy # Prometheus
|
|
47
|
+
curl http://localhost:14269/ # Jaeger
|
|
48
|
+
curl http://localhost:3001/api/health # Grafana
|
|
49
|
+
|
|
50
|
+
# View logs
|
|
51
|
+
docker-compose -f config/docker-compose.otel.yml logs -f
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## 🛠️ Common Commands
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# Start
|
|
58
|
+
docker-compose -f config/docker-compose.otel.yml up -d
|
|
59
|
+
|
|
60
|
+
# Stop
|
|
61
|
+
docker-compose -f config/docker-compose.otel.yml down
|
|
62
|
+
|
|
63
|
+
# Restart
|
|
64
|
+
docker-compose -f config/docker-compose.otel.yml restart
|
|
65
|
+
|
|
66
|
+
# View status
|
|
67
|
+
docker-compose -f config/docker-compose.otel.yml ps
|
|
68
|
+
|
|
69
|
+
# Logs
|
|
70
|
+
docker-compose -f config/docker-compose.otel.yml logs -f [service]
|
|
71
|
+
|
|
72
|
+
# Remove everything (INCLUDING DATA!)
|
|
73
|
+
docker-compose -f config/docker-compose.otel.yml down -v
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## 📊 Port Reference
|
|
77
|
+
|
|
78
|
+
### OTEL Collector
|
|
79
|
+
- 4317 - OTLP gRPC
|
|
80
|
+
- 4318 - OTLP HTTP
|
|
81
|
+
- 8889 - Prometheus metrics
|
|
82
|
+
- 13133 - Health check
|
|
83
|
+
|
|
84
|
+
### Prometheus
|
|
85
|
+
- 9090 - Web UI
|
|
86
|
+
|
|
87
|
+
### Jaeger
|
|
88
|
+
- 16686 - UI
|
|
89
|
+
- 14269 - Metrics
|
|
90
|
+
|
|
91
|
+
### Grafana
|
|
92
|
+
- 3001 - Web UI
|
|
93
|
+
|
|
94
|
+
## 🔧 Configuration Files
|
|
95
|
+
|
|
96
|
+
- **Docker Compose**: `config/docker-compose.otel.yml`
|
|
97
|
+
- **OTEL Collector**: `config/otel-collector-config.yaml.example`
|
|
98
|
+
- **Prometheus**: `config/prometheus.yml.example`
|
|
99
|
+
- **Grafana Datasources**: `config/grafana/provisioning/datasources/datasources.yml`
|
|
100
|
+
- **Grafana Dashboards**: `config/grafana/provisioning/dashboards/dashboards.yml`
|
|
101
|
+
|
|
102
|
+
## 📚 Documentation
|
|
103
|
+
|
|
104
|
+
- **Quick Start**: `config/README-OTEL.md`
|
|
105
|
+
- **Full Summary**: `docs/implementation-plans/issue-71-completion-summary.md`
|
|
106
|
+
- **Architecture**: `docs/architecture/otel-stack-architecture.md`
|
|
107
|
+
|
|
108
|
+
## 🐛 Quick Troubleshooting
|
|
109
|
+
|
|
110
|
+
| Issue | Solution |
|
|
111
|
+
|-------|----------|
|
|
112
|
+
| Services not starting | Check logs: `docker-compose -f config/docker-compose.otel.yml logs` |
|
|
113
|
+
| Port already in use | Change external port in `docker-compose.otel.yml` |
|
|
114
|
+
| Grafana can't connect | Check datasources: Grafana → Configuration → Data Sources |
|
|
115
|
+
| No metrics in Prometheus | Check targets: http://localhost:9090/targets |
|
|
116
|
+
| No traces in Jaeger | Verify OTLP endpoint: `curl http://localhost:4318` |
|
|
117
|
+
|
|
118
|
+
## 🎯 Grafana Datasources
|
|
119
|
+
|
|
120
|
+
Pre-configured and auto-loaded:
|
|
121
|
+
|
|
122
|
+
1. **Prometheus** (default) - `http://prometheus:9090`
|
|
123
|
+
2. **Jaeger** - `http://jaeger:16686`
|
|
124
|
+
3. **OTEL Collector Metrics** - `http://otel-collector:8889`
|
|
125
|
+
|
|
126
|
+
## ✅ Verification Checklist
|
|
127
|
+
|
|
128
|
+
- [ ] All 4 services running: `docker-compose ps`
|
|
129
|
+
- [ ] Health checks passing: `./scripts/verify-otel-stack.sh`
|
|
130
|
+
- [ ] OTLP endpoints accessible: `curl http://localhost:4318`
|
|
131
|
+
- [ ] Prometheus targets green: http://localhost:9090/targets
|
|
132
|
+
- [ ] Grafana datasources connected: Grafana UI → Data Sources
|
|
133
|
+
- [ ] Sample dashboard visible: Grafana → Dashboards
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
**Issue #71 - COMPLETED** ✅
|