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,354 +0,0 @@
1
- #!/bin/bash
2
-
3
- # Context Injection Test Utility
4
- # Validates end-to-end context propagation through CFN Loop layers
5
-
6
- set -euo pipefail
7
-
8
- # Colors for output
9
- RED='\033[0;31m'
10
- GREEN='\033[0;32m'
11
- YELLOW='\033[1;33m'
12
- BLUE='\033[0;34m'
13
- NC='\033[0m' # No Color
14
-
15
- # Default configuration
16
- TASK_ID=""
17
- TEST_MODE=false
18
- VERBOSE=false
19
- EPIC_CONTEXT=""
20
- PHASE_CONTEXT=""
21
- SUCCESS_CRITERIA=""
22
-
23
- # Logging functions
24
- log_info() {
25
- if [[ "$VERBOSE" == true ]]; then
26
- echo -e "${BLUE}[INFO]${NC} $1"
27
- fi
28
- }
29
-
30
- log_success() {
31
- echo -e "${GREEN}[SUCCESS]${NC} $1"
32
- }
33
-
34
- log_error() {
35
- echo -e "${RED}[ERROR]${NC} $1"
36
- }
37
-
38
- log_warning() {
39
- echo -e "${YELLOW}[WARNING]${NC} $1"
40
- }
41
-
42
- # Usage information
43
- usage() {
44
- cat << EOF
45
- Context Injection Test Utility
46
-
47
- USAGE:
48
- $0 [OPTIONS]
49
-
50
- OPTIONS:
51
- -t, --task-id <ID> Task ID for Redis operations
52
- -e, --epic-context <JSON> Epic context JSON
53
- -p, --phase-context <JSON> Phase context JSON
54
- -s, --success-criteria <JSON> Success criteria JSON
55
- --test-mode Run in test mode with sample data
56
- -v, --verbose Enable verbose logging
57
- -h, --help Show this help message
58
-
59
- EXAMPLES:
60
- # Test mode (validates infrastructure)
61
- $0 --test-mode
62
-
63
- # Production mode with custom contexts
64
- $0 -t "my-task-123" \\
65
- -e '{"epicGoal":"Build feature","inScope":["API"]}' \\
66
- -p '{"phaseId":"phase-1","deliverables":["api.js"]}' \\
67
- -s '{"acceptanceCriteria":["Tests pass"],"gateThreshold":0.8}'
68
-
69
- EOF
70
- }
71
-
72
- # Parse command line arguments
73
- parse_args() {
74
- while [[ $# -gt 0 ]]; do
75
- case $1 in
76
- -t|--task-id)
77
- TASK_ID="$2"
78
- shift 2
79
- ;;
80
- -e|--epic-context)
81
- EPIC_CONTEXT="$2"
82
- shift 2
83
- ;;
84
- -p|--phase-context)
85
- PHASE_CONTEXT="$2"
86
- shift 2
87
- ;;
88
- -s|--success-criteria)
89
- SUCCESS_CRITERIA="$2"
90
- shift 2
91
- ;;
92
- --test-mode)
93
- TEST_MODE=true
94
- shift
95
- ;;
96
- -v|--verbose)
97
- VERBOSE=true
98
- shift
99
- ;;
100
- -h|--help)
101
- usage
102
- exit 0
103
- ;;
104
- *)
105
- log_error "Unknown option: $1"
106
- usage
107
- exit 1
108
- ;;
109
- esac
110
- done
111
- }
112
-
113
- # Validate Redis connectivity
114
- validate_redis() {
115
- log_info "Validating Redis connectivity..."
116
- if ! redis-cli ping > /dev/null 2>&1; then
117
- log_error "Redis is not available"
118
- return 1
119
- fi
120
- log_success "Redis connectivity validated"
121
- }
122
-
123
- # Validate JSON format
124
- validate_json() {
125
- local json_string="$1"
126
- local context_type="$2"
127
-
128
- log_info "Validating $context_type JSON format..."
129
- if ! echo "$json_string" | jq . > /dev/null 2>&1; then
130
- log_error "Invalid JSON in $context_type: $json_string"
131
- return 1
132
- fi
133
- log_success "$context_type JSON format validated"
134
- }
135
-
136
- # Store context in Redis
137
- store_context() {
138
- local context="$1"
139
- local context_type="$2"
140
- local redis_key="test:${TASK_ID}:${context_type}"
141
-
142
- log_info "Storing $context_type in Redis..."
143
- if ! redis-cli set "$redis_key" "$context" > /dev/null 2>&1; then
144
- log_error "Failed to store $context_type in Redis"
145
- return 1
146
- fi
147
- log_success "$context_type stored in Redis: $redis_key"
148
- }
149
-
150
- # Retrieve context from Redis
151
- retrieve_context() {
152
- local context_type="$1"
153
- local redis_key="test:${TASK_ID}:${context_type}"
154
-
155
- log_info "Retrieving $context_type from Redis..."
156
- local retrieved=$(redis-cli get "$redis_key" 2>/dev/null || echo "")
157
-
158
- if [[ -z "$retrieved" ]]; then
159
- log_error "Failed to retrieve $context_type from Redis"
160
- return 1
161
- fi
162
-
163
- log_success "$context_type retrieved from Redis"
164
- echo "$retrieved"
165
- }
166
-
167
- # Test context propagation
168
- test_propagation() {
169
- log_info "Testing context propagation..."
170
-
171
- local epic_retrieved=$(retrieve_context "epic-context")
172
- local phase_retrieved=$(retrieve_context "phase-context")
173
- local success_retrieved=$(retrieve_context "success-criteria")
174
-
175
- # Validate content matches
176
- if [[ "$epic_retrieved" != "$EPIC_CONTEXT" ]]; then
177
- log_error "Epic context mismatch"
178
- return 1
179
- fi
180
-
181
- if [[ "$phase_retrieved" != "$PHASE_CONTEXT" ]]; then
182
- log_error "Phase context mismatch"
183
- return 1
184
- fi
185
-
186
- if [[ "$success_retrieved" != "$SUCCESS_CRITERIA" ]]; then
187
- log_error "Success criteria mismatch"
188
- return 1
189
- fi
190
-
191
- log_success "All context propagation tests passed"
192
- }
193
-
194
- # Simulate agent context injection
195
- simulate_agent_injection() {
196
- log_info "Simulating agent context injection..."
197
-
198
- # Create combined context for agent
199
- local combined_context=$(jq -n \
200
- --argjson epic "$EPIC_CONTEXT" \
201
- --argjson phase "$PHASE_CONTEXT" \
202
- --argjson success "$SUCCESS_CRITERIA" \
203
- '{
204
- epic: $epic,
205
- phase: $phase,
206
- success: $success
207
- }')
208
-
209
- # Create temporary agent script
210
- cat > /tmp/test-agent-context.sh << EOF
211
- #!/bin/bash
212
- CONTEXT="\$1"
213
-
214
- echo "Agent received context:"
215
- echo "\$CONTEXT" | jq .
216
-
217
- # Validate agent can access all context layers
218
- EPIC_GOAL=\$(echo "\$CONTEXT" | jq -r '.epic.epicGoal')
219
- PHASE_ID=\$(echo "\$CONTEXT" | jq -r '.phase.phaseId')
220
- GATE_THRESHOLD=\$(echo "\$CONTEXT" | jq -r '.success.gateThreshold')
221
-
222
- echo "Epic Goal: \$EPIC_GOAL"
223
- echo "Phase ID: \$PHASE_ID"
224
- echo "Gate Threshold: \$GATE_THRESHOLD"
225
-
226
- # Create deliverables based on context
227
- DELIVERABLES=\$(echo "\$CONTEXT" | jq -r '.phase.deliverables[]')
228
- for deliverable in \$DELIVERABLES; do
229
- touch "/tmp/\$deliverable"
230
- echo "Created deliverable: \$deliverable"
231
- done
232
- EOF
233
-
234
- chmod +x /tmp/test-agent-context.sh
235
-
236
- # Execute agent script with context
237
- if /tmp/test-agent-context.sh "$combined_context"; then
238
- log_success "Agent context injection simulation successful"
239
- else
240
- log_error "Agent context injection simulation failed"
241
- return 1
242
- fi
243
-
244
- # Cleanup
245
- rm -f /tmp/test-agent-context.sh
246
- }
247
-
248
- # Cleanup test data
249
- cleanup() {
250
- log_info "Cleaning up test data..."
251
-
252
- local test_keys=$(redis-cli keys "test:${TASK_ID}:*" 2>/dev/null || true)
253
- if [[ -n "$test_keys" ]]; then
254
- echo "$test_keys" | xargs redis-cli del > /dev/null
255
- log_success "Test keys cleaned up from Redis"
256
- fi
257
-
258
- # Cleanup temporary files
259
- rm -f /tmp/test-agent-context.sh
260
- local deliverables=$(echo "$PHASE_CONTEXT" | jq -r '.deliverables[]' 2>/dev/null || true)
261
- for deliverable in $deliverables; do
262
- rm -f "/tmp/$deliverable"
263
- done
264
- }
265
-
266
- # Test mode with sample data
267
- run_test_mode() {
268
- log_info "Running in test mode..."
269
-
270
- # Generate test task ID
271
- TASK_ID="context-injection-test-$(date +%s)"
272
-
273
- # Sample context data
274
- EPIC_CONTEXT='{
275
- "epicGoal": "Test context injection validation",
276
- "inScope": ["Redis operations", "Agent spawning", "Context propagation"],
277
- "outOfScope": ["Performance optimization", "New context types"]
278
- }'
279
-
280
- PHASE_CONTEXT='{
281
- "phaseId": "test-phase",
282
- "deliverables": ["test-deliverable-1.txt", "test-deliverable-2.txt"],
283
- "directory": "/tmp/test-context",
284
- "acceptanceCriteria": ["All contexts propagated", "Deliverables created"]
285
- }'
286
-
287
- SUCCESS_CRITERIA='{
288
- "acceptanceCriteria": [
289
- "Epic context retrieved correctly",
290
- "Phase context injected successfully",
291
- "Success criteria visible to validators"
292
- ],
293
- "gateThreshold": 0.8,
294
- "maxIterations": 3
295
- }'
296
-
297
- log_success "Test mode data initialized"
298
- }
299
-
300
- # Main execution
301
- main() {
302
- # Parse arguments
303
- parse_args "$@"
304
-
305
- # Validate required parameters
306
- if [[ "$TEST_MODE" == false ]]; then
307
- if [[ -z "$TASK_ID" || -z "$EPIC_CONTEXT" || -z "$PHASE_CONTEXT" || -z "$SUCCESS_CRITERIA" ]]; then
308
- log_error "Missing required parameters. Use --help for usage information."
309
- exit 1
310
- fi
311
- else
312
- run_test_mode
313
- fi
314
-
315
- log_info "Starting context injection validation"
316
- log_info "Task ID: $TASK_ID"
317
- echo "========================================"
318
-
319
- # Validation pipeline
320
- validate_redis || exit 1
321
- validate_json "$EPIC_CONTEXT" "epic-context" || exit 1
322
- validate_json "$PHASE_CONTEXT" "phase-context" || exit 1
323
- validate_json "$SUCCESS_CRITERIA" "success-criteria" || exit 1
324
-
325
- # Store contexts
326
- store_context "$EPIC_CONTEXT" "epic-context" || exit 1
327
- store_context "$PHASE_CONTEXT" "phase-context" || exit 1
328
- store_context "$SUCCESS_CRITERIA" "success-criteria" || exit 1
329
-
330
- # Test propagation
331
- test_propagation || exit 1
332
-
333
- # Simulate agent injection
334
- simulate_agent_injection || exit 1
335
-
336
- # Cleanup
337
- cleanup
338
-
339
- echo "========================================"
340
- log_success "Context injection validation completed successfully!"
341
- log_success "All tests passed - context propagation working correctly"
342
-
343
- if [[ "$TEST_MODE" == true ]]; then
344
- echo ""
345
- log_info "Test mode validated infrastructure readiness"
346
- log_info "Ready for production context injection testing"
347
- fi
348
- }
349
-
350
- # Handle cleanup on script exit
351
- trap cleanup EXIT
352
-
353
- # Run main function
354
- main "$@"