claude-flow-novice 2.18.13 → 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.
- package/.backups/unknown/1765417503_2999b9ec66f591dd76075617ec31fcea/metadata.json +8 -0
- package/.backups/unknown/1765417503_2999b9ec66f591dd76075617ec31fcea/original +3 -0
- package/.backups/unknown/1765417503_2999b9ec66f591dd76075617ec31fcea/revert.sh +7 -0
- package/.backups/unknown/1765417531_2999b9ec66f591dd76075617ec31fcea/metadata.json +8 -0
- package/.backups/unknown/1765417531_2999b9ec66f591dd76075617ec31fcea/original +3 -0
- package/.backups/unknown/1765417531_2999b9ec66f591dd76075617ec31fcea/revert.sh +7 -0
- package/.backups/unknown/1765417552_2999b9ec66f591dd76075617ec31fcea/metadata.json +8 -0
- package/.backups/unknown/1765417552_2999b9ec66f591dd76075617ec31fcea/original +3 -0
- package/.backups/unknown/1765417552_2999b9ec66f591dd76075617ec31fcea/revert.sh +7 -0
- package/.backups/unknown/1765417613_1f34dbf0fe1ec3b6cb74ba7c4e12a2a4/metadata.json +8 -0
- package/.backups/unknown/1765417613_1f34dbf0fe1ec3b6cb74ba7c4e12a2a4/original +1212 -0
- package/.backups/unknown/1765417613_1f34dbf0fe1ec3b6cb74ba7c4e12a2a4/revert.sh +7 -0
- package/.backups/unknown/1765417613_332e9bb223a26270398922640c1c1653/metadata.json +8 -0
- package/.backups/unknown/1765417613_332e9bb223a26270398922640c1c1653/original +1212 -0
- package/.backups/unknown/1765417613_332e9bb223a26270398922640c1c1653/revert.sh +7 -0
- package/.backups/unknown/1765417613_45880a7afef063347b701e7e88e2df9c/metadata.json +8 -0
- package/.backups/unknown/1765417613_45880a7afef063347b701e7e88e2df9c/original +1212 -0
- package/.backups/unknown/1765417613_45880a7afef063347b701e7e88e2df9c/revert.sh +7 -0
- package/.backups/unknown/1765417614_1b6c3b658c2891dbe245aea4bad41661/metadata.json +8 -0
- package/.backups/unknown/1765417614_1b6c3b658c2891dbe245aea4bad41661/original +1228 -0
- package/.backups/unknown/1765417614_1b6c3b658c2891dbe245aea4bad41661/revert.sh +7 -0
- package/.backups/unknown/1765417614_1ed5bd129f0b5d1b297a04ec5267ef62/metadata.json +8 -0
- package/.backups/unknown/1765417614_1ed5bd129f0b5d1b297a04ec5267ef62/original +1237 -0
- package/.backups/unknown/1765417614_1ed5bd129f0b5d1b297a04ec5267ef62/revert.sh +7 -0
- package/.backups/unknown/1765417614_28e032bd1b62dbfcecbd56327a0b0e23/metadata.json +8 -0
- package/.backups/unknown/1765417614_28e032bd1b62dbfcecbd56327a0b0e23/original +1240 -0
- package/.backups/unknown/1765417614_28e032bd1b62dbfcecbd56327a0b0e23/revert.sh +7 -0
- package/.backups/unknown/1765417614_40a1ce1b0efa2e1ba1958c27b2cbc557/metadata.json +8 -0
- package/.backups/unknown/1765417614_40a1ce1b0efa2e1ba1958c27b2cbc557/original +1216 -0
- package/.backups/unknown/1765417614_40a1ce1b0efa2e1ba1958c27b2cbc557/revert.sh +7 -0
- package/.backups/unknown/1765417614_f65dbf58cff7a9aa1c5c3d0d1618074a/metadata.json +8 -0
- package/.backups/unknown/1765417614_f65dbf58cff7a9aa1c5c3d0d1618074a/original +1238 -0
- package/.backups/unknown/1765417614_f65dbf58cff7a9aa1c5c3d0d1618074a/revert.sh +7 -0
- package/.backups/unknown/1765417615_0f45c28b9b8d5204974421c06075ff74/metadata.json +8 -0
- package/.backups/unknown/1765417615_0f45c28b9b8d5204974421c06075ff74/original +1167 -0
- package/.backups/unknown/1765417615_0f45c28b9b8d5204974421c06075ff74/revert.sh +7 -0
- package/.backups/unknown/1765417615_41d36156891ddb6f63d1b4da59d1db4c/metadata.json +8 -0
- package/.backups/unknown/1765417615_41d36156891ddb6f63d1b4da59d1db4c/original +1242 -0
- package/.backups/unknown/1765417615_41d36156891ddb6f63d1b4da59d1db4c/revert.sh +7 -0
- package/.backups/unknown/1765417709_77dda8631459cfc2ab94b8928f7d90b4/metadata.json +8 -0
- package/.backups/unknown/1765417709_77dda8631459cfc2ab94b8928f7d90b4/original +2 -0
- package/.backups/unknown/1765417709_77dda8631459cfc2ab94b8928f7d90b4/revert.sh +7 -0
- package/.backups/unknown/1765417775_1405837bacf112ba832a139840fe94e7/metadata.json +8 -0
- package/.backups/unknown/1765417775_1405837bacf112ba832a139840fe94e7/original +1169 -0
- package/.backups/unknown/1765417775_1405837bacf112ba832a139840fe94e7/revert.sh +7 -0
- package/.backups/unknown/1765417775_8044b4a5cfdcb5cd71317831ad53f5a2/metadata.json +8 -0
- package/.backups/unknown/1765417775_8044b4a5cfdcb5cd71317831ad53f5a2/original +1171 -0
- package/.backups/unknown/1765417775_8044b4a5cfdcb5cd71317831ad53f5a2/revert.sh +7 -0
- package/.backups/unknown/1765417775_8eb94d60151e1db262377fbf8a187212/metadata.json +8 -0
- package/.backups/unknown/1765417775_8eb94d60151e1db262377fbf8a187212/original +1170 -0
- package/.backups/unknown/1765417775_8eb94d60151e1db262377fbf8a187212/revert.sh +7 -0
- package/.backups/unknown/1765417776_a0d4b709e15e0bfa002c4b128f5e4603/metadata.json +8 -0
- package/.backups/unknown/1765417776_a0d4b709e15e0bfa002c4b128f5e4603/original +1173 -0
- package/.backups/unknown/1765417776_a0d4b709e15e0bfa002c4b128f5e4603/revert.sh +7 -0
- package/.backups/unknown/1765417776_cb1bc24d98b63564eb73ef782b8c68b3/metadata.json +8 -0
- package/.backups/unknown/1765417776_cb1bc24d98b63564eb73ef782b8c68b3/original +1170 -0
- package/.backups/unknown/1765417776_cb1bc24d98b63564eb73ef782b8c68b3/revert.sh +7 -0
- package/.backups/unknown/1765417777_1c4cc8c33f476f0c87c8efd4e34efc22/metadata.json +8 -0
- package/.backups/unknown/1765417777_1c4cc8c33f476f0c87c8efd4e34efc22/original +1172 -0
- package/.backups/unknown/1765417777_1c4cc8c33f476f0c87c8efd4e34efc22/revert.sh +7 -0
- package/.backups/unknown/1765417777_325de83ffd34544909b8b9aa6e18dd05/metadata.json +8 -0
- package/.backups/unknown/1765417777_325de83ffd34544909b8b9aa6e18dd05/original +1175 -0
- package/.backups/unknown/1765417777_325de83ffd34544909b8b9aa6e18dd05/revert.sh +7 -0
- package/.backups/unknown/1765417950_402e7c1a8956b56ac7b88e89f024acb4/metadata.json +8 -0
- package/.backups/unknown/1765417950_402e7c1a8956b56ac7b88e89f024acb4/original +1178 -0
- package/.backups/unknown/1765417950_402e7c1a8956b56ac7b88e89f024acb4/revert.sh +7 -0
- package/.backups/unknown/1765417950_647e27e4da18ae42c339e04b4d334feb/metadata.json +8 -0
- package/.backups/unknown/1765417950_647e27e4da18ae42c339e04b4d334feb/original +1174 -0
- package/.backups/unknown/1765417950_647e27e4da18ae42c339e04b4d334feb/revert.sh +7 -0
- package/.backups/unknown/1765417951_1424d2dd67b8c8a4e7cf649b379d21f2/metadata.json +8 -0
- package/.backups/unknown/1765417951_1424d2dd67b8c8a4e7cf649b379d21f2/original +1194 -0
- package/.backups/unknown/1765417951_1424d2dd67b8c8a4e7cf649b379d21f2/revert.sh +7 -0
- package/.backups/unknown/1765417951_6df070ca287ea94a7f08efc69ec9ea51/metadata.json +8 -0
- package/.backups/unknown/1765417951_6df070ca287ea94a7f08efc69ec9ea51/original +1186 -0
- package/.backups/unknown/1765417951_6df070ca287ea94a7f08efc69ec9ea51/revert.sh +7 -0
- package/.backups/unknown/1765417951_848919a1365f6536e5ef8d85d0c80fa7/metadata.json +8 -0
- package/.backups/unknown/1765417951_848919a1365f6536e5ef8d85d0c80fa7/original +1180 -0
- package/.backups/unknown/1765417951_848919a1365f6536e5ef8d85d0c80fa7/revert.sh +7 -0
- package/.backups/unknown/1765417951_b0d1d4ecf85ad10cda0f3900d414b608/metadata.json +8 -0
- package/.backups/unknown/1765417951_b0d1d4ecf85ad10cda0f3900d414b608/original +1198 -0
- package/.backups/unknown/1765417951_b0d1d4ecf85ad10cda0f3900d414b608/revert.sh +7 -0
- package/.backups/unknown/1765417952_2b720e213b5197cbaad53f9f0857f23f/metadata.json +8 -0
- package/.backups/unknown/1765417952_2b720e213b5197cbaad53f9f0857f23f/original +1202 -0
- package/.backups/unknown/1765417952_2b720e213b5197cbaad53f9f0857f23f/revert.sh +7 -0
- package/.backups/unknown/1765417952_ef1d15e8b83a802a0c0f0fc03e56a89c/metadata.json +8 -0
- package/.backups/unknown/1765417952_ef1d15e8b83a802a0c0f0fc03e56a89c/original +1202 -0
- package/.backups/unknown/1765417952_ef1d15e8b83a802a0c0f0fc03e56a89c/revert.sh +7 -0
- package/.backups/unknown/1765418048_ac94238a69a6f86a6ba9d31f623c18a7/metadata.json +8 -0
- package/.backups/unknown/1765418048_ac94238a69a6f86a6ba9d31f623c18a7/original +1209 -0
- package/.backups/unknown/1765418048_ac94238a69a6f86a6ba9d31f623c18a7/revert.sh +7 -0
- package/.backups/unknown/1765418048_f3afed98da63fef9ff57fb5646976f63/metadata.json +8 -0
- package/.backups/unknown/1765418048_f3afed98da63fef9ff57fb5646976f63/original +1207 -0
- package/.backups/unknown/1765418048_f3afed98da63fef9ff57fb5646976f63/revert.sh +7 -0
- package/.backups/unknown/1765418049_9c392702a4e1cace37d17f6f2dfaf54e/metadata.json +8 -0
- package/.backups/unknown/1765418049_9c392702a4e1cace37d17f6f2dfaf54e/original +1207 -0
- package/.backups/unknown/1765418049_9c392702a4e1cace37d17f6f2dfaf54e/revert.sh +7 -0
- package/.backups/unknown/1765418049_9e0777555b51dea4d24d0503b584cfc5/metadata.json +8 -0
- package/.backups/unknown/1765418049_9e0777555b51dea4d24d0503b584cfc5/original +1193 -0
- package/.backups/unknown/1765418049_9e0777555b51dea4d24d0503b584cfc5/revert.sh +7 -0
- package/.backups/unknown/1765418050_22d534bed68f9f5d883bee54e7cbc4d3/metadata.json +8 -0
- package/.backups/unknown/1765418050_22d534bed68f9f5d883bee54e7cbc4d3/original +1194 -0
- package/.backups/unknown/1765418050_22d534bed68f9f5d883bee54e7cbc4d3/revert.sh +7 -0
- package/.backups/unknown/1765418051_d9243722dc90dabc851c5767a62ac7f2/metadata.json +8 -0
- package/.backups/unknown/1765418051_d9243722dc90dabc851c5767a62ac7f2/original +1193 -0
- package/.backups/unknown/1765418051_d9243722dc90dabc851c5767a62ac7f2/revert.sh +7 -0
- package/.backups/unknown/1765418177_21a2fa816d25d419b54ef2d429aab474/metadata.json +8 -0
- package/.backups/unknown/1765418177_21a2fa816d25d419b54ef2d429aab474/original +1191 -0
- package/.backups/unknown/1765418177_21a2fa816d25d419b54ef2d429aab474/revert.sh +7 -0
- package/.backups/unknown/1765418177_33b673dce1eb59d7eb4f752aec882794/metadata.json +8 -0
- package/.backups/unknown/1765418177_33b673dce1eb59d7eb4f752aec882794/original +1190 -0
- package/.backups/unknown/1765418177_33b673dce1eb59d7eb4f752aec882794/revert.sh +7 -0
- package/.backups/unknown/1765418177_72568812ea5a73cf6861a6b14da065fa/metadata.json +8 -0
- package/.backups/unknown/1765418177_72568812ea5a73cf6861a6b14da065fa/original +1191 -0
- package/.backups/unknown/1765418177_72568812ea5a73cf6861a6b14da065fa/revert.sh +7 -0
- package/.backups/unknown/1765418178_20c28b95f12194fe4b81cfb35f4f3757/metadata.json +8 -0
- package/.backups/unknown/1765418178_20c28b95f12194fe4b81cfb35f4f3757/original +1189 -0
- package/.backups/unknown/1765418178_20c28b95f12194fe4b81cfb35f4f3757/revert.sh +7 -0
- package/.backups/unknown/1765418178_cdf68719cc09173769027743e2718ad4/metadata.json +8 -0
- package/.backups/unknown/1765418178_cdf68719cc09173769027743e2718ad4/original +1197 -0
- package/.backups/unknown/1765418178_cdf68719cc09173769027743e2718ad4/revert.sh +7 -0
- package/.backups/unknown/1765418178_eb19e0f8542405480e51af09fad84b71/metadata.json +8 -0
- package/.backups/unknown/1765418178_eb19e0f8542405480e51af09fad84b71/original +1190 -0
- package/.backups/unknown/1765418178_eb19e0f8542405480e51af09fad84b71/revert.sh +7 -0
- package/.backups/unknown/1765418236_c016507725847318a3c369b047cbb802/metadata.json +8 -0
- package/.backups/unknown/1765418236_c016507725847318a3c369b047cbb802/original +1197 -0
- package/.backups/unknown/1765418236_c016507725847318a3c369b047cbb802/revert.sh +7 -0
- package/.backups/unknown/1765418237_932c3cc3a5c537b7933c2370b65f4b39/metadata.json +8 -0
- package/.backups/unknown/1765418237_932c3cc3a5c537b7933c2370b65f4b39/original +1197 -0
- package/.backups/unknown/1765418237_932c3cc3a5c537b7933c2370b65f4b39/revert.sh +7 -0
- package/.claude/agents/cfn-dev-team/utility/epic-creator-v2.md +194 -2
- package/.claude/agents/cfn-dev-team/utility/epic-creator-v2.sh +264 -0
- package/.claude/agents/cfn-dev-team/utility/epic-creator-v2.sh.backup +698 -0
- package/.claude/hooks/README.md +148 -0
- package/.claude/hooks/SessionStart:cfn-load-openai-key.sh +35 -0
- package/.claude/hooks/cfn-invoke-pre-edit.sh +1 -1
- package/.claude/hooks/cfn-load-cerebras-env.sh +65 -0
- package/.claude/hooks/cfn-precompact-enhanced.sh +283 -0
- package/.claude/hooks/deprecated/README.md +27 -0
- package/.claude/settings.json +71 -6
- package/.claude/skills/cfn-cerebras-coordinator/QUICKSTART.md +348 -0
- package/.claude/skills/cfn-cerebras-coordinator/README.md +525 -0
- package/.claude/skills/cfn-cerebras-coordinator/TDD_COORDINATOR_OVERVIEW.md +284 -0
- package/.claude/skills/cfn-cerebras-coordinator/conversations/2025-12-10-py-v2-test-1733854200.json +36 -0
- package/.claude/skills/cfn-cerebras-coordinator/conversations/2025-12-10-py-v3-test-1765383241.json +36 -0
- package/.claude/skills/cfn-cerebras-coordinator/conversations/2025-12-10-rust-v2-test-1765381361.json +36 -0
- package/.claude/skills/cfn-cerebras-coordinator/conversations/2025-12-10-rust-v3-test-1765383242.json +46 -0
- package/.claude/skills/cfn-cerebras-coordinator/conversations/2025-12-10-ts-v2-test-1733864400.json +66 -0
- package/.claude/skills/cfn-cerebras-coordinator/conversations/2025-12-10-ts-v3-test-1765383238.json +66 -0
- package/.claude/skills/cfn-cerebras-coordinator/conversations/2025-12-10-ts-v4-test-1765386506.json +66 -0
- package/.claude/skills/cfn-cerebras-coordinator/conversations/2025-12-10-ts-v5-test-1765393100.json +66 -0
- package/.claude/skills/cfn-cerebras-coordinator/example-usage.sh +206 -0
- package/.claude/skills/cfn-cerebras-coordinator/lib/tdd-conversation-coordinator.ts +569 -0
- package/.claude/skills/cfn-cerebras-coordinator/test-tdd-coordinator.sh +250 -0
- package/.claude/skills/cfn-epic-creator/SKILL.md +392 -0
- package/.claude/skills/cfn-epic-creator/estimate-costs.sh +524 -0
- package/.claude/skills/cfn-epic-creator/invoke.sh +445 -0
- package/.claude/skills/cfn-epic-creator/parse-personas.sh +533 -0
- package/.claude/skills/cfn-epic-creator/security-utils.sh +268 -0
- package/.claude/skills/cfn-epic-creator/security-verification-demo.sh +127 -0
- package/.claude/skills/cfn-epic-creator/test-invoke.sh +620 -0
- package/.claude/skills/cfn-epic-creator/test-security-fixes.sh +195 -0
- package/.claude/skills/cfn-epic-creator/test-security-simple.sh +165 -0
- package/.claude/skills/cfn-epic-creator/validate-epic.sh +474 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/.backups/unknown/1765358428_2cf0ad7377232c919ff0a65630cb307d/metadata.json +8 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/.backups/unknown/1765358428_2cf0ad7377232c919ff0a65630cb307d/original +209 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/.backups/unknown/1765358428_2cf0ad7377232c919ff0a65630cb307d/revert.sh +7 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/AGENT_INTEGRATION_PATTERNS.md +255 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/Cargo.toml +8 -1
- package/.claude/skills/cfn-local-ruvector-accelerator/Cargo.toml.backup +47 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/EXTRACTION_EXAMPLES.md +287 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/README.md +2 -563
- package/.claude/skills/cfn-local-ruvector-accelerator/SCHEMA_V2_IMPLEMENTATION.md +151 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/SECURITY_IMPLEMENTATION.md +185 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/SKILL.md +8 -351
- package/.claude/skills/cfn-local-ruvector-accelerator/docs/EXECUTIVE_SUMMARY.txt +90 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/docs/PHASE_4_QUERY_API.md +210 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/docs/RUST_AST_EXTRACTOR_IMPLEMENTATION.md +222 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/docs/TRANSACTION_MANAGEMENT.md +241 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/docs/VALIDATION_FINDINGS.txt +250 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/epic-ast-indexer.json +335 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/index-code.sh +292 -96
- package/.claude/skills/cfn-local-ruvector-accelerator/index-code.sh.backup +249 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/index_all.sh +65 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/find.rs +214 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/index.rs +259 -103
- package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/index_ast.rs +767 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/index_modified.rs +37 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/init.rs +17 -12
- package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/migration.rs +34 -1
- package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/mod.rs +6 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/cli/refs.rs +209 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/embeddings.rs +82 -33
- package/.claude/skills/cfn-local-ruvector-accelerator/src/extractors/mod.rs +251 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/extractors/rust.rs +425 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/extractors/rust_placeholder.rs +420 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/extractors/text_fallback.rs +490 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/extractors/typescript.rs +520 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/extractors/typescript_full.rs +531 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/lib.rs +20 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/main.rs +33 -2
- package/.claude/skills/cfn-local-ruvector-accelerator/src/main.rs.backup +360 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/migration.rs +325 -318
- package/.claude/skills/cfn-local-ruvector-accelerator/src/migration_backup.rs +325 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/migration_tx.rs +513 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/paths.rs +29 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/query_api.rs +609 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/schema_v2.rs +603 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/security_tests.rs +154 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/store_v2.rs +583 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/store_v2_backup.rs +560 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/store_v2_fixed.rs +0 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/store_v2_tx.rs +397 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/test_schema.rs +228 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/transaction_tests.rs +410 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/test_ast_indexing.rs +59 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/test_query_api.sh +103 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/test_schema.sql +158 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/test_schema_v2.sql +147 -0
- package/.claude/skills/cfn-mdap-context-injection/SKILL.md +31 -10
- package/.claude/skills/cfn-mdap-error-fixer/skill.md +15 -205
- package/.claude/skills/cfn-session-handoff/SKILL.md +1 -53
- package/.claude/skills/cfn-task-decomposition/SKILL.md +1 -0
- package/.claude/skills/cfn-task-intelligence/SKILL.md +39 -18
- package/.claude/skills/cfn-task-planning/SKILL.md +37 -12
- package/.claude/skills/cfn-validation-framework/SKILL.md +3 -60
- package/.claude/skills/cfn-vision-analysis/SKILL.md +3 -20
- package/.claude-flow/metrics/performance.json +3 -3
- package/.claude-flow/metrics/task-metrics.json +3 -3
- package/.ruvector/index_v2.db-shm +0 -0
- package/.ruvector/index_v2.db-wal +0 -0
- package/CLAUDE.md +9 -1
- package/README.md +56 -0
- package/docs/AGENT_PRODUCTION_FEEDBACK_PATTERNS.md +389 -0
- package/docs/CEREBRAS_TDD_COORDINATOR_TEST_RESULTS.md +213 -0
- package/docs/CEREBRAS_TDD_ROUND1_VS_ROUND2_COMPARISON.md +225 -0
- package/docs/CEREBRAS_TDD_ROUND3_FINAL_RESULTS.md +264 -0
- package/docs/EPIC_CREATOR_V2_ARCHITECTURE.md +629 -0
- package/docs/HOOKS_IMPLEMENTATION_PRIORITY.md +585 -0
- package/docs/SKILLS_HOOKS_INTEGRATION.md +1074 -0
- package/epic-with-personas-2025-12-09-17-15-13.json +253 -0
- package/package.json +2 -1
- package/test-epic-creator-security.sh +203 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/__pycache__/search_engine_v2.cpython-312.pyc +0 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/search_engine.py +0 -200
- package/jest.config.ts.cjs +0 -17
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-cerebras-code-generator/SKILL.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-cerebras-code-generator/context-analyzer.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-cerebras-code-generator/generate-code.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/SKILL.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/execute.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/INTEGRATION.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/SAMPLE_OUTPUTS.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/SKILL.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/capture-container-logs.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/enable-logging.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/init-hybrid-logging.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/queries/analytics-summary.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/queries/query-agent-timeline.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/queries/query-consensus-history.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/queries/query-coordination-timeline.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/queries/query-failed-containers.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/queries/query-gate-checks.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/schema.sql +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/sqlite-helpers.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/logging/test-hybrid-logging.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/mcp/SKILL.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/mcp/skill-mcp-selector.js +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/orchestration/SKILL.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/orchestration/orchestrate.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/spawning/SKILL.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/spawning/spawn-agent.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/waves/SKILL.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/waves/cleanup-wave.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/waves/lib/docker-helpers.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/waves/monitor-wave.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/lib/waves/spawn-wave.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-node-heap-sizer/SKILL.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-node-heap-sizer/task-mode-heap-limiter.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/deprecated/analyze-patterns.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/equation-solver/README.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/equation-solver/SECURITY.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/equation-solver/SKILL.md +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/equation-solver/package.json +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/equation-solver/solve.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/equation-solver/test-equation-solver-minimal.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/equation-solver/test-equation-solver.sh +0 -0
- /package/.claude/{skills → cfn-extras/skills/deprecated}/equation-solver/test.cjs +0 -0
- /package/.claude/hooks/{cfn-credential-scanner.sh → deprecated/cfn-credential-scanner.sh} +0 -0
- /package/.claude/hooks/{cfn-detect-hardcoded-credentials.sh → deprecated/cfn-detect-hardcoded-credentials.sh} +0 -0
- /package/.claude/hooks/{cfn-invoke-post-edit-ts.sh → deprecated/cfn-invoke-post-edit-ts.sh} +0 -0
- /package/.claude/hooks/{cfn-invoke-pre-edit-ts.sh → deprecated/cfn-invoke-pre-edit-ts.sh} +0 -0
- /package/.claude/hooks/{cfn-invoke-security-validation.sh → deprecated/cfn-invoke-security-validation.sh} +0 -0
- /package/.claude/hooks/{cfn-lint-sql-injection.sh → deprecated/cfn-lint-sql-injection.sh} +0 -0
- /package/.claude/hooks/{cfn-post-edit.sh → deprecated/cfn-post-edit.sh} +0 -0
- /package/.claude/hooks/{cfn-pre-edit-backup.sh → deprecated/cfn-pre-edit-backup.sh} +0 -0
- /package/.claude/skills/cfn-local-ruvector-accelerator/{embeddings_manager.py → embeddings_manager.py.backup} +0 -0
- /package/{.ruvector → .claude/skills/cfn-local-ruvector-accelerator/index}/index.bin +0 -0
- /package/{.ruvector → .claude/skills/cfn-local-ruvector-accelerator/index}/metadata.json +0 -0
- /package/.claude/skills/cfn-local-ruvector-accelerator/{search_engine_v2.py → search_engine_v2.py.backup} +0 -0
- /package/.claude/skills/cfn-local-ruvector-accelerator/{sqlite_store.py → sqlite_store.py.backup} +0 -0
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
VALIDATION FINDINGS - AST-Aware RuVector Accelerator
|
|
2
|
+
=====================================================
|
|
3
|
+
|
|
4
|
+
CONFIDENCE SCORE: 0.78 (High confidence in findings)
|
|
5
|
+
|
|
6
|
+
IMPLEMENTATION STATUS:
|
|
7
|
+
65% overall completion - Partially functional, but has critical gaps
|
|
8
|
+
|
|
9
|
+
FINDING SUMMARY BY COMPONENT:
|
|
10
|
+
|
|
11
|
+
1. RUST EXTRACTOR (85% COMPLETE)
|
|
12
|
+
Status: WORKING with limitations
|
|
13
|
+
|
|
14
|
+
Verified Working:
|
|
15
|
+
- tree-sitter-rust parser correctly initialized
|
|
16
|
+
- Function entity extraction (function_item) with parameters and return types
|
|
17
|
+
- Struct entity extraction (struct_item) with visibility tracking
|
|
18
|
+
- Trait entity extraction (trait_item)
|
|
19
|
+
- Implementation block extraction (impl_item)
|
|
20
|
+
- Enum entity extraction (enum_item)
|
|
21
|
+
- Call expression reference extraction
|
|
22
|
+
- Type identifier reference tracking
|
|
23
|
+
- Visibility detection (public/private via AST modifiers)
|
|
24
|
+
|
|
25
|
+
Gaps Identified:
|
|
26
|
+
- Module (mod) blocks not extracted
|
|
27
|
+
- Constants (const) not extracted
|
|
28
|
+
- Static variables (static) not extracted
|
|
29
|
+
- Type aliases (type Name = ...) not extracted
|
|
30
|
+
- Macros not extracted
|
|
31
|
+
- Parent-child relationships never populated (parent_id always None)
|
|
32
|
+
- Doc comments not extracted
|
|
33
|
+
- Attributes not extracted
|
|
34
|
+
- Limited reference type coverage (only Calls, not Extends/Implements)
|
|
35
|
+
- No cross-file reference resolution
|
|
36
|
+
|
|
37
|
+
2. TYPESCRIPT EXTRACTOR (5% COMPLETE)
|
|
38
|
+
Status: NON-FUNCTIONAL - STUB IMPLEMENTATION ONLY
|
|
39
|
+
|
|
40
|
+
Code Evidence:
|
|
41
|
+
- File: /src/extractors/typescript.rs (80 lines)
|
|
42
|
+
- Implementation is placeholder only:
|
|
43
|
+
pub fn extract(&mut self, _file_path: &str, _source: &str)
|
|
44
|
+
-> Result<ExtractionResult> {
|
|
45
|
+
Ok(ExtractionResult {
|
|
46
|
+
entities: Vec::new(),
|
|
47
|
+
references: Vec::new(),
|
|
48
|
+
errors: vec!["TypeScript AST extractor not yet fully implemented"]
|
|
49
|
+
})
|
|
50
|
+
}
|
|
51
|
+
- Parameters prefixed with underscore (intentionally unused)
|
|
52
|
+
- All test assertions expect empty results
|
|
53
|
+
|
|
54
|
+
Missing (100% of functionality):
|
|
55
|
+
- Class/interface extraction
|
|
56
|
+
- Function/method extraction
|
|
57
|
+
- Type alias extraction
|
|
58
|
+
- Variable/property extraction
|
|
59
|
+
- Import statement extraction
|
|
60
|
+
- All reference types
|
|
61
|
+
|
|
62
|
+
Additional Finding:
|
|
63
|
+
- Alternative implementation exists: typescript_full.rs
|
|
64
|
+
- Marked as "temporarily disabled due to regex issues"
|
|
65
|
+
- Never fixed or re-enabled
|
|
66
|
+
- Reason for failure unclear/undocumented
|
|
67
|
+
|
|
68
|
+
3. SCHEMA V2 (95% COMPLETE)
|
|
69
|
+
Status: WELL-DESIGNED, COMPREHENSIVE
|
|
70
|
+
|
|
71
|
+
Verified Tables:
|
|
72
|
+
- entities (id, kind, name, signature, visibility, parent_id, file_path, line_number, column_number, doc_comment, attributes, metadata, created_at, updated_at)
|
|
73
|
+
- refs (source_entity_id, target_entity_id, ref_kind, file_path, line_number, column_number)
|
|
74
|
+
- type_usage (entity_id, type_name, usage_kind, file_path, line_number)
|
|
75
|
+
- modules (name, file_path, module_type, is_root)
|
|
76
|
+
- entity_embeddings (entity_id, embedding BLOB, embedding_model, created_at)
|
|
77
|
+
- file_hashes (file_path, file_hash, indexed_at)
|
|
78
|
+
|
|
79
|
+
Verified Enums:
|
|
80
|
+
- EntityKind: 30+ types (Rust + TypeScript coverage)
|
|
81
|
+
- RefKind: 16 relationship types (call, import, extend, implement, etc.)
|
|
82
|
+
- Visibility: 5 levels (public, private, protected, internal, file_private)
|
|
83
|
+
|
|
84
|
+
Gaps:
|
|
85
|
+
- No foreign key constraints enforced
|
|
86
|
+
- Missing indexes on common queries (name, file_path, kind)
|
|
87
|
+
- No full-text search support
|
|
88
|
+
- EntityKind missing Hash trait derivation (breaks test compilation)
|
|
89
|
+
|
|
90
|
+
4. STORAGE LAYER (90% COMPLETE)
|
|
91
|
+
Status: FUNCTIONAL, WELL-IMPLEMENTED
|
|
92
|
+
|
|
93
|
+
Working Operations:
|
|
94
|
+
- insert_entity() with full metadata
|
|
95
|
+
- find_entities_by_name()
|
|
96
|
+
- find_entities_by_kind()
|
|
97
|
+
- find_entities_in_file()
|
|
98
|
+
- search_entities() with LIKE patterns
|
|
99
|
+
- insert_reference() and lookup operations
|
|
100
|
+
- store_embedding() / get_embedding() with BLOB serialization
|
|
101
|
+
- Transaction support (StoreV2WithTx)
|
|
102
|
+
- Atomic batch operations (index_file_atomic)
|
|
103
|
+
|
|
104
|
+
Gaps:
|
|
105
|
+
- No fuzzy matching on search
|
|
106
|
+
- No pagination support
|
|
107
|
+
- No aggregation queries
|
|
108
|
+
- No migration utilities
|
|
109
|
+
|
|
110
|
+
5. EMBEDDINGS LAYER (75% COMPLETE - BUT BROKEN)
|
|
111
|
+
Status: STRUCTURE EXISTS, BUT NOT FUNCTIONAL
|
|
112
|
+
|
|
113
|
+
Code Evidence from /src/embeddings.rs:
|
|
114
|
+
```rust
|
|
115
|
+
fn generate_dummy_embedding(&self, text: &str) -> Result<Vec<f32>> {
|
|
116
|
+
// Generate a deterministic but pseudo-random embedding based on text
|
|
117
|
+
let mut embedding = vec![0.0; self.config.dimension];
|
|
118
|
+
|
|
119
|
+
// Simple hash-based embedding generation
|
|
120
|
+
let bytes = text.as_bytes();
|
|
121
|
+
for (i, &byte) in bytes.iter().enumerate() {
|
|
122
|
+
let pos = (i * 7) % self.config.dimension;
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Critical Limitation:
|
|
126
|
+
- Comments state: "Generate a simple dummy embedding for now"
|
|
127
|
+
- Comments state: "In a real implementation, this would call an embedding API"
|
|
128
|
+
- No actual API calls to OpenAI text-embedding-ada-002
|
|
129
|
+
- Embeddings are hash-based, NOT semantically meaningful
|
|
130
|
+
- Semantic search fundamentally impossible with current implementation
|
|
131
|
+
|
|
132
|
+
Impact: Violates core intent of "semantic code indexing"
|
|
133
|
+
|
|
134
|
+
6. CLI INTEGRATION (40% COMPLETE)
|
|
135
|
+
Status: PARTIALLY WORKING
|
|
136
|
+
|
|
137
|
+
Working:
|
|
138
|
+
- File discovery and filtering
|
|
139
|
+
- Language detection based on extension
|
|
140
|
+
- AST extraction routing to correct extractor
|
|
141
|
+
- Transactional batch storage
|
|
142
|
+
- Incremental indexing via file hashes
|
|
143
|
+
- Statistics collection
|
|
144
|
+
|
|
145
|
+
Broken:
|
|
146
|
+
- TypeScript indexing returns no results
|
|
147
|
+
- Embeddings stored but meaningless
|
|
148
|
+
- Parent relationship tracking never populated
|
|
149
|
+
- Type name extraction is regex-based with TODO comment
|
|
150
|
+
- Reference target resolution not implemented
|
|
151
|
+
- No incremental load optimization
|
|
152
|
+
|
|
153
|
+
7. TESTING (30% FUNCTIONAL)
|
|
154
|
+
Status: PARTIALLY BROKEN
|
|
155
|
+
|
|
156
|
+
Working Tests:
|
|
157
|
+
- Security tests (SQL injection prevention)
|
|
158
|
+
- Transaction tests (rollback verification)
|
|
159
|
+
|
|
160
|
+
Broken Tests:
|
|
161
|
+
- test_rust_extractor.rs fails compilation (5 errors)
|
|
162
|
+
- Error cause: EntityKind missing #[derive(Hash)]
|
|
163
|
+
- Prevents validation of extraction correctness
|
|
164
|
+
|
|
165
|
+
Missing Tests:
|
|
166
|
+
- TypeScript extraction (extractor is stub)
|
|
167
|
+
- Embedding quality (dummy implementation)
|
|
168
|
+
- Cross-file resolution
|
|
169
|
+
- Full indexing workflow
|
|
170
|
+
|
|
171
|
+
CRITICAL ISSUES SUMMARY:
|
|
172
|
+
|
|
173
|
+
Issue #1: TypeScript Extractor Non-Functional (SEVERITY: CRITICAL)
|
|
174
|
+
- Returns empty results for 50% of supported file types
|
|
175
|
+
- Blocks half the intended language coverage
|
|
176
|
+
- Requires complete implementation or debug of typescript_full.rs
|
|
177
|
+
|
|
178
|
+
Issue #2: Embeddings Are Dummy Implementation (SEVERITY: CRITICAL)
|
|
179
|
+
- Not semantically meaningful
|
|
180
|
+
- Semantic search impossible
|
|
181
|
+
- Violates core "semantic" intent
|
|
182
|
+
- Requires API integration
|
|
183
|
+
|
|
184
|
+
Issue #3: Test Suite Broken (SEVERITY: HIGH)
|
|
185
|
+
- test_rust_extractor.rs has 5 compilation errors
|
|
186
|
+
- Prevents validation of Rust extraction correctness
|
|
187
|
+
- Quick fix: Add Hash to EntityKind derives
|
|
188
|
+
|
|
189
|
+
Issue #4: Reference Resolution Missing (SEVERITY: HIGH)
|
|
190
|
+
- References extracted but not linked to actual entities
|
|
191
|
+
- Parent-child relationships never populated
|
|
192
|
+
- Cross-file references impossible
|
|
193
|
+
|
|
194
|
+
Issue #5: TypeScript Alternative Disabled (SEVERITY: MEDIUM)
|
|
195
|
+
- typescript_full.rs exists but disabled
|
|
196
|
+
- Unknown failure reason
|
|
197
|
+
- Never investigated or fixed
|
|
198
|
+
|
|
199
|
+
CODE QUALITY ISSUES:
|
|
200
|
+
|
|
201
|
+
- 107 compiler warnings
|
|
202
|
+
- Unused imports throughout
|
|
203
|
+
- Missing Hash trait on EntityKind (breaks HashMap usage)
|
|
204
|
+
- Type extraction uses regex with TODO for AST
|
|
205
|
+
- Missing database indexes for performance
|
|
206
|
+
- No error recovery in batch operations
|
|
207
|
+
|
|
208
|
+
FEATURE COMPLETENESS:
|
|
209
|
+
|
|
210
|
+
Intended Actual
|
|
211
|
+
Tree-sitter parsing 100% 50% (Rust only)
|
|
212
|
+
Entity extraction 100% 50% (Rust only)
|
|
213
|
+
Reference tracking 100% 40% (basic only)
|
|
214
|
+
Embedding generation 100% 5% (dummy only)
|
|
215
|
+
SQLite storage 100% 95% (working)
|
|
216
|
+
Query API 100% 80% (no fuzzy/pagination)
|
|
217
|
+
Integration/CLI 100% 40% (TypeScript broken)
|
|
218
|
+
|
|
219
|
+
INTENT COMPLIANCE ASSESSMENT:
|
|
220
|
+
|
|
221
|
+
Requirement: Semantic code indexing tool
|
|
222
|
+
Finding: Not achievable with current embeddings
|
|
223
|
+
|
|
224
|
+
Requirement: Parse source code using tree-sitter
|
|
225
|
+
Finding: 50% complete (Rust works, TypeScript is stub)
|
|
226
|
+
|
|
227
|
+
Requirement: Extract structured entities
|
|
228
|
+
Finding: 50% complete (Rust mostly done, TypeScript none)
|
|
229
|
+
|
|
230
|
+
Requirement: Track code references
|
|
231
|
+
Finding: 40% complete (basic extraction, no resolution)
|
|
232
|
+
|
|
233
|
+
Requirement: Generate embeddings for semantic search
|
|
234
|
+
Finding: 5% complete (only dummy hash-based)
|
|
235
|
+
|
|
236
|
+
Requirement: Store in SQLite Schema V2
|
|
237
|
+
Finding: 95% complete (well-designed, mostly working)
|
|
238
|
+
|
|
239
|
+
Requirement: Fast local queries
|
|
240
|
+
Finding: 80% complete (works but no indexes/pagination)
|
|
241
|
+
|
|
242
|
+
OVERALL VERDICT:
|
|
243
|
+
The implementation is architecturally sound but fundamentally incomplete.
|
|
244
|
+
It can index Rust code and store results, but cannot index TypeScript/JavaScript,
|
|
245
|
+
and embeddings are non-functional. The tool is not yet ready for production use
|
|
246
|
+
as a "semantic code indexing tool" - it's more accurately described as a
|
|
247
|
+
"Rust code structure indexing tool" at best.
|
|
248
|
+
|
|
249
|
+
Estimated work to production readiness: 3-4 weeks for critical fixes
|
|
250
|
+
(TypeScript implementation, real embeddings, reference resolution)
|
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
{
|
|
2
|
+
"executionMode": "cfn-loop",
|
|
3
|
+
"metadata": {
|
|
4
|
+
"epicId": "ruvector-ast-agent-accelerator",
|
|
5
|
+
"name": "AST-Aware RuVector Agent Accelerator",
|
|
6
|
+
"description": "Transform RuVector from line-based indexing to AST-aware semantic indexing for Rust and TypeScript. Enable agents to replace slow grep/search operations with instant database queries for code intelligence: finding functions by type usage, tracking cross-file references, mapping module dependencies, and supporting large-scale refactoring workflows.",
|
|
7
|
+
"status": "not_started",
|
|
8
|
+
"priority": "high",
|
|
9
|
+
"estimatedDuration": "3 weeks",
|
|
10
|
+
"owner": "cfn-dev-team",
|
|
11
|
+
"targetPath": ".claude/skills/cfn-local-ruvector-accelerator"
|
|
12
|
+
},
|
|
13
|
+
"goals": [
|
|
14
|
+
"Replace grep-based code search with sub-50ms database queries",
|
|
15
|
+
"Enable semantic queries like 'functions that use Album type'",
|
|
16
|
+
"Track cross-file references for safe refactoring",
|
|
17
|
+
"Support both Rust and TypeScript codebases",
|
|
18
|
+
"Reduce agent context gathering from 10-30s to <100ms",
|
|
19
|
+
"Provide structured entity extraction (functions, classes, types, imports)"
|
|
20
|
+
],
|
|
21
|
+
"phases": [
|
|
22
|
+
{
|
|
23
|
+
"phaseId": "phase-1-schema",
|
|
24
|
+
"name": "Database Schema Redesign",
|
|
25
|
+
"description": "Replace flat pattern-based schema with structured entity/reference schema supporting multi-language AST data",
|
|
26
|
+
"status": "not_started",
|
|
27
|
+
"estimatedDuration": "2 days",
|
|
28
|
+
"dependencies": [],
|
|
29
|
+
"sprints": [
|
|
30
|
+
{
|
|
31
|
+
"sprintId": "sprint-1-1",
|
|
32
|
+
"name": "Entity Schema",
|
|
33
|
+
"tasks": [
|
|
34
|
+
"Create entities table with kind, name, signature, visibility, parent_id fields",
|
|
35
|
+
"Create refs table for cross-file reference tracking (calls, imports, extends, implements)",
|
|
36
|
+
"Create type_usage table for 'functions using Type X' queries",
|
|
37
|
+
"Create modules table for import/export tracking",
|
|
38
|
+
"Add indexes for fast queries on kind, name, file_path, target_name"
|
|
39
|
+
],
|
|
40
|
+
"acceptanceCriteria": [
|
|
41
|
+
"Schema supports Rust and TypeScript entity types",
|
|
42
|
+
"Indexes enable sub-10ms lookups by name or type",
|
|
43
|
+
"Migration from old schema preserves file metadata"
|
|
44
|
+
]
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
"deliverables": [
|
|
48
|
+
"src/schema_v2.rs with new table definitions",
|
|
49
|
+
"Migration script from v1 to v2 schema"
|
|
50
|
+
],
|
|
51
|
+
"agents": ["database-architect", "backend-developer"]
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"phaseId": "phase-2-rust-extractor",
|
|
55
|
+
"name": "Rust AST Extractor",
|
|
56
|
+
"description": "Implement tree-sitter-rust based extraction of Rust code entities and references",
|
|
57
|
+
"status": "not_started",
|
|
58
|
+
"estimatedDuration": "4 days",
|
|
59
|
+
"dependencies": ["phase-1-schema"],
|
|
60
|
+
"sprints": [
|
|
61
|
+
{
|
|
62
|
+
"sprintId": "sprint-2-1",
|
|
63
|
+
"name": "Core Entity Extraction",
|
|
64
|
+
"tasks": [
|
|
65
|
+
"Add tree-sitter and tree-sitter-rust dependencies to Cargo.toml",
|
|
66
|
+
"Create src/extractors/mod.rs with Extractor trait",
|
|
67
|
+
"Implement function_item extraction (fn name, params, return type, visibility)",
|
|
68
|
+
"Implement struct_item extraction (name, fields, generics)",
|
|
69
|
+
"Implement impl_item extraction (impl Type, methods, trait bounds)",
|
|
70
|
+
"Implement trait_item extraction (trait name, methods, supertraits)",
|
|
71
|
+
"Implement enum_item and type_alias extraction"
|
|
72
|
+
],
|
|
73
|
+
"acceptanceCriteria": [
|
|
74
|
+
"All Rust entity types extracted with correct metadata",
|
|
75
|
+
"Visibility (pub, pub(crate), private) correctly identified",
|
|
76
|
+
"Generic parameters captured in signatures"
|
|
77
|
+
]
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"sprintId": "sprint-2-2",
|
|
81
|
+
"name": "Reference Extraction",
|
|
82
|
+
"tasks": [
|
|
83
|
+
"Extract use_declaration for import tracking",
|
|
84
|
+
"Extract call_expression for function call references",
|
|
85
|
+
"Extract type_identifier for type usage tracking",
|
|
86
|
+
"Map method calls to their impl blocks",
|
|
87
|
+
"Track trait implementations (impl Trait for Type)"
|
|
88
|
+
],
|
|
89
|
+
"acceptanceCriteria": [
|
|
90
|
+
"Cross-file function calls tracked",
|
|
91
|
+
"Type usage in parameters/returns/fields recorded",
|
|
92
|
+
"Import statements parsed with source module"
|
|
93
|
+
]
|
|
94
|
+
}
|
|
95
|
+
],
|
|
96
|
+
"deliverables": [
|
|
97
|
+
"src/extractors/rust.rs with full AST extraction",
|
|
98
|
+
"Unit tests for each entity type"
|
|
99
|
+
],
|
|
100
|
+
"agents": ["rust-developer", "backend-developer"]
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"phaseId": "phase-3-typescript-extractor",
|
|
104
|
+
"name": "TypeScript AST Extractor",
|
|
105
|
+
"description": "Implement tree-sitter-typescript based extraction for TypeScript/JavaScript codebases",
|
|
106
|
+
"status": "not_started",
|
|
107
|
+
"estimatedDuration": "4 days",
|
|
108
|
+
"dependencies": ["phase-1-schema"],
|
|
109
|
+
"sprints": [
|
|
110
|
+
{
|
|
111
|
+
"sprintId": "sprint-3-1",
|
|
112
|
+
"name": "Core Entity Extraction",
|
|
113
|
+
"tasks": [
|
|
114
|
+
"Add tree-sitter-typescript dependency",
|
|
115
|
+
"Implement function_declaration extraction",
|
|
116
|
+
"Implement class_declaration extraction (name, extends, implements)",
|
|
117
|
+
"Implement method_definition extraction (class methods)",
|
|
118
|
+
"Implement interface_declaration extraction",
|
|
119
|
+
"Implement type_alias_declaration extraction",
|
|
120
|
+
"Handle export modifiers for visibility"
|
|
121
|
+
],
|
|
122
|
+
"acceptanceCriteria": [
|
|
123
|
+
"All TypeScript entity types extracted",
|
|
124
|
+
"Export/default export correctly mapped to visibility",
|
|
125
|
+
"Class inheritance chain captured"
|
|
126
|
+
]
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"sprintId": "sprint-3-2",
|
|
130
|
+
"name": "Reference Extraction",
|
|
131
|
+
"tasks": [
|
|
132
|
+
"Extract import_statement with source paths",
|
|
133
|
+
"Extract call_expression for function calls",
|
|
134
|
+
"Extract new_expression for class instantiation",
|
|
135
|
+
"Extract type_reference for type usage",
|
|
136
|
+
"Handle re-exports and barrel files"
|
|
137
|
+
],
|
|
138
|
+
"acceptanceCriteria": [
|
|
139
|
+
"Import paths resolved relative to project",
|
|
140
|
+
"Type references in generics captured",
|
|
141
|
+
"JSX component usage tracked as calls"
|
|
142
|
+
]
|
|
143
|
+
}
|
|
144
|
+
],
|
|
145
|
+
"deliverables": [
|
|
146
|
+
"src/extractors/typescript.rs with full AST extraction",
|
|
147
|
+
"Unit tests for TypeScript patterns"
|
|
148
|
+
],
|
|
149
|
+
"agents": ["typescript-specialist", "backend-developer"]
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"phaseId": "phase-4-query-api",
|
|
153
|
+
"name": "Agent Query API",
|
|
154
|
+
"description": "Create high-level query interface for agent use cases, replacing grep patterns",
|
|
155
|
+
"status": "not_started",
|
|
156
|
+
"estimatedDuration": "3 days",
|
|
157
|
+
"dependencies": ["phase-2-rust-extractor", "phase-3-typescript-extractor"],
|
|
158
|
+
"sprints": [
|
|
159
|
+
{
|
|
160
|
+
"sprintId": "sprint-4-1",
|
|
161
|
+
"name": "Query Implementation",
|
|
162
|
+
"tasks": [
|
|
163
|
+
"Implement 'functions using Type X' query",
|
|
164
|
+
"Implement 'callers of function X' query",
|
|
165
|
+
"Implement 'types defined in file X used elsewhere' query",
|
|
166
|
+
"Implement 'implementations of trait/interface X' query",
|
|
167
|
+
"Implement 'public API surface of module X' query",
|
|
168
|
+
"Implement 'references to path X' query for refactoring"
|
|
169
|
+
],
|
|
170
|
+
"acceptanceCriteria": [
|
|
171
|
+
"All queries return results in <50ms for 10k+ entity indexes",
|
|
172
|
+
"Results include file path, line number, and context",
|
|
173
|
+
"Queries work across Rust and TypeScript"
|
|
174
|
+
]
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"sprintId": "sprint-4-2",
|
|
178
|
+
"name": "CLI Integration",
|
|
179
|
+
"tasks": [
|
|
180
|
+
"Add 'ruvector find' subcommand with --kind, --uses-type, --called-by flags",
|
|
181
|
+
"Add 'ruvector refs' subcommand for reference queries",
|
|
182
|
+
"Add --json output format for programmatic use",
|
|
183
|
+
"Add natural language query parsing (optional)",
|
|
184
|
+
"Update help documentation"
|
|
185
|
+
],
|
|
186
|
+
"acceptanceCriteria": [
|
|
187
|
+
"CLI provides structured query interface",
|
|
188
|
+
"JSON output parseable by agents",
|
|
189
|
+
"Error messages guide correct usage"
|
|
190
|
+
]
|
|
191
|
+
}
|
|
192
|
+
],
|
|
193
|
+
"deliverables": [
|
|
194
|
+
"src/query_api.rs with query functions",
|
|
195
|
+
"src/cli/find.rs with CLI subcommand",
|
|
196
|
+
"Updated CLI help and examples"
|
|
197
|
+
],
|
|
198
|
+
"agents": ["backend-developer", "api-designer-persona"]
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"phaseId": "phase-5-integration",
|
|
202
|
+
"name": "Index Rebuild and Integration Testing",
|
|
203
|
+
"description": "Rebuild indexes with new schema, validate query performance, integrate with agent workflows",
|
|
204
|
+
"status": "not_started",
|
|
205
|
+
"estimatedDuration": "2 days",
|
|
206
|
+
"dependencies": ["phase-4-query-api"],
|
|
207
|
+
"sprints": [
|
|
208
|
+
{
|
|
209
|
+
"sprintId": "sprint-5-1",
|
|
210
|
+
"name": "Index Rebuild",
|
|
211
|
+
"tasks": [
|
|
212
|
+
"Update IndexCommand to use AST extractors instead of line-based",
|
|
213
|
+
"Add language detection for file routing",
|
|
214
|
+
"Implement incremental indexing (only changed files)",
|
|
215
|
+
"Run full re-index of claude-flow-novice codebase",
|
|
216
|
+
"Benchmark index size vs old approach (target: 80% reduction)"
|
|
217
|
+
],
|
|
218
|
+
"acceptanceCriteria": [
|
|
219
|
+
"Full index completes in <5 minutes",
|
|
220
|
+
"Database size <500MB (vs 5GB+ line-based)",
|
|
221
|
+
"All entity types correctly extracted"
|
|
222
|
+
]
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"sprintId": "sprint-5-2",
|
|
226
|
+
"name": "Integration Testing",
|
|
227
|
+
"tasks": [
|
|
228
|
+
"Test 'functions using Album' style queries on real codebase",
|
|
229
|
+
"Test 'callers of X outside module Y' queries",
|
|
230
|
+
"Test refactoring workflow: find references, split file, verify no breaks",
|
|
231
|
+
"Benchmark query latency (target: <50ms p99)",
|
|
232
|
+
"Document agent integration patterns"
|
|
233
|
+
],
|
|
234
|
+
"acceptanceCriteria": [
|
|
235
|
+
"All example queries from planning doc work correctly",
|
|
236
|
+
"Query latency meets <50ms target",
|
|
237
|
+
"Agent workflow documented with examples"
|
|
238
|
+
]
|
|
239
|
+
}
|
|
240
|
+
],
|
|
241
|
+
"deliverables": [
|
|
242
|
+
"Rebuilt index with AST-aware schema",
|
|
243
|
+
"Performance benchmarks",
|
|
244
|
+
"Agent integration documentation"
|
|
245
|
+
],
|
|
246
|
+
"agents": ["integration-tester", "performance-benchmarker"]
|
|
247
|
+
}
|
|
248
|
+
],
|
|
249
|
+
"configuration": {
|
|
250
|
+
"loopMode": "standard",
|
|
251
|
+
"consensusThreshold": 0.90,
|
|
252
|
+
"gateThreshold": 0.95,
|
|
253
|
+
"maxIterations": 10,
|
|
254
|
+
"testCommand": "cd .claude/skills/cfn-local-ruvector-accelerator && cargo test",
|
|
255
|
+
"buildCommand": "cd .claude/skills/cfn-local-ruvector-accelerator && cargo build --release"
|
|
256
|
+
},
|
|
257
|
+
"technicalContext": {
|
|
258
|
+
"language": "rust",
|
|
259
|
+
"dependencies": [
|
|
260
|
+
"tree-sitter = \"0.20\"",
|
|
261
|
+
"tree-sitter-rust = \"0.20\"",
|
|
262
|
+
"tree-sitter-typescript = \"0.20\""
|
|
263
|
+
],
|
|
264
|
+
"existingFiles": {
|
|
265
|
+
"schema": "src/sqlite_store.rs",
|
|
266
|
+
"indexer": "src/cli/index.rs",
|
|
267
|
+
"search": "src/search_engine.rs",
|
|
268
|
+
"embeddings": "src/embeddings.rs"
|
|
269
|
+
},
|
|
270
|
+
"contextFilesToRead": {
|
|
271
|
+
"phase-1": [
|
|
272
|
+
"src/sqlite_store.rs:28-57 (existing schema to extend)",
|
|
273
|
+
"src/search_engine.rs:78-87 (IndexMetadata struct to replace)"
|
|
274
|
+
],
|
|
275
|
+
"phase-2": [
|
|
276
|
+
"src/cli/index.rs:238-274 (extract_patterns to replace)",
|
|
277
|
+
"Cargo.toml (add tree-sitter deps)"
|
|
278
|
+
],
|
|
279
|
+
"phase-3": [
|
|
280
|
+
"src/extractors/rust.rs (copy pattern for TypeScript)",
|
|
281
|
+
"Cargo.toml (add tree-sitter-typescript)"
|
|
282
|
+
],
|
|
283
|
+
"phase-4": [
|
|
284
|
+
"src/sqlite_store.rs:118-136 (search_patterns to extend)",
|
|
285
|
+
"src/cli/query.rs (existing query command to extend)"
|
|
286
|
+
],
|
|
287
|
+
"phase-5": [
|
|
288
|
+
"src/cli/index.rs:176-236 (process_files to modify)",
|
|
289
|
+
"src/main.rs (CLI entry point)"
|
|
290
|
+
]
|
|
291
|
+
},
|
|
292
|
+
"treeSitterNodeTypes": {
|
|
293
|
+
"rust": {
|
|
294
|
+
"function_item": "Extract: name (identifier child), parameters (parameters child), return_type (type child), visibility_modifier",
|
|
295
|
+
"struct_item": "Extract: name (type_identifier), fields (field_declaration_list), type_parameters",
|
|
296
|
+
"impl_item": "Extract: type (type child), trait (optional), methods (function_item children in body)",
|
|
297
|
+
"trait_item": "Extract: name, method signatures (function_signature_item), supertraits",
|
|
298
|
+
"enum_item": "Extract: name, variants (enum_variant_list)",
|
|
299
|
+
"use_declaration": "Extract: path segments, alias (optional)",
|
|
300
|
+
"call_expression": "Extract: function name (identifier or field_expression), arguments",
|
|
301
|
+
"type_identifier": "Extract: name (for type_usage tracking)"
|
|
302
|
+
},
|
|
303
|
+
"typescript": {
|
|
304
|
+
"function_declaration": "Extract: name (identifier), parameters (formal_parameters), return_type (type_annotation), export keyword",
|
|
305
|
+
"class_declaration": "Extract: name, heritage (extends/implements clauses), body methods",
|
|
306
|
+
"method_definition": "Extract: name, parameters, return_type, accessibility (public/private)",
|
|
307
|
+
"interface_declaration": "Extract: name, extends, properties and method signatures",
|
|
308
|
+
"type_alias_declaration": "Extract: name, value (type definition)",
|
|
309
|
+
"import_statement": "Extract: specifiers (named/default), source path",
|
|
310
|
+
"call_expression": "Extract: function (identifier or member_expression), arguments",
|
|
311
|
+
"new_expression": "Extract: constructor name, arguments"
|
|
312
|
+
}
|
|
313
|
+
},
|
|
314
|
+
"treeSitterAPIPattern": {
|
|
315
|
+
"setup": "let mut parser = Parser::new(); parser.set_language(tree_sitter_rust::language())?;",
|
|
316
|
+
"parse": "let tree = parser.parse(&source_code, None)?; let root = tree.root_node();",
|
|
317
|
+
"traverse": "let mut cursor = root.walk(); for node in root.children(&mut cursor) { match node.kind() { ... } }",
|
|
318
|
+
"getText": "let text = &source_code[node.start_byte()..node.end_byte()];",
|
|
319
|
+
"getChild": "node.child_by_field_name(\"name\") or node.named_child(0)",
|
|
320
|
+
"getPosition": "node.start_position().row (0-indexed line number)"
|
|
321
|
+
},
|
|
322
|
+
"targetQueries": [
|
|
323
|
+
"SELECT * FROM entities WHERE kind='function' AND id IN (SELECT entity_id FROM type_usage WHERE type_name='Album')",
|
|
324
|
+
"SELECT * FROM refs WHERE target_name='create_album' AND ref_kind='calls' AND file_path NOT LIKE '%source_module%'",
|
|
325
|
+
"SELECT e.name, COUNT(*) FROM entities e JOIN type_usage tu ON e.name=tu.type_name WHERE e.file_path LIKE '%module.rs' GROUP BY e.name"
|
|
326
|
+
]
|
|
327
|
+
},
|
|
328
|
+
"successMetrics": {
|
|
329
|
+
"queryLatency": "<50ms p99",
|
|
330
|
+
"indexSize": "<500MB for 4600 files",
|
|
331
|
+
"indexTime": "<5 minutes full rebuild",
|
|
332
|
+
"entityCoverage": ">95% of functions, classes, types extracted",
|
|
333
|
+
"agentSpeedup": "10-30s grep → <100ms database query"
|
|
334
|
+
}
|
|
335
|
+
}
|