claude-flow-novice 2.15.5 → 2.15.7

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 (540) hide show
  1. package/.claude/cfn-extras/.gs-api-quota.json +16 -0
  2. package/.claude/cfn-extras/.gs-progress-state.json +22 -0
  3. package/.claude/cfn-extras/GOOGLE_SHEETS_IMPLEMENTATION_SUMMARY.md +414 -0
  4. package/.claude/cfn-extras/agents/google-sheets/README.md +114 -0
  5. package/.claude/cfn-extras/agents/google-sheets/google-sheets-advanced-analytics-specialist.md +288 -0
  6. package/.claude/cfn-extras/agents/google-sheets/google-sheets-api-integrator.md +127 -0
  7. package/.claude/cfn-extras/agents/google-sheets/google-sheets-automation-scripting-specialist.md +195 -0
  8. package/.claude/cfn-extras/agents/google-sheets/google-sheets-business-validator.md +179 -0
  9. package/.claude/cfn-extras/agents/google-sheets/google-sheets-collaboration-security-specialist.md +240 -0
  10. package/.claude/cfn-extras/agents/google-sheets/google-sheets-coordinator.md +214 -0
  11. package/.claude/cfn-extras/agents/google-sheets/google-sheets-data-transformer.md +127 -0
  12. package/.claude/cfn-extras/agents/google-sheets/google-sheets-data-validation-quality-specialist.md +177 -0
  13. package/.claude/cfn-extras/agents/google-sheets/google-sheets-data-validator.md +119 -0
  14. package/.claude/cfn-extras/agents/google-sheets/google-sheets-data-visualization-specialist.md +135 -0
  15. package/.claude/cfn-extras/agents/google-sheets/google-sheets-design-layout-specialist.md +109 -0
  16. package/.claude/cfn-extras/agents/google-sheets/google-sheets-formula-engineer.md +127 -0
  17. package/.claude/cfn-extras/agents/google-sheets/google-sheets-formula-engineering-specialist.md +138 -0
  18. package/.claude/cfn-extras/agents/google-sheets/google-sheets-formula-validator.md +128 -0
  19. package/.claude/cfn-extras/agents/google-sheets/google-sheets-generalist.md +645 -0
  20. package/.claude/cfn-extras/agents/google-sheets/google-sheets-integration-api-specialist.md +258 -0
  21. package/.claude/cfn-extras/agents/google-sheets/google-sheets-performance-analyst.md +125 -0
  22. package/.claude/cfn-extras/agents/google-sheets/google-sheets-performance-optimization-specialist.md +211 -0
  23. package/.claude/cfn-extras/agents/google-sheets/google-sheets-schema-designer.md +130 -0
  24. package/.claude/cfn-extras/agents/google-sheets/google-sheets-template-architecture-specialist.md +259 -0
  25. package/.claude/cfn-extras/docs/GOOGLE_SHEETS_CFN_LOOP.md +617 -0
  26. package/.claude/cfn-extras/skills/GOOGLE_SHEETS_SKILLS_README.md +453 -0
  27. package/.claude/cfn-extras/skills/google-sheets-api-coordinator/SKILL.md +272 -0
  28. package/.claude/cfn-extras/skills/google-sheets-api-coordinator/api-call.sh +254 -0
  29. package/.claude/cfn-extras/skills/google-sheets-api-coordinator/test.sh +174 -0
  30. package/.claude/cfn-extras/skills/google-sheets-api-coordinator/validate.sh +98 -0
  31. package/.claude/cfn-extras/skills/google-sheets-decomposition/SKILL.md +269 -0
  32. package/.claude/cfn-extras/skills/google-sheets-decomposition/decompose.sh +313 -0
  33. package/.claude/cfn-extras/skills/google-sheets-formula-builder/SKILL.md +237 -0
  34. package/.claude/cfn-extras/skills/google-sheets-formula-builder/build-formula.sh +220 -0
  35. package/.claude/cfn-extras/skills/google-sheets-formula-builder/test.sh +172 -0
  36. package/.claude/cfn-extras/skills/google-sheets-formula-builder/validate.sh +98 -0
  37. package/.claude/cfn-extras/skills/google-sheets-progress/SKILL.md +287 -0
  38. package/.claude/cfn-extras/skills/google-sheets-progress/test.sh +385 -0
  39. package/.claude/cfn-extras/skills/google-sheets-progress/track-progress.sh +516 -0
  40. package/.claude/cfn-extras/skills/google-sheets-progress/validate.sh +119 -0
  41. package/.claude/cfn-extras/skills/google-sheets-sprint-order/SKILL.md +277 -0
  42. package/.claude/cfn-extras/skills/google-sheets-sprint-order/order-sprints.sh +233 -0
  43. package/.claude/cfn-extras/skills/google-sheets-validation/SKILL.md +352 -0
  44. package/.claude/cfn-extras/skills/google-sheets-validation/test.sh +355 -0
  45. package/.claude/cfn-extras/skills/google-sheets-validation/validate-state.sh +374 -0
  46. package/.claude/cfn-extras/skills/google-sheets-validation/validate.sh +128 -0
  47. package/.claude/commands/cfn-context.md +10 -0
  48. package/.claude/commands/cfn-loop-cli.md +36 -15
  49. package/.claude/commands/google-sheets/google-sheets-loop.md +289 -0
  50. package/.claude/skills/cfn-agent-selector/SKILL.md +143 -0
  51. package/.claude/skills/cfn-agent-selector/select-agents.sh +94 -0
  52. package/.claude/skills/cfn-agent-spawning/get-agent-provider-env.sh +22 -2
  53. package/.claude/skills/cfn-docker-agent-spawning/spawn-agent.sh +21 -2
  54. package/.claude/skills/cfn-docker-loop-orchestration/orchestrate.sh +11 -5
  55. package/.claude/skills/cfn-docker-redis-coordination/MIGRATION_SUMMARY.md +348 -0
  56. package/.claude/skills/cfn-docker-redis-coordination/README.md +294 -0
  57. package/.claude/skills/cfn-docker-redis-coordination/jest.config.js +37 -0
  58. package/.claude/skills/cfn-docker-redis-coordination/package-lock.json +5259 -0
  59. package/.claude/skills/cfn-docker-redis-coordination/package.json +40 -0
  60. package/.claude/skills/cfn-docker-redis-coordination/src/coordinator.ts +801 -0
  61. package/.claude/skills/cfn-docker-redis-coordination/src/index.ts +42 -0
  62. package/.claude/skills/cfn-docker-redis-coordination/src/types.ts +351 -0
  63. package/.claude/skills/cfn-docker-redis-coordination/tests/coordinator.test.ts +1464 -0
  64. package/.claude/skills/cfn-docker-redis-coordination/tsconfig.json +30 -0
  65. package/.claude/skills/cfn-loop-orchestration/.eslintrc.js +56 -0
  66. package/.claude/skills/cfn-loop-orchestration/.prettierrc.json +18 -0
  67. package/.claude/skills/cfn-loop-orchestration/README.md +149 -41
  68. package/.claude/skills/cfn-loop-orchestration/helpers/gate-check.sh +39 -577
  69. package/.claude/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +49 -270
  70. package/.claude/skills/cfn-loop-orchestration/jest.config.js +67 -0
  71. package/.claude/skills/cfn-loop-orchestration/orchestrate-wrapper.sh +268 -0
  72. package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +91 -8
  73. package/.claude/skills/cfn-loop-orchestration/package-lock.json +5470 -0
  74. package/.claude/skills/cfn-loop-orchestration/package.json +49 -0
  75. package/.claude/skills/cfn-loop-orchestration/src/agent-spawner/agent-spawner.ts +34 -0
  76. package/.claude/skills/cfn-loop-orchestration/src/gate-checker/gate-checker.ts +36 -0
  77. package/.claude/skills/cfn-loop-orchestration/src/helpers/consensus.ts +87 -0
  78. package/.claude/skills/cfn-loop-orchestration/src/helpers/gate-check.ts +115 -0
  79. package/.claude/skills/cfn-loop-orchestration/src/helpers/parse-test-results.ts +372 -0
  80. package/.claude/skills/cfn-loop-orchestration/src/index.ts +14 -0
  81. package/.claude/skills/cfn-loop-orchestration/src/orchestrator/orchestrator.ts +31 -0
  82. package/.claude/skills/cfn-loop-orchestration/src/redis/redis-coordinator.ts +72 -0
  83. package/.claude/skills/cfn-loop-orchestration/src/types.ts +188 -0
  84. package/.claude/skills/cfn-loop-orchestration/src/utils/logger.ts +32 -0
  85. package/.claude/skills/cfn-loop-orchestration/tests/consensus.test.ts +142 -0
  86. package/.claude/skills/cfn-loop-orchestration/tests/deliverable-verifier.test.ts +199 -0
  87. package/.claude/skills/cfn-loop-orchestration/tests/gate-check.test.ts +325 -0
  88. package/.claude/skills/cfn-loop-orchestration/tests/iteration-manager.test.ts +132 -0
  89. package/.claude/skills/cfn-loop-orchestration/tests/parse-test-results.test.ts +382 -0
  90. package/.claude/skills/cfn-loop-orchestration/tests/setup.ts +22 -0
  91. package/.claude/skills/cfn-loop-orchestration/tests/timeout-calculator.test.ts +118 -0
  92. package/.claude/skills/cfn-loop-orchestration/tests/types.test.ts +132 -0
  93. package/.claude/skills/cfn-loop-orchestration/tsconfig.json +54 -0
  94. package/.claude/skills/cfn-redis-coordination/bash-wrappers/store-context.sh +23 -0
  95. package/.claude/skills/cfn-redis-coordination/coverage/clover.xml +1447 -0
  96. package/.claude/skills/cfn-redis-coordination/coverage/coverage-final.json +13 -0
  97. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/agent-logger.ts.html +1423 -0
  98. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/agent-recovery.ts.html +1447 -0
  99. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/base.css +224 -0
  100. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/block-navigation.js +87 -0
  101. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/completion-reporter.ts.html +1273 -0
  102. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/context-manager.ts.html +1066 -0
  103. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/favicon.png +0 -0
  104. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/index.html +281 -0
  105. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/mode-detector.ts.html +550 -0
  106. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/prettify.css +1 -0
  107. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/prettify.js +2 -0
  108. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/redis-client.ts.html +2047 -0
  109. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/result-collector.ts.html +1396 -0
  110. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  111. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/sorter.js +210 -0
  112. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/swarm-manager.ts.html +1567 -0
  113. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/task-analyzer.ts.html +1297 -0
  114. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/task-executor.ts.html +1354 -0
  115. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/types.ts.html +790 -0
  116. package/.claude/skills/cfn-redis-coordination/coverage/lcov-report/waiting-coordinator.ts.html +1846 -0
  117. package/.claude/skills/cfn-redis-coordination/coverage/lcov.info +2650 -0
  118. package/.claude/skills/cfn-redis-coordination/dist/agent-logger.d.ts +92 -0
  119. package/.claude/skills/cfn-redis-coordination/dist/agent-logger.d.ts.map +1 -0
  120. package/.claude/skills/cfn-redis-coordination/dist/agent-logger.js +329 -0
  121. package/.claude/skills/cfn-redis-coordination/dist/agent-logger.js.map +1 -0
  122. package/.claude/skills/cfn-redis-coordination/dist/agent-recovery.d.ts +75 -0
  123. package/.claude/skills/cfn-redis-coordination/dist/agent-recovery.d.ts.map +1 -0
  124. package/.claude/skills/cfn-redis-coordination/dist/agent-recovery.js +302 -0
  125. package/.claude/skills/cfn-redis-coordination/dist/agent-recovery.js.map +1 -0
  126. package/.claude/skills/cfn-redis-coordination/dist/completion-reporter.d.ts +58 -0
  127. package/.claude/skills/cfn-redis-coordination/dist/completion-reporter.d.ts.map +1 -0
  128. package/.claude/skills/cfn-redis-coordination/dist/completion-reporter.js +237 -0
  129. package/.claude/skills/cfn-redis-coordination/dist/completion-reporter.js.map +1 -0
  130. package/.claude/skills/cfn-redis-coordination/dist/context-manager.d.ts +63 -0
  131. package/.claude/skills/cfn-redis-coordination/dist/context-manager.d.ts.map +1 -0
  132. package/.claude/skills/cfn-redis-coordination/dist/context-manager.js +230 -0
  133. package/.claude/skills/cfn-redis-coordination/dist/context-manager.js.map +1 -0
  134. package/.claude/skills/cfn-redis-coordination/dist/index.d.ts +45 -0
  135. package/.claude/skills/cfn-redis-coordination/dist/index.d.ts.map +1 -0
  136. package/.claude/skills/cfn-redis-coordination/dist/index.js +114 -0
  137. package/.claude/skills/cfn-redis-coordination/dist/index.js.map +1 -0
  138. package/.claude/skills/cfn-redis-coordination/dist/mode-detector.d.ts +31 -0
  139. package/.claude/skills/cfn-redis-coordination/dist/mode-detector.d.ts.map +1 -0
  140. package/.claude/skills/cfn-redis-coordination/dist/mode-detector.js +185 -0
  141. package/.claude/skills/cfn-redis-coordination/dist/mode-detector.js.map +1 -0
  142. package/.claude/skills/cfn-redis-coordination/dist/redis-client.d.ts +191 -0
  143. package/.claude/skills/cfn-redis-coordination/dist/redis-client.d.ts.map +1 -0
  144. package/.claude/skills/cfn-redis-coordination/dist/redis-client.js +509 -0
  145. package/.claude/skills/cfn-redis-coordination/dist/redis-client.js.map +1 -0
  146. package/.claude/skills/cfn-redis-coordination/dist/result-collector.d.ts +75 -0
  147. package/.claude/skills/cfn-redis-coordination/dist/result-collector.d.ts.map +1 -0
  148. package/.claude/skills/cfn-redis-coordination/dist/result-collector.js +281 -0
  149. package/.claude/skills/cfn-redis-coordination/dist/result-collector.js.map +1 -0
  150. package/.claude/skills/cfn-redis-coordination/dist/swarm-manager.d.ts +75 -0
  151. package/.claude/skills/cfn-redis-coordination/dist/swarm-manager.d.ts.map +1 -0
  152. package/.claude/skills/cfn-redis-coordination/dist/swarm-manager.js +354 -0
  153. package/.claude/skills/cfn-redis-coordination/dist/swarm-manager.js.map +1 -0
  154. package/.claude/skills/cfn-redis-coordination/dist/task-analyzer.d.ts +62 -0
  155. package/.claude/skills/cfn-redis-coordination/dist/task-analyzer.d.ts.map +1 -0
  156. package/.claude/skills/cfn-redis-coordination/dist/task-analyzer.js +305 -0
  157. package/.claude/skills/cfn-redis-coordination/dist/task-analyzer.js.map +1 -0
  158. package/.claude/skills/cfn-redis-coordination/dist/task-executor.d.ts +97 -0
  159. package/.claude/skills/cfn-redis-coordination/dist/task-executor.d.ts.map +1 -0
  160. package/.claude/skills/cfn-redis-coordination/dist/task-executor.js +283 -0
  161. package/.claude/skills/cfn-redis-coordination/dist/task-executor.js.map +1 -0
  162. package/.claude/skills/cfn-redis-coordination/dist/types.d.ts +176 -0
  163. package/.claude/skills/cfn-redis-coordination/dist/types.d.ts.map +1 -0
  164. package/.claude/skills/cfn-redis-coordination/dist/types.js +81 -0
  165. package/.claude/skills/cfn-redis-coordination/dist/types.js.map +1 -0
  166. package/.claude/skills/cfn-redis-coordination/dist/waiting-coordinator.d.ts +86 -0
  167. package/.claude/skills/cfn-redis-coordination/dist/waiting-coordinator.d.ts.map +1 -0
  168. package/.claude/skills/cfn-redis-coordination/dist/waiting-coordinator.js +419 -0
  169. package/.claude/skills/cfn-redis-coordination/dist/waiting-coordinator.js.map +1 -0
  170. package/.claude/skills/cfn-redis-coordination/docs/migration/PHASE_3_REDIS_COORDINATION_COMPLETION_REPORT.md +553 -0
  171. package/.claude/skills/cfn-redis-coordination/jest.config.js +23 -0
  172. package/.claude/skills/cfn-redis-coordination/package-lock.json +5272 -0
  173. package/.claude/skills/cfn-redis-coordination/package.json +45 -0
  174. package/.claude/skills/cfn-redis-coordination/redis-cli-wrapper.sh +21 -8
  175. package/.claude/skills/cfn-redis-coordination/src/agent-logger.ts +446 -0
  176. package/.claude/skills/cfn-redis-coordination/src/agent-recovery.ts +454 -0
  177. package/.claude/skills/cfn-redis-coordination/src/completion-reporter.ts +396 -0
  178. package/.claude/skills/cfn-redis-coordination/src/context-manager.ts +327 -0
  179. package/.claude/skills/cfn-redis-coordination/src/index.ts +82 -0
  180. package/.claude/skills/cfn-redis-coordination/src/mode-detector.ts +155 -0
  181. package/.claude/skills/cfn-redis-coordination/src/redis/redis-client.ts +305 -0
  182. package/.claude/skills/cfn-redis-coordination/src/redis/redis-functions.ts +283 -0
  183. package/.claude/skills/cfn-redis-coordination/src/redis-client.ts +654 -0
  184. package/.claude/skills/cfn-redis-coordination/src/result-collector.ts +437 -0
  185. package/.claude/skills/cfn-redis-coordination/src/swarm-manager.ts +494 -0
  186. package/.claude/skills/cfn-redis-coordination/src/task-analyzer.ts +404 -0
  187. package/.claude/skills/cfn-redis-coordination/src/task-executor.ts +423 -0
  188. package/.claude/skills/cfn-redis-coordination/src/types.ts +235 -0
  189. package/.claude/skills/cfn-redis-coordination/src/waiting-coordinator.ts +587 -0
  190. package/.claude/skills/cfn-redis-coordination/test-connection-attempts.js +70 -0
  191. package/.claude/skills/cfn-redis-coordination/test-mode-simple.js +121 -0
  192. package/.claude/skills/cfn-redis-coordination/test-redis-check.js +84 -0
  193. package/.claude/skills/cfn-redis-coordination/test-task-mode-redis.cjs +391 -0
  194. package/.claude/skills/cfn-redis-coordination/tests/coordination.test.ts +788 -0
  195. package/.claude/skills/cfn-redis-coordination/tsconfig.json +31 -0
  196. package/claude-assets/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +13 -72
  197. package/claude-assets/agents/cfn-dev-team/coordinators/cfn-v3-coordinator.md +172 -62
  198. package/claude-assets/agents/cfn-dev-team/coordinators/consensus-builder.md +465 -508
  199. package/claude-assets/agents/cfn-dev-team/coordinators/handoff-coordinator.md +733 -743
  200. package/claude-assets/agents/cfn-dev-team/coordinators/multi-sprint-coordinator.md +13 -79
  201. package/claude-assets/agents/cfn-dev-team/dev-ops/docker-specialist.md +13 -18
  202. package/claude-assets/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +13 -18
  203. package/claude-assets/agents/cfn-dev-team/developers/api-gateway-specialist.md +13 -18
  204. package/claude-assets/agents/cfn-dev-team/developers/backend-developer.md +15 -17
  205. package/claude-assets/agents/cfn-dev-team/developers/data/data-engineer.md +15 -17
  206. package/claude-assets/agents/cfn-dev-team/developers/database/database-architect.md +15 -14
  207. package/claude-assets/agents/cfn-dev-team/developers/frontend/mobile-dev.md +15 -17
  208. package/claude-assets/agents/cfn-dev-team/developers/frontend/react-frontend-engineer.md +15 -17
  209. package/claude-assets/agents/cfn-dev-team/developers/frontend/typescript-specialist.md +15 -17
  210. package/claude-assets/agents/cfn-dev-team/developers/frontend/ui-designer.md +23 -30
  211. package/claude-assets/agents/cfn-dev-team/developers/graphql-specialist.md +13 -18
  212. package/claude-assets/agents/cfn-dev-team/developers/rust-developer.md +13 -18
  213. package/claude-assets/agents/cfn-dev-team/reviewers/code-reviewer.md +312 -317
  214. package/claude-assets/agents/cfn-dev-team/reviewers/quality/code-quality-validator.md +23 -20
  215. package/claude-assets/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +23 -20
  216. package/claude-assets/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +23 -20
  217. package/claude-assets/agents/cfn-dev-team/reviewers/quality/security-specialist.md +23 -20
  218. package/claude-assets/agents/cfn-dev-team/testers/api-testing-specialist.md +16 -21
  219. package/claude-assets/agents/cfn-dev-team/testers/chaos-engineering-specialist.md +15 -20
  220. package/claude-assets/agents/cfn-dev-team/testers/contract-tester.md +718 -737
  221. package/claude-assets/agents/cfn-dev-team/testers/integration-tester.md +817 -828
  222. package/claude-assets/agents/cfn-dev-team/testers/interaction-tester.md +15 -20
  223. package/claude-assets/agents/cfn-dev-team/testers/load-testing-specialist.md +8 -9
  224. package/claude-assets/agents/cfn-dev-team/testers/mutation-testing-specialist.md +668 -684
  225. package/claude-assets/agents/cfn-dev-team/testers/playwright-tester.md +15 -20
  226. package/claude-assets/agents/cfn-dev-team/testers/tester.md +248 -253
  227. package/claude-assets/agents/cfn-dev-team/utility/epic-creator.md +13 -18
  228. package/claude-assets/agents/cfn-dev-team/utility/memory-leak-specialist.md +13 -18
  229. package/claude-assets/agents/cfn-dev-team/utility/z-ai-specialist.md +13 -18
  230. package/claude-assets/agents/custom/cfn-redis-operations.md +530 -0
  231. package/claude-assets/agents/custom/cfn-system-expert.md +77 -0
  232. package/claude-assets/cfn-extras/.gs-api-quota.json +16 -0
  233. package/claude-assets/cfn-extras/.gs-progress-state.json +22 -0
  234. package/claude-assets/cfn-extras/GOOGLE_SHEETS_IMPLEMENTATION_SUMMARY.md +414 -0
  235. package/claude-assets/cfn-extras/agents/google-sheets/README.md +114 -0
  236. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-advanced-analytics-specialist.md +288 -0
  237. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-api-integrator.md +127 -0
  238. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-automation-scripting-specialist.md +195 -0
  239. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-business-validator.md +179 -0
  240. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-collaboration-security-specialist.md +240 -0
  241. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-coordinator.md +214 -0
  242. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-data-transformer.md +127 -0
  243. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-data-validation-quality-specialist.md +177 -0
  244. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-data-validator.md +119 -0
  245. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-data-visualization-specialist.md +135 -0
  246. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-design-layout-specialist.md +109 -0
  247. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-formula-engineer.md +127 -0
  248. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-formula-engineering-specialist.md +138 -0
  249. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-formula-validator.md +128 -0
  250. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-generalist.md +645 -0
  251. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-integration-api-specialist.md +258 -0
  252. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-performance-analyst.md +125 -0
  253. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-performance-optimization-specialist.md +211 -0
  254. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-schema-designer.md +130 -0
  255. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-template-architecture-specialist.md +259 -0
  256. package/claude-assets/cfn-extras/docs/GOOGLE_SHEETS_CFN_LOOP.md +617 -0
  257. package/claude-assets/cfn-extras/skills/GOOGLE_SHEETS_SKILLS_README.md +453 -0
  258. package/claude-assets/cfn-extras/skills/google-sheets-api-coordinator/SKILL.md +272 -0
  259. package/claude-assets/cfn-extras/skills/google-sheets-api-coordinator/api-call.sh +254 -0
  260. package/claude-assets/cfn-extras/skills/google-sheets-api-coordinator/test.sh +174 -0
  261. package/claude-assets/cfn-extras/skills/google-sheets-api-coordinator/validate.sh +98 -0
  262. package/claude-assets/cfn-extras/skills/google-sheets-decomposition/SKILL.md +269 -0
  263. package/claude-assets/cfn-extras/skills/google-sheets-decomposition/decompose.sh +313 -0
  264. package/claude-assets/cfn-extras/skills/google-sheets-formula-builder/SKILL.md +237 -0
  265. package/claude-assets/cfn-extras/skills/google-sheets-formula-builder/build-formula.sh +220 -0
  266. package/claude-assets/cfn-extras/skills/google-sheets-formula-builder/test.sh +172 -0
  267. package/claude-assets/cfn-extras/skills/google-sheets-formula-builder/validate.sh +98 -0
  268. package/claude-assets/cfn-extras/skills/google-sheets-progress/SKILL.md +287 -0
  269. package/claude-assets/cfn-extras/skills/google-sheets-progress/test.sh +385 -0
  270. package/claude-assets/cfn-extras/skills/google-sheets-progress/track-progress.sh +516 -0
  271. package/claude-assets/cfn-extras/skills/google-sheets-progress/validate.sh +119 -0
  272. package/claude-assets/cfn-extras/skills/google-sheets-sprint-order/SKILL.md +277 -0
  273. package/claude-assets/cfn-extras/skills/google-sheets-sprint-order/order-sprints.sh +233 -0
  274. package/claude-assets/cfn-extras/skills/google-sheets-validation/SKILL.md +352 -0
  275. package/claude-assets/cfn-extras/skills/google-sheets-validation/test.sh +355 -0
  276. package/claude-assets/cfn-extras/skills/google-sheets-validation/validate-state.sh +374 -0
  277. package/claude-assets/cfn-extras/skills/google-sheets-validation/validate.sh +128 -0
  278. package/claude-assets/commands/cfn-context.md +10 -0
  279. package/claude-assets/commands/cfn-loop-cli.md +36 -15
  280. package/claude-assets/commands/google-sheets/google-sheets-loop.md +289 -0
  281. package/claude-assets/hooks/cfn-pre-execution/SESSION_START_README.md +87 -0
  282. package/claude-assets/hooks/cfn-pre-execution/TEST_SESSION_START.md +128 -0
  283. package/claude-assets/hooks/cfn-pre-execution/session-start-context.sh +111 -0
  284. package/claude-assets/skills/cfn-agent-selection-with-fallback/INTEGRATION_EXAMPLE.md +209 -0
  285. package/claude-assets/skills/cfn-agent-selection-with-fallback/README.md +130 -0
  286. package/claude-assets/skills/cfn-agent-selection-with-fallback/SKILL.md +243 -0
  287. package/claude-assets/skills/cfn-agent-selection-with-fallback/agent-mappings.json +142 -0
  288. package/claude-assets/skills/cfn-agent-selection-with-fallback/select-agents.sh +173 -0
  289. package/claude-assets/skills/cfn-agent-selection-with-fallback/task-classifier.sh +71 -0
  290. package/claude-assets/skills/cfn-agent-selection-with-fallback/test-agent-selection.sh +282 -0
  291. package/claude-assets/skills/cfn-agent-selector/SKILL.md +143 -0
  292. package/claude-assets/skills/cfn-agent-selector/select-agents.sh +94 -0
  293. package/claude-assets/skills/cfn-agent-spawning/get-agent-provider-env.sh +22 -2
  294. package/claude-assets/skills/cfn-docker-agent-spawning/spawn-agent.sh +21 -2
  295. package/claude-assets/skills/cfn-docker-coordination/.eslintrc.json +33 -0
  296. package/claude-assets/skills/cfn-docker-coordination/README.md +349 -0
  297. package/claude-assets/skills/cfn-docker-coordination/docker-helpers.sh +433 -0
  298. package/claude-assets/skills/cfn-docker-coordination/jest.config.js +25 -0
  299. package/claude-assets/skills/cfn-docker-coordination/package-lock.json +6827 -0
  300. package/claude-assets/skills/cfn-docker-coordination/package.json +38 -0
  301. package/claude-assets/skills/cfn-docker-coordination/src/agent-container.ts +471 -0
  302. package/claude-assets/skills/cfn-docker-coordination/src/docker-client.ts +483 -0
  303. package/claude-assets/skills/cfn-docker-coordination/src/health-checker.ts +418 -0
  304. package/claude-assets/skills/cfn-docker-coordination/src/index.ts +45 -0
  305. package/claude-assets/skills/cfn-docker-coordination/src/network-manager.ts +377 -0
  306. package/claude-assets/skills/cfn-docker-coordination/src/types.ts +412 -0
  307. package/claude-assets/skills/cfn-docker-coordination/src/volume-manager.ts +389 -0
  308. package/claude-assets/skills/cfn-docker-coordination/tests/agent-container.test.ts +379 -0
  309. package/claude-assets/skills/cfn-docker-coordination/tests/docker-client.test.ts +345 -0
  310. package/claude-assets/skills/cfn-docker-coordination/tests/health-checker.test.ts +535 -0
  311. package/claude-assets/skills/cfn-docker-coordination/tests/integration.test.ts +193 -0
  312. package/claude-assets/skills/cfn-docker-coordination/tests/network-manager.test.ts +352 -0
  313. package/claude-assets/skills/cfn-docker-coordination/tests/setup.ts +36 -0
  314. package/claude-assets/skills/cfn-docker-coordination/tsconfig.json +29 -0
  315. package/claude-assets/skills/cfn-docker-logging/INTEGRATION.md +268 -0
  316. package/claude-assets/skills/cfn-docker-logging/SAMPLE_OUTPUTS.md +237 -0
  317. package/claude-assets/skills/cfn-docker-logging/SKILL.md +442 -0
  318. package/claude-assets/skills/cfn-docker-logging/capture-container-logs.sh +120 -0
  319. package/claude-assets/skills/cfn-docker-logging/enable-logging.sh +430 -0
  320. package/claude-assets/skills/cfn-docker-logging/init-hybrid-logging.sh +210 -0
  321. package/claude-assets/skills/cfn-docker-logging/queries/analytics-summary.sh +87 -0
  322. package/claude-assets/skills/cfn-docker-logging/queries/query-agent-timeline.sh +51 -0
  323. package/claude-assets/skills/cfn-docker-logging/queries/query-consensus-history.sh +56 -0
  324. package/claude-assets/skills/cfn-docker-logging/queries/query-coordination-timeline.sh +39 -0
  325. package/claude-assets/skills/cfn-docker-logging/queries/query-failed-containers.sh +40 -0
  326. package/claude-assets/skills/cfn-docker-logging/queries/query-gate-checks.sh +39 -0
  327. package/claude-assets/skills/cfn-docker-logging/schema.sql +111 -0
  328. package/claude-assets/skills/cfn-docker-logging/sqlite-helpers.sh +240 -0
  329. package/claude-assets/skills/cfn-docker-logging/test-hybrid-logging.sh +331 -0
  330. package/claude-assets/skills/cfn-docker-loop-orchestration/orchestrate.sh +11 -5
  331. package/claude-assets/skills/cfn-docker-redis-coordination/MIGRATION_SUMMARY.md +348 -0
  332. package/claude-assets/skills/cfn-docker-redis-coordination/README.md +294 -0
  333. package/claude-assets/skills/cfn-docker-redis-coordination/jest.config.js +37 -0
  334. package/claude-assets/skills/cfn-docker-redis-coordination/package-lock.json +5259 -0
  335. package/claude-assets/skills/cfn-docker-redis-coordination/package.json +40 -0
  336. package/claude-assets/skills/cfn-docker-redis-coordination/src/coordinator.ts +801 -0
  337. package/claude-assets/skills/cfn-docker-redis-coordination/src/index.ts +42 -0
  338. package/claude-assets/skills/cfn-docker-redis-coordination/src/types.ts +351 -0
  339. package/claude-assets/skills/cfn-docker-redis-coordination/tests/coordinator.test.ts +1464 -0
  340. package/claude-assets/skills/cfn-docker-redis-coordination/tsconfig.json +30 -0
  341. package/claude-assets/skills/cfn-error-logging/.eslintrc.json +57 -0
  342. package/claude-assets/skills/cfn-error-logging/.prettierrc.json +10 -0
  343. package/claude-assets/skills/cfn-error-logging/MIGRATION_SUMMARY.md +485 -0
  344. package/claude-assets/skills/cfn-error-logging/package.json +47 -0
  345. package/claude-assets/skills/cfn-error-logging/src/error-logger.ts +1042 -0
  346. package/claude-assets/skills/cfn-error-logging/src/index.ts +12 -0
  347. package/claude-assets/skills/cfn-error-logging/src/types.ts +456 -0
  348. package/claude-assets/skills/cfn-error-logging/tests/error-logger.test.ts +1302 -0
  349. package/claude-assets/skills/cfn-error-logging/tsconfig.json +38 -0
  350. package/claude-assets/skills/cfn-loop-orchestration/.eslintrc.js +56 -0
  351. package/claude-assets/skills/cfn-loop-orchestration/.prettierrc.json +18 -0
  352. package/claude-assets/skills/cfn-loop-orchestration/README.md +149 -41
  353. package/claude-assets/skills/cfn-loop-orchestration/helpers/gate-check.sh +39 -577
  354. package/claude-assets/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +49 -270
  355. package/claude-assets/skills/cfn-loop-orchestration/jest.config.js +67 -0
  356. package/claude-assets/skills/cfn-loop-orchestration/orchestrate-wrapper.sh +268 -0
  357. package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh +91 -8
  358. package/claude-assets/skills/cfn-loop-orchestration/package-lock.json +5470 -0
  359. package/claude-assets/skills/cfn-loop-orchestration/package.json +49 -0
  360. package/claude-assets/skills/cfn-loop-orchestration/src/agent-spawner/agent-spawner.ts +34 -0
  361. package/claude-assets/skills/cfn-loop-orchestration/src/gate-checker/gate-checker.ts +36 -0
  362. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/gate-check.ts +115 -0
  363. package/claude-assets/skills/cfn-loop-orchestration/src/helpers/parse-test-results.ts +372 -0
  364. package/claude-assets/skills/cfn-loop-orchestration/src/index.ts +14 -0
  365. package/claude-assets/skills/cfn-loop-orchestration/src/orchestrator/orchestrator.ts +31 -0
  366. package/claude-assets/skills/cfn-loop-orchestration/src/redis/redis-coordinator.ts +72 -0
  367. package/claude-assets/skills/cfn-loop-orchestration/src/types.ts +188 -0
  368. package/claude-assets/skills/cfn-loop-orchestration/src/utils/logger.ts +32 -0
  369. package/claude-assets/skills/cfn-loop-orchestration/tests/consensus.test.ts +142 -0
  370. package/claude-assets/skills/cfn-loop-orchestration/tests/deliverable-verifier.test.ts +199 -0
  371. package/claude-assets/skills/cfn-loop-orchestration/tests/gate-check.test.ts +325 -0
  372. package/claude-assets/skills/cfn-loop-orchestration/tests/iteration-manager.test.ts +132 -0
  373. package/claude-assets/skills/cfn-loop-orchestration/tests/parse-test-results.test.ts +382 -0
  374. package/claude-assets/skills/cfn-loop-orchestration/tests/setup.ts +22 -0
  375. package/claude-assets/skills/cfn-loop-orchestration/tests/timeout-calculator.test.ts +118 -0
  376. package/claude-assets/skills/cfn-loop-orchestration/tests/types.test.ts +132 -0
  377. package/claude-assets/skills/cfn-loop-orchestration/tsconfig.json +54 -0
  378. package/claude-assets/skills/cfn-redis-coordination/bash-wrappers/store-context.sh +23 -0
  379. package/claude-assets/skills/cfn-redis-coordination/coverage/clover.xml +1447 -0
  380. package/claude-assets/skills/cfn-redis-coordination/coverage/coverage-final.json +13 -0
  381. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/agent-logger.ts.html +1423 -0
  382. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/agent-recovery.ts.html +1447 -0
  383. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/base.css +224 -0
  384. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/block-navigation.js +87 -0
  385. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/completion-reporter.ts.html +1273 -0
  386. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/context-manager.ts.html +1066 -0
  387. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/favicon.png +0 -0
  388. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/index.html +281 -0
  389. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/mode-detector.ts.html +550 -0
  390. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/prettify.css +1 -0
  391. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/prettify.js +2 -0
  392. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/redis-client.ts.html +2047 -0
  393. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/result-collector.ts.html +1396 -0
  394. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  395. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/sorter.js +210 -0
  396. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/swarm-manager.ts.html +1567 -0
  397. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/task-analyzer.ts.html +1297 -0
  398. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/task-executor.ts.html +1354 -0
  399. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/types.ts.html +790 -0
  400. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov-report/waiting-coordinator.ts.html +1846 -0
  401. package/claude-assets/skills/cfn-redis-coordination/coverage/lcov.info +2650 -0
  402. package/claude-assets/skills/cfn-redis-coordination/dist/agent-logger.d.ts +92 -0
  403. package/claude-assets/skills/cfn-redis-coordination/dist/agent-logger.d.ts.map +1 -0
  404. package/claude-assets/skills/cfn-redis-coordination/dist/agent-logger.js +329 -0
  405. package/claude-assets/skills/cfn-redis-coordination/dist/agent-logger.js.map +1 -0
  406. package/claude-assets/skills/cfn-redis-coordination/dist/agent-recovery.d.ts +75 -0
  407. package/claude-assets/skills/cfn-redis-coordination/dist/agent-recovery.d.ts.map +1 -0
  408. package/claude-assets/skills/cfn-redis-coordination/dist/agent-recovery.js +302 -0
  409. package/claude-assets/skills/cfn-redis-coordination/dist/agent-recovery.js.map +1 -0
  410. package/claude-assets/skills/cfn-redis-coordination/dist/completion-reporter.d.ts +58 -0
  411. package/claude-assets/skills/cfn-redis-coordination/dist/completion-reporter.d.ts.map +1 -0
  412. package/claude-assets/skills/cfn-redis-coordination/dist/completion-reporter.js +237 -0
  413. package/claude-assets/skills/cfn-redis-coordination/dist/completion-reporter.js.map +1 -0
  414. package/claude-assets/skills/cfn-redis-coordination/dist/context-manager.d.ts +63 -0
  415. package/claude-assets/skills/cfn-redis-coordination/dist/context-manager.d.ts.map +1 -0
  416. package/claude-assets/skills/cfn-redis-coordination/dist/context-manager.js +230 -0
  417. package/claude-assets/skills/cfn-redis-coordination/dist/context-manager.js.map +1 -0
  418. package/claude-assets/skills/cfn-redis-coordination/dist/index.d.ts +45 -0
  419. package/claude-assets/skills/cfn-redis-coordination/dist/index.d.ts.map +1 -0
  420. package/claude-assets/skills/cfn-redis-coordination/dist/index.js +114 -0
  421. package/claude-assets/skills/cfn-redis-coordination/dist/index.js.map +1 -0
  422. package/claude-assets/skills/cfn-redis-coordination/dist/mode-detector.d.ts +31 -0
  423. package/claude-assets/skills/cfn-redis-coordination/dist/mode-detector.d.ts.map +1 -0
  424. package/claude-assets/skills/cfn-redis-coordination/dist/mode-detector.js +185 -0
  425. package/claude-assets/skills/cfn-redis-coordination/dist/mode-detector.js.map +1 -0
  426. package/claude-assets/skills/cfn-redis-coordination/dist/redis-client.d.ts +191 -0
  427. package/claude-assets/skills/cfn-redis-coordination/dist/redis-client.d.ts.map +1 -0
  428. package/claude-assets/skills/cfn-redis-coordination/dist/redis-client.js +509 -0
  429. package/claude-assets/skills/cfn-redis-coordination/dist/redis-client.js.map +1 -0
  430. package/claude-assets/skills/cfn-redis-coordination/dist/result-collector.d.ts +75 -0
  431. package/claude-assets/skills/cfn-redis-coordination/dist/result-collector.d.ts.map +1 -0
  432. package/claude-assets/skills/cfn-redis-coordination/dist/result-collector.js +281 -0
  433. package/claude-assets/skills/cfn-redis-coordination/dist/result-collector.js.map +1 -0
  434. package/claude-assets/skills/cfn-redis-coordination/dist/swarm-manager.d.ts +75 -0
  435. package/claude-assets/skills/cfn-redis-coordination/dist/swarm-manager.d.ts.map +1 -0
  436. package/claude-assets/skills/cfn-redis-coordination/dist/swarm-manager.js +354 -0
  437. package/claude-assets/skills/cfn-redis-coordination/dist/swarm-manager.js.map +1 -0
  438. package/claude-assets/skills/cfn-redis-coordination/dist/task-analyzer.d.ts +62 -0
  439. package/claude-assets/skills/cfn-redis-coordination/dist/task-analyzer.d.ts.map +1 -0
  440. package/claude-assets/skills/cfn-redis-coordination/dist/task-analyzer.js +305 -0
  441. package/claude-assets/skills/cfn-redis-coordination/dist/task-analyzer.js.map +1 -0
  442. package/claude-assets/skills/cfn-redis-coordination/dist/task-executor.d.ts +97 -0
  443. package/claude-assets/skills/cfn-redis-coordination/dist/task-executor.d.ts.map +1 -0
  444. package/claude-assets/skills/cfn-redis-coordination/dist/task-executor.js +283 -0
  445. package/claude-assets/skills/cfn-redis-coordination/dist/task-executor.js.map +1 -0
  446. package/claude-assets/skills/cfn-redis-coordination/dist/types.d.ts +176 -0
  447. package/claude-assets/skills/cfn-redis-coordination/dist/types.d.ts.map +1 -0
  448. package/claude-assets/skills/cfn-redis-coordination/dist/types.js +81 -0
  449. package/claude-assets/skills/cfn-redis-coordination/dist/types.js.map +1 -0
  450. package/claude-assets/skills/cfn-redis-coordination/dist/waiting-coordinator.d.ts +86 -0
  451. package/claude-assets/skills/cfn-redis-coordination/dist/waiting-coordinator.d.ts.map +1 -0
  452. package/claude-assets/skills/cfn-redis-coordination/dist/waiting-coordinator.js +419 -0
  453. package/claude-assets/skills/cfn-redis-coordination/dist/waiting-coordinator.js.map +1 -0
  454. package/claude-assets/skills/cfn-redis-coordination/docs/migration/PHASE_3_REDIS_COORDINATION_COMPLETION_REPORT.md +553 -0
  455. package/claude-assets/skills/cfn-redis-coordination/jest.config.js +23 -0
  456. package/claude-assets/skills/cfn-redis-coordination/package-lock.json +5272 -0
  457. package/claude-assets/skills/cfn-redis-coordination/package.json +45 -0
  458. package/claude-assets/skills/cfn-redis-coordination/redis-cli-wrapper.sh +21 -8
  459. package/claude-assets/skills/cfn-redis-coordination/src/agent-logger.ts +446 -0
  460. package/claude-assets/skills/cfn-redis-coordination/src/agent-recovery.ts +454 -0
  461. package/claude-assets/skills/cfn-redis-coordination/src/completion-reporter.ts +396 -0
  462. package/claude-assets/skills/cfn-redis-coordination/src/context-manager.ts +327 -0
  463. package/claude-assets/skills/cfn-redis-coordination/src/index.ts +82 -0
  464. package/claude-assets/skills/cfn-redis-coordination/src/mode-detector.ts +155 -0
  465. package/claude-assets/skills/cfn-redis-coordination/src/redis/redis-client.ts +305 -0
  466. package/claude-assets/skills/cfn-redis-coordination/src/redis/redis-functions.ts +283 -0
  467. package/claude-assets/skills/cfn-redis-coordination/src/redis-client.ts +654 -0
  468. package/claude-assets/skills/cfn-redis-coordination/src/result-collector.ts +437 -0
  469. package/claude-assets/skills/cfn-redis-coordination/src/swarm-manager.ts +494 -0
  470. package/claude-assets/skills/cfn-redis-coordination/src/task-analyzer.ts +404 -0
  471. package/claude-assets/skills/cfn-redis-coordination/src/task-executor.ts +423 -0
  472. package/claude-assets/skills/cfn-redis-coordination/src/types.ts +235 -0
  473. package/claude-assets/skills/cfn-redis-coordination/src/waiting-coordinator.ts +587 -0
  474. package/claude-assets/skills/cfn-redis-coordination/test-connection-attempts.js +70 -0
  475. package/claude-assets/skills/cfn-redis-coordination/test-mode-simple.js +121 -0
  476. package/claude-assets/skills/cfn-redis-coordination/test-redis-check.js +84 -0
  477. package/claude-assets/skills/cfn-redis-coordination/test-task-mode-redis.cjs +391 -0
  478. package/claude-assets/skills/cfn-redis-coordination/tests/coordination.test.ts +788 -0
  479. package/claude-assets/skills/cfn-redis-coordination/tsconfig.json +31 -0
  480. package/claude-assets/skills/cfn-skill-propagation/README.md +233 -0
  481. package/claude-assets/skills/cfn-skill-propagation/package-lock.json +5174 -0
  482. package/claude-assets/skills/cfn-skill-propagation/package.json +52 -0
  483. package/claude-assets/skills/cfn-skill-propagation/propagate-skill-update.sh +32 -0
  484. package/claude-assets/skills/cfn-skill-propagation/src/cli.ts +75 -0
  485. package/claude-assets/skills/cfn-skill-propagation/src/database-adapter.ts +239 -0
  486. package/claude-assets/skills/cfn-skill-propagation/src/file-system-adapter.ts +113 -0
  487. package/claude-assets/skills/cfn-skill-propagation/src/index.ts +72 -0
  488. package/claude-assets/skills/cfn-skill-propagation/src/logger.ts +43 -0
  489. package/claude-assets/skills/cfn-skill-propagation/src/metadata-parser.ts +154 -0
  490. package/claude-assets/skills/cfn-skill-propagation/src/skill-propagator.ts +274 -0
  491. package/claude-assets/skills/cfn-skill-propagation/src/skill-validator.ts +179 -0
  492. package/claude-assets/skills/cfn-skill-propagation/src/types.ts +143 -0
  493. package/claude-assets/skills/cfn-skill-propagation/src/version-manager.ts +118 -0
  494. package/claude-assets/skills/cfn-skill-propagation/tests/file-system-adapter.test.ts +91 -0
  495. package/claude-assets/skills/cfn-skill-propagation/tests/metadata-parser.test.ts +176 -0
  496. package/claude-assets/skills/cfn-skill-propagation/tests/skill-propagator.test.ts +209 -0
  497. package/claude-assets/skills/cfn-skill-propagation/tests/skill-validator.test.ts +203 -0
  498. package/claude-assets/skills/cfn-skill-propagation/tests/version-manager.test.ts +115 -0
  499. package/claude-assets/skills/cfn-skill-propagation/tsconfig.json +34 -0
  500. package/claude-assets/skills/task-classifier/SKILL.md +81 -0
  501. package/claude-assets/skills/task-classifier/classify-task.sh +62 -0
  502. package/claude-assets/skills/workflow-codification/package-lock.json +5170 -0
  503. package/claude-assets/skills/workflow-codification/package.json +30 -0
  504. package/claude-assets/skills/workflow-codification/src/index.ts +24 -0
  505. package/claude-assets/skills/workflow-codification/src/pattern-analyzer.ts +537 -0
  506. package/claude-assets/skills/workflow-codification/src/types.ts +180 -0
  507. package/claude-assets/skills/workflow-codification/tests/pattern-analyzer.test.ts +960 -0
  508. package/claude-assets/skills/workflow-codification/tsconfig.json +34 -0
  509. package/claude-assets/skills/workflow-codification/workflow-codification.db +0 -0
  510. package/dist/agent-spawner/agent-spawner.js +448 -0
  511. package/dist/agent-spawner/agent-spawner.js.map +1 -0
  512. package/dist/agent-spawner/index.js +10 -0
  513. package/dist/agent-spawner/index.js.map +1 -0
  514. package/dist/agent-spawner/types.js +14 -0
  515. package/dist/agent-spawner/types.js.map +1 -0
  516. package/dist/cli/agent-executor.js +47 -1
  517. package/dist/cli/agent-executor.js.map +1 -1
  518. package/dist/cli/agent-spawn.js +4 -1
  519. package/dist/cli/agent-spawn.js.map +1 -1
  520. package/dist/cli/config-manager.js +91 -109
  521. package/dist/cli/config-manager.js.map +1 -1
  522. package/dist/cli/tool-executor.js +3 -1
  523. package/dist/cli/tool-executor.js.map +1 -1
  524. package/dist/gate-checker/gate-checker.js +292 -0
  525. package/dist/gate-checker/gate-checker.js.map +1 -0
  526. package/dist/gate-checker/types.js +94 -0
  527. package/dist/gate-checker/types.js.map +1 -0
  528. package/dist/lib/database-service/connection-pool-manager.js +2 -1
  529. package/dist/lib/database-service/connection-pool-manager.js.map +1 -1
  530. package/dist/orchestrator/index.js +10 -0
  531. package/dist/orchestrator/index.js.map +1 -0
  532. package/dist/orchestrator/orchestrate.js +496 -0
  533. package/dist/orchestrator/orchestrate.js.map +1 -0
  534. package/dist/orchestrator/types.js +58 -0
  535. package/dist/orchestrator/types.js.map +1 -0
  536. package/package.json +1 -1
  537. package/scripts/clean-agent-profiles.sh +112 -0
  538. package/scripts/switch-api.sh +142 -4
  539. package/scripts/verify-no-secrets.sh +6 -13
  540. package/tests/README.md +175 -58
@@ -0,0 +1,87 @@
1
+ #!/bin/bash
2
+ # Query: Generate analytics report for task
3
+
4
+ set -euo pipefail
5
+
6
+ DB_PATH=${1:-}
7
+ TASK_ID=${2:-}
8
+
9
+ if [[ -z "$DB_PATH" || -z "$TASK_ID" ]]; then
10
+ echo "Usage: $0 <db_path> <task_id>"
11
+ exit 1
12
+ fi
13
+
14
+ echo "=== Task Execution Summary ==="
15
+ sqlite3 -header -column "$DB_PATH" <<SQL
16
+ SELECT
17
+ COUNT(DISTINCT agent_id) as total_agents,
18
+ COUNT(DISTINCT container_id) as total_containers,
19
+ SUM(CASE WHEN event_type = 'exit' AND exit_code = 0 THEN 1 ELSE 0 END) as successful,
20
+ SUM(CASE WHEN event_type = 'exit' AND exit_code != 0 THEN 1 ELSE 0 END) as failed,
21
+ printf('%.2f%%', AVG(CASE WHEN event_type = 'exit' AND exit_code = 0 THEN 100.0 ELSE 0.0 END)) as success_rate,
22
+ SUM(oom_killed) as oom_kills
23
+ FROM container_events
24
+ WHERE task_id = '$TASK_ID';
25
+ SQL
26
+
27
+ echo ""
28
+ echo "=== Execution Duration ==="
29
+ sqlite3 -header -column "$DB_PATH" <<SQL
30
+ SELECT
31
+ printf('%.2f', AVG(duration_seconds)) as avg_duration_sec,
32
+ printf('%.2f', MIN(duration_seconds)) as min_duration_sec,
33
+ printf('%.2f', MAX(duration_seconds)) as max_duration_sec,
34
+ printf('%.2f', SUM(duration_seconds)) as total_duration_sec
35
+ FROM container_events
36
+ WHERE task_id = '$TASK_ID' AND event_type = 'exit' AND duration_seconds IS NOT NULL;
37
+ SQL
38
+
39
+ echo ""
40
+ echo "=== Log Volume ==="
41
+ sqlite3 -header -column "$DB_PATH" <<SQL
42
+ SELECT
43
+ stream,
44
+ COUNT(*) as total_lines,
45
+ printf('%.2f', AVG(length(log_line))) as avg_line_length,
46
+ SUM(length(log_line)) as total_bytes
47
+ FROM container_logs
48
+ WHERE task_id = '$TASK_ID'
49
+ GROUP BY stream;
50
+ SQL
51
+
52
+ echo ""
53
+ echo "=== Coordination Activity ==="
54
+ sqlite3 -header -column "$DB_PATH" <<SQL
55
+ SELECT
56
+ event_type,
57
+ COUNT(*) as event_count
58
+ FROM coordination_events
59
+ WHERE task_id = '$TASK_ID'
60
+ GROUP BY event_type
61
+ ORDER BY event_count DESC;
62
+ SQL
63
+
64
+ echo ""
65
+ echo "=== Performance Metrics ==="
66
+ sqlite3 -header -column "$DB_PATH" <<SQL
67
+ SELECT
68
+ metric_name,
69
+ printf('%.2f', metric_value) as value,
70
+ unit,
71
+ timestamp
72
+ FROM performance_metrics
73
+ WHERE task_id = '$TASK_ID'
74
+ ORDER BY timestamp DESC
75
+ LIMIT 10;
76
+ SQL
77
+
78
+ echo ""
79
+ echo "=== Timeline Overview ==="
80
+ sqlite3 -header -column "$DB_PATH" <<SQL
81
+ SELECT
82
+ MIN(started_at) as first_spawn,
83
+ MAX(finished_at) as last_exit,
84
+ printf('%.2f', (julianday(MAX(finished_at)) - julianday(MIN(started_at))) * 86400) as total_runtime_sec
85
+ FROM container_events
86
+ WHERE task_id = '$TASK_ID' AND event_type IN ('spawn', 'exit');
87
+ SQL
@@ -0,0 +1,51 @@
1
+ #!/bin/bash
2
+ # Query: Show timeline for specific agent
3
+
4
+ set -euo pipefail
5
+
6
+ DB_PATH=${1:-}
7
+ AGENT_ID=${2:-}
8
+
9
+ if [[ -z "$DB_PATH" || -z "$AGENT_ID" ]]; then
10
+ echo "Usage: $0 <db_path> <agent_id>"
11
+ exit 1
12
+ fi
13
+
14
+ echo "=== Container Lifecycle Events ==="
15
+ sqlite3 -header -column "$DB_PATH" <<SQL
16
+ SELECT
17
+ event_type,
18
+ container_id,
19
+ exit_code,
20
+ started_at,
21
+ finished_at,
22
+ duration_seconds
23
+ FROM container_events
24
+ WHERE agent_id = '$AGENT_ID'
25
+ ORDER BY created_at;
26
+ SQL
27
+
28
+ echo ""
29
+ echo "=== Log Output ==="
30
+ sqlite3 -header -column "$DB_PATH" <<SQL
31
+ SELECT
32
+ timestamp,
33
+ stream,
34
+ substr(log_line, 1, 120) || CASE WHEN length(log_line) > 120 THEN '...' ELSE '' END as log_line
35
+ FROM container_logs
36
+ WHERE agent_id = '$AGENT_ID'
37
+ ORDER BY timestamp;
38
+ SQL
39
+
40
+ echo ""
41
+ echo "=== Log Statistics ==="
42
+ sqlite3 -header -column "$DB_PATH" <<SQL
43
+ SELECT
44
+ stream,
45
+ COUNT(*) as line_count,
46
+ AVG(length(log_line)) as avg_line_length,
47
+ MAX(length(log_line)) as max_line_length
48
+ FROM container_logs
49
+ WHERE agent_id = '$AGENT_ID'
50
+ GROUP BY stream;
51
+ SQL
@@ -0,0 +1,56 @@
1
+ #!/bin/bash
2
+ # Query: Show validator consensus over iterations
3
+
4
+ set -euo pipefail
5
+
6
+ DB_PATH=${1:-}
7
+ TASK_ID=${2:-}
8
+
9
+ if [[ -z "$DB_PATH" || -z "$TASK_ID" ]]; then
10
+ echo "Usage: $0 <db_path> <task_id>"
11
+ exit 1
12
+ fi
13
+
14
+ echo "=== Validator Consensus History ==="
15
+ sqlite3 -header -column "$DB_PATH" <<SQL
16
+ SELECT
17
+ iteration,
18
+ validator_id,
19
+ printf('%.2f', score) as score,
20
+ substr(feedback, 1, 60) || CASE WHEN length(feedback) > 60 THEN '...' ELSE '' END as feedback,
21
+ timestamp
22
+ FROM validator_consensus
23
+ WHERE task_id = '$TASK_ID'
24
+ ORDER BY iteration, validator_id;
25
+ SQL
26
+
27
+ echo ""
28
+ echo "=== Consensus Trends by Iteration ==="
29
+ sqlite3 -header -column "$DB_PATH" <<SQL
30
+ SELECT
31
+ iteration,
32
+ COUNT(*) as validator_count,
33
+ printf('%.2f', AVG(score)) as avg_score,
34
+ printf('%.2f', MIN(score)) as min_score,
35
+ printf('%.2f', MAX(score)) as max_score,
36
+ printf('%.2f', (MAX(score) - MIN(score))) as score_range
37
+ FROM validator_consensus
38
+ WHERE task_id = '$TASK_ID'
39
+ GROUP BY iteration
40
+ ORDER BY iteration;
41
+ SQL
42
+
43
+ echo ""
44
+ echo "=== Validator Performance ==="
45
+ sqlite3 -header -column "$DB_PATH" <<SQL
46
+ SELECT
47
+ validator_id,
48
+ COUNT(*) as reviews,
49
+ printf('%.2f', AVG(score)) as avg_score,
50
+ printf('%.2f', MIN(score)) as min_score,
51
+ printf('%.2f', MAX(score)) as max_score
52
+ FROM validator_consensus
53
+ WHERE task_id = '$TASK_ID'
54
+ GROUP BY validator_id
55
+ ORDER BY avg_score DESC;
56
+ SQL
@@ -0,0 +1,39 @@
1
+ #!/bin/bash
2
+ # Query: Show coordination event timeline
3
+
4
+ set -euo pipefail
5
+
6
+ DB_PATH=${1:-}
7
+ TASK_ID=${2:-}
8
+
9
+ if [[ -z "$DB_PATH" || -z "$TASK_ID" ]]; then
10
+ echo "Usage: $0 <db_path> <task_id>"
11
+ exit 1
12
+ fi
13
+
14
+ echo "=== Coordination Event Timeline ==="
15
+ sqlite3 -header -column "$DB_PATH" <<SQL
16
+ SELECT
17
+ timestamp,
18
+ event_type,
19
+ agent_id,
20
+ key,
21
+ substr(value, 1, 40) || CASE WHEN length(value) > 40 THEN '...' ELSE '' END as value
22
+ FROM coordination_events
23
+ WHERE task_id = '$TASK_ID'
24
+ ORDER BY timestamp;
25
+ SQL
26
+
27
+ echo ""
28
+ echo "=== Event Type Distribution ==="
29
+ sqlite3 -header -column "$DB_PATH" <<SQL
30
+ SELECT
31
+ event_type,
32
+ COUNT(*) as count,
33
+ MIN(timestamp) as first_occurrence,
34
+ MAX(timestamp) as last_occurrence
35
+ FROM coordination_events
36
+ WHERE task_id = '$TASK_ID'
37
+ GROUP BY event_type
38
+ ORDER BY count DESC;
39
+ SQL
@@ -0,0 +1,40 @@
1
+ #!/bin/bash
2
+ # Query: Find all failed containers (exit_code != 0)
3
+
4
+ set -euo pipefail
5
+
6
+ DB_PATH=${1:-logs/docker-mode/*/logs.db}
7
+ TASK_ID=${2:-}
8
+
9
+ if [[ -z "$TASK_ID" ]]; then
10
+ # Show all failed containers across all tasks
11
+ sqlite3 -header -column "$DB_PATH" <<SQL
12
+ SELECT
13
+ task_id,
14
+ agent_id,
15
+ container_id,
16
+ exit_code,
17
+ started_at,
18
+ finished_at,
19
+ duration_seconds,
20
+ CASE WHEN oom_killed = 1 THEN 'YES' ELSE 'NO' END as oom_killed
21
+ FROM container_events
22
+ WHERE event_type = 'exit' AND exit_code != 0
23
+ ORDER BY finished_at DESC;
24
+ SQL
25
+ else
26
+ # Show failed containers for specific task
27
+ sqlite3 -header -column "$DB_PATH" <<SQL
28
+ SELECT
29
+ agent_id,
30
+ container_id,
31
+ exit_code,
32
+ started_at,
33
+ finished_at,
34
+ duration_seconds,
35
+ CASE WHEN oom_killed = 1 THEN 'YES' ELSE 'NO' END as oom_killed
36
+ FROM container_events
37
+ WHERE task_id = '$TASK_ID' AND event_type = 'exit' AND exit_code != 0
38
+ ORDER BY finished_at DESC;
39
+ SQL
40
+ fi
@@ -0,0 +1,39 @@
1
+ #!/bin/bash
2
+ # Query: Show all gate check results
3
+
4
+ set -euo pipefail
5
+
6
+ DB_PATH=${1:-}
7
+ TASK_ID=${2:-}
8
+
9
+ if [[ -z "$DB_PATH" || -z "$TASK_ID" ]]; then
10
+ echo "Usage: $0 <db_path> <task_id>"
11
+ exit 1
12
+ fi
13
+
14
+ echo "=== Gate Check Results ==="
15
+ sqlite3 -header -column "$DB_PATH" <<SQL
16
+ SELECT
17
+ iteration,
18
+ printf('%.2f%%', pass_rate * 100) as pass_rate,
19
+ printf('%.2f%%', threshold * 100) as threshold,
20
+ CASE WHEN passed = 1 THEN 'PASS' ELSE 'FAIL' END as result,
21
+ agent_count as agents,
22
+ timestamp
23
+ FROM gate_checks
24
+ WHERE task_id = '$TASK_ID'
25
+ ORDER BY iteration;
26
+ SQL
27
+
28
+ echo ""
29
+ echo "=== Gate Check Summary ==="
30
+ sqlite3 -header -column "$DB_PATH" <<SQL
31
+ SELECT
32
+ COUNT(*) as total_checks,
33
+ SUM(CASE WHEN passed = 1 THEN 1 ELSE 0 END) as passed_count,
34
+ SUM(CASE WHEN passed = 0 THEN 1 ELSE 0 END) as failed_count,
35
+ printf('%.2f%%', AVG(pass_rate) * 100) as avg_pass_rate,
36
+ printf('%.2f%%', MAX(pass_rate) * 100) as max_pass_rate
37
+ FROM gate_checks
38
+ WHERE task_id = '$TASK_ID';
39
+ SQL
@@ -0,0 +1,111 @@
1
+ -- CFN Docker Logging Database Schema
2
+ -- Hybrid logging: Text files (human readable) + SQLite (powerful queries)
3
+
4
+ -- Container execution logs
5
+ CREATE TABLE IF NOT EXISTS container_logs (
6
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
7
+ task_id TEXT NOT NULL,
8
+ agent_id TEXT NOT NULL,
9
+ container_id TEXT NOT NULL,
10
+ timestamp TEXT NOT NULL,
11
+ log_line TEXT NOT NULL,
12
+ stream TEXT NOT NULL CHECK(stream IN ('stdout', 'stderr')),
13
+ created_at TEXT DEFAULT (datetime('now'))
14
+ );
15
+
16
+ CREATE INDEX IF NOT EXISTS idx_task_agent ON container_logs(task_id, agent_id);
17
+ CREATE INDEX IF NOT EXISTS idx_timestamp ON container_logs(timestamp);
18
+ CREATE INDEX IF NOT EXISTS idx_container ON container_logs(container_id);
19
+
20
+ -- Container lifecycle events
21
+ CREATE TABLE IF NOT EXISTS container_events (
22
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
23
+ task_id TEXT NOT NULL,
24
+ agent_id TEXT NOT NULL,
25
+ container_id TEXT NOT NULL,
26
+ event_type TEXT NOT NULL CHECK(event_type IN ('spawn', 'exit', 'kill', 'error', 'oom')),
27
+ exit_code INTEGER,
28
+ status TEXT,
29
+ started_at TEXT,
30
+ finished_at TEXT,
31
+ duration_seconds REAL,
32
+ oom_killed INTEGER DEFAULT 0,
33
+ metadata TEXT, -- JSON blob for additional data
34
+ created_at TEXT DEFAULT (datetime('now'))
35
+ );
36
+
37
+ CREATE INDEX IF NOT EXISTS idx_task ON container_events(task_id);
38
+ CREATE INDEX IF NOT EXISTS idx_exit_code ON container_events(exit_code);
39
+ CREATE INDEX IF NOT EXISTS idx_event_type ON container_events(event_type);
40
+
41
+ -- Redis coordination events
42
+ CREATE TABLE IF NOT EXISTS coordination_events (
43
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
44
+ task_id TEXT NOT NULL,
45
+ agent_id TEXT,
46
+ event_type TEXT NOT NULL, -- 'gate-check', 'consensus', 'decision', 'signal', 'wait'
47
+ key TEXT NOT NULL,
48
+ value TEXT,
49
+ timestamp TEXT NOT NULL,
50
+ created_at TEXT DEFAULT (datetime('now'))
51
+ );
52
+
53
+ CREATE INDEX IF NOT EXISTS idx_coord_task ON coordination_events(task_id);
54
+ CREATE INDEX IF NOT EXISTS idx_coord_event_type ON coordination_events(event_type);
55
+ CREATE INDEX IF NOT EXISTS idx_coord_key ON coordination_events(key);
56
+
57
+ -- Gate check results
58
+ CREATE TABLE IF NOT EXISTS gate_checks (
59
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
60
+ task_id TEXT NOT NULL,
61
+ iteration INTEGER NOT NULL,
62
+ pass_rate REAL NOT NULL,
63
+ threshold REAL NOT NULL,
64
+ passed INTEGER NOT NULL CHECK(passed IN (0, 1)),
65
+ agent_count INTEGER,
66
+ timestamp TEXT NOT NULL,
67
+ created_at TEXT DEFAULT (datetime('now'))
68
+ );
69
+
70
+ CREATE INDEX IF NOT EXISTS idx_gate_task_iteration ON gate_checks(task_id, iteration);
71
+
72
+ -- Validator consensus
73
+ CREATE TABLE IF NOT EXISTS validator_consensus (
74
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
75
+ task_id TEXT NOT NULL,
76
+ iteration INTEGER NOT NULL,
77
+ validator_id TEXT NOT NULL,
78
+ score REAL NOT NULL,
79
+ feedback TEXT,
80
+ timestamp TEXT NOT NULL,
81
+ created_at TEXT DEFAULT (datetime('now'))
82
+ );
83
+
84
+ CREATE INDEX IF NOT EXISTS idx_consensus_task_iteration ON validator_consensus(task_id, iteration);
85
+
86
+ -- Product owner decisions
87
+ CREATE TABLE IF NOT EXISTS product_owner_decisions (
88
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
89
+ task_id TEXT NOT NULL,
90
+ iteration INTEGER NOT NULL,
91
+ decision TEXT NOT NULL CHECK(decision IN ('PROCEED', 'ITERATE', 'ABORT')),
92
+ rationale TEXT,
93
+ deliverables_validated INTEGER,
94
+ timestamp TEXT NOT NULL,
95
+ created_at TEXT DEFAULT (datetime('now'))
96
+ );
97
+
98
+ CREATE INDEX IF NOT EXISTS idx_decision_task ON product_owner_decisions(task_id);
99
+
100
+ -- Performance metrics
101
+ CREATE TABLE IF NOT EXISTS performance_metrics (
102
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
103
+ task_id TEXT NOT NULL,
104
+ metric_name TEXT NOT NULL,
105
+ metric_value REAL NOT NULL,
106
+ unit TEXT,
107
+ timestamp TEXT NOT NULL,
108
+ created_at TEXT DEFAULT (datetime('now'))
109
+ );
110
+
111
+ CREATE INDEX IF NOT EXISTS idx_metrics_task ON performance_metrics(task_id);
@@ -0,0 +1,240 @@
1
+ #!/bin/bash
2
+ # SQLite Helper Functions for CFN Docker Logging
3
+ # Provides reusable functions for database operations
4
+
5
+ set -euo pipefail
6
+
7
+ # Get script directory
8
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
9
+
10
+ # Initialize database with schema
11
+ init_logging_db() {
12
+ local db_path=$1
13
+
14
+ if [[ ! -f "$db_path" ]]; then
15
+ # Create database directory if needed
16
+ mkdir -p "$(dirname "$db_path")"
17
+
18
+ # Initialize schema
19
+ sqlite3 "$db_path" < "$SCRIPT_DIR/schema.sql"
20
+ echo "Initialized logging database: $db_path"
21
+ fi
22
+ }
23
+
24
+ # Insert log line
25
+ log_to_db() {
26
+ local db_path=$1
27
+ local task_id=$2
28
+ local agent_id=$3
29
+ local container_id=$4
30
+ local timestamp=$5
31
+ local log_line=$6
32
+ local stream=$7
33
+
34
+ # Escape single quotes in log line
35
+ log_line="${log_line//\'/\'\'}"
36
+
37
+ sqlite3 "$db_path" <<SQL
38
+ INSERT INTO container_logs (task_id, agent_id, container_id, timestamp, log_line, stream)
39
+ VALUES ('$task_id', '$agent_id', '$container_id', '$timestamp', '$log_line', '$stream');
40
+ SQL
41
+ }
42
+
43
+ # Log container event
44
+ log_container_event() {
45
+ local db_path=$1
46
+ local task_id=$2
47
+ local agent_id=$3
48
+ local container_id=$4
49
+ local event_type=$5
50
+ local exit_code=${6:-NULL}
51
+ local metadata=${7:-null}
52
+
53
+ # Escape metadata if provided
54
+ if [[ "$metadata" != "null" ]]; then
55
+ metadata="${metadata//\'/\'\'}"
56
+ metadata="'$metadata'"
57
+ fi
58
+
59
+ sqlite3 "$db_path" <<SQL
60
+ INSERT INTO container_events (task_id, agent_id, container_id, event_type, exit_code, metadata)
61
+ VALUES ('$task_id', '$agent_id', '$container_id', '$event_type', $exit_code, $metadata);
62
+ SQL
63
+ }
64
+
65
+ # Log container spawn with timestamp
66
+ log_container_spawn() {
67
+ local db_path=$1
68
+ local task_id=$2
69
+ local agent_id=$3
70
+ local container_id=$4
71
+ local started_at=$5
72
+ local metadata=${6:-null}
73
+
74
+ if [[ "$metadata" != "null" ]]; then
75
+ metadata="${metadata//\'/\'\'}"
76
+ metadata="'$metadata'"
77
+ fi
78
+
79
+ sqlite3 "$db_path" <<SQL
80
+ INSERT INTO container_events (task_id, agent_id, container_id, event_type, started_at, metadata)
81
+ VALUES ('$task_id', '$agent_id', '$container_id', 'spawn', '$started_at', $metadata);
82
+ SQL
83
+ }
84
+
85
+ # Log container exit with duration
86
+ log_container_exit() {
87
+ local db_path=$1
88
+ local task_id=$2
89
+ local agent_id=$3
90
+ local container_id=$4
91
+ local exit_code=$5
92
+ local started_at=$6
93
+ local finished_at=$7
94
+
95
+ # Calculate duration in seconds
96
+ local start_ts=$(date -d "$started_at" +%s 2>/dev/null || echo 0)
97
+ local finish_ts=$(date -d "$finished_at" +%s 2>/dev/null || echo 0)
98
+ local duration=$((finish_ts - start_ts))
99
+
100
+ sqlite3 "$db_path" <<SQL
101
+ INSERT INTO container_events (task_id, agent_id, container_id, event_type, exit_code, started_at, finished_at, duration_seconds)
102
+ VALUES ('$task_id', '$agent_id', '$container_id', 'exit', $exit_code, '$started_at', '$finished_at', $duration);
103
+ SQL
104
+ }
105
+
106
+ # Log coordination event
107
+ log_coordination_event() {
108
+ local db_path=$1
109
+ local task_id=$2
110
+ local agent_id=$3
111
+ local event_type=$4
112
+ local key=$5
113
+ local value=${6:-}
114
+ local timestamp=$7
115
+
116
+ # Escape values
117
+ value="${value//\'/\'\'}"
118
+
119
+ sqlite3 "$db_path" <<SQL
120
+ INSERT INTO coordination_events (task_id, agent_id, event_type, key, value, timestamp)
121
+ VALUES ('$task_id', '$agent_id', '$event_type', '$key', '$value', '$timestamp');
122
+ SQL
123
+ }
124
+
125
+ # Log gate check result
126
+ log_gate_check() {
127
+ local db_path=$1
128
+ local task_id=$2
129
+ local iteration=$3
130
+ local pass_rate=$4
131
+ local threshold=$5
132
+ local passed=$6
133
+ local agent_count=${7:-0}
134
+ local timestamp=$8
135
+
136
+ sqlite3 "$db_path" <<SQL
137
+ INSERT INTO gate_checks (task_id, iteration, pass_rate, threshold, passed, agent_count, timestamp)
138
+ VALUES ('$task_id', $iteration, $pass_rate, $threshold, $passed, $agent_count, '$timestamp');
139
+ SQL
140
+ }
141
+
142
+ # Log validator consensus
143
+ log_validator_consensus() {
144
+ local db_path=$1
145
+ local task_id=$2
146
+ local iteration=$3
147
+ local validator_id=$4
148
+ local score=$5
149
+ local feedback=$6
150
+ local timestamp=$7
151
+
152
+ # Escape feedback
153
+ feedback="${feedback//\'/\'\'}"
154
+
155
+ sqlite3 "$db_path" <<SQL
156
+ INSERT INTO validator_consensus (task_id, iteration, validator_id, score, feedback, timestamp)
157
+ VALUES ('$task_id', $iteration, '$validator_id', $score, '$feedback', '$timestamp');
158
+ SQL
159
+ }
160
+
161
+ # Log product owner decision
162
+ log_product_owner_decision() {
163
+ local db_path=$1
164
+ local task_id=$2
165
+ local iteration=$3
166
+ local decision=$4
167
+ local rationale=$5
168
+ local deliverables_validated=${6:-0}
169
+ local timestamp=$7
170
+
171
+ # Escape rationale
172
+ rationale="${rationale//\'/\'\'}"
173
+
174
+ sqlite3 "$db_path" <<SQL
175
+ INSERT INTO product_owner_decisions (task_id, iteration, decision, rationale, deliverables_validated, timestamp)
176
+ VALUES ('$task_id', $iteration, '$decision', '$rationale', $deliverables_validated, '$timestamp');
177
+ SQL
178
+ }
179
+
180
+ # Log performance metric
181
+ log_performance_metric() {
182
+ local db_path=$1
183
+ local task_id=$2
184
+ local metric_name=$3
185
+ local metric_value=$4
186
+ local unit=${5:-}
187
+ local timestamp=$6
188
+
189
+ sqlite3 "$db_path" <<SQL
190
+ INSERT INTO performance_metrics (task_id, metric_name, metric_value, unit, timestamp)
191
+ VALUES ('$task_id', '$metric_name', $metric_value, '$unit', '$timestamp');
192
+ SQL
193
+ }
194
+
195
+ # Query helper: Get latest event for container
196
+ get_latest_container_event() {
197
+ local db_path=$1
198
+ local container_id=$2
199
+
200
+ sqlite3 -separator '|' "$db_path" <<SQL
201
+ SELECT event_type, exit_code, created_at
202
+ FROM container_events
203
+ WHERE container_id = '$container_id'
204
+ ORDER BY created_at DESC
205
+ LIMIT 1;
206
+ SQL
207
+ }
208
+
209
+ # Query helper: Get task summary
210
+ get_task_summary() {
211
+ local db_path=$1
212
+ local task_id=$2
213
+
214
+ sqlite3 -header -column "$db_path" <<SQL
215
+ SELECT
216
+ COUNT(DISTINCT agent_id) as total_agents,
217
+ COUNT(DISTINCT container_id) as total_containers,
218
+ SUM(CASE WHEN event_type = 'exit' AND exit_code = 0 THEN 1 ELSE 0 END) as successful_exits,
219
+ SUM(CASE WHEN event_type = 'exit' AND exit_code != 0 THEN 1 ELSE 0 END) as failed_exits,
220
+ AVG(CASE WHEN duration_seconds IS NOT NULL THEN duration_seconds END) as avg_duration
221
+ FROM container_events
222
+ WHERE task_id = '$task_id';
223
+ SQL
224
+ }
225
+
226
+ # Export functions if sourced
227
+ if [[ "${BASH_SOURCE[0]}" != "${0}" ]]; then
228
+ export -f init_logging_db
229
+ export -f log_to_db
230
+ export -f log_container_event
231
+ export -f log_container_spawn
232
+ export -f log_container_exit
233
+ export -f log_coordination_event
234
+ export -f log_gate_check
235
+ export -f log_validator_consensus
236
+ export -f log_product_owner_decision
237
+ export -f log_performance_metric
238
+ export -f get_latest_container_event
239
+ export -f get_task_summary
240
+ fi