claude-flow-novice 2.18.12 → 2.18.14

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 (332) hide show
  1. package/.backups/unknown/1765417503_2999b9ec66f591dd76075617ec31fcea/metadata.json +8 -0
  2. package/.backups/unknown/1765417503_2999b9ec66f591dd76075617ec31fcea/original +3 -0
  3. package/.backups/unknown/1765417503_2999b9ec66f591dd76075617ec31fcea/revert.sh +7 -0
  4. package/.backups/unknown/1765417531_2999b9ec66f591dd76075617ec31fcea/metadata.json +8 -0
  5. package/.backups/unknown/1765417531_2999b9ec66f591dd76075617ec31fcea/original +3 -0
  6. package/.backups/unknown/1765417531_2999b9ec66f591dd76075617ec31fcea/revert.sh +7 -0
  7. package/.backups/unknown/1765417552_2999b9ec66f591dd76075617ec31fcea/metadata.json +8 -0
  8. package/.backups/unknown/1765417552_2999b9ec66f591dd76075617ec31fcea/original +3 -0
  9. package/.backups/unknown/1765417552_2999b9ec66f591dd76075617ec31fcea/revert.sh +7 -0
  10. package/.backups/unknown/1765417613_1f34dbf0fe1ec3b6cb74ba7c4e12a2a4/metadata.json +8 -0
  11. package/.backups/unknown/1765417613_1f34dbf0fe1ec3b6cb74ba7c4e12a2a4/original +1212 -0
  12. package/.backups/unknown/1765417613_1f34dbf0fe1ec3b6cb74ba7c4e12a2a4/revert.sh +7 -0
  13. package/.backups/unknown/1765417613_332e9bb223a26270398922640c1c1653/metadata.json +8 -0
  14. package/.backups/unknown/1765417613_332e9bb223a26270398922640c1c1653/original +1212 -0
  15. package/.backups/unknown/1765417613_332e9bb223a26270398922640c1c1653/revert.sh +7 -0
  16. package/.backups/unknown/1765417613_45880a7afef063347b701e7e88e2df9c/metadata.json +8 -0
  17. package/.backups/unknown/1765417613_45880a7afef063347b701e7e88e2df9c/original +1212 -0
  18. package/.backups/unknown/1765417613_45880a7afef063347b701e7e88e2df9c/revert.sh +7 -0
  19. package/.backups/unknown/1765417614_1b6c3b658c2891dbe245aea4bad41661/metadata.json +8 -0
  20. package/.backups/unknown/1765417614_1b6c3b658c2891dbe245aea4bad41661/original +1228 -0
  21. package/.backups/unknown/1765417614_1b6c3b658c2891dbe245aea4bad41661/revert.sh +7 -0
  22. package/.backups/unknown/1765417614_1ed5bd129f0b5d1b297a04ec5267ef62/metadata.json +8 -0
  23. package/.backups/unknown/1765417614_1ed5bd129f0b5d1b297a04ec5267ef62/original +1237 -0
  24. package/.backups/unknown/1765417614_1ed5bd129f0b5d1b297a04ec5267ef62/revert.sh +7 -0
  25. package/.backups/unknown/1765417614_28e032bd1b62dbfcecbd56327a0b0e23/metadata.json +8 -0
  26. package/.backups/unknown/1765417614_28e032bd1b62dbfcecbd56327a0b0e23/original +1240 -0
  27. package/.backups/unknown/1765417614_28e032bd1b62dbfcecbd56327a0b0e23/revert.sh +7 -0
  28. package/.backups/unknown/1765417614_40a1ce1b0efa2e1ba1958c27b2cbc557/metadata.json +8 -0
  29. package/.backups/unknown/1765417614_40a1ce1b0efa2e1ba1958c27b2cbc557/original +1216 -0
  30. package/.backups/unknown/1765417614_40a1ce1b0efa2e1ba1958c27b2cbc557/revert.sh +7 -0
  31. package/.backups/unknown/1765417614_f65dbf58cff7a9aa1c5c3d0d1618074a/metadata.json +8 -0
  32. package/.backups/unknown/1765417614_f65dbf58cff7a9aa1c5c3d0d1618074a/original +1238 -0
  33. package/.backups/unknown/1765417614_f65dbf58cff7a9aa1c5c3d0d1618074a/revert.sh +7 -0
  34. package/.backups/unknown/1765417615_0f45c28b9b8d5204974421c06075ff74/metadata.json +8 -0
  35. package/.backups/unknown/1765417615_0f45c28b9b8d5204974421c06075ff74/original +1167 -0
  36. package/.backups/unknown/1765417615_0f45c28b9b8d5204974421c06075ff74/revert.sh +7 -0
  37. package/.backups/unknown/1765417615_41d36156891ddb6f63d1b4da59d1db4c/metadata.json +8 -0
  38. package/.backups/unknown/1765417615_41d36156891ddb6f63d1b4da59d1db4c/original +1242 -0
  39. package/.backups/unknown/1765417615_41d36156891ddb6f63d1b4da59d1db4c/revert.sh +7 -0
  40. package/.backups/unknown/1765417709_77dda8631459cfc2ab94b8928f7d90b4/metadata.json +8 -0
  41. package/.backups/unknown/1765417709_77dda8631459cfc2ab94b8928f7d90b4/original +2 -0
  42. package/.backups/unknown/1765417709_77dda8631459cfc2ab94b8928f7d90b4/revert.sh +7 -0
  43. package/.backups/unknown/1765417775_1405837bacf112ba832a139840fe94e7/metadata.json +8 -0
  44. package/.backups/unknown/1765417775_1405837bacf112ba832a139840fe94e7/original +1169 -0
  45. package/.backups/unknown/1765417775_1405837bacf112ba832a139840fe94e7/revert.sh +7 -0
  46. package/.backups/unknown/1765417775_8044b4a5cfdcb5cd71317831ad53f5a2/metadata.json +8 -0
  47. package/.backups/unknown/1765417775_8044b4a5cfdcb5cd71317831ad53f5a2/original +1171 -0
  48. package/.backups/unknown/1765417775_8044b4a5cfdcb5cd71317831ad53f5a2/revert.sh +7 -0
  49. package/.backups/unknown/1765417775_8eb94d60151e1db262377fbf8a187212/metadata.json +8 -0
  50. package/.backups/unknown/1765417775_8eb94d60151e1db262377fbf8a187212/original +1170 -0
  51. package/.backups/unknown/1765417775_8eb94d60151e1db262377fbf8a187212/revert.sh +7 -0
  52. package/.backups/unknown/1765417776_a0d4b709e15e0bfa002c4b128f5e4603/metadata.json +8 -0
  53. package/.backups/unknown/1765417776_a0d4b709e15e0bfa002c4b128f5e4603/original +1173 -0
  54. package/.backups/unknown/1765417776_a0d4b709e15e0bfa002c4b128f5e4603/revert.sh +7 -0
  55. package/.backups/unknown/1765417776_cb1bc24d98b63564eb73ef782b8c68b3/metadata.json +8 -0
  56. package/.backups/unknown/1765417776_cb1bc24d98b63564eb73ef782b8c68b3/original +1170 -0
  57. package/.backups/unknown/1765417776_cb1bc24d98b63564eb73ef782b8c68b3/revert.sh +7 -0
  58. package/.backups/unknown/1765417777_1c4cc8c33f476f0c87c8efd4e34efc22/metadata.json +8 -0
  59. package/.backups/unknown/1765417777_1c4cc8c33f476f0c87c8efd4e34efc22/original +1172 -0
  60. package/.backups/unknown/1765417777_1c4cc8c33f476f0c87c8efd4e34efc22/revert.sh +7 -0
  61. package/.backups/unknown/1765417777_325de83ffd34544909b8b9aa6e18dd05/metadata.json +8 -0
  62. package/.backups/unknown/1765417777_325de83ffd34544909b8b9aa6e18dd05/original +1175 -0
  63. package/.backups/unknown/1765417777_325de83ffd34544909b8b9aa6e18dd05/revert.sh +7 -0
  64. package/.backups/unknown/1765417950_402e7c1a8956b56ac7b88e89f024acb4/metadata.json +8 -0
  65. package/.backups/unknown/1765417950_402e7c1a8956b56ac7b88e89f024acb4/original +1178 -0
  66. package/.backups/unknown/1765417950_402e7c1a8956b56ac7b88e89f024acb4/revert.sh +7 -0
  67. package/.backups/unknown/1765417950_647e27e4da18ae42c339e04b4d334feb/metadata.json +8 -0
  68. package/.backups/unknown/1765417950_647e27e4da18ae42c339e04b4d334feb/original +1174 -0
  69. package/.backups/unknown/1765417950_647e27e4da18ae42c339e04b4d334feb/revert.sh +7 -0
  70. package/.backups/unknown/1765417951_1424d2dd67b8c8a4e7cf649b379d21f2/metadata.json +8 -0
  71. package/.backups/unknown/1765417951_1424d2dd67b8c8a4e7cf649b379d21f2/original +1194 -0
  72. package/.backups/unknown/1765417951_1424d2dd67b8c8a4e7cf649b379d21f2/revert.sh +7 -0
  73. package/.backups/unknown/1765417951_6df070ca287ea94a7f08efc69ec9ea51/metadata.json +8 -0
  74. package/.backups/unknown/1765417951_6df070ca287ea94a7f08efc69ec9ea51/original +1186 -0
  75. package/.backups/unknown/1765417951_6df070ca287ea94a7f08efc69ec9ea51/revert.sh +7 -0
  76. package/.backups/unknown/1765417951_848919a1365f6536e5ef8d85d0c80fa7/metadata.json +8 -0
  77. package/.backups/unknown/1765417951_848919a1365f6536e5ef8d85d0c80fa7/original +1180 -0
  78. package/.backups/unknown/1765417951_848919a1365f6536e5ef8d85d0c80fa7/revert.sh +7 -0
  79. package/.backups/unknown/1765417951_b0d1d4ecf85ad10cda0f3900d414b608/metadata.json +8 -0
  80. package/.backups/unknown/1765417951_b0d1d4ecf85ad10cda0f3900d414b608/original +1198 -0
  81. package/.backups/unknown/1765417951_b0d1d4ecf85ad10cda0f3900d414b608/revert.sh +7 -0
  82. package/.backups/unknown/1765417952_2b720e213b5197cbaad53f9f0857f23f/metadata.json +8 -0
  83. package/.backups/unknown/1765417952_2b720e213b5197cbaad53f9f0857f23f/original +1202 -0
  84. package/.backups/unknown/1765417952_2b720e213b5197cbaad53f9f0857f23f/revert.sh +7 -0
  85. package/.backups/unknown/1765417952_ef1d15e8b83a802a0c0f0fc03e56a89c/metadata.json +8 -0
  86. package/.backups/unknown/1765417952_ef1d15e8b83a802a0c0f0fc03e56a89c/original +1202 -0
  87. package/.backups/unknown/1765417952_ef1d15e8b83a802a0c0f0fc03e56a89c/revert.sh +7 -0
  88. package/.backups/unknown/1765418048_ac94238a69a6f86a6ba9d31f623c18a7/metadata.json +8 -0
  89. package/.backups/unknown/1765418048_ac94238a69a6f86a6ba9d31f623c18a7/original +1209 -0
  90. package/.backups/unknown/1765418048_ac94238a69a6f86a6ba9d31f623c18a7/revert.sh +7 -0
  91. package/.backups/unknown/1765418048_f3afed98da63fef9ff57fb5646976f63/metadata.json +8 -0
  92. package/.backups/unknown/1765418048_f3afed98da63fef9ff57fb5646976f63/original +1207 -0
  93. package/.backups/unknown/1765418048_f3afed98da63fef9ff57fb5646976f63/revert.sh +7 -0
  94. package/.backups/unknown/1765418049_9c392702a4e1cace37d17f6f2dfaf54e/metadata.json +8 -0
  95. package/.backups/unknown/1765418049_9c392702a4e1cace37d17f6f2dfaf54e/original +1207 -0
  96. package/.backups/unknown/1765418049_9c392702a4e1cace37d17f6f2dfaf54e/revert.sh +7 -0
  97. package/.backups/unknown/1765418049_9e0777555b51dea4d24d0503b584cfc5/metadata.json +8 -0
  98. package/.backups/unknown/1765418049_9e0777555b51dea4d24d0503b584cfc5/original +1193 -0
  99. package/.backups/unknown/1765418049_9e0777555b51dea4d24d0503b584cfc5/revert.sh +7 -0
  100. package/.backups/unknown/1765418050_22d534bed68f9f5d883bee54e7cbc4d3/metadata.json +8 -0
  101. package/.backups/unknown/1765418050_22d534bed68f9f5d883bee54e7cbc4d3/original +1194 -0
  102. package/.backups/unknown/1765418050_22d534bed68f9f5d883bee54e7cbc4d3/revert.sh +7 -0
  103. package/.backups/unknown/1765418051_d9243722dc90dabc851c5767a62ac7f2/metadata.json +8 -0
  104. package/.backups/unknown/1765418051_d9243722dc90dabc851c5767a62ac7f2/original +1193 -0
  105. package/.backups/unknown/1765418051_d9243722dc90dabc851c5767a62ac7f2/revert.sh +7 -0
  106. package/.backups/unknown/1765418177_21a2fa816d25d419b54ef2d429aab474/metadata.json +8 -0
  107. package/.backups/unknown/1765418177_21a2fa816d25d419b54ef2d429aab474/original +1191 -0
  108. package/.backups/unknown/1765418177_21a2fa816d25d419b54ef2d429aab474/revert.sh +7 -0
  109. package/.backups/unknown/1765418177_33b673dce1eb59d7eb4f752aec882794/metadata.json +8 -0
  110. package/.backups/unknown/1765418177_33b673dce1eb59d7eb4f752aec882794/original +1190 -0
  111. package/.backups/unknown/1765418177_33b673dce1eb59d7eb4f752aec882794/revert.sh +7 -0
  112. package/.backups/unknown/1765418177_72568812ea5a73cf6861a6b14da065fa/metadata.json +8 -0
  113. package/.backups/unknown/1765418177_72568812ea5a73cf6861a6b14da065fa/original +1191 -0
  114. package/.backups/unknown/1765418177_72568812ea5a73cf6861a6b14da065fa/revert.sh +7 -0
  115. package/.backups/unknown/1765418178_20c28b95f12194fe4b81cfb35f4f3757/metadata.json +8 -0
  116. package/.backups/unknown/1765418178_20c28b95f12194fe4b81cfb35f4f3757/original +1189 -0
  117. package/.backups/unknown/1765418178_20c28b95f12194fe4b81cfb35f4f3757/revert.sh +7 -0
  118. package/.backups/unknown/1765418178_cdf68719cc09173769027743e2718ad4/metadata.json +8 -0
  119. package/.backups/unknown/1765418178_cdf68719cc09173769027743e2718ad4/original +1197 -0
  120. package/.backups/unknown/1765418178_cdf68719cc09173769027743e2718ad4/revert.sh +7 -0
  121. package/.backups/unknown/1765418178_eb19e0f8542405480e51af09fad84b71/metadata.json +8 -0
  122. package/.backups/unknown/1765418178_eb19e0f8542405480e51af09fad84b71/original +1190 -0
  123. package/.backups/unknown/1765418178_eb19e0f8542405480e51af09fad84b71/revert.sh +7 -0
  124. package/.backups/unknown/1765418236_c016507725847318a3c369b047cbb802/metadata.json +8 -0
  125. package/.backups/unknown/1765418236_c016507725847318a3c369b047cbb802/original +1197 -0
  126. package/.backups/unknown/1765418236_c016507725847318a3c369b047cbb802/revert.sh +7 -0
  127. package/.backups/unknown/1765418237_932c3cc3a5c537b7933c2370b65f4b39/metadata.json +8 -0
  128. package/.backups/unknown/1765418237_932c3cc3a5c537b7933c2370b65f4b39/original +1197 -0
  129. package/.backups/unknown/1765418237_932c3cc3a5c537b7933c2370b65f4b39/revert.sh +7 -0
  130. package/.claude/agents/cfn-dev-team/utility/epic-creator-v2.md +194 -2
  131. package/.claude/agents/cfn-dev-team/utility/epic-creator-v2.sh +264 -0
  132. package/.claude/agents/cfn-dev-team/utility/epic-creator-v2.sh.backup +698 -0
  133. package/.claude/agents/custom/claude-code-expert.md +56 -0
  134. package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/SKILL.md +1 -1
  135. package/.claude/hooks/README.md +148 -0
  136. package/.claude/hooks/SessionStart:cfn-load-openai-key.sh +35 -0
  137. package/.claude/hooks/cfn-invoke-pre-edit.sh +1 -1
  138. package/.claude/hooks/cfn-load-cerebras-env.sh +65 -0
  139. package/.claude/hooks/cfn-precompact-enhanced.sh +283 -0
  140. package/.claude/hooks/deprecated/README.md +27 -0
  141. package/.claude/settings.json +71 -6
  142. package/.claude/skills/cfn-agent-lifecycle/SKILL.md +1 -1
  143. package/.claude/skills/cfn-agent-tooling/SKILL.md +1 -1
  144. package/.claude/skills/cfn-cerebras-coordinator/QUICKSTART.md +348 -0
  145. package/.claude/skills/cfn-cerebras-coordinator/README.md +525 -0
  146. package/.claude/skills/cfn-cerebras-coordinator/TDD_COORDINATOR_OVERVIEW.md +284 -0
  147. package/.claude/skills/cfn-cerebras-coordinator/conversations/2025-12-10-py-v2-test-1733854200.json +36 -0
  148. package/.claude/skills/cfn-cerebras-coordinator/conversations/2025-12-10-py-v3-test-1765383241.json +36 -0
  149. package/.claude/skills/cfn-cerebras-coordinator/conversations/2025-12-10-rust-v2-test-1765381361.json +36 -0
  150. package/.claude/skills/cfn-cerebras-coordinator/conversations/2025-12-10-rust-v3-test-1765383242.json +46 -0
  151. package/.claude/skills/cfn-cerebras-coordinator/conversations/2025-12-10-ts-v2-test-1733864400.json +66 -0
  152. package/.claude/skills/cfn-cerebras-coordinator/conversations/2025-12-10-ts-v3-test-1765383238.json +66 -0
  153. package/.claude/skills/cfn-cerebras-coordinator/conversations/2025-12-10-ts-v4-test-1765386506.json +66 -0
  154. package/.claude/skills/cfn-cerebras-coordinator/conversations/2025-12-10-ts-v5-test-1765393100.json +66 -0
  155. package/.claude/skills/cfn-cerebras-coordinator/example-usage.sh +206 -0
  156. package/.claude/skills/cfn-cerebras-coordinator/lib/tdd-conversation-coordinator.ts +569 -0
  157. package/.claude/skills/cfn-cerebras-coordinator/test-tdd-coordinator.sh +250 -0
  158. package/.claude/skills/cfn-compilation-error-fixer/SKILL.md +1 -1
  159. package/.claude/skills/cfn-compilation-error-fixer/lib/fixer/cerebras-gated-fixer-v2.ts +1 -1
  160. package/.claude/skills/cfn-config/SKILL.md +1 -1
  161. package/.claude/skills/cfn-dependency-management/SKILL.md +1 -1
  162. package/.claude/skills/cfn-deployment-lifecycle/SKILL.md +1 -1
  163. package/.claude/skills/cfn-edit-safety/SKILL.md +1 -1
  164. package/.claude/skills/cfn-epic-creator/SKILL.md +392 -0
  165. package/.claude/skills/cfn-epic-creator/estimate-costs.sh +524 -0
  166. package/.claude/skills/cfn-epic-creator/invoke.sh +445 -0
  167. package/.claude/skills/cfn-epic-creator/parse-personas.sh +533 -0
  168. package/.claude/skills/cfn-epic-creator/security-utils.sh +268 -0
  169. package/.claude/skills/cfn-epic-creator/security-verification-demo.sh +127 -0
  170. package/.claude/skills/cfn-epic-creator/test-invoke.sh +620 -0
  171. package/.claude/skills/cfn-epic-creator/test-security-fixes.sh +195 -0
  172. package/.claude/skills/cfn-epic-creator/test-security-simple.sh +165 -0
  173. package/.claude/skills/cfn-epic-creator/validate-epic.sh +474 -0
  174. package/.claude/skills/cfn-epic-parser/SKILL.md +8 -0
  175. package/.claude/skills/cfn-error-management/SKILL.md +1 -1
  176. package/.claude/skills/cfn-intervention-system/SKILL.md +1 -1
  177. package/.claude/skills/cfn-knowledge-base/SKILL.md +1 -1
  178. package/.claude/skills/cfn-local-ruvector-accelerator/.backups/unknown/1765358428_2cf0ad7377232c919ff0a65630cb307d/metadata.json +8 -0
  179. package/.claude/skills/cfn-local-ruvector-accelerator/.backups/unknown/1765358428_2cf0ad7377232c919ff0a65630cb307d/original +209 -0
  180. package/.claude/skills/cfn-local-ruvector-accelerator/.backups/unknown/1765358428_2cf0ad7377232c919ff0a65630cb307d/revert.sh +7 -0
  181. package/.claude/skills/cfn-local-ruvector-accelerator/AGENT_INTEGRATION_PATTERNS.md +255 -0
  182. package/.claude/skills/cfn-local-ruvector-accelerator/Cargo.toml +8 -1
  183. package/.claude/skills/cfn-local-ruvector-accelerator/Cargo.toml.backup +47 -0
  184. package/.claude/skills/cfn-local-ruvector-accelerator/EXTRACTION_EXAMPLES.md +287 -0
  185. package/.claude/skills/cfn-local-ruvector-accelerator/README.md +2 -563
  186. package/.claude/skills/cfn-local-ruvector-accelerator/SCHEMA_V2_IMPLEMENTATION.md +151 -0
  187. package/.claude/skills/cfn-local-ruvector-accelerator/SECURITY_IMPLEMENTATION.md +185 -0
  188. package/.claude/skills/cfn-local-ruvector-accelerator/SKILL.md +8 -343
  189. package/.claude/skills/cfn-local-ruvector-accelerator/docs/EXECUTIVE_SUMMARY.txt +90 -0
  190. package/.claude/skills/cfn-local-ruvector-accelerator/docs/PHASE_4_QUERY_API.md +210 -0
  191. package/.claude/skills/cfn-local-ruvector-accelerator/docs/RUST_AST_EXTRACTOR_IMPLEMENTATION.md +222 -0
  192. package/.claude/skills/cfn-local-ruvector-accelerator/docs/TRANSACTION_MANAGEMENT.md +241 -0
  193. package/.claude/skills/cfn-local-ruvector-accelerator/docs/VALIDATION_FINDINGS.txt +250 -0
  194. package/.claude/skills/cfn-local-ruvector-accelerator/epic-ast-indexer.json +335 -0
  195. package/.claude/skills/cfn-local-ruvector-accelerator/index-code.sh +292 -96
  196. package/.claude/skills/cfn-local-ruvector-accelerator/index-code.sh.backup +249 -0
  197. package/.claude/skills/cfn-local-ruvector-accelerator/index_all.sh +65 -0
  198. package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/find.rs +214 -0
  199. package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/index.rs +275 -94
  200. package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/index_ast.rs +767 -0
  201. package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/index_modified.rs +37 -0
  202. package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/init.rs +17 -12
  203. package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/migration.rs +34 -1
  204. package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/mod.rs +6 -0
  205. package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/query.rs +2 -2
  206. package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/refs.rs +209 -0
  207. package/.claude/skills/cfn-local-ruvector-accelerator/src/embeddings.rs +82 -33
  208. package/.claude/skills/cfn-local-ruvector-accelerator/src/extractors/mod.rs +251 -0
  209. package/.claude/skills/cfn-local-ruvector-accelerator/src/extractors/rust.rs +425 -0
  210. package/.claude/skills/cfn-local-ruvector-accelerator/src/extractors/rust_placeholder.rs +420 -0
  211. package/.claude/skills/cfn-local-ruvector-accelerator/src/extractors/text_fallback.rs +490 -0
  212. package/.claude/skills/cfn-local-ruvector-accelerator/src/extractors/typescript.rs +520 -0
  213. package/.claude/skills/cfn-local-ruvector-accelerator/src/extractors/typescript_full.rs +531 -0
  214. package/.claude/skills/cfn-local-ruvector-accelerator/src/lib.rs +20 -0
  215. package/.claude/skills/cfn-local-ruvector-accelerator/src/main.rs +33 -2
  216. package/.claude/skills/cfn-local-ruvector-accelerator/src/main.rs.backup +360 -0
  217. package/.claude/skills/cfn-local-ruvector-accelerator/src/migration.rs +325 -318
  218. package/.claude/skills/cfn-local-ruvector-accelerator/src/migration_backup.rs +325 -0
  219. package/.claude/skills/cfn-local-ruvector-accelerator/src/migration_tx.rs +513 -0
  220. package/.claude/skills/cfn-local-ruvector-accelerator/src/paths.rs +29 -0
  221. package/.claude/skills/cfn-local-ruvector-accelerator/src/query_api.rs +609 -0
  222. package/.claude/skills/cfn-local-ruvector-accelerator/src/schema_v2.rs +603 -0
  223. package/.claude/skills/cfn-local-ruvector-accelerator/src/search_engine.rs +150 -29
  224. package/.claude/skills/cfn-local-ruvector-accelerator/src/security_tests.rs +154 -0
  225. package/.claude/skills/cfn-local-ruvector-accelerator/src/sqlite_store.rs +1 -1
  226. package/.claude/skills/cfn-local-ruvector-accelerator/src/store_v2.rs +583 -0
  227. package/.claude/skills/cfn-local-ruvector-accelerator/src/store_v2_backup.rs +560 -0
  228. package/.claude/skills/cfn-local-ruvector-accelerator/src/store_v2_fixed.rs +0 -0
  229. package/.claude/skills/cfn-local-ruvector-accelerator/src/store_v2_tx.rs +397 -0
  230. package/.claude/skills/cfn-local-ruvector-accelerator/src/test_schema.rs +228 -0
  231. package/.claude/skills/cfn-local-ruvector-accelerator/src/transaction_tests.rs +410 -0
  232. package/.claude/skills/cfn-local-ruvector-accelerator/test_ast_indexing.rs +59 -0
  233. package/.claude/skills/cfn-local-ruvector-accelerator/test_query_api.sh +103 -0
  234. package/.claude/skills/cfn-local-ruvector-accelerator/test_schema.sql +158 -0
  235. package/.claude/skills/cfn-local-ruvector-accelerator/test_schema_v2.sql +147 -0
  236. package/.claude/skills/cfn-loop-orchestration-v2/SKILL.md +1 -1
  237. package/.claude/skills/cfn-loop-orchestration-v2/lib/decision/SKILL.md +8 -0
  238. package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/SKILL.md +1 -1
  239. package/.claude/skills/cfn-loop-orchestration-v2/lib/output/SKILL.md +8 -0
  240. package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/SKILL.md +11 -2
  241. package/.claude/skills/cfn-mdap-context-injection/SKILL.md +31 -10
  242. package/.claude/skills/cfn-mdap-error-fixer/skill.md +15 -205
  243. package/.claude/skills/cfn-memory-persistence/lib/auto/SKILL.md +7 -0
  244. package/.claude/skills/cfn-memory-persistence/lib/management/SKILL.md +7 -0
  245. package/.claude/skills/cfn-parameterized-queries/SKILL.md +8 -0
  246. package/.claude/skills/cfn-planning/SKILL.md +1 -1
  247. package/.claude/skills/cfn-session-handoff/SKILL.md +1 -53
  248. package/.claude/skills/cfn-skill-management/SKILL.md +1 -1
  249. package/.claude/skills/cfn-task-decomposition/SKILL.md +1 -0
  250. package/.claude/skills/cfn-task-intelligence/SKILL.md +39 -18
  251. package/.claude/skills/cfn-task-planning/SKILL.md +37 -12
  252. package/.claude/skills/cfn-transparency-middleware/SKILL.md +1 -1
  253. package/.claude/skills/cfn-utilities/SKILL.md +1 -1
  254. package/.claude/skills/cfn-validation-framework/SKILL.md +3 -60
  255. package/.claude/skills/cfn-vision-analysis/SKILL.md +3 -20
  256. package/.claude-flow/metrics/performance.json +3 -3
  257. package/.claude-flow/metrics/task-metrics.json +3 -3
  258. package/.ruvector/index_v2.db-shm +0 -0
  259. package/.ruvector/index_v2.db-wal +0 -0
  260. package/CLAUDE.md +9 -1
  261. package/README.md +56 -0
  262. package/docs/AGENT_PRODUCTION_FEEDBACK_PATTERNS.md +389 -0
  263. package/docs/CEREBRAS_TDD_COORDINATOR_TEST_RESULTS.md +213 -0
  264. package/docs/CEREBRAS_TDD_ROUND1_VS_ROUND2_COMPARISON.md +225 -0
  265. package/docs/CEREBRAS_TDD_ROUND3_FINAL_RESULTS.md +264 -0
  266. package/docs/EPIC_CREATOR_V2_ARCHITECTURE.md +629 -0
  267. package/docs/HOOKS_IMPLEMENTATION_PRIORITY.md +585 -0
  268. package/docs/SKILLS_HOOKS_INTEGRATION.md +1074 -0
  269. package/epic-with-personas-2025-12-09-17-15-13.json +253 -0
  270. package/index/index.bin +0 -0
  271. package/index/metadata.json +1 -0
  272. package/package.json +2 -1
  273. package/test-epic-creator-security.sh +203 -0
  274. package/.claude/skills/cfn-compilation-error-fixer/HANDOFF.md +0 -29
  275. package/.claude/skills/cfn-local-ruvector-accelerator/__pycache__/search_engine_v2.cpython-312.pyc +0 -0
  276. package/.claude/skills/cfn-local-ruvector-accelerator/search_engine.py +0 -200
  277. package/.ruvector/index.db-journal +0 -0
  278. package/jest.config.ts.cjs +0 -17
  279. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-cerebras-code-generator/SKILL.md +0 -0
  280. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-cerebras-code-generator/context-analyzer.sh +0 -0
  281. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-cerebras-code-generator/generate-code.sh +0 -0
  282. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/execute.sh +0 -0
  283. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/INTEGRATION.md +0 -0
  284. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/SAMPLE_OUTPUTS.md +0 -0
  285. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/SKILL.md +0 -0
  286. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/capture-container-logs.sh +0 -0
  287. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/enable-logging.sh +0 -0
  288. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/init-hybrid-logging.sh +0 -0
  289. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/queries/analytics-summary.sh +0 -0
  290. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/queries/query-agent-timeline.sh +0 -0
  291. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/queries/query-consensus-history.sh +0 -0
  292. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/queries/query-coordination-timeline.sh +0 -0
  293. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/queries/query-failed-containers.sh +0 -0
  294. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/queries/query-gate-checks.sh +0 -0
  295. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/schema.sql +0 -0
  296. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/sqlite-helpers.sh +0 -0
  297. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/test-hybrid-logging.sh +0 -0
  298. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/mcp/SKILL.md +0 -0
  299. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/mcp/skill-mcp-selector.js +0 -0
  300. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/orchestration/SKILL.md +0 -0
  301. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/orchestration/orchestrate.sh +0 -0
  302. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/spawning/SKILL.md +0 -0
  303. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/spawning/spawn-agent.sh +0 -0
  304. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/waves/SKILL.md +0 -0
  305. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/waves/cleanup-wave.sh +0 -0
  306. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/waves/lib/docker-helpers.sh +0 -0
  307. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/waves/monitor-wave.sh +0 -0
  308. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/waves/spawn-wave.sh +0 -0
  309. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-node-heap-sizer/SKILL.md +0 -0
  310. /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-node-heap-sizer/task-mode-heap-limiter.sh +0 -0
  311. /package/.claude/{skills → cfn-extras/skills/deprecated}/deprecated/analyze-patterns.sh +0 -0
  312. /package/.claude/{skills → cfn-extras/skills/deprecated}/equation-solver/README.md +0 -0
  313. /package/.claude/{skills → cfn-extras/skills/deprecated}/equation-solver/SECURITY.md +0 -0
  314. /package/.claude/{skills → cfn-extras/skills/deprecated}/equation-solver/SKILL.md +0 -0
  315. /package/.claude/{skills → cfn-extras/skills/deprecated}/equation-solver/package.json +0 -0
  316. /package/.claude/{skills → cfn-extras/skills/deprecated}/equation-solver/solve.sh +0 -0
  317. /package/.claude/{skills → cfn-extras/skills/deprecated}/equation-solver/test-equation-solver-minimal.sh +0 -0
  318. /package/.claude/{skills → cfn-extras/skills/deprecated}/equation-solver/test-equation-solver.sh +0 -0
  319. /package/.claude/{skills → cfn-extras/skills/deprecated}/equation-solver/test.cjs +0 -0
  320. /package/.claude/hooks/{cfn-credential-scanner.sh → deprecated/cfn-credential-scanner.sh} +0 -0
  321. /package/.claude/hooks/{cfn-detect-hardcoded-credentials.sh → deprecated/cfn-detect-hardcoded-credentials.sh} +0 -0
  322. /package/.claude/hooks/{cfn-invoke-post-edit-ts.sh → deprecated/cfn-invoke-post-edit-ts.sh} +0 -0
  323. /package/.claude/hooks/{cfn-invoke-pre-edit-ts.sh → deprecated/cfn-invoke-pre-edit-ts.sh} +0 -0
  324. /package/.claude/hooks/{cfn-invoke-security-validation.sh → deprecated/cfn-invoke-security-validation.sh} +0 -0
  325. /package/.claude/hooks/{cfn-lint-sql-injection.sh → deprecated/cfn-lint-sql-injection.sh} +0 -0
  326. /package/.claude/hooks/{cfn-post-edit.sh → deprecated/cfn-post-edit.sh} +0 -0
  327. /package/.claude/hooks/{cfn-pre-edit-backup.sh → deprecated/cfn-pre-edit-backup.sh} +0 -0
  328. /package/.claude/skills/cfn-local-ruvector-accelerator/{embeddings_manager.py → embeddings_manager.py.backup} +0 -0
  329. /package/{.ruvector → .claude/skills/cfn-local-ruvector-accelerator/index}/index.bin +0 -0
  330. /package/{.ruvector → .claude/skills/cfn-local-ruvector-accelerator/index}/metadata.json +0 -0
  331. /package/.claude/skills/cfn-local-ruvector-accelerator/{search_engine_v2.py → search_engine_v2.py.backup} +0 -0
  332. /package/.claude/skills/cfn-local-ruvector-accelerator/{sqlite_store.py → sqlite_store.py.backup} +0 -0
@@ -0,0 +1,253 @@
1
+ {
2
+ "epic": {
3
+ "id": "EPIC-329313",
4
+ "title": "Build a real-time analytics dashboard with user au",
5
+ "description": "Build a real-time analytics dashboard with user authentication, data visualization, and automated reporting capabilities\n",
6
+ "priority": "high",
7
+ "estimatedDuration": "TBD",
8
+ "budget": "TBD",
9
+ "status": "in-review",
10
+ "metadata": {
11
+ "createdAt": "2025-12-10T01:15:13.018Z",
12
+ "reviewMode": "standard",
13
+ "devopsEnforced": false
14
+ },
15
+ "personas": [
16
+ {
17
+ "name": "product-owner",
18
+ "reviewOrder": 1,
19
+ "status": "completed",
20
+ "insights": [
21
+ "User-centric approach identified in requirements",
22
+ "Clear value proposition needed for stakeholder alignment"
23
+ ],
24
+ "recommendations": [
25
+ {
26
+ "id": "PO-001",
27
+ "title": "Create detailed user story mapping",
28
+ "type": "blocking",
29
+ "priority": "critical",
30
+ "estimatedCost": "$5,000",
31
+ "description": "Map user journeys to ensure all features address real user needs"
32
+ },
33
+ {
34
+ "id": "PO-003",
35
+ "title": "Define success metrics and KPIs",
36
+ "type": "suggested",
37
+ "priority": "high",
38
+ "estimatedCost": "$3,000",
39
+ "description": "Establish measurable success criteria for the epic"
40
+ }
41
+ ],
42
+ "costAnalysis": {
43
+ "productPlanning": "$8,000",
44
+ "userResearch": "$5,000",
45
+ "stakeholderManagement": "$4,000"
46
+ }
47
+ },
48
+ {
49
+ "name": "architect",
50
+ "reviewOrder": 2,
51
+ "status": "completed",
52
+ "insights": [
53
+ "Architecture must balance complexity with maintainability"
54
+ ],
55
+ "recommendations": [
56
+ {
57
+ "id": "ARCH-001",
58
+ "title": "Design system architecture with clear component boundaries",
59
+ "type": "blocking",
60
+ "priority": "critical",
61
+ "estimatedCost": "$15,000",
62
+ "description": "Create detailed architecture diagrams and component specifications"
63
+ },
64
+ {
65
+ "id": "ARCH-002",
66
+ "title": "Define integration patterns and data flows",
67
+ "type": "suggested",
68
+ "priority": "high",
69
+ "estimatedCost": "$8,000",
70
+ "description": "Document how components will interact and share data"
71
+ },
72
+ {
73
+ "id": "ARCH-004",
74
+ "title": "Plan for future extensibility and evolution",
75
+ "type": "suggested",
76
+ "priority": "medium",
77
+ "estimatedCost": "$5,000",
78
+ "description": "Design for anticipated future requirements"
79
+ }
80
+ ],
81
+ "costAnalysis": {
82
+ "architectureDesign": "$20,000",
83
+ "technologySelection": "$10,000",
84
+ "documentation": "$5,000"
85
+ }
86
+ },
87
+ {
88
+ "name": "security-specialist",
89
+ "reviewOrder": 3,
90
+ "status": "completed",
91
+ "insights": [
92
+ "Authentication and authorization mechanisms are critical",
93
+ "Data protection and privacy must be addressed early",
94
+ "Security should be integrated throughout the development lifecycle"
95
+ ],
96
+ "recommendations": [
97
+ {
98
+ "id": "SEC-001",
99
+ "title": "Conduct threat modeling and security assessment",
100
+ "type": "blocking",
101
+ "priority": "critical",
102
+ "estimatedCost": "$12,000",
103
+ "description": "Identify potential security threats and mitigation strategies"
104
+ },
105
+ {
106
+ "id": "SEC-002",
107
+ "title": "Implement secure coding standards and reviews",
108
+ "type": "suggested",
109
+ "priority": "high",
110
+ "estimatedCost": "$8,000",
111
+ "description": "Establish security guidelines and review processes"
112
+ },
113
+ {
114
+ "id": "SEC-004",
115
+ "title": "Plan for incident response and monitoring",
116
+ "type": "suggested",
117
+ "priority": "medium",
118
+ "estimatedCost": "$6,000",
119
+ "description": "Prepare for security incident handling"
120
+ }
121
+ ],
122
+ "costAnalysis": {
123
+ "securityAssessment": "$15,000",
124
+ "implementation": "$10,000",
125
+ "testing": "$8,000"
126
+ }
127
+ },
128
+ {
129
+ "name": "performance-specialist",
130
+ "reviewOrder": 4,
131
+ "status": "completed",
132
+ "insights": [
133
+ "Performance requirements will be critical for user experience",
134
+ "Database performance and query optimization must be considered",
135
+ "Performance testing should start early and continue throughout"
136
+ ],
137
+ "recommendations": [
138
+ {
139
+ "id": "PERF-001",
140
+ "title": "Define performance requirements and success criteria",
141
+ "type": "blocking",
142
+ "priority": "critical",
143
+ "estimatedCost": "$8,000",
144
+ "description": "Establish measurable performance targets and SLAs"
145
+ },
146
+ {
147
+ "id": "PERF-002",
148
+ "title": "Implement performance monitoring and alerting",
149
+ "type": "suggested",
150
+ "priority": "high",
151
+ "estimatedCost": "$6,000",
152
+ "description": "Set up tools to track performance metrics in production"
153
+ },
154
+ {
155
+ "id": "PERF-004",
156
+ "title": "Create performance optimization plan",
157
+ "type": "suggested",
158
+ "priority": "medium",
159
+ "estimatedCost": "$5,000",
160
+ "description": "Identify and plan for performance improvements"
161
+ }
162
+ ],
163
+ "costAnalysis": {
164
+ "performanceTesting": "$10,000",
165
+ "monitoring": "$7,000",
166
+ "optimization": "$8,000"
167
+ }
168
+ },
169
+ {
170
+ "name": "accessibility-advocate",
171
+ "reviewOrder": 5,
172
+ "status": "completed",
173
+ "insights": [
174
+ "UI components must meet WCAG 2.1 AA standards",
175
+ "Accessibility benefits all users, not just those with disabilities"
176
+ ],
177
+ "recommendations": [
178
+ {
179
+ "id": "A11Y-001",
180
+ "title": "Ensure WCAG 2.1 AA compliance for all user interfaces",
181
+ "type": "blocking",
182
+ "priority": "critical",
183
+ "estimatedCost": "$10,000",
184
+ "description": "Make the application accessible to users with disabilities"
185
+ },
186
+ {
187
+ "id": "A11Y-002",
188
+ "title": "Conduct accessibility testing with assistive technologies",
189
+ "type": "suggested",
190
+ "priority": "high",
191
+ "estimatedCost": "$6,000",
192
+ "description": "Test with screen readers, keyboard navigation, and other tools"
193
+ },
194
+ {
195
+ "id": "A11Y-004",
196
+ "title": "Create accessibility documentation and guides",
197
+ "type": "suggested",
198
+ "priority": "medium",
199
+ "estimatedCost": "$4,000",
200
+ "description": "Document accessibility features and usage"
201
+ }
202
+ ],
203
+ "costAnalysis": {
204
+ "accessibilityImplementation": "$15,000",
205
+ "testing": "$5,000",
206
+ "training": "$3,000"
207
+ }
208
+ },
209
+ {
210
+ "name": "devops-engineer",
211
+ "reviewOrder": 6,
212
+ "status": "completed",
213
+ "insights": [
214
+ "Infrastructure as Code provides reproducibility and consistency"
215
+ ],
216
+ "recommendations": [
217
+ {
218
+ "id": "DEVOPS-001",
219
+ "title": "Set up CI/CD pipeline for automated builds and deployments",
220
+ "type": "suggested",
221
+ "priority": "high",
222
+ "estimatedCost": "$10,000",
223
+ "description": "Automate testing, building, and deployment processes"
224
+ },
225
+ {
226
+ "id": "DEVOPS-002",
227
+ "title": "Implement infrastructure monitoring and alerting",
228
+ "type": "suggested",
229
+ "priority": "high",
230
+ "estimatedCost": "$7,000",
231
+ "description": "Monitor application and infrastructure health"
232
+ },
233
+ {
234
+ "id": "DEVOPS-004",
235
+ "title": "Create runbooks and operational documentation",
236
+ "type": "suggested",
237
+ "priority": "medium",
238
+ "estimatedCost": "$5,000",
239
+ "description": "Document operational procedures and troubleshooting"
240
+ }
241
+ ],
242
+ "costAnalysis": {
243
+ "infrastructureSetup": "$15,000",
244
+ "automation": "$10,000",
245
+ "monitoring": "$8,000"
246
+ }
247
+ }
248
+ ],
249
+ "implementationRoadmap": [],
250
+ "totalCostBreakdown": {},
251
+ "riskAssessment": {}
252
+ }
253
+ }
Binary file
@@ -0,0 +1 @@
1
+ {}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-flow-novice",
3
- "version": "2.18.12",
3
+ "version": "2.18.14",
4
4
  "description": "Claude Flow Novice - Advanced orchestration platform for multi-agent AI workflows with CFN Loop architecture\n\nIncludes Local RuVector Accelerator and all CFN skills for complete functionality.",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -118,6 +118,7 @@
118
118
  "yaml": "^2.3.4"
119
119
  },
120
120
  "devDependencies": {
121
+ "@cerebras/cerebras_cloud_sdk": "^1.59.0",
121
122
  "@types/bcryptjs": "^2.4.6",
122
123
  "@types/compression": "^1.7.5",
123
124
  "@types/cors": "^2.8.17",
@@ -0,0 +1,203 @@
1
+ #!/bin/bash
2
+ set -euo pipefail
3
+
4
+ # Test script to validate epic-creator-v2 security fixes
5
+ # Tests command injection, path traversal, and input sanitization
6
+
7
+ # Color codes for output
8
+ readonly GREEN='\033[0;32m'
9
+ readonly RED='\033[0;31m'
10
+ readonly YELLOW='\033[1;33m'
11
+ readonly NC='\033[0m' # No Color
12
+
13
+ # Test counters
14
+ TESTS_RUN=0
15
+ TESTS_PASSED=0
16
+ TESTS_FAILED=0
17
+
18
+ # Logging functions
19
+ log_test() {
20
+ echo -e "${YELLOW}[TEST]${NC} $1"
21
+ }
22
+
23
+ log_pass() {
24
+ echo -e "${GREEN}[PASS]${NC} $1"
25
+ ((TESTS_PASSED++))
26
+ }
27
+
28
+ log_fail() {
29
+ echo -e "${RED}[FAIL]${NC} $1"
30
+ ((TESTS_FAILED++))
31
+ }
32
+
33
+ # Run a test case
34
+ run_test() {
35
+ ((TESTS_RUN++))
36
+ log_test "Running: $1"
37
+
38
+ if eval "$2"; then
39
+ log_pass "Test passed: $1"
40
+ else
41
+ log_fail "Test failed: $1"
42
+ fi
43
+ echo
44
+ }
45
+
46
+ # Test command injection protection
47
+ test_command_injection() {
48
+ echo "=== Testing Command Injection Protection ==="
49
+
50
+ # Test 1: Command substitution attempt
51
+ run_test "Command substitution \$(whoami)" \
52
+ '!. ./.claude/skills/cfn-epic-creator/security-utils.sh \
53
+ && ! sanitize_string "test\$(whoami)" 2>/dev/null'
54
+
55
+ # Test 2: Backtick command substitution
56
+ run_test "Backtick command substitution \`whoami\`" \
57
+ '!. ./.claude/skills/cfn-epic-creator/security-utils.sh \
58
+ && ! sanitize_string "test\`whoami\`" 2>/dev/null'
59
+
60
+ # Test 3: Pipe character
61
+ run_test "Pipe character injection" \
62
+ '!. ./.claude/skills/cfn-epic-creator/security-utils.sh \
63
+ && ! sanitize_string "test | ls" 2>/dev/null'
64
+
65
+ # Test 4: Command chaining
66
+ run_test "Command chaining &&" \
67
+ '!. ./.claude/skills/cfn-epic-creator/security-utils.sh \
68
+ && ! sanitize_string "test && rm -rf" 2>/dev/null'
69
+
70
+ # Test 5: Command chaining ||"
71
+ run_test "Command chaining ||" \
72
+ '!. ./.claude/skills/cfn-epic-creator/security-utils.sh \
73
+ && ! sanitize_string "test || rm -rf" 2>/dev/null'
74
+
75
+ # Test 6: Semicolon
76
+ run_test "Semicolon separator" \
77
+ '!. ./.claude/skills/cfn-epic-creator/security-utils.sh \
78
+ && ! sanitize_string "test; rm -rf" 2>/dev/null'
79
+
80
+ # Test 7: Output redirection
81
+ run_test "Output redirection >" \
82
+ '!. ./.claude/skills/cfn-epic-creator/security-utils.sh \
83
+ && ! sanitize_string "test > /etc/passwd" 2>/dev/null'
84
+ }
85
+
86
+ # Test path traversal protection
87
+ test_path_traversal() {
88
+ echo "=== Testing Path Traversal Protection ==="
89
+
90
+ # Test 1: Directory traversal
91
+ run_test "Directory traversal ../etc/passwd" \
92
+ '!. ./.claude/skills/cfn-epic-creator/security-utils.sh \
93
+ && ! validate_path "../../../etc/passwd" 2>/dev/null'
94
+
95
+ # Test 2: Absolute path outside
96
+ run_test "Absolute path outside /etc/passwd" \
97
+ '!. ./.claude/skills/cfn-epic-creator/security-utils.sh \
98
+ && ! validate_path "/etc/passwd" 2>/dev/null'
99
+
100
+ # Test 3: Home directory
101
+ run_test "Home directory ~/" \
102
+ '!. ./.claude/skills/cfn-epic-creator/security-utils.sh \
103
+ && ! validate_path "~/.ssh/id_rsa" 2>/dev/null'
104
+
105
+ # Test 4: Valid relative path
106
+ run_test "Valid relative path" \
107
+ '. ./.claude/skills/cfn-epic-creator/security-utils.sh \
108
+ && validate_path "./output.json" 2>/dev/null'
109
+ }
110
+
111
+ # Test input validation
112
+ test_input_validation() {
113
+ echo "=== Testing Input Validation ==="
114
+
115
+ # Test 1: Empty input
116
+ run_test "Empty epic description" \
117
+ '!. ./.claude/skills/cfn-epic-creator/security-utils.sh \
118
+ && ! validate_epic_description "" 2>/dev/null'
119
+
120
+ # Test 2: Too short input
121
+ run_test "Too short epic description" \
122
+ '!. ./.claude/skills/cfn-epic-creator/security-utils.sh \
123
+ && ! validate_epic_description "ab" 2>/dev/null'
124
+
125
+ # Test 3: Valid input
126
+ run_test "Valid epic description" \
127
+ '. ./.claude/skills/cfn-epic-creator/security-utils.sh \
128
+ && validate_epic_description "This is a valid epic description" 2>/dev/null'
129
+
130
+ # Test 4: Input exceeding max length
131
+ run_test "Input exceeding max length" \
132
+ '!. ./.claude/skills/cfn-epic-creator/security-utils.sh \
133
+ && ! sanitize_string "$(printf "a%.0s" {1..10001})" 2>/dev/null'
134
+ }
135
+
136
+ # Test secure temp file creation
137
+ test_temp_file_creation() {
138
+ echo "=== Testing Secure Temp File Creation ==="
139
+
140
+ # Test 1: Create secure temp file
141
+ run_test "Create secure temp file" \
142
+ '. ./.claude/skills/cfn-epic-creator/security-utils.sh \
143
+ && temp_file=$(create_secure_temp "test" "tmp") \
144
+ && [[ -f "$temp_file" ]] \
145
+ && [[ "$(stat -c %a "$temp_file" 2>/dev/null || stat -f%A "$temp_file" 2>/dev/null)" == "600" ]] \
146
+ && rm -f "$temp_file"'
147
+ }
148
+
149
+ # Test epic creator with malicious inputs
150
+ test_epic_creator_malicious() {
151
+ echo "=== Testing Epic Creator with Malicious Inputs ==="
152
+
153
+ # Test 1: Command injection in description
154
+ run_test "Epic creator with command injection" \
155
+ '! ./.claude/agents/cfn-dev-team/utility/epic-creator-v2.sh \
156
+ "test\$(whoami) injection" --mode=mvp >/dev/null 2>&1'
157
+
158
+ # Test 2: Path traversal in output
159
+ run_test "Epic creator with path traversal output" \
160
+ '! ./.claude/agents/cfn-dev-team/utility/epic-creator-v2.sh \
161
+ "test epic" --output="../../../etc/passwd" >/dev/null 2>&1'
162
+
163
+ # Test 3: Valid epic creation
164
+ run_test "Valid epic creation" \
165
+ 'temp_out=$(mktemp) \
166
+ && ./.claude/agents/cfn-dev-team/utility/epic-creator-v2.sh \
167
+ "Test epic for validation" --output="$temp_out" >/dev/null 2>&1 \
168
+ && [[ -f "$temp_out" ]] \
169
+ && jq . "$temp_out" >/dev/null 2>&1 \
170
+ && rm -f "$temp_out"'
171
+ }
172
+
173
+ # Main execution
174
+ main() {
175
+ echo "Starting Epic Creator v2 Security Validation Tests"
176
+ echo "=============================================="
177
+ echo
178
+
179
+ # Run all test suites
180
+ test_command_injection
181
+ test_path_traversal
182
+ test_input_validation
183
+ test_temp_file_creation
184
+ test_epic_creator_malicious
185
+
186
+ # Summary
187
+ echo "=============================================="
188
+ echo "Test Summary:"
189
+ echo " Total tests run: $TESTS_RUN"
190
+ echo -e " Passed: ${GREEN}$TESTS_PASSED${NC}"
191
+ echo -e " Failed: ${RED}$TESTS_FAILED${NC}"
192
+
193
+ if [[ $TESTS_FAILED -eq 0 ]]; then
194
+ echo -e "\n${GREEN}✅ All security tests passed!${NC}"
195
+ exit 0
196
+ else
197
+ echo -e "\n${RED}❌ Some security tests failed!${NC}"
198
+ exit 1
199
+ fi
200
+ }
201
+
202
+ # Run main function
203
+ main "$@"
@@ -1,29 +0,0 @@
1
- ┌─────────────────┐
2
- │ cargo check │ → Parse Rust errors
3
- └────────┬────────┘
4
-
5
- ┌─────────────────┐
6
- │ Cerebras LLM │ → Generate fix
7
- └────────┬────────┘
8
-
9
- ┌─────────────────────────────────────────┐
10
- │ LAYER 1: Structural Gates │
11
- │ A: Line Count Delta G: Import Path │
12
- │ B: Function Signature H: Pattern Dup │
13
- │ C: Import Duplicates I: Impl Loc │
14
- │ D: Brace Balance J: Type Cast │
15
- │ E: Semantic Diff K: Match Arm │
16
- │ F: Orphaned Code L: Regression │
17
- └────────┬────────────────────────────────┘
18
-
19
- ┌─────────────────┐
20
- │ LAYER 2: Clippy│
21
- └────────┬────────┘
22
-
23
- ┌─────────────────┐
24
- │ LAYER 3: Review │
25
- └────────┬────────┘
26
-
27
- ┌─────────────────┐
28
- │ Write to file │
29
- └─────────────────┘