claude-flow-novice 2.9.1 → 2.10.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.
Files changed (349) hide show
  1. package/.claude/agents/cfn-dev-team/CLAUDE.md +1086 -0
  2. package/.claude/agents/cfn-dev-team/README.md +116 -0
  3. package/.claude/agents/cfn-dev-team/architecture/api-designer-persona.md +149 -0
  4. package/.claude/agents/cfn-dev-team/architecture/base-template-generator.md +196 -0
  5. package/.claude/agents/cfn-dev-team/architecture/goal-planner.md +183 -0
  6. package/.claude/agents/cfn-dev-team/architecture/planner.md +182 -0
  7. package/.claude/agents/cfn-dev-team/architecture/system-architect.md +162 -0
  8. package/.claude/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +540 -0
  9. package/.claude/agents/cfn-dev-team/coordinators/cfn-v3-coordinator.md +20 -14
  10. package/.claude/agents/cfn-dev-team/coordinators/consensus-builder.md +167 -0
  11. package/.claude/agents/cfn-dev-team/dev-ops/devops-engineer.md +148 -0
  12. package/.claude/agents/cfn-dev-team/dev-ops/github-commit-agent.md +118 -0
  13. package/.claude/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +540 -0
  14. package/.claude/agents/cfn-dev-team/developers/backend-dev.md +20 -0
  15. package/.claude/agents/cfn-dev-team/developers/data/data-engineer.md +585 -0
  16. package/.claude/agents/cfn-dev-team/developers/database/database-architect.md +276 -0
  17. package/.claude/agents/cfn-dev-team/developers/dev-backend-api.md +147 -0
  18. package/.claude/agents/cfn-dev-team/developers/frontend/mobile-dev.md +218 -0
  19. package/.claude/agents/cfn-dev-team/developers/{react-frontend-engineer.md → frontend/react-frontend-engineer.md} +53 -5
  20. package/.claude/agents/cfn-dev-team/developers/frontend/spec-mobile-react-native.md +199 -0
  21. package/.claude/agents/cfn-dev-team/developers/graphql-specialist.md +615 -0
  22. package/.claude/agents/cfn-dev-team/developers/rust-developer.md +174 -0
  23. package/.claude/agents/cfn-dev-team/documentation/README-VALIDATION.md +243 -0
  24. package/.claude/agents/cfn-dev-team/documentation/agent-type-guidelines.md +465 -0
  25. package/.claude/agents/cfn-dev-team/documentation/api-docs.md +103 -0
  26. package/.claude/agents/cfn-dev-team/documentation/docs-api-openapi.md +98 -0
  27. package/.claude/agents/cfn-dev-team/documentation/pseudocode.md +159 -0
  28. package/.claude/agents/cfn-dev-team/documentation/specification.md +157 -0
  29. package/.claude/agents/cfn-dev-team/product-owners/accessibility-advocate-persona.md +109 -0
  30. package/.claude/agents/cfn-dev-team/{coordinators → product-owners}/cto-agent.md +8 -6
  31. package/.claude/agents/cfn-dev-team/product-owners/power-user-persona.md +190 -0
  32. package/.claude/agents/cfn-dev-team/{coordinators → product-owners}/product-owner.md +85 -59
  33. package/.claude/agents/cfn-dev-team/reviewers/quality/analyze-code-quality.md +141 -0
  34. package/.claude/agents/cfn-dev-team/reviewers/quality/code-analyzer.md +200 -0
  35. package/.claude/agents/cfn-dev-team/reviewers/quality/cyclomatic-complexity-reducer.md +321 -0
  36. package/.claude/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +238 -0
  37. package/.claude/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +101 -0
  38. package/.claude/agents/cfn-dev-team/reviewers/quality/quality-metrics.md +375 -0
  39. package/.claude/agents/cfn-dev-team/reviewers/quality/security-specialist.md +193 -0
  40. package/.claude/agents/cfn-dev-team/reviewers/reviewer.md +39 -0
  41. package/.claude/agents/cfn-dev-team/testers/interaction-tester.md +31 -0
  42. package/.claude/agents/cfn-dev-team/testers/load-testing-specialist.md +469 -0
  43. package/.claude/agents/cfn-dev-team/testers/playwright-tester.md +24 -0
  44. package/.claude/agents/cfn-dev-team/testers/tester.md +20 -0
  45. package/.claude/agents/cfn-dev-team/utility/agent-builder.md +151 -0
  46. package/.claude/agents/cfn-dev-team/utility/analyst.md +178 -0
  47. package/.claude/agents/cfn-dev-team/utility/claude-code-expert.md +1043 -0
  48. package/.claude/agents/cfn-dev-team/utility/code-booster.md +139 -0
  49. package/.claude/agents/cfn-dev-team/utility/context-curator.md +99 -0
  50. package/.claude/agents/cfn-dev-team/{developers → utility}/researcher.md +6 -4
  51. package/.claude/commands/cfn/CFN_LOOP_FRONTEND.md +741 -0
  52. package/.claude/commands/cfn/CFN_LOOP_TASK_MODE.md +353 -0
  53. package/.claude/commands/cfn/cfn-loop-frontend.md +555 -0
  54. package/.claude/commands/cfn/cfn-loop.md +168 -7
  55. package/{CFN-CLAUDE.md → .claude/root-claude-distribute/CFN-CLAUDE.md} +23 -3
  56. package/.claude/skills/cfn-ace-system/SKILL.md +364 -0
  57. package/.claude/skills/cfn-ace-system/add-bullet.sh +145 -0
  58. package/.claude/skills/cfn-ace-system/analyze-anti-pattern-effectiveness.sh +56 -0
  59. package/.claude/skills/cfn-ace-system/classify-task.sh +18 -0
  60. package/.claude/skills/cfn-ace-system/export-ace-metrics.sh +48 -0
  61. package/.claude/skills/cfn-ace-system/extract-tags.sh +385 -0
  62. package/.claude/skills/cfn-ace-system/format-negative-context.sh +180 -0
  63. package/.claude/skills/cfn-ace-system/init-indexes.sql +160 -0
  64. package/.claude/skills/cfn-ace-system/invoke-context-curate.sh +192 -0
  65. package/.claude/skills/cfn-ace-system/invoke-context-inject.sh +361 -0
  66. package/.claude/skills/cfn-ace-system/invoke-context-query.sh +139 -0
  67. package/.claude/skills/cfn-ace-system/invoke-context-reflect.sh +343 -0
  68. package/.claude/skills/cfn-ace-system/invoke-context-stats.sh +227 -0
  69. package/.claude/skills/cfn-ace-system/log-merge.sh +67 -0
  70. package/.claude/skills/cfn-ace-system/monitor-injection-performance.sh +138 -0
  71. package/.claude/skills/cfn-ace-system/optimize-injection-pipeline.sh +169 -0
  72. package/.claude/skills/cfn-ace-system/query-anti-patterns.sh +276 -0
  73. package/.claude/skills/cfn-ace-system/query-contexts.sh +150 -0
  74. package/.claude/skills/cfn-ace-system/query-reflections.sh +35 -0
  75. package/.claude/skills/cfn-ace-system/schema/001-create-context-reflections.sql +237 -0
  76. package/.claude/skills/cfn-ace-system/schema/README.md +723 -0
  77. package/.claude/skills/cfn-ace-system/schema/SCHEMA_DESIGN_SUMMARY.md +564 -0
  78. package/.claude/skills/cfn-ace-system/schema/populate-test-data-simple.sh +62 -0
  79. package/.claude/skills/cfn-ace-system/schema/populate-test-data.sh +247 -0
  80. package/.claude/skills/cfn-ace-system/schema/run-migration.sh +231 -0
  81. package/.claude/skills/cfn-ace-system/schema/validate-schema.sql +280 -0
  82. package/.claude/skills/cfn-ace-system/score-relevance-adapter.sh +138 -0
  83. package/.claude/skills/cfn-ace-system/score-relevance.sh +253 -0
  84. package/.claude/skills/cfn-ace-system/sprint-7-lessons.json +46 -0
  85. package/.claude/skills/cfn-ace-system/store-reflection.sh +46 -0
  86. package/.claude/skills/cfn-ace-system/test-ace-skill.sh +312 -0
  87. package/.claude/skills/cfn-ace-system/track-ab-test.sh +42 -0
  88. package/.claude/skills/cfn-ace-system/update-reflection.sh +41 -0
  89. package/.claude/skills/cfn-agent-discovery/SKILL.md +40 -0
  90. package/.claude/skills/cfn-agent-discovery/agents-registry-clean.json +0 -0
  91. package/.claude/skills/cfn-agent-discovery/agents-registry-fixed.json +19 -0
  92. package/.claude/skills/cfn-agent-discovery/agents-registry.json +718 -0
  93. package/.claude/skills/cfn-agent-discovery/discover-agents.py +184 -0
  94. package/.claude/skills/cfn-agent-discovery/discover-agents.sh +87 -0
  95. package/.claude/skills/cfn-agent-discovery/invoke-registry.sh +11 -0
  96. package/.claude/skills/cfn-agent-discovery/temp_script.py +0 -0
  97. package/.claude/skills/cfn-agent-execution/execute-agent.sh +126 -0
  98. package/.claude/skills/cfn-agent-output-processing/SKILL.md +359 -0
  99. package/.claude/skills/cfn-agent-selector/SKILL.md +90 -0
  100. package/.claude/skills/cfn-agent-selector/select-agents.sh +112 -0
  101. package/.claude/skills/cfn-agent-spawning/SKILL.md +135 -0
  102. package/.claude/skills/cfn-agent-spawning/agent-selection-guide.md +814 -0
  103. package/.claude/skills/cfn-agent-spawning/check-dependencies.sh +30 -0
  104. package/.claude/skills/cfn-agent-spawning/spawn-agent.sh +263 -0
  105. package/.claude/skills/cfn-agent-spawning/spawn-templates.sh +613 -0
  106. package/.claude/skills/cfn-analytics/description-refinement-guide.md +164 -0
  107. package/.claude/skills/cfn-analytics/log-skill-invocation.js +122 -0
  108. package/.claude/skills/cfn-analytics/run-production-criteria-tests.sh +126 -0
  109. package/.claude/skills/cfn-analytics/skill-analytics-dashboard.js +113 -0
  110. package/.claude/skills/cfn-analytics/skill-invocation-hook.sh +28 -0
  111. package/.claude/skills/cfn-analytics/skill-invocations.sql +58 -0
  112. package/.claude/skills/cfn-analytics/test-corpus.json +32 -0
  113. package/.claude/skills/cfn-analytics/test-data-generator.js +115 -0
  114. package/.claude/skills/cfn-analytics/test-manual-override-rate.js +285 -0
  115. package/.claude/skills/cfn-analytics/validate-skill-selection.js +188 -0
  116. package/.claude/skills/cfn-config-management/SKILL.md +34 -0
  117. package/.claude/skills/cfn-config-management/check-dependencies.sh +56 -0
  118. package/.claude/skills/cfn-config-management/config.json +32 -0
  119. package/.claude/skills/cfn-config-management/manage-config.sh +113 -0
  120. package/.claude/skills/cfn-event-bus/SKILL.md +412 -0
  121. package/.claude/skills/cfn-event-bus/config.json +111 -0
  122. package/.claude/skills/cfn-event-bus/eventbus-wrapper.cjs +69 -0
  123. package/.claude/skills/cfn-event-bus/invoke-event-publish.sh +147 -0
  124. package/.claude/skills/cfn-event-bus/invoke-event-subscribe.sh +171 -0
  125. package/.claude/skills/cfn-event-bus/invoke-lifecycle-track.sh +201 -0
  126. package/.claude/skills/cfn-event-bus/test-event-bus.sh +280 -0
  127. package/.claude/skills/cfn-fleet-manager/SKILL.md +412 -0
  128. package/.claude/skills/cfn-fleet-manager/config.json +60 -0
  129. package/.claude/skills/cfn-fleet-manager/invoke-fleet-allocate.sh +182 -0
  130. package/.claude/skills/cfn-fleet-manager/invoke-fleet-balance.sh +239 -0
  131. package/.claude/skills/cfn-fleet-manager/invoke-fleet-metrics.sh +193 -0
  132. package/.claude/skills/cfn-fleet-manager/invoke-fleet-register.sh +124 -0
  133. package/.claude/skills/cfn-fleet-manager/test-fleet-manager.sh +345 -0
  134. package/.claude/skills/cfn-hook-pipeline/SKILL.md +148 -0
  135. package/.claude/skills/cfn-hook-pipeline/auto-resolve.sh +66 -0
  136. package/.claude/skills/cfn-hook-pipeline/check-dependencies.sh +40 -0
  137. package/.claude/skills/cfn-hook-pipeline/feedback-resolver.sh +452 -0
  138. package/.claude/skills/cfn-hook-pipeline/post-edit-handler.sh +154 -0
  139. package/.claude/skills/cfn-hook-pipeline/security-scan.json +60 -0
  140. package/.claude/skills/cfn-hook-pipeline/security-scanner.sh +121 -0
  141. package/.claude/skills/cfn-hook-pipeline/test-root-warning-resolution.sh +148 -0
  142. package/.claude/skills/cfn-hybrid-routing/SKILL.md +46 -0
  143. package/.claude/skills/cfn-hybrid-routing/check-dependencies.sh +52 -0
  144. package/.claude/skills/cfn-hybrid-routing/config.json +26 -0
  145. package/.claude/skills/cfn-hybrid-routing/spawn-worker.sh +44 -0
  146. package/.claude/skills/cfn-loop-orchestration/SKILL.md +299 -0
  147. package/.claude/skills/cfn-loop-orchestration/helpers/auto-tune-timeouts.sh +228 -0
  148. package/.claude/skills/cfn-loop-orchestration/helpers/consensus.sh +84 -0
  149. package/.claude/skills/cfn-loop-orchestration/helpers/context-injection.sh +142 -0
  150. package/.claude/skills/cfn-loop-orchestration/helpers/context-lookup.sh +359 -0
  151. package/.claude/skills/cfn-loop-orchestration/helpers/deliverable-verifier.sh +71 -0
  152. package/.claude/skills/cfn-loop-orchestration/helpers/gate-check.sh +90 -0
  153. package/.claude/skills/cfn-loop-orchestration/helpers/iteration-manager.sh +87 -0
  154. package/.claude/skills/cfn-loop-orchestration/helpers/spawn-agents.sh +271 -0
  155. package/.claude/skills/cfn-loop-orchestration/helpers/timeout-calculator.sh +51 -0
  156. package/.claude/skills/cfn-loop-orchestration/inject-loop-context.sh +41 -0
  157. package/.claude/skills/cfn-loop-orchestration/monitor-execution.sh +156 -0
  158. package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +884 -0
  159. package/.claude/skills/cfn-loop-orchestration/orchestrate.sh.backup +840 -0
  160. package/.claude/skills/cfn-loop-orchestration/security_utils.sh +99 -0
  161. package/.claude/skills/cfn-loop-orchestration/test-cfn-orchestration.sh +281 -0
  162. package/.claude/skills/cfn-loop-orchestration/test-edge-cases.sh +188 -0
  163. package/.claude/skills/cfn-loop-validation/SKILL.md +353 -0
  164. package/.claude/skills/cfn-loop-validation/check-dependencies.sh +31 -0
  165. package/.claude/skills/cfn-loop-validation/config.json +161 -0
  166. package/.claude/skills/cfn-loop-validation/consensus-calculator.js +477 -0
  167. package/.claude/skills/cfn-loop-validation/evidence-chain.sql +163 -0
  168. package/.claude/skills/cfn-loop-validation/examples/README.md +453 -0
  169. package/.claude/skills/cfn-loop-validation/examples/coordinator-full-cfn-loop.sh +234 -0
  170. package/.claude/skills/cfn-loop-validation/examples/coordinator-loop2-consensus.sh +132 -0
  171. package/.claude/skills/cfn-loop-validation/examples/coordinator-loop3-gate.sh +115 -0
  172. package/.claude/skills/cfn-loop-validation/examples/coordinator-redis-integration.sh +186 -0
  173. package/.claude/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +252 -0
  174. package/.claude/skills/cfn-loop-validation/validate-iteration.sh +134 -0
  175. package/.claude/skills/cfn-process-lifecycle/SKILL.md +39 -0
  176. package/.claude/skills/cfn-process-lifecycle/check-dependencies.sh +58 -0
  177. package/.claude/skills/cfn-process-lifecycle/config.json +39 -0
  178. package/.claude/skills/cfn-process-lifecycle/process-manager.sh +144 -0
  179. package/.claude/skills/cfn-product-owner-decision/SKILL.md +332 -0
  180. package/.claude/skills/cfn-product-owner-decision/execute-decision.sh +176 -0
  181. package/.claude/skills/cfn-product-owner-decision/parse-decision.sh +66 -0
  182. package/.claude/skills/cfn-product-owner-decision/validate-deliverables.sh +82 -0
  183. package/.claude/skills/cfn-redis-coordination/AGENT_LOGGING.md +280 -0
  184. package/.claude/skills/cfn-redis-coordination/BZPOPMIN_FIX_SUMMARY.md +209 -0
  185. package/.claude/skills/cfn-redis-coordination/HEARTBEAT.md +57 -0
  186. package/.claude/skills/cfn-redis-coordination/HEARTBEAT_MONITORING.md +267 -0
  187. package/.claude/skills/cfn-redis-coordination/LOGGING.md +260 -0
  188. package/.claude/skills/cfn-redis-coordination/SECURITY_REVIEW.md +25 -0
  189. package/.claude/skills/cfn-redis-coordination/SHUTDOWN_HANDLING.md +164 -0
  190. package/.claude/skills/cfn-redis-coordination/SKILL.md +720 -0
  191. package/.claude/skills/cfn-redis-coordination/agent-log.sh +124 -0
  192. package/.claude/skills/cfn-redis-coordination/agent-recovery.sh +75 -0
  193. package/.claude/skills/cfn-redis-coordination/analyze-task-complexity.sh +277 -0
  194. package/.claude/skills/cfn-redis-coordination/cancel-swarm.sh +221 -0
  195. package/.claude/skills/cfn-redis-coordination/cfn-loop-exec.sh +468 -0
  196. package/.claude/skills/cfn-redis-coordination/cfn-loop-relaunch.sh +29 -0
  197. package/.claude/skills/cfn-redis-coordination/check-dependencies.sh +32 -0
  198. package/.claude/skills/cfn-redis-coordination/collect-confidence-scores.sh +179 -0
  199. package/.claude/skills/cfn-redis-coordination/collect-results.sh +75 -0
  200. package/.claude/skills/cfn-redis-coordination/complete-swarm.sh +75 -0
  201. package/.claude/skills/cfn-redis-coordination/config.json +61 -0
  202. package/.claude/skills/cfn-redis-coordination/data/cfn-loop.db +0 -0
  203. package/.claude/skills/cfn-redis-coordination/demos/phase4-wake-queue-test-report.md +82 -0
  204. package/.claude/skills/cfn-redis-coordination/demos/test-bzpopmin-fix.sh +274 -0
  205. package/.claude/skills/cfn-redis-coordination/demos/test-cancel-swarm.sh +276 -0
  206. package/.claude/skills/cfn-redis-coordination/demos/test-dlq.sh +129 -0
  207. package/.claude/skills/cfn-redis-coordination/demos/test-iteration-feedback.sh +320 -0
  208. package/.claude/skills/cfn-redis-coordination/demos/test-orchestrator.sh +249 -0
  209. package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake-phase4-unix.sh +148 -0
  210. package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake-phase4.sh +163 -0
  211. package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake.sh +138 -0
  212. package/.claude/skills/cfn-redis-coordination/demos/test-quick-fix.sh +81 -0
  213. package/.claude/skills/cfn-redis-coordination/demos/test-quorum-absolute.sh +45 -0
  214. package/.claude/skills/cfn-redis-coordination/demos/test-quorum-fallback.sh +68 -0
  215. package/.claude/skills/cfn-redis-coordination/demos/test-quorum-percentage.sh +56 -0
  216. package/.claude/skills/cfn-redis-coordination/demos/test-quorum-with-retry.sh +81 -0
  217. package/.claude/skills/cfn-redis-coordination/demos/test-quorum.sh +57 -0
  218. package/.claude/skills/cfn-redis-coordination/demos/test-shutdown-handling.sh +187 -0
  219. package/.claude/skills/cfn-redis-coordination/demos/test-shutdown.sh +160 -0
  220. package/.claude/skills/cfn-redis-coordination/demos/test-utils-unix.sh +97 -0
  221. package/.claude/skills/cfn-redis-coordination/demos/test-utils.sh +97 -0
  222. package/.claude/skills/cfn-redis-coordination/demos/test-waiting-mode.sh +59 -0
  223. package/.claude/skills/cfn-redis-coordination/examples/README.md +73 -0
  224. package/.claude/skills/cfn-redis-coordination/examples/grafana-dashboard.json +352 -0
  225. package/.claude/skills/cfn-redis-coordination/examples/hierarchical-pattern.sh +127 -0
  226. package/.claude/skills/cfn-redis-coordination/examples/mesh-pattern.sh +171 -0
  227. package/.claude/skills/cfn-redis-coordination/examples/timeout-handling.sh +227 -0
  228. package/.claude/skills/cfn-redis-coordination/examples/waiting-mode-pattern.sh +239 -0
  229. package/.claude/skills/cfn-redis-coordination/execute-product-owner-decision.sh +258 -0
  230. package/.claude/skills/cfn-redis-coordination/get-agent-timeout.sh +177 -0
  231. package/.claude/skills/cfn-redis-coordination/heartbeat-functions.sh +137 -0
  232. package/.claude/skills/cfn-redis-coordination/heartbeat-protocol.md +106 -0
  233. package/.claude/skills/cfn-redis-coordination/heartbeat.sh +126 -0
  234. package/.claude/skills/cfn-redis-coordination/init-swarm.sh +148 -0
  235. package/.claude/skills/cfn-redis-coordination/invoke-redis-pattern.sh +220 -0
  236. package/.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh +283 -0
  237. package/.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh.backup-p7 +423 -0
  238. package/.claude/skills/cfn-redis-coordination/list-active-swarms.sh +147 -0
  239. package/.claude/skills/cfn-redis-coordination/log-event.sh +109 -0
  240. package/.claude/skills/cfn-redis-coordination/metrics-export.sh +674 -0
  241. package/.claude/skills/cfn-redis-coordination/metrics-schema.json +66 -0
  242. package/.claude/skills/cfn-redis-coordination/metrics-storage.md +31 -0
  243. package/.claude/skills/cfn-redis-coordination/monitor-cfn-violations.sh +391 -0
  244. package/.claude/skills/cfn-redis-coordination/monitor-heartbeats.sh +101 -0
  245. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop-v3.sh +141 -0
  246. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh +31 -0
  247. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup +38 -0
  248. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-1761167675 +1672 -0
  249. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-p5 +1604 -0
  250. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-phase1 +1550 -0
  251. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-phase2 +1621 -0
  252. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-phase3 +1621 -0
  253. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.bak +0 -0
  254. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.broken +1627 -0
  255. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.corrupted +80 -0
  256. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.deprecated +1864 -0
  257. package/.claude/skills/cfn-redis-coordination/priority-wake-mechanism.md +75 -0
  258. package/.claude/skills/cfn-redis-coordination/priority_wake.py +134 -0
  259. package/.claude/skills/cfn-redis-coordination/query-dlq.sh +162 -0
  260. package/.claude/skills/cfn-redis-coordination/query-logs.sh +103 -0
  261. package/.claude/skills/cfn-redis-coordination/redis-pattern.sh +619 -0
  262. package/.claude/skills/cfn-redis-coordination/retrieve-context.sh +58 -0
  263. package/.claude/skills/cfn-redis-coordination/select-specialist-agent.sh +371 -0
  264. package/.claude/skills/cfn-redis-coordination/semantic-match-tfidf.py +252 -0
  265. package/.claude/skills/cfn-redis-coordination/send-heartbeat.sh +165 -0
  266. package/.claude/skills/cfn-redis-coordination/signal.sh +38 -0
  267. package/.claude/skills/cfn-redis-coordination/store-context.sh +86 -0
  268. package/.claude/skills/cfn-redis-coordination/store-epic-context.sh +123 -0
  269. package/.claude/skills/cfn-redis-coordination/test-context-injection.sh +354 -0
  270. package/.claude/skills/cfn-redis-coordination/test-timeout-enforcement.sh +513 -0
  271. package/.claude/skills/cfn-redis-coordination/tests/convert-line-endings.sh +15 -0
  272. package/.claude/skills/cfn-redis-coordination/tests/dlq-functionality-test.sh +102 -0
  273. package/.claude/skills/cfn-redis-coordination/tests/edge-cases-test.sh +99 -0
  274. package/.claude/skills/cfn-redis-coordination/tests/integration-test.sh +170 -0
  275. package/.claude/skills/cfn-redis-coordination/tests/retry-mechanism-test.sh +82 -0
  276. package/.claude/skills/cfn-redis-coordination/tests/run-test-suite.sh +92 -0
  277. package/.claude/skills/cfn-redis-coordination/tests/run-tests.sh +4 -0
  278. package/.claude/skills/cfn-redis-coordination/tests/test-heartbeat-monitoring.sh +418 -0
  279. package/.claude/skills/cfn-redis-coordination/tests/test-heartbeat-simple.sh +124 -0
  280. package/.claude/skills/cfn-redis-coordination/tests/test-primitives.sh +166 -0
  281. package/.claude/skills/cfn-redis-coordination/tests/test-utils.sh +54 -0
  282. package/.claude/skills/cfn-redis-coordination/tests/test_coordination_primitives.sh.deprecated +20 -0
  283. package/.claude/skills/cfn-redis-coordination/tests/test_utils.sh +49 -0
  284. package/.claude/skills/cfn-redis-coordination/v2_modularization/core_orchestration.sh +76 -0
  285. package/.claude/skills/cfn-redis-coordination/validate-parameters.sh +492 -0
  286. package/.claude/skills/cfn-sqlite-memory/IMPLEMENTATION_REPORT.md +393 -0
  287. package/.claude/skills/cfn-sqlite-memory/QUICK_REFERENCE.md +204 -0
  288. package/.claude/skills/cfn-sqlite-memory/SKILL.md +415 -0
  289. package/.claude/skills/cfn-sqlite-memory/acl-queries.sql +452 -0
  290. package/.claude/skills/cfn-sqlite-memory/check-dependencies.sh +36 -0
  291. package/.claude/skills/cfn-sqlite-memory/config.json +45 -0
  292. package/.claude/skills/cfn-sqlite-memory/memory-cli.sh +88 -0
  293. package/.claude/skills/cfn-sqlite-memory/test-state-persistence.js +187 -0
  294. package/.claude/skills/cfn-sqlite-memory/ttl-cleanup.sh +274 -0
  295. package/.claude/skills/cfn-test-execution/SKILL.md +128 -0
  296. package/.claude/skills/cfn-test-execution/check-dependencies.sh +36 -0
  297. package/.claude/skills/cfn-test-execution/test-cache-reader.sh +134 -0
  298. package/.claude/skills/cfn-test-execution/test-concurrent-conflicts.sh +115 -0
  299. package/.claude/skills/cfn-test-execution/test-coordinator-pattern.sh +109 -0
  300. package/.claude/skills/cfn-transparency-middleware/Cargo.toml +18 -0
  301. package/.claude/skills/cfn-transparency-middleware/SECURITY.md +41 -0
  302. package/.claude/skills/cfn-transparency-middleware/SKILL.md +91 -0
  303. package/.claude/skills/cfn-transparency-middleware/TEST_RESULTS.md +174 -0
  304. package/.claude/skills/cfn-transparency-middleware/config.json +31 -0
  305. package/.claude/skills/cfn-transparency-middleware/examples/basic-usage.ts +39 -0
  306. package/.claude/skills/cfn-transparency-middleware/examples/batch-processing.ts +52 -0
  307. package/.claude/skills/cfn-transparency-middleware/examples/custom-filtering.ts +61 -0
  308. package/.claude/skills/cfn-transparency-middleware/invoke-transparency-filter.sh +98 -0
  309. package/.claude/skills/cfn-transparency-middleware/invoke-transparency-init.sh +224 -0
  310. package/.claude/skills/cfn-transparency-middleware/invoke-transparency-level.sh +333 -0
  311. package/.claude/skills/cfn-transparency-middleware/invoke-transparency-metrics.sh +345 -0
  312. package/.claude/skills/cfn-transparency-middleware/invoke-transparency-observe.sh +140 -0
  313. package/.claude/skills/cfn-transparency-middleware/invoke-transparency-stop.sh +235 -0
  314. package/.claude/skills/cfn-transparency-middleware/memory_query.rs +85 -0
  315. package/.claude/skills/cfn-transparency-middleware/memory_repository.rs +140 -0
  316. package/.claude/skills/cfn-transparency-middleware/memory_schema.rs +64 -0
  317. package/.claude/skills/cfn-transparency-middleware/middleware-config.sh +29 -0
  318. package/.claude/skills/cfn-transparency-middleware/performance-benchmark.sh +79 -0
  319. package/.claude/skills/cfn-transparency-middleware/test-e2e.sh +406 -0
  320. package/.claude/skills/cfn-transparency-middleware/test-integration.sh +162 -0
  321. package/.claude/skills/cfn-transparency-middleware/test-transparency-skill.sh +368 -0
  322. package/.claude/skills/cfn-transparency-middleware/test-transparency-skill.sh.unix +126 -0
  323. package/.claude/skills/cfn-transparency-middleware/tests/input-validation.sh +93 -0
  324. package/.claude/skills/cfn-transparency-middleware/wrap-agent.sh +132 -0
  325. package/.claude/skills/cfn-webapp-testing/SCREENSHOT_NAMING_CONVENTION.md +547 -0
  326. package/.claude/skills/cfn-webapp-testing/SKILL.md +877 -0
  327. package/.claude/skills/cfn-webapp-testing/capture-screenshot.sh +238 -0
  328. package/.claude/skills/cfn-webapp-testing/cfn-loop-integration.sh +265 -0
  329. package/.claude/skills/cfn-webapp-testing/compare-screenshots.sh +199 -0
  330. package/.claude/skills/cfn-webapp-testing/init-storage.sh +150 -0
  331. package/.claude/skills/cfn-webapp-testing/set-baseline.sh +196 -0
  332. package/.claude/skills/cfn-webapp-testing/test-webapp-testing.sh +233 -0
  333. package/README.md +51 -2
  334. package/dist/ace/ace-reflector.js +109 -10
  335. package/dist/ace/ace-reflector.js.map +1 -1
  336. package/dist/cli/agent-executor.js +1 -1
  337. package/dist/cli/agent-executor.js.map +1 -1
  338. package/package.json +43 -7
  339. package/readme/README.md +15 -4
  340. package/scripts/init-project.js +39 -2
  341. package/scripts/run-marketing-tests.sh +43 -0
  342. package/scripts/update_paths.sh +47 -0
  343. package/tools/install-lizard.sh +37 -0
  344. package/tools/simple-complexity.sh +44 -0
  345. package/.claude/agents/cfn-dev-team/developers/coder.md +0 -270
  346. package/.claude/agents/cfn-dev-team/developers/state-architect.md +0 -127
  347. package/.claude/agents/cfn-dev-team/reviewers/code-quality-validator.md +0 -128
  348. /package/.claude/agents/cfn-dev-team/developers/{ui-designer.md → frontend/ui-designer.md} +0 -0
  349. /package/.claude/agents/cfn-dev-team/{coordinators → product-owners}/product-owner-agent.md +0 -0
@@ -0,0 +1,333 @@
1
+ #!/usr/bin/env bash
2
+ ##
3
+ ## Transparency Middleware - Level Management Script
4
+ ## Get, set, and manage transparency levels for the middleware
5
+ ##
6
+ ## Usage:
7
+ ## ./invoke-transparency-level.sh [OPTIONS]
8
+ ##
9
+ ## Options:
10
+ ## --get Get current transparency level
11
+ ## --set <level> Set transparency level (minimal|detailed|verbose|debug)
12
+ ## --agent-id <id> Configure level for specific agent
13
+ ## --task-id <id> Configure level for specific task
14
+ ## --impact Assess impact of level change
15
+ ## --format <json|text> Output format (default: text)
16
+ ## --help Show this help message
17
+ ##
18
+ ## Transparency Levels:
19
+ ## minimal - Critical errors and state changes only
20
+ ## detailed - Important activities, errors, and performance metrics
21
+ ## verbose - All agent activities with context
22
+ ## debug - Full debugging information with performance traces
23
+ ##
24
+
25
+ set -euo pipefail
26
+
27
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
28
+ PROJECT_ROOT="$(cd "$SCRIPT_DIR/.claude/skills/cfn-cfn-.claude/skills/cfn-cfn-.." && pwd)"
29
+
30
+ # Default configuration
31
+ ACTION=""
32
+ LEVEL=""
33
+ AGENT_ID=""
34
+ TASK_ID=""
35
+ IMPACT="no"
36
+ FORMAT="text"
37
+
38
+ # Parse arguments
39
+ while [[ $# -gt 0 ]]; do
40
+ case $1 in
41
+ --get)
42
+ ACTION="get"
43
+ shift
44
+ ;;
45
+ --set)
46
+ ACTION="set"
47
+ LEVEL="$2"
48
+ shift 2
49
+ ;;
50
+ --agent-id)
51
+ AGENT_ID="$2"
52
+ shift 2
53
+ ;;
54
+ --task-id)
55
+ TASK_ID="$2"
56
+ shift 2
57
+ ;;
58
+ --impact)
59
+ IMPACT="yes"
60
+ shift
61
+ ;;
62
+ --format)
63
+ FORMAT="$2"
64
+ shift 2
65
+ ;;
66
+ --help)
67
+ grep "^##" "$0" | sed 's/^## \?//'
68
+ exit 0
69
+ ;;
70
+ *)
71
+ echo "Error: Unknown option: $1" >&2
72
+ exit 1
73
+ ;;
74
+ esac
75
+ done
76
+
77
+ # Validate action
78
+ if [[ -z "$ACTION" ]]; then
79
+ echo "Error: No action specified. Use --get or --set" >&2
80
+ exit 1
81
+ fi
82
+
83
+ # Determine Redis keys
84
+ if [[ -n "$AGENT_ID" ]]; then
85
+ CONFIG_KEY="transparency:config:agent:${AGENT_ID}"
86
+ SCOPE="agent:${AGENT_ID}"
87
+ elif [[ -n "$TASK_ID" ]]; then
88
+ CONFIG_KEY="transparency:config:${TASK_ID}"
89
+ SCOPE="task:${TASK_ID}"
90
+ else
91
+ CONFIG_KEY="transparency:config:global"
92
+ SCOPE="global"
93
+ fi
94
+
95
+ # Level descriptions
96
+ declare -A LEVEL_DESCRIPTIONS
97
+ LEVEL_DESCRIPTIONS["minimal"]="Critical errors and state changes only. Minimal overhead (<1%)."
98
+ LEVEL_DESCRIPTIONS["detailed"]="Important activities, errors, and performance metrics. Low overhead (1-3%)."
99
+ LEVEL_DESCRIPTIONS["verbose"]="All agent activities with context. Moderate overhead (3-5%)."
100
+ LEVEL_DESCRIPTIONS["debug"]="Full debugging information with performance traces. High overhead (5-10%)."
101
+
102
+ # Get current level
103
+ get_level() {
104
+ # Get config from Redis
105
+ local config=$(redis-cli GET "$CONFIG_KEY" 2>/dev/null || echo "{}")
106
+
107
+ if [[ "$config" == "(nil)" || -z "$config" ]]; then
108
+ # Check global config if scope-specific not found
109
+ if [[ "$SCOPE" != "global" ]]; then
110
+ config=$(redis-cli GET "transparency:config:global" 2>/dev/null || echo "{}")
111
+ fi
112
+ fi
113
+
114
+ local current_level=$(echo "$config" | jq -r '.level // "detailed"')
115
+ local performance_monitoring=$(echo "$config" | jq -r '.enablePerformanceMonitoring // true')
116
+ local context_filtering=$(echo "$config" | jq -r '.enableContextFiltering // true')
117
+ local message_filtering=$(echo "$config" | jq -r '.enableMessageFiltering // true')
118
+ local max_overhead=$(echo "$config" | jq -r '.maxOverheadPercent // 5')
119
+
120
+ if [[ "$FORMAT" == "json" ]]; then
121
+ cat <<EOF
122
+ {
123
+ "scope": "$SCOPE",
124
+ "level": "$current_level",
125
+ "description": "${LEVEL_DESCRIPTIONS[$current_level]:-Unknown level}",
126
+ "config": {
127
+ "enablePerformanceMonitoring": $performance_monitoring,
128
+ "enableContextFiltering": $context_filtering,
129
+ "enableMessageFiltering": $message_filtering,
130
+ "maxOverheadPercent": $max_overhead
131
+ }
132
+ }
133
+ EOF
134
+ else
135
+ echo "Current Transparency Level"
136
+ echo "=========================="
137
+ echo "Scope: $SCOPE"
138
+ echo "Level: $current_level"
139
+ echo "Description: ${LEVEL_DESCRIPTIONS[$current_level]:-Unknown level}"
140
+ echo ""
141
+ echo "Configuration:"
142
+ echo " Performance Monitoring: $performance_monitoring"
143
+ echo " Context Filtering: $context_filtering"
144
+ echo " Message Filtering: $message_filtering"
145
+ echo " Max Overhead: ${max_overhead}%"
146
+ fi
147
+ }
148
+
149
+ # Set transparency level
150
+ set_level() {
151
+ # Validate level
152
+ if [[ ! "$LEVEL" =~ ^(minimal|detailed|verbose|debug)$ ]]; then
153
+ echo "Error: Invalid level. Must be one of: minimal, detailed, verbose, debug" >&2
154
+ exit 1
155
+ fi
156
+
157
+ # Get current config or create new one
158
+ local config=$(redis-cli GET "$CONFIG_KEY" 2>/dev/null || echo "{}")
159
+
160
+ if [[ "$config" == "(nil)" || -z "$config" ]]; then
161
+ # Create default config
162
+ config=$(cat <<EOF
163
+ {
164
+ "level": "detailed",
165
+ "enablePerformanceMonitoring": true,
166
+ "enableContextFiltering": true,
167
+ "enableMessageFiltering": true,
168
+ "maxOverheadPercent": 5,
169
+ "messageQueueSize": 1000,
170
+ "flushInterval": 5000,
171
+ "excludedPatterns": [],
172
+ "includedPatterns": []
173
+ }
174
+ EOF
175
+ )
176
+ fi
177
+
178
+ # Update level
179
+ local updated_config=$(echo "$config" | jq --arg level "$LEVEL" '.level = $level')
180
+
181
+ # Adjust settings based on level
182
+ case "$LEVEL" in
183
+ minimal)
184
+ updated_config=$(echo "$updated_config" | jq '.maxOverheadPercent = 1 | .messageQueueSize = 100 | .enableContextFiltering = false')
185
+ ;;
186
+ detailed)
187
+ updated_config=$(echo "$updated_config" | jq '.maxOverheadPercent = 3 | .messageQueueSize = 1000 | .enableContextFiltering = true')
188
+ ;;
189
+ verbose)
190
+ updated_config=$(echo "$updated_config" | jq '.maxOverheadPercent = 5 | .messageQueueSize = 5000 | .enableContextFiltering = true')
191
+ ;;
192
+ debug)
193
+ updated_config=$(echo "$updated_config" | jq '.maxOverheadPercent = 10 | .messageQueueSize = 10000 | .enableContextFiltering = true')
194
+ ;;
195
+ esac
196
+
197
+ # Save to Redis
198
+ redis-cli SET "$CONFIG_KEY" "$updated_config" > /dev/null
199
+
200
+ # Publish event
201
+ local event_json=$(cat <<EOF
202
+ {
203
+ "event": "level_changed",
204
+ "timestamp": $(date +%s),
205
+ "scope": "$SCOPE",
206
+ "oldLevel": "$(echo "$config" | jq -r '.level // "unknown"')",
207
+ "newLevel": "$LEVEL",
208
+ "config": $updated_config
209
+ }
210
+ EOF
211
+ )
212
+ redis-cli PUBLISH "transparency:events" "$event_json" > /dev/null
213
+
214
+ # Output result
215
+ if [[ "$FORMAT" == "json" ]]; then
216
+ cat <<EOF
217
+ {
218
+ "success": true,
219
+ "scope": "$SCOPE",
220
+ "level": "$LEVEL",
221
+ "description": "${LEVEL_DESCRIPTIONS[$LEVEL]}",
222
+ "config": $updated_config
223
+ }
224
+ EOF
225
+ else
226
+ echo "Transparency Level Updated"
227
+ echo "=========================="
228
+ echo "Scope: $SCOPE"
229
+ echo "New Level: $LEVEL"
230
+ echo "Description: ${LEVEL_DESCRIPTIONS[$LEVEL]}"
231
+ echo ""
232
+ echo "Updated Configuration:"
233
+ echo "$updated_config" | jq -r 'to_entries | .[] | " \(.key): \(.value)"'
234
+ fi
235
+ }
236
+
237
+ # Assess impact of level change
238
+ assess_impact() {
239
+ if [[ -z "$LEVEL" ]]; then
240
+ echo "Error: --set <level> is required for impact assessment" >&2
241
+ exit 1
242
+ fi
243
+
244
+ # Get current level
245
+ local config=$(redis-cli GET "$CONFIG_KEY" 2>/dev/null || echo '{"level":"detailed"}')
246
+ local current_level=$(echo "$config" | jq -r '.level // "detailed"')
247
+
248
+ # Get current metrics
249
+ local metrics_key="transparency:metrics:${TASK_ID:-global}"
250
+ local metrics=$(redis-cli GET "$metrics_key" 2>/dev/null || echo "{}")
251
+
252
+ local total_generated=$(echo "$metrics" | jq -r '.totalMessagesGenerated // 0')
253
+ local avg_overhead=$(echo "$metrics" | jq -r '.overheadPercentage // 0')
254
+
255
+ # Estimate impact multipliers
256
+ declare -A MESSAGE_MULTIPLIER
257
+ MESSAGE_MULTIPLIER["minimal"]=0.2
258
+ MESSAGE_MULTIPLIER["detailed"]=1.0
259
+ MESSAGE_MULTIPLIER["verbose"]=3.0
260
+ MESSAGE_MULTIPLIER["debug"]=5.0
261
+
262
+ declare -A OVERHEAD_ESTIMATE
263
+ OVERHEAD_ESTIMATE["minimal"]=0.5
264
+ OVERHEAD_ESTIMATE["detailed"]=2.0
265
+ OVERHEAD_ESTIMATE["verbose"]=4.0
266
+ OVERHEAD_ESTIMATE["debug"]=8.0
267
+
268
+ # Calculate projected impact
269
+ local current_multiplier=${MESSAGE_MULTIPLIER[$current_level]}
270
+ local new_multiplier=${MESSAGE_MULTIPLIER[$LEVEL]}
271
+ local multiplier_ratio=$(echo "scale=2; $new_multiplier / $current_multiplier" | bc)
272
+
273
+ local projected_messages=$(echo "scale=0; $total_generated * $multiplier_ratio" | bc)
274
+ local projected_overhead=${OVERHEAD_ESTIMATE[$LEVEL]}
275
+
276
+ if [[ "$FORMAT" == "json" ]]; then
277
+ cat <<EOF
278
+ {
279
+ "currentLevel": "$current_level",
280
+ "proposedLevel": "$LEVEL",
281
+ "impact": {
282
+ "messageVolumeChange": "$multiplier_ratio",
283
+ "projectedMessages": $projected_messages,
284
+ "projectedOverhead": $projected_overhead,
285
+ "overheadChange": "$(echo "scale=2; $projected_overhead - $avg_overhead" | bc)"
286
+ },
287
+ "recommendation": "$([ "$LEVEL" == "debug" ] && echo "Use only for troubleshooting" || echo "Safe to use")"
288
+ }
289
+ EOF
290
+ else
291
+ echo "Impact Assessment"
292
+ echo "================="
293
+ echo "Current Level: $current_level"
294
+ echo "Proposed Level: $LEVEL"
295
+ echo ""
296
+ echo "Projected Impact:"
297
+ echo " Message Volume Change: ${multiplier_ratio}x"
298
+ echo " Projected Messages: $projected_messages"
299
+ echo " Current Overhead: ${avg_overhead}%"
300
+ echo " Projected Overhead: ${projected_overhead}%"
301
+ echo " Overhead Change: +$(echo "scale=2; $projected_overhead - $avg_overhead" | bc)%"
302
+ echo ""
303
+ if [[ "$LEVEL" == "debug" ]]; then
304
+ echo "Recommendation: Use debug level only for troubleshooting"
305
+ elif [[ "$LEVEL" == "minimal" ]]; then
306
+ echo "Recommendation: Minimal level reduces visibility significantly"
307
+ else
308
+ echo "Recommendation: Safe to use for production"
309
+ fi
310
+ fi
311
+ }
312
+
313
+ # Execute action
314
+ case "$ACTION" in
315
+ get)
316
+ get_level
317
+ ;;
318
+ set)
319
+ if [[ "$IMPACT" == "yes" ]]; then
320
+ assess_impact
321
+ echo ""
322
+ echo "Proceeding with level change..."
323
+ echo ""
324
+ fi
325
+ set_level
326
+ ;;
327
+ *)
328
+ echo "Error: Unknown action: $ACTION" >&2
329
+ exit 1
330
+ ;;
331
+ esac
332
+
333
+ exit 0
@@ -0,0 +1,345 @@
1
+ #!/usr/bin/env bash
2
+ ##
3
+ ## Transparency Middleware - Metrics Script
4
+ ## Query performance metrics and statistics for transparency middleware
5
+ ##
6
+ ## Usage:
7
+ ## ./invoke-transparency-metrics.sh [OPTIONS]
8
+ ##
9
+ ## Options:
10
+ ## --task-id <id> Task ID for scoped metrics
11
+ ## --metric <type> Specific metric to query (default: all)
12
+ ## Options: generation-rate, filtering-efficiency,
13
+ ## overhead, queue-stats, message-breakdown
14
+ ## --format <json|text> Output format (default: text)
15
+ ## --window <seconds> Time window for rate calculations (default: 60)
16
+ ## --reset Reset metrics after querying
17
+ ## --help Show this help message
18
+ ##
19
+
20
+ set -euo pipefail
21
+
22
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
23
+ PROJECT_ROOT="$(cd "$SCRIPT_DIR/.claude/skills/cfn-cfn-.claude/skills/cfn-cfn-.." && pwd)"
24
+
25
+ # Default configuration
26
+ TASK_ID=""
27
+ METRIC="all"
28
+ FORMAT="text"
29
+ WINDOW="60"
30
+ RESET="no"
31
+
32
+ # Parse arguments
33
+ while [[ $# -gt 0 ]]; do
34
+ case $1 in
35
+ --task-id)
36
+ TASK_ID="$2"
37
+ shift 2
38
+ ;;
39
+ --metric)
40
+ METRIC="$2"
41
+ shift 2
42
+ ;;
43
+ --format)
44
+ FORMAT="$2"
45
+ shift 2
46
+ ;;
47
+ --window)
48
+ WINDOW="$2"
49
+ shift 2
50
+ ;;
51
+ --reset)
52
+ RESET="yes"
53
+ shift
54
+ ;;
55
+ --help)
56
+ grep "^##" "$0" | sed 's/^## \?//'
57
+ exit 0
58
+ ;;
59
+ *)
60
+ echo "Error: Unknown option: $1" >&2
61
+ exit 1
62
+ ;;
63
+ esac
64
+ done
65
+
66
+ # Determine Redis keys
67
+ METRICS_KEY="transparency:metrics:${TASK_ID:-global}"
68
+ STATE_KEY="transparency:state:${TASK_ID:-global}"
69
+
70
+ # Get current metrics from Redis
71
+ METRICS_JSON=$(redis-cli GET "$METRICS_KEY" 2>/dev/null || echo "{}")
72
+ STATE_JSON=$(redis-cli GET "$STATE_KEY" 2>/dev/null || echo "{}")
73
+
74
+ # Parse metrics
75
+ TOTAL_GENERATED=$(echo "$METRICS_JSON" | jq -r '.totalMessagesGenerated // 0')
76
+ TOTAL_FILTERED=$(echo "$METRICS_JSON" | jq -r '.totalMessagesFiltered // 0')
77
+ AVG_GEN_TIME=$(echo "$METRICS_JSON" | jq -r '.averageGenerationTime // 0')
78
+ AVG_FILTER_TIME=$(echo "$METRICS_JSON" | jq -r '.averageFilteringTime // 0')
79
+ TOTAL_OVERHEAD=$(echo "$METRICS_JSON" | jq -r '.totalOverheadMs // 0')
80
+ OVERHEAD_PERCENT=$(echo "$METRICS_JSON" | jq -r '.overheadPercentage // 0')
81
+ FILTER_EFFECTIVENESS=$(echo "$METRICS_JSON" | jq -r '.filterEffectiveness // 0')
82
+
83
+ # Parse state
84
+ STARTED_AT=$(echo "$STATE_JSON" | jq -r '.startedAt // 0')
85
+ MESSAGE_COUNT=$(echo "$STATE_JSON" | jq -r '.messageCount // 0')
86
+ LAST_ACTIVITY=$(echo "$STATE_JSON" | jq -r '.lastActivity // 0')
87
+
88
+ # Calculate derived metrics
89
+ CURRENT_TIME=$(date +%s)
90
+ UPTIME=$((CURRENT_TIME - STARTED_AT))
91
+
92
+ # Generation rate (messages per second)
93
+ if [[ $UPTIME -gt 0 ]]; then
94
+ GENERATION_RATE=$(echo "scale=2; $TOTAL_GENERATED / $UPTIME" | bc)
95
+ else
96
+ GENERATION_RATE="0.00"
97
+ fi
98
+
99
+ # Filtering efficiency (percentage of messages filtered)
100
+ if [[ $TOTAL_GENERATED -gt 0 ]]; then
101
+ FILTERING_EFFICIENCY=$(echo "scale=2; ($TOTAL_FILTERED / $TOTAL_GENERATED) * 100" | bc)
102
+ else
103
+ FILTERING_EFFICIENCY="0.00"
104
+ fi
105
+
106
+ # Queue utilization
107
+ QUEUE_SIZE=$(redis-cli LLEN "transparency:messages:list:${TASK_ID:-global}" 2>/dev/null || echo "0")
108
+
109
+ # Message breakdown by level
110
+ MINIMAL_COUNT=$(echo "$METRICS_JSON" | jq -r '.messagesByLevel.minimal // 0')
111
+ DETAILED_COUNT=$(echo "$METRICS_JSON" | jq -r '.messagesByLevel.detailed // 0')
112
+ VERBOSE_COUNT=$(echo "$METRICS_JSON" | jq -r '.messagesByLevel.verbose // 0')
113
+ DEBUG_COUNT=$(echo "$METRICS_JSON" | jq -r '.messagesByLevel.debug // 0')
114
+
115
+ # Message breakdown by type
116
+ ACTIVITY_COUNT=$(echo "$METRICS_JSON" | jq -r '.messagesByType.agent_activity // 0')
117
+ STATE_CHANGE_COUNT=$(echo "$METRICS_JSON" | jq -r '.messagesByType.state_change // 0')
118
+ PERFORMANCE_COUNT=$(echo "$METRICS_JSON" | jq -r '.messagesByType.performance_metric // 0')
119
+ ERROR_COUNT=$(echo "$METRICS_JSON" | jq -r '.messagesByType.error // 0')
120
+ DEBUG_MSG_COUNT=$(echo "$METRICS_JSON" | jq -r '.messagesByType.debug // 0')
121
+
122
+ # Output functions
123
+ output_generation_rate() {
124
+ if [[ "$FORMAT" == "json" ]]; then
125
+ cat <<EOF
126
+ {
127
+ "metric": "generation_rate",
128
+ "value": $GENERATION_RATE,
129
+ "unit": "messages/second",
130
+ "totalGenerated": $TOTAL_GENERATED,
131
+ "uptime": $UPTIME
132
+ }
133
+ EOF
134
+ else
135
+ echo "Message Generation Rate"
136
+ echo "======================="
137
+ echo "Rate: ${GENERATION_RATE} messages/second"
138
+ echo "Total Generated: $TOTAL_GENERATED"
139
+ echo "Uptime: ${UPTIME}s"
140
+ fi
141
+ }
142
+
143
+ output_filtering_efficiency() {
144
+ if [[ "$FORMAT" == "json" ]]; then
145
+ cat <<EOF
146
+ {
147
+ "metric": "filtering_efficiency",
148
+ "value": $FILTERING_EFFICIENCY,
149
+ "unit": "percent",
150
+ "totalGenerated": $TOTAL_GENERATED,
151
+ "totalFiltered": $TOTAL_FILTERED,
152
+ "effectiveness": $FILTER_EFFECTIVENESS
153
+ }
154
+ EOF
155
+ else
156
+ echo "Filtering Efficiency"
157
+ echo "===================="
158
+ echo "Efficiency: ${FILTERING_EFFICIENCY}%"
159
+ echo "Total Generated: $TOTAL_GENERATED"
160
+ echo "Total Filtered: $TOTAL_FILTERED"
161
+ echo "Effectiveness: $FILTER_EFFECTIVENESS"
162
+ fi
163
+ }
164
+
165
+ output_overhead() {
166
+ if [[ "$FORMAT" == "json" ]]; then
167
+ cat <<EOF
168
+ {
169
+ "metric": "overhead",
170
+ "totalOverheadMs": $TOTAL_OVERHEAD,
171
+ "overheadPercentage": $OVERHEAD_PERCENT,
172
+ "averageGenerationTime": $AVG_GEN_TIME,
173
+ "averageFilteringTime": $AVG_FILTER_TIME
174
+ }
175
+ EOF
176
+ else
177
+ echo "Performance Overhead"
178
+ echo "===================="
179
+ echo "Total Overhead: ${TOTAL_OVERHEAD}ms"
180
+ echo "Overhead Percentage: ${OVERHEAD_PERCENT}%"
181
+ echo "Avg Generation Time: ${AVG_GEN_TIME}ms"
182
+ echo "Avg Filtering Time: ${AVG_FILTER_TIME}ms"
183
+ fi
184
+ }
185
+
186
+ output_queue_stats() {
187
+ if [[ "$FORMAT" == "json" ]]; then
188
+ cat <<EOF
189
+ {
190
+ "metric": "queue_statistics",
191
+ "currentQueueSize": $QUEUE_SIZE,
192
+ "messageCount": $MESSAGE_COUNT,
193
+ "lastActivity": $LAST_ACTIVITY
194
+ }
195
+ EOF
196
+ else
197
+ echo "Queue Statistics"
198
+ echo "================"
199
+ echo "Current Queue Size: $QUEUE_SIZE"
200
+ echo "Total Message Count: $MESSAGE_COUNT"
201
+ echo "Last Activity: $(date -d "@$LAST_ACTIVITY" 2>/dev/null || date -r "$LAST_ACTIVITY" 2>/dev/null || echo "$LAST_ACTIVITY")"
202
+ fi
203
+ }
204
+
205
+ output_message_breakdown() {
206
+ if [[ "$FORMAT" == "json" ]]; then
207
+ cat <<EOF
208
+ {
209
+ "metric": "message_breakdown",
210
+ "byLevel": {
211
+ "minimal": $MINIMAL_COUNT,
212
+ "detailed": $DETAILED_COUNT,
213
+ "verbose": $VERBOSE_COUNT,
214
+ "debug": $DEBUG_COUNT
215
+ },
216
+ "byType": {
217
+ "agent_activity": $ACTIVITY_COUNT,
218
+ "state_change": $STATE_CHANGE_COUNT,
219
+ "performance_metric": $PERFORMANCE_COUNT,
220
+ "error": $ERROR_COUNT,
221
+ "debug": $DEBUG_MSG_COUNT
222
+ }
223
+ }
224
+ EOF
225
+ else
226
+ echo "Message Breakdown"
227
+ echo "================="
228
+ echo ""
229
+ echo "By Level:"
230
+ echo " Minimal: $MINIMAL_COUNT"
231
+ echo " Detailed: $DETAILED_COUNT"
232
+ echo " Verbose: $VERBOSE_COUNT"
233
+ echo " Debug: $DEBUG_COUNT"
234
+ echo ""
235
+ echo "By Type:"
236
+ echo " Agent Activity: $ACTIVITY_COUNT"
237
+ echo " State Change: $STATE_CHANGE_COUNT"
238
+ echo " Performance Metric: $PERFORMANCE_COUNT"
239
+ echo " Error: $ERROR_COUNT"
240
+ echo " Debug: $DEBUG_MSG_COUNT"
241
+ fi
242
+ }
243
+
244
+ output_all_metrics() {
245
+ if [[ "$FORMAT" == "json" ]]; then
246
+ cat <<EOF
247
+ {
248
+ "timestamp": $CURRENT_TIME,
249
+ "taskId": "${TASK_ID:-global}",
250
+ "uptime": $UPTIME,
251
+ "generationRate": {
252
+ "value": $GENERATION_RATE,
253
+ "unit": "messages/second",
254
+ "totalGenerated": $TOTAL_GENERATED
255
+ },
256
+ "filteringEfficiency": {
257
+ "value": $FILTERING_EFFICIENCY,
258
+ "unit": "percent",
259
+ "totalFiltered": $TOTAL_FILTERED,
260
+ "effectiveness": $FILTER_EFFECTIVENESS
261
+ },
262
+ "overhead": {
263
+ "totalMs": $TOTAL_OVERHEAD,
264
+ "percentage": $OVERHEAD_PERCENT,
265
+ "avgGenerationMs": $AVG_GEN_TIME,
266
+ "avgFilteringMs": $AVG_FILTER_TIME
267
+ },
268
+ "queue": {
269
+ "currentSize": $QUEUE_SIZE,
270
+ "totalMessages": $MESSAGE_COUNT,
271
+ "lastActivity": $LAST_ACTIVITY
272
+ },
273
+ "breakdown": {
274
+ "byLevel": {
275
+ "minimal": $MINIMAL_COUNT,
276
+ "detailed": $DETAILED_COUNT,
277
+ "verbose": $VERBOSE_COUNT,
278
+ "debug": $DEBUG_COUNT
279
+ },
280
+ "byType": {
281
+ "agent_activity": $ACTIVITY_COUNT,
282
+ "state_change": $STATE_CHANGE_COUNT,
283
+ "performance_metric": $PERFORMANCE_COUNT,
284
+ "error": $ERROR_COUNT,
285
+ "debug": $DEBUG_MSG_COUNT
286
+ }
287
+ }
288
+ }
289
+ EOF
290
+ else
291
+ echo "Transparency Middleware Metrics"
292
+ echo "================================"
293
+ echo "Task ID: ${TASK_ID:-global}"
294
+ echo "Uptime: ${UPTIME}s"
295
+ echo ""
296
+ output_generation_rate
297
+ echo ""
298
+ output_filtering_efficiency
299
+ echo ""
300
+ output_overhead
301
+ echo ""
302
+ output_queue_stats
303
+ echo ""
304
+ output_message_breakdown
305
+ fi
306
+ }
307
+
308
+ # Output based on metric type
309
+ case "$METRIC" in
310
+ generation-rate)
311
+ output_generation_rate
312
+ ;;
313
+ filtering-efficiency)
314
+ output_filtering_efficiency
315
+ ;;
316
+ overhead)
317
+ output_overhead
318
+ ;;
319
+ queue-stats)
320
+ output_queue_stats
321
+ ;;
322
+ message-breakdown)
323
+ output_message_breakdown
324
+ ;;
325
+ all)
326
+ output_all_metrics
327
+ ;;
328
+ *)
329
+ echo "Error: Unknown metric type: $METRIC" >&2
330
+ exit 1
331
+ ;;
332
+ esac
333
+
334
+ # Reset metrics if requested
335
+ if [[ "$RESET" == "yes" ]]; then
336
+ redis-cli DEL "$METRICS_KEY" > /dev/null
337
+ redis-cli DEL "$STATE_KEY" > /dev/null
338
+
339
+ if [[ "$FORMAT" == "text" ]]; then
340
+ echo ""
341
+ echo "Metrics reset successfully"
342
+ fi
343
+ fi
344
+
345
+ exit 0