claude-flow-novice 2.14.3 → 2.14.5

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.
Files changed (194) hide show
  1. package/.claude/commands/CFN_LOOP_TASK_MODE.md +4 -47
  2. package/.claude/commands/seo/SEO_TASK_MODE.md +892 -0
  3. package/.claude/commands/seo/seo-blog.md +428 -0
  4. package/.claude/commands/seo/seo-landing.md +91 -0
  5. package/.claude/commands/seo/seo-product.md +104 -0
  6. package/.claude/skills/cfn-redis-coordination/demos/test-cancel-swarm.sh +0 -276
  7. package/claude-assets/agents/cfn-dev-team/coordinators/epic-creator.md +120 -0
  8. package/claude-assets/agents/cfn-seo-team/AGENT_CREATION_REPORT.md +481 -0
  9. package/claude-assets/agents/cfn-seo-team/DELEGATION_MATRIX.md +371 -0
  10. package/claude-assets/agents/cfn-seo-team/HUMANIZER_PROMPTS.md +536 -0
  11. package/claude-assets/agents/cfn-seo-team/INTEGRATION_REQUIREMENTS.md +642 -0
  12. package/claude-assets/agents/cfn-seo-team/cfn-seo-coordinator.md +414 -0
  13. package/claude-assets/agents/cfn-seo-team/competitive-seo-analyst.md +423 -0
  14. package/claude-assets/agents/cfn-seo-team/content-atomization-specialist.md +580 -0
  15. package/claude-assets/agents/cfn-seo-team/content-seo-strategist.md +245 -0
  16. package/claude-assets/agents/cfn-seo-team/eeat-content-auditor.md +389 -0
  17. package/claude-assets/agents/cfn-seo-team/geo-optimization-expert.md +269 -0
  18. package/claude-assets/agents/cfn-seo-team/link-building-specialist.md +291 -0
  19. package/claude-assets/agents/cfn-seo-team/local-seo-optimizer.md +333 -0
  20. package/claude-assets/agents/cfn-seo-team/programmatic-seo-engineer.md +244 -0
  21. package/claude-assets/agents/cfn-seo-team/schema-markup-engineer.md +430 -0
  22. package/claude-assets/agents/cfn-seo-team/seo-analytics-specialist.md +376 -0
  23. package/claude-assets/agents/cfn-seo-team/seo-validators/accessibility-validator.md +565 -0
  24. package/claude-assets/agents/cfn-seo-team/seo-validators/audience-validator.md +484 -0
  25. package/claude-assets/agents/cfn-seo-team/seo-validators/branding-validator.md +452 -0
  26. package/claude-assets/agents/cfn-seo-team/seo-validators/humanizer-validator.md +333 -0
  27. package/claude-assets/agents/cfn-seo-team/technical-seo-specialist.md +228 -0
  28. package/claude-assets/commands/CFN_LOOP_TASK_MODE.md +4 -47
  29. package/claude-assets/commands/seo/SEO_TASK_MODE.md +892 -0
  30. package/claude-assets/commands/seo/seo-blog.md +428 -0
  31. package/claude-assets/commands/seo/seo-landing.md +91 -0
  32. package/claude-assets/commands/seo/seo-product.md +104 -0
  33. package/claude-assets/skills/cfn-redis-coordination/demos/test-cancel-swarm.sh +0 -276
  34. package/claude-assets/skills/seo-orchestration/SKILL.md +292 -0
  35. package/claude-assets/skills/seo-orchestration/orchestrate-seo.sh +566 -0
  36. package/claude-assets/skills/seo-orchestration/orchestrate-seo.sh.backup +755 -0
  37. package/claude-assets/skills/seo-orchestration/validate-consensus.sh +270 -0
  38. package/dist/agents/agent-loader.js +165 -146
  39. package/dist/agents/agent-loader.js.map +1 -1
  40. package/dist/cli/agent-prompt-builder.js +25 -0
  41. package/dist/cli/agent-prompt-builder.js.map +1 -1
  42. package/package.json +1 -1
  43. package/.claude/skills/cfn-redis-coordination/HEARTBEAT.md +0 -57
  44. package/.claude/skills/cfn-redis-coordination/HEARTBEAT_MONITORING.md +0 -267
  45. package/.claude/skills/cfn-redis-coordination/LOGGING.md +0 -260
  46. package/.claude/skills/cfn-redis-coordination/README.md +0 -65
  47. package/.claude/skills/cfn-redis-coordination/SECURITY_REVIEW.md +0 -25
  48. package/.claude/skills/cfn-redis-coordination/SHUTDOWN_HANDLING.md +0 -164
  49. package/.claude/skills/cfn-redis-coordination/SKILL.md +0 -720
  50. package/.claude/skills/cfn-redis-coordination/demos/test-dlq.sh +0 -129
  51. package/.claude/skills/cfn-redis-coordination/demos/test-iteration-feedback.sh +0 -320
  52. package/.claude/skills/cfn-redis-coordination/demos/test-orchestrator.sh +0 -249
  53. package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake-phase4-unix.sh +0 -148
  54. package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake-phase4.sh +0 -163
  55. package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake.sh +0 -138
  56. package/.claude/skills/cfn-redis-coordination/demos/test-quick-fix.sh +0 -81
  57. package/.claude/skills/cfn-redis-coordination/demos/test-quorum-absolute.sh +0 -45
  58. package/.claude/skills/cfn-redis-coordination/demos/test-quorum-fallback.sh +0 -68
  59. package/.claude/skills/cfn-redis-coordination/demos/test-quorum-percentage.sh +0 -56
  60. package/.claude/skills/cfn-redis-coordination/demos/test-quorum-with-retry.sh +0 -81
  61. package/.claude/skills/cfn-redis-coordination/demos/test-quorum.sh +0 -57
  62. package/.claude/skills/cfn-redis-coordination/demos/test-shutdown-handling.sh +0 -187
  63. package/.claude/skills/cfn-redis-coordination/demos/test-shutdown.sh +0 -160
  64. package/.claude/skills/cfn-redis-coordination/demos/test-utils-unix.sh +0 -97
  65. package/.claude/skills/cfn-redis-coordination/demos/test-utils.sh +0 -97
  66. package/.claude/skills/cfn-redis-coordination/demos/test-waiting-mode.sh +0 -59
  67. package/.claude/skills/cfn-redis-coordination/examples/README.md +0 -73
  68. package/.claude/skills/cfn-redis-coordination/examples/grafana-dashboard.json +0 -352
  69. package/.claude/skills/cfn-redis-coordination/examples/hierarchical-pattern.sh +0 -127
  70. package/.claude/skills/cfn-redis-coordination/examples/mesh-pattern.sh +0 -171
  71. package/.claude/skills/cfn-redis-coordination/examples/timeout-handling.sh +0 -227
  72. package/.claude/skills/cfn-redis-coordination/examples/waiting-mode-pattern.sh +0 -239
  73. package/.claude/skills/cfn-redis-coordination/execute-product-owner-decision.sh +0 -258
  74. package/.claude/skills/cfn-redis-coordination/get-agent-timeout.sh +0 -177
  75. package/.claude/skills/cfn-redis-coordination/heartbeat-functions.sh +0 -137
  76. package/.claude/skills/cfn-redis-coordination/heartbeat-protocol.md +0 -106
  77. package/.claude/skills/cfn-redis-coordination/heartbeat.sh +0 -126
  78. package/.claude/skills/cfn-redis-coordination/init-swarm.sh +0 -148
  79. package/.claude/skills/cfn-redis-coordination/invoke-redis-pattern.sh +0 -220
  80. package/.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh +0 -283
  81. package/.claude/skills/cfn-redis-coordination/list-active-swarms.sh +0 -147
  82. package/.claude/skills/cfn-redis-coordination/log-event.sh +0 -109
  83. package/.claude/skills/cfn-redis-coordination/metrics-export.sh +0 -674
  84. package/.claude/skills/cfn-redis-coordination/metrics-schema.json +0 -66
  85. package/.claude/skills/cfn-redis-coordination/metrics-storage.md +0 -31
  86. package/.claude/skills/cfn-redis-coordination/monitor-cfn-violations.sh +0 -391
  87. package/.claude/skills/cfn-redis-coordination/monitor-heartbeats.sh +0 -101
  88. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop-v3.sh +0 -141
  89. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh +0 -31
  90. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.bak +0 -0
  91. package/.claude/skills/cfn-redis-coordination/priority-wake-mechanism.md +0 -75
  92. package/.claude/skills/cfn-redis-coordination/priority_wake.py +0 -134
  93. package/.claude/skills/cfn-redis-coordination/query-dlq.sh +0 -162
  94. package/.claude/skills/cfn-redis-coordination/query-logs.sh +0 -103
  95. package/.claude/skills/cfn-redis-coordination/redis-pattern.sh +0 -619
  96. package/.claude/skills/cfn-redis-coordination/retrieve-context.sh +0 -58
  97. package/.claude/skills/cfn-redis-coordination/select-specialist-agent.sh +0 -371
  98. package/.claude/skills/cfn-redis-coordination/semantic-match-tfidf.py +0 -252
  99. package/.claude/skills/cfn-redis-coordination/send-heartbeat.sh +0 -165
  100. package/.claude/skills/cfn-redis-coordination/signal.sh +0 -38
  101. package/.claude/skills/cfn-redis-coordination/store-context.sh +0 -86
  102. package/.claude/skills/cfn-redis-coordination/store-epic-context.sh +0 -123
  103. package/.claude/skills/cfn-redis-coordination/test-context-injection.sh +0 -354
  104. package/.claude/skills/cfn-redis-coordination/test-timeout-enforcement.sh +0 -513
  105. package/.claude/skills/cfn-redis-coordination/tests/convert-line-endings.sh +0 -15
  106. package/.claude/skills/cfn-redis-coordination/tests/dlq-functionality-test.sh +0 -102
  107. package/.claude/skills/cfn-redis-coordination/tests/edge-cases-test.sh +0 -99
  108. package/.claude/skills/cfn-redis-coordination/tests/integration-test.sh +0 -170
  109. package/.claude/skills/cfn-redis-coordination/tests/retry-mechanism-test.sh +0 -82
  110. package/.claude/skills/cfn-redis-coordination/tests/run-test-suite.sh +0 -92
  111. package/.claude/skills/cfn-redis-coordination/tests/run-tests.sh +0 -4
  112. package/.claude/skills/cfn-redis-coordination/tests/test-heartbeat-monitoring.sh +0 -418
  113. package/.claude/skills/cfn-redis-coordination/tests/test-heartbeat-simple.sh +0 -124
  114. package/.claude/skills/cfn-redis-coordination/tests/test-primitives.sh +0 -166
  115. package/.claude/skills/cfn-redis-coordination/tests/test-utils.sh +0 -54
  116. package/.claude/skills/cfn-redis-coordination/tests/test_utils.sh +0 -49
  117. package/.claude/skills/cfn-redis-coordination/v2_modularization/core_orchestration.sh +0 -76
  118. package/.claude/skills/cfn-redis-coordination/validate-parameters.sh +0 -492
  119. package/claude-assets/skills/cfn-redis-coordination/HEARTBEAT.md +0 -57
  120. package/claude-assets/skills/cfn-redis-coordination/HEARTBEAT_MONITORING.md +0 -267
  121. package/claude-assets/skills/cfn-redis-coordination/LOGGING.md +0 -260
  122. package/claude-assets/skills/cfn-redis-coordination/README.md +0 -65
  123. package/claude-assets/skills/cfn-redis-coordination/SECURITY_REVIEW.md +0 -25
  124. package/claude-assets/skills/cfn-redis-coordination/SHUTDOWN_HANDLING.md +0 -164
  125. package/claude-assets/skills/cfn-redis-coordination/SKILL.md +0 -720
  126. package/claude-assets/skills/cfn-redis-coordination/demos/test-dlq.sh +0 -129
  127. package/claude-assets/skills/cfn-redis-coordination/demos/test-iteration-feedback.sh +0 -320
  128. package/claude-assets/skills/cfn-redis-coordination/demos/test-orchestrator.sh +0 -249
  129. package/claude-assets/skills/cfn-redis-coordination/demos/test-priority-wake-phase4-unix.sh +0 -148
  130. package/claude-assets/skills/cfn-redis-coordination/demos/test-priority-wake-phase4.sh +0 -163
  131. package/claude-assets/skills/cfn-redis-coordination/demos/test-priority-wake.sh +0 -138
  132. package/claude-assets/skills/cfn-redis-coordination/demos/test-quick-fix.sh +0 -81
  133. package/claude-assets/skills/cfn-redis-coordination/demos/test-quorum-absolute.sh +0 -45
  134. package/claude-assets/skills/cfn-redis-coordination/demos/test-quorum-fallback.sh +0 -68
  135. package/claude-assets/skills/cfn-redis-coordination/demos/test-quorum-percentage.sh +0 -56
  136. package/claude-assets/skills/cfn-redis-coordination/demos/test-quorum-with-retry.sh +0 -81
  137. package/claude-assets/skills/cfn-redis-coordination/demos/test-quorum.sh +0 -57
  138. package/claude-assets/skills/cfn-redis-coordination/demos/test-shutdown-handling.sh +0 -187
  139. package/claude-assets/skills/cfn-redis-coordination/demos/test-shutdown.sh +0 -160
  140. package/claude-assets/skills/cfn-redis-coordination/demos/test-utils-unix.sh +0 -97
  141. package/claude-assets/skills/cfn-redis-coordination/demos/test-utils.sh +0 -97
  142. package/claude-assets/skills/cfn-redis-coordination/demos/test-waiting-mode.sh +0 -59
  143. package/claude-assets/skills/cfn-redis-coordination/examples/README.md +0 -73
  144. package/claude-assets/skills/cfn-redis-coordination/examples/grafana-dashboard.json +0 -352
  145. package/claude-assets/skills/cfn-redis-coordination/examples/hierarchical-pattern.sh +0 -127
  146. package/claude-assets/skills/cfn-redis-coordination/examples/mesh-pattern.sh +0 -171
  147. package/claude-assets/skills/cfn-redis-coordination/examples/timeout-handling.sh +0 -227
  148. package/claude-assets/skills/cfn-redis-coordination/examples/waiting-mode-pattern.sh +0 -239
  149. package/claude-assets/skills/cfn-redis-coordination/execute-product-owner-decision.sh +0 -258
  150. package/claude-assets/skills/cfn-redis-coordination/get-agent-timeout.sh +0 -177
  151. package/claude-assets/skills/cfn-redis-coordination/heartbeat-functions.sh +0 -137
  152. package/claude-assets/skills/cfn-redis-coordination/heartbeat-protocol.md +0 -106
  153. package/claude-assets/skills/cfn-redis-coordination/heartbeat.sh +0 -126
  154. package/claude-assets/skills/cfn-redis-coordination/init-swarm.sh +0 -148
  155. package/claude-assets/skills/cfn-redis-coordination/invoke-redis-pattern.sh +0 -220
  156. package/claude-assets/skills/cfn-redis-coordination/invoke-waiting-mode.sh +0 -283
  157. package/claude-assets/skills/cfn-redis-coordination/list-active-swarms.sh +0 -147
  158. package/claude-assets/skills/cfn-redis-coordination/log-event.sh +0 -109
  159. package/claude-assets/skills/cfn-redis-coordination/metrics-export.sh +0 -674
  160. package/claude-assets/skills/cfn-redis-coordination/metrics-schema.json +0 -66
  161. package/claude-assets/skills/cfn-redis-coordination/metrics-storage.md +0 -31
  162. package/claude-assets/skills/cfn-redis-coordination/monitor-cfn-violations.sh +0 -391
  163. package/claude-assets/skills/cfn-redis-coordination/monitor-heartbeats.sh +0 -101
  164. package/claude-assets/skills/cfn-redis-coordination/orchestrate-cfn-loop-v3.sh +0 -141
  165. package/claude-assets/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh +0 -31
  166. package/claude-assets/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.bak +0 -0
  167. package/claude-assets/skills/cfn-redis-coordination/priority-wake-mechanism.md +0 -75
  168. package/claude-assets/skills/cfn-redis-coordination/priority_wake.py +0 -134
  169. package/claude-assets/skills/cfn-redis-coordination/query-dlq.sh +0 -162
  170. package/claude-assets/skills/cfn-redis-coordination/query-logs.sh +0 -103
  171. package/claude-assets/skills/cfn-redis-coordination/redis-pattern.sh +0 -619
  172. package/claude-assets/skills/cfn-redis-coordination/retrieve-context.sh +0 -58
  173. package/claude-assets/skills/cfn-redis-coordination/select-specialist-agent.sh +0 -371
  174. package/claude-assets/skills/cfn-redis-coordination/semantic-match-tfidf.py +0 -252
  175. package/claude-assets/skills/cfn-redis-coordination/send-heartbeat.sh +0 -165
  176. package/claude-assets/skills/cfn-redis-coordination/signal.sh +0 -38
  177. package/claude-assets/skills/cfn-redis-coordination/store-context.sh +0 -86
  178. package/claude-assets/skills/cfn-redis-coordination/store-epic-context.sh +0 -123
  179. package/claude-assets/skills/cfn-redis-coordination/test-context-injection.sh +0 -354
  180. package/claude-assets/skills/cfn-redis-coordination/test-timeout-enforcement.sh +0 -513
  181. package/claude-assets/skills/cfn-redis-coordination/tests/convert-line-endings.sh +0 -15
  182. package/claude-assets/skills/cfn-redis-coordination/tests/dlq-functionality-test.sh +0 -102
  183. package/claude-assets/skills/cfn-redis-coordination/tests/edge-cases-test.sh +0 -99
  184. package/claude-assets/skills/cfn-redis-coordination/tests/integration-test.sh +0 -170
  185. package/claude-assets/skills/cfn-redis-coordination/tests/retry-mechanism-test.sh +0 -82
  186. package/claude-assets/skills/cfn-redis-coordination/tests/run-test-suite.sh +0 -92
  187. package/claude-assets/skills/cfn-redis-coordination/tests/run-tests.sh +0 -4
  188. package/claude-assets/skills/cfn-redis-coordination/tests/test-heartbeat-monitoring.sh +0 -418
  189. package/claude-assets/skills/cfn-redis-coordination/tests/test-heartbeat-simple.sh +0 -124
  190. package/claude-assets/skills/cfn-redis-coordination/tests/test-primitives.sh +0 -166
  191. package/claude-assets/skills/cfn-redis-coordination/tests/test-utils.sh +0 -54
  192. package/claude-assets/skills/cfn-redis-coordination/tests/test_utils.sh +0 -49
  193. package/claude-assets/skills/cfn-redis-coordination/v2_modularization/core_orchestration.sh +0 -76
  194. package/claude-assets/skills/cfn-redis-coordination/validate-parameters.sh +0 -492
@@ -1,97 +0,0 @@
1
- #!/bin/bash
2
- # Utility functions for quorum testing
3
-
4
- # Check absolute quorum
5
- check_quorum() {
6
- local total_agents="$1"
7
- local quorum="$2"
8
- local completed_agents="$3"
9
-
10
- if [ "$completed_agents" -ge "$quorum" ]; then
11
- echo "SUCCESS"
12
- else
13
- echo "FAILURE"
14
- fi
15
- }
16
-
17
- # Check percentage-based quorum
18
- check_percentage_quorum() {
19
- local total_agents="$1"
20
- local quorum_percentage="$2"
21
- local completed_agents="$3"
22
-
23
- # Calculate the minimum number of agents required (round up)
24
- local required_agents=$(echo "scale=0; ceil($total_agents * $quorum_percentage)" | bc)
25
-
26
- if [ "$completed_agents" -ge "$required_agents" ]; then
27
- echo "SUCCESS"
28
- else
29
- echo "FAILURE"
30
- fi
31
- }
32
-
33
- # Graceful degradation strategy
34
- simulate_graceful_degradation() {
35
- local total_agents="$1"
36
- local initial_quorum="$2"
37
- local max_failures="$3"
38
-
39
- # Dynamically adjust quorum based on failures
40
- local current_quorum="$initial_quorum"
41
- local adjusted_agents=$((total_agents - max_failures))
42
- local adjusted_quorum_threshold=$(echo "scale=2; $current_quorum * 0.8" | bc)
43
-
44
- if (( $(echo "$adjusted_quorum_threshold <= 0.65" | bc -l) )); then
45
- echo "HALT" # Prevent degradation below minimum viable quorum
46
- else
47
- echo "$(check_percentage_quorum "$adjusted_agents" "$adjusted_quorum_threshold" "$adjusted_agents")"
48
- fi
49
- }
50
-
51
- # Assertion functions
52
- assert_equals() {
53
- local actual="$1"
54
- local expected="$2"
55
- local message="${3:-Assertion failed}"
56
-
57
- if [ "$actual" != "$expected" ]; then
58
- echo "FAIL: $message (Expected: $expected, Got: $actual)"
59
- exit 1
60
- fi
61
- }
62
-
63
- assert_greater_than() {
64
- local actual="$1"
65
- local expected="$2"
66
- local message="${3:-Assertion failed}"
67
-
68
- if [ "$actual" -le "$expected" ]; then
69
- echo "FAIL: $message (Expected > $expected, Got: $actual)"
70
- exit 1
71
- fi
72
- }
73
-
74
- assert_not_empty() {
75
- local value="$1"
76
- local message="${2:-Value is empty}"
77
-
78
- if [ -z "$value" ]; then
79
- echo "FAIL: $message"
80
- exit 1
81
- fi
82
- }
83
-
84
- # Error handling and logging
85
- log_error() {
86
- local message="$1"
87
- echo "[ERROR] $message" >&2
88
- }
89
-
90
- # Cleanup function
91
- cleanup() {
92
- # Remove any temporary files or reset test environments
93
- echo "Cleaning up test environment..."
94
- }
95
-
96
- # Trap to ensure cleanup happens even if script fails
97
- trap cleanup EXIT
@@ -1,59 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
-
4
- # Test script for Redis Coordination Waiting Mode (v1.3.0)
5
-
6
- # Utility functions
7
- log_success() {
8
- echo -e "\033[32m[PASS]\033[0m $1"
9
- }
10
-
11
- log_failure() {
12
- echo -e "\033[31m[FAIL]\033[0m $1"
13
- exit 1
14
- }
15
-
16
- # Setup test variables
17
- TASK_ID="test-task-$(date +%s)"
18
- AGENT_IDS=("agent1" "agent2" "agent3")
19
-
20
- # Ensure clean test environment
21
- ./invoke-redis-pattern.sh
22
-
23
- # Test 1: Enter Waiting Mode
24
- echo "### Test 1: Enter Waiting Mode ###"
25
- wait_result=$(./invoke-redis-pattern.sh wait --task-id "$TASK_ID" --agent-id "${AGENT_IDS[0]}" --context "test-context")
26
- echo "$wait_result" | jq -e '.status == "timeout"' > /dev/null || log_failure "Failed to enter waiting mode"
27
- log_success "Entered waiting mode successfully"
28
-
29
- # Test 2: Wake Agent
30
- echo -e "\n### Test 2: Wake Agent ###"
31
- payload='{"iteration": 2, "feedback": "Add error handling"}'
32
- wake_result=$(./invoke-redis-pattern.sh wake --task-id "$TASK_ID" --agent-id "${AGENT_IDS[0]}" --payload "$payload")
33
- echo "$wake_result" | jq -e '.status == "success"' > /dev/null || log_failure "Failed to wake agent"
34
- log_success "Woke agent successfully"
35
-
36
- # Test 3: Report Result
37
- echo -e "\n### Test 3: Report Result ###"
38
- report_result=$(./invoke-redis-pattern.sh report --task-id "$TASK_ID" --agent-id "${AGENT_IDS[0]}" --confidence 0.92 --result '{"key": "value"}')
39
- echo "$report_result" | jq -e '.status == "success" and .confidence == 0.92' > /dev/null || log_failure "Failed to report result"
40
- log_success "Reported result successfully"
41
-
42
- # Test 4: Collect Consensus
43
- echo -e "\n### Test 4: Collect Consensus ###"
44
- for agent in "${AGENT_IDS[@]}"; do
45
- ./invoke-redis-pattern.sh report --task-id "$TASK_ID" --agent-id "$agent" --confidence 0.95 --result "{\"result\": \"test-$agent\"}"
46
- done
47
-
48
- collect_result=$(./invoke-redis-pattern.sh collect --task-id "$TASK_ID" --agent-ids "$(IFS=,; echo "${AGENT_IDS[*]}")")
49
- echo "$collect_result" | jq -e '.status == "consensus" and .avgConfidence >= 0.90' > /dev/null || log_failure "Failed to collect consensus"
50
- log_success "Collected consensus successfully"
51
-
52
- # Test 5: Timeout Handling
53
- echo -e "\n### Test 5: Timeout Handling ###"
54
- timeout_task_id="timeout-test-$(date +%s)"
55
- timeout_result=$(./invoke-redis-pattern.sh wait --task-id "$timeout_task_id" --agent-id "${AGENT_IDS[0]}" --context "timeout-test")
56
- echo "$timeout_result" | jq -e '.status == "timeout"' > /dev/null || log_failure "Failed to handle timeout"
57
- log_success "Timeout handled successfully"
58
-
59
- echo -e "\n\033[32m✅ ALL REDIS COORDINATION TESTS PASSED!\033[0m"
@@ -1,73 +0,0 @@
1
- # CFN Loop Metrics Dashboard
2
-
3
- ## Grafana Dashboard for CFN Loop Performance Monitoring
4
-
5
- ### Dashboard Overview
6
-
7
- This Grafana dashboard is designed to visualize and monitor the performance metrics of Continuous Flow Normalization (CFN) Loop iterations. It provides insights into:
8
-
9
- - Iteration Duration Trends
10
- - Consensus Convergence
11
- - Agent Latency
12
- - Error Rates
13
-
14
- ### Prerequisites
15
-
16
- - Prometheus as the metrics backend
17
- - Grafana 7.3.7 or higher
18
- - Configured Prometheus metrics for CFN Loop
19
-
20
- ### Metrics Requirements
21
-
22
- The following Prometheus metrics must be exported:
23
-
24
- 1. `cfn_loop_iteration_duration_seconds`
25
- - Time series of iteration durations
26
- - Labels: `iteration`
27
-
28
- 2. `cfn_loop_confidence`
29
- - Confidence scores for Loop 3
30
- - Labels: `stage="loop3"`
31
-
32
- 3. `cfn_loop_consensus`
33
- - Consensus scores for Loop 2
34
- - Labels: `stage="loop2"`
35
-
36
- 4. `cfn_loop_agent_latency_seconds_bucket`
37
- - Histogram of agent latencies
38
- - Labels: `agent_id`
39
-
40
- 5. `cfn_loop_errors_total`
41
- - Counter for different error types
42
- - Labels: `error_type` (e.g., "timeout", "retry", "quorum_fallback", "gate_failure")
43
-
44
- ### Installation Steps
45
-
46
- 1. Open Grafana
47
- 2. Navigate to Dashboard > Import
48
- 3. Upload `grafana-dashboard.json`
49
- 4. Select Prometheus data source
50
- 5. Click "Import"
51
-
52
- ### Customization
53
-
54
- - Adjust time ranges in the dashboard settings
55
- - Modify thresholds in panel configurations as needed
56
-
57
- ### Troubleshooting
58
-
59
- - Ensure all required Prometheus metrics are being exported
60
- - Check data source configuration
61
- - Verify metric naming matches exported metrics
62
-
63
- ### Performance Tuning
64
-
65
- The dashboard is optimized for minimal performance overhead:
66
- - Uses efficient PromQL queries
67
- - Configurable refresh intervals
68
- - Dark theme for reduced eye strain during long monitoring sessions
69
-
70
- ### Version
71
-
72
- - Dashboard Version: 1.0.0
73
- - Last Updated: 2025-10-19
@@ -1,352 +0,0 @@
1
- {
2
- "annotations": {
3
- "list": []
4
- },
5
- "editable": true,
6
- "gnetId": null,
7
- "graphTooltip": 0,
8
- "id": null,
9
- "links": [],
10
- "panels": [
11
- {
12
- "aliasColors": {},
13
- "bars": false,
14
- "dashLength": 10,
15
- "dashes": false,
16
- "datasource": "prometheus",
17
- "description": "Duration of each CFN Loop iteration over time",
18
- "fill": 1,
19
- "gridPos": {
20
- "h": 8,
21
- "w": 12,
22
- "x": 0,
23
- "y": 0
24
- },
25
- "id": 1,
26
- "legend": {
27
- "avg": false,
28
- "current": false,
29
- "max": false,
30
- "min": false,
31
- "show": true,
32
- "total": false,
33
- "values": false
34
- },
35
- "lines": true,
36
- "linewidth": 1,
37
- "links": [],
38
- "nullPointMode": "null",
39
- "percentage": false,
40
- "pointradius": 5,
41
- "points": false,
42
- "renderer": "flot",
43
- "seriesOverrides": [],
44
- "spaceLength": 10,
45
- "stack": false,
46
- "steppedLine": false,
47
- "targets": [
48
- {
49
- "expr": "cfn_loop_iteration_duration_seconds",
50
- "format": "time_series",
51
- "intervalFactor": 2,
52
- "legendFormat": "Iteration {{iteration}}",
53
- "refId": "A"
54
- }
55
- ],
56
- "thresholds": [],
57
- "timeFrom": null,
58
- "timeRegions": [],
59
- "timeShift": null,
60
- "title": "Iteration Duration Trends",
61
- "tooltip": {
62
- "shared": true,
63
- "sort": 0,
64
- "value_type": "individual"
65
- },
66
- "type": "graph",
67
- "xaxis": {
68
- "buckets": null,
69
- "mode": "time",
70
- "name": null,
71
- "show": true,
72
- "values": []
73
- },
74
- "yaxes": [
75
- {
76
- "format": "s",
77
- "label": "Duration",
78
- "logBase": 1,
79
- "max": null,
80
- "min": "0",
81
- "show": true
82
- },
83
- {
84
- "format": "short",
85
- "label": null,
86
- "logBase": 1,
87
- "max": null,
88
- "min": null,
89
- "show": true
90
- }
91
- ],
92
- "yaxis": {
93
- "align": false,
94
- "alignLevel": null
95
- }
96
- },
97
- {
98
- "cacheTimeout": null,
99
- "datasource": "prometheus",
100
- "description": "Consensus and confidence across CFN Loop iterations",
101
- "fieldConfig": {
102
- "defaults": {
103
- "color": {
104
- "mode": "thresholds"
105
- },
106
- "mappings": [],
107
- "thresholds": {
108
- "mode": "absolute",
109
- "steps": [
110
- {
111
- "color": "red",
112
- "value": null
113
- },
114
- {
115
- "color": "yellow",
116
- "value": 0.75
117
- },
118
- {
119
- "color": "green",
120
- "value": 0.90
121
- }
122
- ]
123
- },
124
- "unit": "percentunit"
125
- },
126
- "overrides": []
127
- },
128
- "gridPos": {
129
- "h": 8,
130
- "w": 12,
131
- "x": 12,
132
- "y": 0
133
- },
134
- "id": 2,
135
- "links": [],
136
- "options": {
137
- "orientation": "auto",
138
- "reduceOptions": {
139
- "calcs": [
140
- "mean"
141
- ],
142
- "fields": "",
143
- "values": false
144
- },
145
- "showThresholdLabels": false,
146
- "showThresholdMarkers": true
147
- },
148
- "pluginVersion": "7.3.7",
149
- "targets": [
150
- {
151
- "expr": "cfn_loop_confidence{stage=\"loop3\"}",
152
- "format": "time_series",
153
- "intervalFactor": 2,
154
- "legendFormat": "Loop 3 Confidence",
155
- "refId": "A"
156
- },
157
- {
158
- "expr": "cfn_loop_consensus{stage=\"loop2\"}",
159
- "format": "time_series",
160
- "intervalFactor": 2,
161
- "legendFormat": "Loop 2 Consensus",
162
- "refId": "B"
163
- }
164
- ],
165
- "timeFrom": null,
166
- "title": "Consensus Convergence",
167
- "type": "gauge"
168
- },
169
- {
170
- "cards": {
171
- "cardPadding": null,
172
- "cardRound": null
173
- },
174
- "color": {
175
- "cardColor": "#FADE2A",
176
- "colorScale": "linear",
177
- "colorScheme": "interpolateOranges",
178
- "exponent": 0.5,
179
- "mode": "opacity"
180
- },
181
- "datasource": "prometheus",
182
- "description": "Agent latency heatmap to identify performance bottlenecks",
183
- "gridPos": {
184
- "h": 8,
185
- "w": 12,
186
- "x": 0,
187
- "y": 8
188
- },
189
- "heatmap": {},
190
- "hideZeroBuckets": false,
191
- "highlightCards": true,
192
- "id": 3,
193
- "legend": {
194
- "show": false
195
- },
196
- "links": [],
197
- "targets": [
198
- {
199
- "expr": "sum(rate(cfn_loop_agent_latency_seconds_bucket[5m])) by (agent_id)",
200
- "format": "heatmap",
201
- "intervalFactor": 2,
202
- "legendFormat": "{{agent_id}}",
203
- "refId": "A"
204
- }
205
- ],
206
- "title": "Agent Latency Heatmap",
207
- "tooltip": {
208
- "show": true,
209
- "showPalette": false
210
- },
211
- "type": "heatmap",
212
- "xAxis": {
213
- "show": true
214
- },
215
- "yAxis": {
216
- "decimals": 0,
217
- "show": true,
218
- "title": "Agent"
219
- },
220
- "yBucketBound": "auto"
221
- },
222
- {
223
- "aliasColors": {},
224
- "bars": true,
225
- "dashLength": 10,
226
- "dashes": false,
227
- "datasource": "prometheus",
228
- "description": "Error and fallback metrics for CFN Loop iterations",
229
- "fill": 1,
230
- "gridPos": {
231
- "h": 8,
232
- "w": 12,
233
- "x": 12,
234
- "y": 8
235
- },
236
- "id": 4,
237
- "legend": {
238
- "avg": false,
239
- "current": false,
240
- "max": false,
241
- "min": false,
242
- "show": true,
243
- "total": false,
244
- "values": false
245
- },
246
- "lines": false,
247
- "linewidth": 1,
248
- "links": [],
249
- "nullPointMode": "null",
250
- "percentage": false,
251
- "pointradius": 5,
252
- "points": false,
253
- "renderer": "flot",
254
- "seriesOverrides": [],
255
- "spaceLength": 10,
256
- "stack": true,
257
- "steppedLine": false,
258
- "targets": [
259
- {
260
- "expr": "sum(increase(cfn_loop_errors_total[1h])) by (error_type)",
261
- "format": "time_series",
262
- "intervalFactor": 2,
263
- "legendFormat": "{{error_type}}",
264
- "refId": "A"
265
- }
266
- ],
267
- "thresholds": [],
268
- "timeFrom": null,
269
- "timeRegions": [],
270
- "timeShift": null,
271
- "title": "Error Rates",
272
- "tooltip": {
273
- "shared": true,
274
- "sort": 0,
275
- "value_type": "individual"
276
- },
277
- "type": "graph",
278
- "xaxis": {
279
- "buckets": null,
280
- "mode": "time",
281
- "name": null,
282
- "show": true,
283
- "values": []
284
- },
285
- "yaxes": [
286
- {
287
- "format": "short",
288
- "label": "Error Count",
289
- "logBase": 1,
290
- "max": null,
291
- "min": "0",
292
- "show": true
293
- },
294
- {
295
- "format": "short",
296
- "label": null,
297
- "logBase": 1,
298
- "max": null,
299
- "min": null,
300
- "show": true
301
- }
302
- ],
303
- "yaxis": {
304
- "align": false,
305
- "alignLevel": null
306
- }
307
- }
308
- ],
309
- "schemaVersion": 22,
310
- "style": "dark",
311
- "tags": [
312
- "cfn-loop",
313
- "redis-coordination",
314
- "performance"
315
- ],
316
- "templating": {
317
- "list": []
318
- },
319
- "time": {
320
- "from": "now-6h",
321
- "to": "now"
322
- },
323
- "timepicker": {
324
- "refresh_intervals": [
325
- "5s",
326
- "10s",
327
- "30s",
328
- "1m",
329
- "5m",
330
- "15m",
331
- "30m",
332
- "1h",
333
- "2h",
334
- "1d"
335
- ],
336
- "time_options": [
337
- "5m",
338
- "15m",
339
- "1h",
340
- "6h",
341
- "12h",
342
- "24h",
343
- "2d",
344
- "7d",
345
- "30d"
346
- ]
347
- },
348
- "timezone": "",
349
- "title": "CFN Loop Metrics",
350
- "uid": "cfn_loop_metrics",
351
- "version": 1
352
- }