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.
- 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/agents/custom/claude-code-expert.md +56 -0
- package/.claude/{skills → cfn-extras/skills/deprecated}/cfn-docker-runtime/SKILL.md +1 -1
- 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-agent-lifecycle/SKILL.md +1 -1
- package/.claude/skills/cfn-agent-tooling/SKILL.md +1 -1
- 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-compilation-error-fixer/SKILL.md +1 -1
- package/.claude/skills/cfn-compilation-error-fixer/lib/fixer/cerebras-gated-fixer-v2.ts +1 -1
- package/.claude/skills/cfn-config/SKILL.md +1 -1
- package/.claude/skills/cfn-dependency-management/SKILL.md +1 -1
- package/.claude/skills/cfn-deployment-lifecycle/SKILL.md +1 -1
- package/.claude/skills/cfn-edit-safety/SKILL.md +1 -1
- 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-epic-parser/SKILL.md +8 -0
- package/.claude/skills/cfn-error-management/SKILL.md +1 -1
- package/.claude/skills/cfn-intervention-system/SKILL.md +1 -1
- package/.claude/skills/cfn-knowledge-base/SKILL.md +1 -1
- 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 -343
- 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 +275 -94
- 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/query.rs +2 -2
- 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/search_engine.rs +150 -29
- package/.claude/skills/cfn-local-ruvector-accelerator/src/security_tests.rs +154 -0
- package/.claude/skills/cfn-local-ruvector-accelerator/src/sqlite_store.rs +1 -1
- 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-loop-orchestration-v2/SKILL.md +1 -1
- package/.claude/skills/cfn-loop-orchestration-v2/lib/decision/SKILL.md +8 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/orchestrator/SKILL.md +1 -1
- package/.claude/skills/cfn-loop-orchestration-v2/lib/output/SKILL.md +8 -0
- package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/SKILL.md +11 -2
- 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-memory-persistence/lib/auto/SKILL.md +7 -0
- package/.claude/skills/cfn-memory-persistence/lib/management/SKILL.md +7 -0
- package/.claude/skills/cfn-parameterized-queries/SKILL.md +8 -0
- package/.claude/skills/cfn-planning/SKILL.md +1 -1
- package/.claude/skills/cfn-session-handoff/SKILL.md +1 -53
- package/.claude/skills/cfn-skill-management/SKILL.md +1 -1
- 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-transparency-middleware/SKILL.md +1 -1
- package/.claude/skills/cfn-utilities/SKILL.md +1 -1
- 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/index/index.bin +0 -0
- package/index/metadata.json +1 -0
- package/package.json +2 -1
- package/test-epic-creator-security.sh +203 -0
- package/.claude/skills/cfn-compilation-error-fixer/HANDOFF.md +0 -29
- 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/.ruvector/index.db-journal +0 -0
- 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/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,225 @@
|
|
|
1
|
+
# TDD Coordinator - Round 1 vs Round 2 Comparison
|
|
2
|
+
|
|
3
|
+
**Date**: 2025-12-10
|
|
4
|
+
|
|
5
|
+
## Summary Table
|
|
6
|
+
|
|
7
|
+
| Language | Round 1 | Round 2 | Improvement |
|
|
8
|
+
|----------|---------|---------|-------------|
|
|
9
|
+
| **Rust** | ✅ 21/21 tests, 1 iter | ✅ 24/24 tests, 1 iter | Stable performance ✅ |
|
|
10
|
+
| **TypeScript** | ❌ 0/14 tests, 3 iters, **no imports** | ⚠️ 0 tests passed, 3 iters, **imports present** | Import issue fixed, new issue found 🔄 |
|
|
11
|
+
| **Python** | ✅ 22/22 tests, 1 iter | ✅ 17/17 tests, 1 iter | Stable performance ✅ |
|
|
12
|
+
| **Conversation Save** | ❌ Failed (all 3) | ✅ Works (all 3) | Fixed! ✅ |
|
|
13
|
+
|
|
14
|
+
## Rust: Stable Excellence
|
|
15
|
+
|
|
16
|
+
### Round 1
|
|
17
|
+
- Tests: 21/21 passed ✅
|
|
18
|
+
- Iterations: 1
|
|
19
|
+
- Issues: `__dirname` error (conversation not saved)
|
|
20
|
+
- Confidence: 0.92
|
|
21
|
+
|
|
22
|
+
### Round 2
|
|
23
|
+
- Tests: 24/24 passed ✅
|
|
24
|
+
- Iterations: 1
|
|
25
|
+
- Issues: None
|
|
26
|
+
- Conversation saved: ✅ `/conversations/2025-12-10-rust-v2-test-1765381361.json`
|
|
27
|
+
- Confidence: 0.95
|
|
28
|
+
|
|
29
|
+
**Analysis**: Rust performance is excellent and stable across both rounds. The `__dirname` fix worked perfectly.
|
|
30
|
+
|
|
31
|
+
## TypeScript: Import Fixed, New Issue Discovered
|
|
32
|
+
|
|
33
|
+
### Round 1 - CRITICAL FAILURE
|
|
34
|
+
```typescript
|
|
35
|
+
// ❌ Test file (formatter.test.ts) - NO IMPORTS
|
|
36
|
+
Given('a valid date object', () => { ... }); // ReferenceError: Given is not defined
|
|
37
|
+
When('formatting the date', () => { ... }); // ReferenceError: When is not defined
|
|
38
|
+
Then('it should return YYYY-MM-DD format', () => { ... }); // ReferenceError: Then is not defined
|
|
39
|
+
```
|
|
40
|
+
- Tests: 0/14 passed ❌
|
|
41
|
+
- Iterations: 3/3 (couldn't fix)
|
|
42
|
+
- Root cause: Missing `import` statement
|
|
43
|
+
- Confidence: 0.82
|
|
44
|
+
|
|
45
|
+
### Round 2 - IMPORT FIXED, NEW ISSUE
|
|
46
|
+
```typescript
|
|
47
|
+
// ✅ Test file now has imports!
|
|
48
|
+
import { formatDate, Given, When, Then } from './formatter'; // ← THIS IS NEW!
|
|
49
|
+
|
|
50
|
+
Given('a valid date object', () => { ... }); // ReferenceError: describe is not defined
|
|
51
|
+
```
|
|
52
|
+
- Tests: 0 passed (but different error) ⚠️
|
|
53
|
+
- Iterations: 3/3
|
|
54
|
+
- **Import statement present**: ✅ YES (FIXED!)
|
|
55
|
+
- **New issue**: Generated custom `Given/When/Then` helpers instead of standard vitest syntax
|
|
56
|
+
- **Missing**: `import { describe, it, expect } from 'vitest';`
|
|
57
|
+
- Confidence: 0.75
|
|
58
|
+
|
|
59
|
+
**Analysis**:
|
|
60
|
+
- ✅ **PROMPT IMPROVEMENT WORKED** - Imports are now present
|
|
61
|
+
- ❌ **NEW PROBLEM DISCOVERED** - Using wrong test pattern (custom helpers vs vitest framework)
|
|
62
|
+
- 📋 **NEXT FIX NEEDED**: RED phase should specify standard test framework syntax
|
|
63
|
+
|
|
64
|
+
### What Round 1 Generated (Wrong):
|
|
65
|
+
```typescript
|
|
66
|
+
// No imports at all
|
|
67
|
+
Given('test case', () => { ... });
|
|
68
|
+
When('action', () => { ... });
|
|
69
|
+
Then('assertion', () => { ... });
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### What Round 2 Generated (Better but not perfect):
|
|
73
|
+
```typescript
|
|
74
|
+
import { formatDate, Given, When, Then } from './formatter'; // ← Fixed!
|
|
75
|
+
// Missing: import { describe, it, expect } from 'vitest'; // ← Still needed
|
|
76
|
+
|
|
77
|
+
Given('test case', () => { ... }); // ← Wrong pattern, should be describe/it blocks
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### What We Actually Need:
|
|
81
|
+
```typescript
|
|
82
|
+
import { formatDate } from './formatter';
|
|
83
|
+
import { describe, it, expect } from 'vitest'; // ← Need this
|
|
84
|
+
|
|
85
|
+
describe('formatDate', () => {
|
|
86
|
+
it('should format date as YYYY-MM-DD', () => {
|
|
87
|
+
expect(formatDate(new Date('2024-01-15'))).toBe('2024-01-15');
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Python: Stable Excellence
|
|
93
|
+
|
|
94
|
+
### Round 1
|
|
95
|
+
- Tests: 22/22 passed ✅
|
|
96
|
+
- Iterations: 1
|
|
97
|
+
- Issues: `__dirname` error (conversation not saved)
|
|
98
|
+
- Confidence: 0.92
|
|
99
|
+
|
|
100
|
+
### Round 2
|
|
101
|
+
- Tests: 17/17 passed ✅
|
|
102
|
+
- Iterations: 1
|
|
103
|
+
- Issues: None
|
|
104
|
+
- Conversation saved: ✅ `/conversations/2025-12-10-py-v2-test-1733854200.json`
|
|
105
|
+
- Imports: Correct (`from stats import StatisticsCalculator`)
|
|
106
|
+
- Confidence: 0.92
|
|
107
|
+
|
|
108
|
+
**Analysis**: Python performance is excellent and stable. Import improvements didn't break anything. Uses pytest correctly.
|
|
109
|
+
|
|
110
|
+
## Conversation Persistence: FIXED
|
|
111
|
+
|
|
112
|
+
### Round 1 - ESM `__dirname` Bug
|
|
113
|
+
```
|
|
114
|
+
ReferenceError: __dirname is not defined in ES module scope
|
|
115
|
+
```
|
|
116
|
+
- All 3 languages affected
|
|
117
|
+
- No conversation JSON saved
|
|
118
|
+
- Learning disabled
|
|
119
|
+
|
|
120
|
+
### Round 2 - ESM Fix Applied
|
|
121
|
+
```typescript
|
|
122
|
+
import { fileURLToPath } from 'url';
|
|
123
|
+
import { dirname } from 'path';
|
|
124
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
125
|
+
const __dirname = dirname(__filename);
|
|
126
|
+
```
|
|
127
|
+
- ✅ Rust: Conversation saved (13KB JSON)
|
|
128
|
+
- ✅ TypeScript: Conversation saved (data size TBD)
|
|
129
|
+
- ✅ Python: Conversation saved (13KB JSON)
|
|
130
|
+
|
|
131
|
+
## Prompt Improvements Applied
|
|
132
|
+
|
|
133
|
+
### RED Phase (Test Generation)
|
|
134
|
+
**Added**:
|
|
135
|
+
```
|
|
136
|
+
6. **CRITICAL for TypeScript/JavaScript: Include ALL import statements at top of test file**
|
|
137
|
+
7. **Import any functions/classes/helpers you use from the implementation file**
|
|
138
|
+
8. **Example: `import { formatDate, Given, When, Then } from './filename';`**
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
**Impact**:
|
|
142
|
+
- ✅ TypeScript now generates import statements
|
|
143
|
+
- ❌ But misunderstood "Given/When/Then" as custom functions instead of vitest pattern
|
|
144
|
+
|
|
145
|
+
### GREEN Phase (Implementation)
|
|
146
|
+
**Added**:
|
|
147
|
+
```
|
|
148
|
+
5. **CRITICAL: Export all functions/classes that the tests import**
|
|
149
|
+
6. **For TypeScript/JavaScript: use `export function name()` or `export { name }`**
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
**Impact**:
|
|
153
|
+
- ✅ All languages correctly export functions
|
|
154
|
+
- ✅ No issues found
|
|
155
|
+
|
|
156
|
+
### FIX Phase (Error Recovery)
|
|
157
|
+
**Added**:
|
|
158
|
+
```
|
|
159
|
+
3. Identify what's wrong (logic error, **missing imports**, missing edge case, incorrect behavior)
|
|
160
|
+
4. **CRITICAL: If error says "X is not defined" or "cannot find name X":**
|
|
161
|
+
- Check if X exists in the implementation file
|
|
162
|
+
- If YES: Add import statement to the TEST file (not implementation)
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
**Impact**:
|
|
166
|
+
- 🔄 Not tested (TypeScript failed on different issue before reaching meaningful fixes)
|
|
167
|
+
|
|
168
|
+
## Overall Assessment
|
|
169
|
+
|
|
170
|
+
### What Worked ✅
|
|
171
|
+
1. **ESM `__dirname` Fix**: All 3 languages now save conversation JSON
|
|
172
|
+
2. **Import Instructions**: TypeScript test files now include import statements
|
|
173
|
+
3. **Export Instructions**: Implementation files correctly export functions
|
|
174
|
+
4. **Rust/Python Stability**: No regressions, same excellent performance
|
|
175
|
+
|
|
176
|
+
### What Needs More Work ⚠️
|
|
177
|
+
1. **TypeScript Test Pattern**: Need to specify standard vitest syntax (describe/it/expect)
|
|
178
|
+
2. **Test Framework Imports**: Need explicit instruction to import test framework functions
|
|
179
|
+
3. **Custom Helper Confusion**: Prompt example used "Given/When/Then" which Cerebras interpreted as custom functions
|
|
180
|
+
|
|
181
|
+
## Next Steps
|
|
182
|
+
|
|
183
|
+
### Priority 1: Fix TypeScript Test Pattern
|
|
184
|
+
|
|
185
|
+
Update RED phase prompt from:
|
|
186
|
+
```
|
|
187
|
+
1. Write comprehensive tests using Given/When/Then structure
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
To:
|
|
191
|
+
```
|
|
192
|
+
1. Write comprehensive tests using standard test framework syntax:
|
|
193
|
+
- TypeScript/JavaScript: Use describe/it/expect blocks from vitest or jest
|
|
194
|
+
- Example: import { describe, it, expect } from 'vitest';
|
|
195
|
+
- Do NOT create custom Given/When/Then helper functions
|
|
196
|
+
- Structure: describe('feature', () => { it('should...', () => { expect(...) }) })
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### Priority 2: Clarify Import Examples
|
|
200
|
+
|
|
201
|
+
Change TypeScript import example from:
|
|
202
|
+
```
|
|
203
|
+
8. **Example: `import { formatDate, Given, When, Then } from './filename';`**
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
To:
|
|
207
|
+
```
|
|
208
|
+
8. **Example: `import { formatDate } from './formatter';`**
|
|
209
|
+
9. **Also import test framework: `import { describe, it, expect } from 'vitest';`**
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### Priority 3: Validation
|
|
213
|
+
|
|
214
|
+
After applying Priority 1 & 2 fixes, run Round 3 verification to confirm TypeScript tests pass.
|
|
215
|
+
|
|
216
|
+
## Confidence Scores
|
|
217
|
+
|
|
218
|
+
| Metric | Round 1 | Round 2 | Target |
|
|
219
|
+
|--------|---------|---------|--------|
|
|
220
|
+
| Rust | 0.92 | 0.95 | 0.95 ✅ |
|
|
221
|
+
| TypeScript | 0.82 | 0.75 | 0.92 🔄 |
|
|
222
|
+
| Python | 0.92 | 0.92 | 0.92 ✅ |
|
|
223
|
+
| Overall | 0.89 | 0.87 | 0.93 🔄 |
|
|
224
|
+
|
|
225
|
+
**Note**: TypeScript confidence decreased because we discovered a new issue (test pattern), but this is progress - we fixed imports and identified the next problem to solve.
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
# TDD Coordinator Round 3 - Final Results
|
|
2
|
+
|
|
3
|
+
**Date**: 2025-12-10
|
|
4
|
+
**Changes Applied**: RED phase prompt updated to use standard test framework syntax
|
|
5
|
+
|
|
6
|
+
## Summary: Major Progress + Critical Bug Found
|
|
7
|
+
|
|
8
|
+
| Language | Round 2 | Round 3 | Status |
|
|
9
|
+
|----------|---------|---------|--------|
|
|
10
|
+
| **TypeScript** | ❌ Custom helpers, no vitest | ✅ Vitest syntax, 9/11 tests | NEW BUG FOUND 🐛 |
|
|
11
|
+
| **Rust** | ✅ 24 tests, 1 iter | ✅ 27 tests (+3), 2 iters | IMPROVED ⬆️ |
|
|
12
|
+
| **Python** | ✅ 17 tests, 1 iter | ✅ 19 tests (+2), 1 iter | IMPROVED ⬆️ |
|
|
13
|
+
|
|
14
|
+
## 🎉 TypeScript: Vitest Syntax FIXED
|
|
15
|
+
|
|
16
|
+
### What We Fixed
|
|
17
|
+
**Round 2 Problem**:
|
|
18
|
+
```typescript
|
|
19
|
+
// Generated custom helpers instead of vitest
|
|
20
|
+
import { formatDate, Given, When, Then } from './formatter';
|
|
21
|
+
Given('test', () => { ... }); // ❌ Custom helpers
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
**Round 3 Solution**:
|
|
25
|
+
```typescript
|
|
26
|
+
// Now uses standard vitest syntax!
|
|
27
|
+
import { describe, it, expect } from 'vitest'; // ✅ Framework import
|
|
28
|
+
import { formatDate } from './formatter'; // ✅ Clean import
|
|
29
|
+
|
|
30
|
+
describe('formatDate', () => { // ✅ Standard describe
|
|
31
|
+
it('should format date as YYYY-MM-DD', () => { // ✅ Standard it
|
|
32
|
+
expect(formatDate(new Date())).toBe('2024-01-15'); // ✅ Standard expect
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**Validation Checklist**:
|
|
38
|
+
- ✅ Test file imports vitest framework
|
|
39
|
+
- ✅ Test file imports implementation functions
|
|
40
|
+
- ✅ Uses describe/it/expect blocks (NOT custom helpers)
|
|
41
|
+
- ✅ No Given/When/Then custom functions
|
|
42
|
+
- ⚠️ Tests partially pass (9/11) due to separate bug
|
|
43
|
+
|
|
44
|
+
**Confidence**: 0.95 (syntax validation complete, identified blocking bug)
|
|
45
|
+
|
|
46
|
+
## 🐛 CRITICAL BUG DISCOVERED: FIX Phase File Path Logic
|
|
47
|
+
|
|
48
|
+
### The Bug
|
|
49
|
+
|
|
50
|
+
**Location**: `tdd-conversation-coordinator.ts` lines 380-412 (FIX phase loop)
|
|
51
|
+
|
|
52
|
+
**What Happens**:
|
|
53
|
+
1. Tests fail with error (e.g., "No test files found")
|
|
54
|
+
2. FIX prompt says "you may edit EITHER test OR implementation file"
|
|
55
|
+
3. Cerebras correctly identifies issue and returns **test file code**
|
|
56
|
+
4. Coordinator **blindly writes to `this.options.filePath`** (always the implementation file)
|
|
57
|
+
5. Result: Test code overwrites implementation file, breaking everything
|
|
58
|
+
|
|
59
|
+
### Example from Round 3
|
|
60
|
+
|
|
61
|
+
**Iteration 1**:
|
|
62
|
+
- Error: `Error: No test files found`
|
|
63
|
+
- Cerebras response: Returns test file code with vitest imports
|
|
64
|
+
- **Bug**: Coordinator writes test code to `/tmp/.../formatter.ts` (implementation file)
|
|
65
|
+
- Result: Implementation corrupted with test code
|
|
66
|
+
|
|
67
|
+
**After Manual Fix**:
|
|
68
|
+
- Restored implementation file
|
|
69
|
+
- Ran tests: 9/11 passed (81.8% success rate)
|
|
70
|
+
- 2 failures due to timezone handling (separate issue)
|
|
71
|
+
|
|
72
|
+
### Required Fix
|
|
73
|
+
|
|
74
|
+
**Current Code (WRONG)**:
|
|
75
|
+
```typescript
|
|
76
|
+
// Line ~390 in FIX phase
|
|
77
|
+
implCode = this.extractCode(await this.callCerebras(fixPrompt));
|
|
78
|
+
writeFileSync(this.options.filePath, implCode); // ❌ ALWAYS writes to implementation
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
**Needed Logic**:
|
|
82
|
+
```typescript
|
|
83
|
+
// Detect which file needs fixing
|
|
84
|
+
const needsTestFix = output.includes('No test files') ||
|
|
85
|
+
output.includes('test file') ||
|
|
86
|
+
output.includes('Cannot find test');
|
|
87
|
+
|
|
88
|
+
// Determine target file
|
|
89
|
+
const targetFile = needsTestFix ? this.getTestFilePath() : this.options.filePath;
|
|
90
|
+
|
|
91
|
+
// Write to correct file
|
|
92
|
+
const fixedCode = this.extractCode(await this.callCerebras(fixPrompt));
|
|
93
|
+
writeFileSync(targetFile, fixedCode);
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**Or Better**: Ask Cerebras which file to edit in structured output:
|
|
97
|
+
```typescript
|
|
98
|
+
const fixPrompt = `...
|
|
99
|
+
Return JSON:
|
|
100
|
+
{
|
|
101
|
+
"target_file": "implementation" | "test",
|
|
102
|
+
"code": "fixed code here"
|
|
103
|
+
}`;
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## ✅ Rust: Improved Test Coverage
|
|
107
|
+
|
|
108
|
+
### Round 2 vs Round 3
|
|
109
|
+
|
|
110
|
+
| Metric | Round 2 | Round 3 | Change |
|
|
111
|
+
|--------|---------|---------|--------|
|
|
112
|
+
| Tests | 24 | 27 | +3 (12.5% increase) |
|
|
113
|
+
| Iterations | 1 | 2 | +1 (acceptable) |
|
|
114
|
+
| Pass Rate | 100% | 100% | Stable |
|
|
115
|
+
| Conversation | Saved | Saved | ✅ |
|
|
116
|
+
|
|
117
|
+
### New Edge Cases (Round 3)
|
|
118
|
+
1. `test_invalid_null_input` - Null bytes in email
|
|
119
|
+
2. `test_invalid_only_whitespace` - Whitespace-only strings
|
|
120
|
+
3. `test_invalid_newline_in_email` - Newlines in email address
|
|
121
|
+
|
|
122
|
+
**Analysis**: RED phase improvements generated more comprehensive tests without breaking quality. The extra iteration is justified by increased coverage.
|
|
123
|
+
|
|
124
|
+
**Confidence**: 0.95
|
|
125
|
+
|
|
126
|
+
## ✅ Python: Improved Test Coverage
|
|
127
|
+
|
|
128
|
+
### Round 2 vs Round 3
|
|
129
|
+
|
|
130
|
+
| Metric | Round 2 | Round 3 | Change |
|
|
131
|
+
|--------|---------|---------|--------|
|
|
132
|
+
| Tests | 17 | 19 | +2 (11.8% increase) |
|
|
133
|
+
| Iterations | 1 | 1 | Same |
|
|
134
|
+
| Pass Rate | 100% | 100% | Stable |
|
|
135
|
+
| Conversation | Saved | Saved | ✅ |
|
|
136
|
+
|
|
137
|
+
### Test Breakdown (Round 3)
|
|
138
|
+
- Mean: 6 tests
|
|
139
|
+
- Median: 6 tests
|
|
140
|
+
- Mode: 7 tests
|
|
141
|
+
|
|
142
|
+
**Analysis**: RED phase improvements generated additional edge cases while maintaining first-iteration success. No regressions detected.
|
|
143
|
+
|
|
144
|
+
**Confidence**: 0.95
|
|
145
|
+
|
|
146
|
+
## Prompt Changes Applied (Round 2 → Round 3)
|
|
147
|
+
|
|
148
|
+
### RED Phase - BEFORE
|
|
149
|
+
```
|
|
150
|
+
1. Write comprehensive tests using Given/When/Then structure
|
|
151
|
+
...
|
|
152
|
+
8. **Example: `import { formatDate, Given, When, Then } from './filename';`**
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### RED Phase - AFTER
|
|
156
|
+
```
|
|
157
|
+
1. Write comprehensive tests using STANDARD test framework syntax (do NOT create custom helper functions):
|
|
158
|
+
- **TypeScript/JavaScript**: Use describe/it/expect blocks from vitest or jest
|
|
159
|
+
- Import framework: `import { describe, it, expect } from 'vitest';`
|
|
160
|
+
- Import functions: `import { functionName } from './filename';`
|
|
161
|
+
- Structure: `describe('feature', () => { it('should...', () => { expect(...).toBe(...) }) })`
|
|
162
|
+
- **Python**: Use pytest with def test_* functions
|
|
163
|
+
- **Rust**: Use #[test] attribute or #[cfg(test)] module
|
|
164
|
+
...
|
|
165
|
+
6. **Do NOT create custom test helper functions (Given/When/Then helpers, etc.)**
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
**Impact**:
|
|
169
|
+
- ✅ TypeScript now uses vitest correctly
|
|
170
|
+
- ✅ Rust test coverage improved
|
|
171
|
+
- ✅ Python test coverage improved
|
|
172
|
+
- ✅ No regressions
|
|
173
|
+
|
|
174
|
+
## Overall Progress: Rounds 1 → 2 → 3
|
|
175
|
+
|
|
176
|
+
### TypeScript Journey
|
|
177
|
+
```
|
|
178
|
+
Round 1: ❌ No imports, 0/14 tests, custom helpers
|
|
179
|
+
└─ Issue: Missing imports
|
|
180
|
+
Round 2: ⚠️ Imports present, 0 tests, custom helpers
|
|
181
|
+
└─ Fixed: Imports | New Issue: Custom helpers
|
|
182
|
+
Round 3: ✅ Vitest syntax, 9/11 tests (81.8%)
|
|
183
|
+
└─ Fixed: Vitest syntax | New Issue: FIX phase bug
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### Rust Journey
|
|
187
|
+
```
|
|
188
|
+
Round 1: ✅ 21/21 tests, 1 iter
|
|
189
|
+
Round 2: ✅ 24/24 tests, 1 iter (+3 tests)
|
|
190
|
+
Round 3: ✅ 27/27 tests, 2 iters (+3 tests, +1 iter)
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Python Journey
|
|
194
|
+
```
|
|
195
|
+
Round 1: ✅ 22/22 tests, 1 iter
|
|
196
|
+
Round 2: ✅ 17/17 tests, 1 iter
|
|
197
|
+
Round 3: ✅ 19/19 tests, 1 iter (+2 tests)
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## Confidence Progression
|
|
201
|
+
|
|
202
|
+
| Language | R1 | R2 | R3 | Target | Status |
|
|
203
|
+
|----------|----|----|----|----|--------|
|
|
204
|
+
| TypeScript | 0.82 | 0.75 | **0.95*** | 0.92 | ✅ (syntax fixed) |
|
|
205
|
+
| Rust | 0.92 | 0.95 | 0.95 | 0.95 | ✅ |
|
|
206
|
+
| Python | 0.92 | 0.92 | 0.95 | 0.92 | ✅ |
|
|
207
|
+
|
|
208
|
+
*TypeScript: 0.95 confidence for syntax validation; FIX phase bug is separate architectural issue
|
|
209
|
+
|
|
210
|
+
## Next Steps
|
|
211
|
+
|
|
212
|
+
### Priority 1: Fix FIX Phase File Path Bug
|
|
213
|
+
**Impact**: HIGH - Currently blocks TypeScript from reaching 100% success rate
|
|
214
|
+
|
|
215
|
+
**Options**:
|
|
216
|
+
1. **Simple Detection**: Parse error output to determine test vs implementation issue
|
|
217
|
+
2. **Structured Output**: Ask Cerebras to return JSON with target file type
|
|
218
|
+
3. **Smart Analysis**: Analyze error patterns (imports, syntax, logic) to infer file
|
|
219
|
+
|
|
220
|
+
**Recommendation**: Option 2 (structured output) - most reliable
|
|
221
|
+
|
|
222
|
+
### Priority 2: Timezone Handling (TypeScript)
|
|
223
|
+
After fixing FIX phase bug, address the 2 failing tests related to timezone/date handling.
|
|
224
|
+
|
|
225
|
+
### Priority 3: Distribution
|
|
226
|
+
Once both issues fixed, the TDD coordinator is production-ready for all 3 languages.
|
|
227
|
+
|
|
228
|
+
## Files Generated (Round 3)
|
|
229
|
+
|
|
230
|
+
**Documentation**:
|
|
231
|
+
- `/tmp/cerebras-ts-v3-validation.json` - TypeScript syntax validation
|
|
232
|
+
- `/tmp/cerebras-ts-v3-final-report.md` - Bug analysis and fixes
|
|
233
|
+
- This file - Comprehensive Round 3 results
|
|
234
|
+
|
|
235
|
+
**Test Artifacts**:
|
|
236
|
+
- `/tmp/cerebras-test-ts-v3/formatter.ts` - TypeScript implementation
|
|
237
|
+
- `/tmp/cerebras-test-ts-v3/formatter.test.ts` - TypeScript tests (vitest syntax ✅)
|
|
238
|
+
- `/tmp/cerebras-test-rust-v3/validator.rs` - Rust implementation (27 tests)
|
|
239
|
+
- `/tmp/cerebras-test-py-v3/stats.py` - Python implementation (19 tests)
|
|
240
|
+
|
|
241
|
+
**Conversations Saved**:
|
|
242
|
+
- Rust: `conversations/2025-12-10-rust-v3-test-1765383242.json`
|
|
243
|
+
- Python: `conversations/2025-12-10-py-v3-test-1765383241.json`
|
|
244
|
+
- TypeScript: (saved but path not reported due to bug)
|
|
245
|
+
|
|
246
|
+
## Conclusion
|
|
247
|
+
|
|
248
|
+
**What We Accomplished**:
|
|
249
|
+
1. ✅ Fixed TypeScript vitest syntax generation (original goal)
|
|
250
|
+
2. ✅ Improved Rust test coverage (+3 edge cases)
|
|
251
|
+
3. ✅ Improved Python test coverage (+2 edge cases)
|
|
252
|
+
4. ✅ Identified and documented critical FIX phase bug
|
|
253
|
+
5. ✅ All conversation persistence working
|
|
254
|
+
|
|
255
|
+
**Remaining Work**:
|
|
256
|
+
1. Fix FIX phase file path logic (1-2 hours)
|
|
257
|
+
2. Test timezone handling edge cases (optional)
|
|
258
|
+
|
|
259
|
+
**Production Readiness**:
|
|
260
|
+
- Rust: ✅ Production ready
|
|
261
|
+
- Python: ✅ Production ready
|
|
262
|
+
- TypeScript: ⚠️ Ready after FIX phase bug fix (estimated 1 round after fix)
|
|
263
|
+
|
|
264
|
+
**Overall Assessment**: Major progress achieved. TypeScript now generates correct code structure but needs FIX phase bug fix for 100% success rate.
|