claude-flow-novice 2.18.40 → 2.19.1
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/.claude/agents/AGENT_LIFECYCLE.md +1 -1
- package/.claude/agents/SHARED_PROTOCOL.md +33 -5
- package/.claude/agents/cfn-dev-team/analysts/analyst.md +4 -4
- package/.claude/agents/cfn-dev-team/analysts/root-cause-analyst.md +4 -4
- package/.claude/agents/cfn-dev-team/architecture/api-designer-persona.md +4 -4
- package/.claude/agents/cfn-dev-team/architecture/base-template-generator.md +4 -4
- package/.claude/agents/cfn-dev-team/architecture/goal-planner.md +4 -4
- package/.claude/agents/cfn-dev-team/architecture/system-architect.md +4 -4
- package/.claude/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +4 -4
- package/.claude/agents/cfn-dev-team/coordinators/handoff-coordinator.md +4 -4
- package/.claude/agents/cfn-dev-team/dev-ops/devops-engineer.md +4 -4
- package/.claude/agents/cfn-dev-team/dev-ops/docker-specialist.md +4 -4
- package/.claude/agents/cfn-dev-team/dev-ops/fly-io-specialist.md +418 -0
- package/.claude/agents/cfn-dev-team/dev-ops/github-commit-agent.md +4 -4
- package/.claude/agents/cfn-dev-team/developers/api-gateway-specialist.md +4 -4
- package/.claude/agents/cfn-dev-team/developers/backend-developer.md +4 -4
- package/.claude/agents/cfn-dev-team/developers/data/data-engineer.md +4 -4
- package/.claude/agents/cfn-dev-team/developers/database/database-architect.md +4 -4
- package/.claude/agents/cfn-dev-team/developers/database/mem0-specialist.md +579 -0
- package/.claude/agents/cfn-dev-team/developers/database/memgraph-specialist.md +722 -0
- package/.claude/agents/cfn-dev-team/developers/database/supabase-specialist.md +4 -4
- package/.claude/agents/cfn-dev-team/developers/frontend/mobile-dev.md +4 -4
- package/.claude/agents/cfn-dev-team/developers/frontend/react-frontend-engineer.md +4 -4
- package/.claude/agents/cfn-dev-team/developers/frontend/typescript-specialist.md +4 -4
- package/.claude/agents/cfn-dev-team/developers/frontend/ui-designer.md +4 -4
- package/.claude/agents/cfn-dev-team/developers/graphql-specialist.md +4 -4
- package/.claude/agents/cfn-dev-team/developers/rust-developer.md +4 -4
- package/.claude/agents/cfn-dev-team/documentation/agent-type-guidelines.md +4 -4
- package/.claude/agents/cfn-dev-team/documentation/api-documentation.md +4 -4
- package/.claude/agents/cfn-dev-team/documentation/pseudocode.md +5 -5
- package/.claude/agents/cfn-dev-team/documentation/specification-agent.md +5 -5
- package/.claude/agents/cfn-dev-team/product-owners/accessibility-advocate-persona.md +4 -4
- package/.claude/agents/cfn-dev-team/product-owners/cto-agent.md +4 -4
- package/.claude/agents/cfn-dev-team/product-owners/power-user-persona.md +4 -4
- package/.claude/agents/cfn-dev-team/product-owners/product-owner.md +4 -4
- package/.claude/agents/cfn-dev-team/reviewers/code-reviewer.md +4 -4
- package/.claude/agents/cfn-dev-team/reviewers/quality/code-quality-validator.md +4 -4
- package/.claude/agents/cfn-dev-team/reviewers/quality/cyclomatic-complexity-reducer.md +4 -4
- package/.claude/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +4 -4
- package/.claude/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +4 -4
- package/.claude/agents/cfn-dev-team/reviewers/quality/quality-metrics.md +4 -4
- package/.claude/agents/cfn-dev-team/testers/api-testing-specialist.md +4 -4
- package/.claude/agents/cfn-dev-team/testers/chaos-engineering-specialist.md +4 -4
- package/.claude/agents/cfn-dev-team/testers/contract-tester.md +4 -4
- package/.claude/agents/cfn-dev-team/testers/e2e/playwright-tester.md +4 -4
- package/.claude/agents/cfn-dev-team/testers/integration-tester.md +4 -4
- package/.claude/agents/cfn-dev-team/testers/interaction-tester.md +4 -4
- package/.claude/agents/cfn-dev-team/testers/load-testing-specialist.md +4 -4
- package/.claude/agents/cfn-dev-team/testers/mutation-testing-specialist.md +4 -4
- package/.claude/agents/cfn-dev-team/testers/playwright-tester.md +4 -4
- package/.claude/agents/cfn-dev-team/{testing → testers}/test-validation-agent.md +4 -4
- package/.claude/agents/cfn-dev-team/testers/tester.md +39 -4
- package/.claude/agents/cfn-dev-team/testers/unit/tdd-london-unit-swarm.md +4 -4
- package/.claude/agents/cfn-dev-team/testers/validation/validation-production-validator.md +4 -4
- package/.claude/agents/cfn-dev-team/utility/agent-builder.md +7 -7
- package/.claude/agents/cfn-dev-team/utility/memory-leak-specialist.md +4 -4
- package/.claude/agents/cfn-dev-team/utility/researcher.md +4 -4
- package/.claude/agents/cfn-dev-team/utility/z-ai-specialist.md +4 -4
- package/.claude/agents/custom/claude-code-expert.md +1 -1
- package/.claude/agents/project-only-agents/npm-package-specialist.md +1 -1
- package/.claude/{agents/cfn-dev-team/utility → cfn-extras/agents}/context-curator.md +4 -4
- package/.claude/{agents/custom → cfn-extras/agents/custom-agents}/cfn-docker-expert.md +4 -4
- package/.claude/{agents/custom → cfn-extras/agents/custom-agents}/cfn-redis-operations.md +1 -1
- package/.claude/{agents/custom → cfn-extras/agents/custom-agents}/cfn-system-expert.md +4 -4
- package/.claude/{agents/custom → cfn-extras/agents/custom-agents}/trigger-dev-expert.md +4 -4
- package/.claude/{agents/cfn-dev-team/coordinators → cfn-extras/agents/deprecated-coordinators}/consensus-builder.md +4 -4
- package/.claude/{agents/cfn-dev-team/coordinators → cfn-extras/agents/deprecated-coordinators}/multi-sprint-coordinator.md +4 -4
- package/.claude/{agents → cfn-extras/agents/docker-team}/docker-coordinators/cfn-docker-v3-coordinator.md +1 -1
- package/.claude/{agents/cfn-dev-team/dev-ops → cfn-extras/agents}/kubernetes-specialist.md +4 -4
- package/.claude/{agents/cfn-dev-team/architecture → cfn-extras/agents}/planner.md +4 -4
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/QUICKSTART.md +1 -1
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/README.md +19 -19
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/SKILL.md +7 -7
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/TDD_COORDINATOR_OVERVIEW.md +3 -3
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/TEST_RESULTS.md +3 -3
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/coordinate-generation.sh +19 -19
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/example-fix-scenario.md +4 -4
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/example-usage.sh +1 -1
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/feedback-logger.sh +5 -5
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/fix-existing-code-v2.sh +2 -2
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/fix-existing-code.sh +10 -10
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/pattern-examples.md +3 -3
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/query-patterns.sh +9 -9
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/tdd-coordinator.sh +8 -8
- package/.claude/cfn-extras/skills/cfn-cerebras-coordinator/test-tdd-coordinator.sh +1 -1
- package/.claude/commands/README.md +1 -1
- package/.claude/commands/{cfn-ruvector → cfn-codesearch}/cfn-codebase-reindex.md +6 -6
- package/.claude/commands/{cfn-ruvector → cfn-codesearch}/cfn-codebase-search.md +8 -8
- package/.claude/commands/{cfn-ruvector → cfn-codesearch}/cfn-detect-stale-docs.md +3 -3
- package/.claude/commands/cfn-codesearch-search.md +36 -0
- package/.claude/commands/cfn-fix-errors.md +1 -1
- package/.claude/commands/cfn-loop-task.md +66 -2
- package/.claude/commands/cfn-update-search-index.md +2 -2
- package/.claude/hooks/cfn-SessionStart-cfn-build-codesearch.sh +24 -0
- package/.claude/hooks/cfn-bash-search-hook.sh +6 -6
- package/.claude/hooks/cfn-smart-search-hook.sh +15 -15
- package/.claude/hooks/cfn-subagent-stop.sh +9 -9
- package/.claude/hooks/post-commit-codebase-index +14 -14
- package/.claude/skills/{bulk-add-ruvector-instructions.sh → bulk-add-codesearch-instructions.sh} +14 -14
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/AGENT_INTEGRATION_PATTERNS.md +20 -20
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/AGENT_LIFECYCLE_INTEGRATION.md +12 -12
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/Cargo.toml +9 -4
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/EXTRACTION_EXAMPLES.md +6 -6
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/IMMEDIATE_ACTION_REQUIRED.md +9 -9
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/README.md +7 -7
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/SCHEMA_V2_IMPLEMENTATION.md +1 -1
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/SECURITY_FINDINGS_SUMMARY.txt +1 -1
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/SECURITY_IMPLEMENTATION.md +3 -3
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/SECURITY_TESTING_COMPLETION.md +5 -5
- package/.claude/skills/cfn-codesearch/SKILL.md +143 -0
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/analyze-agent-failures.sh +11 -11
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/cfn-integration.sh +29 -29
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/docs/EXECUTIVE_SUMMARY.txt +1 -1
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/docs/PHASE_4_QUERY_API.md +24 -24
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/docs/RUST_AST_EXTRACTOR_IMPLEMENTATION.md +7 -7
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/docs/TRANSACTION_MANAGEMENT.md +1 -1
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/docs/VALIDATION_FINDINGS.txt +1 -1
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/epic-ast-indexer.json +8 -8
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/index-code.sh +11 -11
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/index_all.sh +2 -2
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/ingest-agent-transcript.sh +10 -10
- package/.claude/skills/{cfn-local-ruvector-accelerator/init-local-ruvector.sh → cfn-codesearch/init-local-codesearch.sh} +16 -16
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/project-structure.md +10 -10
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/query-local.sh +6 -6
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/cli/cleanup.rs +1 -1
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/cli/index.rs +238 -9
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/cli/index_ast.rs +3 -3
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/cli/init.rs +19 -19
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/cli/migration.rs +5 -5
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/cli/query.rs +64 -3
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/cli/reset.rs +5 -5
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/embeddings.rs +19 -5
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/lib.rs +6 -4
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/main.rs +37 -27
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/migration_v2.rs +1 -1
- package/.claude/skills/cfn-codesearch/src/paths.rs +37 -0
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/query_v2.rs +3 -4
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/search_engine.rs +3 -3
- package/.claude/skills/cfn-codesearch/src/store_pgvector.rs +301 -0
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/store_v2.rs +12 -1
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/test-agent-lifecycle-integration.sh +6 -6
- package/.claude/skills/{cfn-local-ruvector-accelerator/test-local-ruvector.sh → cfn-codesearch/test-local-codesearch.sh} +7 -7
- package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/test_query_api.sh +2 -2
- package/.claude/skills/cfn-epic-creator/SKILL.md +110 -2
- package/.claude/skills/cfn-epic-creator/invoke.sh +120 -1
- package/.claude/skills/cfn-knowledge-base/lib/playbook/SKILL.md +1 -1
- package/.claude/skills/cfn-mdap-context-injection/SKILL.md +2 -2
- package/.claude/skills/cfn-mdap-context-injection/inject.sh +23 -23
- package/CLAUDE.md +3 -3
- package/package.json +11 -11
- package/readme/feature-status.md +411 -0
- package/.claude/agents/docker-ts-fixer.md +0 -65
- package/.claude/commands/cfn-ruvector-search.md +0 -36
- package/.claude/hooks/cfn-SessionStart-cfn-build-ruvector.sh +0 -24
- package/.claude/skills/cfn-local-ruvector-accelerator/.claude/hooks/SessionStart-cfn-build-ruvector.sh +0 -13
- package/.claude/skills/cfn-local-ruvector-accelerator/SKILL.md +0 -143
- package/.claude/skills/cfn-local-ruvector-accelerator/src/paths.rs +0 -31
- /package/.claude/{agents/custom → cfn-extras/agents/custom-agents}/cfn-loops-cli-expert.md +0 -0
- /package/.claude/{agents/csuite → cfn-extras/agents/custom-agents}/cto-agent.md +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/Cargo.toml.backup +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/embeddings_manager.py.backup +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/index/index.bin +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/index/metadata.json +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/index-code.sh.backup +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/query-agent-patterns.sh +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/requirements.txt +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/search_engine_v2.py.backup +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/sqlite_store.py.backup +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/cli/export.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/cli/find.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/cli/index_modified.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/cli/mod.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/cli/refs.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/cli/stats.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/extractors/mod.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/extractors/rust.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/extractors/rust_placeholder.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/extractors/text_fallback.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/extractors/typescript.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/extractors/typescript_full.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/main.rs.backup +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/migration.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/migration_backup.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/migration_tx.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/path_validator.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/query_api.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/schema_v2.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/security_tests.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/sqlite_store.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/store_v2_backup.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/store_v2_fixed.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/store_v2_tx.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/test_schema.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/src/transaction_tests.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/test_ast_indexing.rs +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/test_schema.sql +0 -0
- /package/.claude/skills/{cfn-local-ruvector-accelerator → cfn-codesearch}/test_schema_v2.sql +0 -0
|
@@ -9,6 +9,9 @@ use crate::schema_v2::{EntityKind, RefKind, Visibility};
|
|
|
9
9
|
use crate::search_engine::SearchResult;
|
|
10
10
|
use crate::path_validator;
|
|
11
11
|
|
|
12
|
+
/// Expected embedding dimension for text-embedding-3-small model
|
|
13
|
+
const EMBEDDING_DIMENSION: usize = 1536;
|
|
14
|
+
|
|
12
15
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
|
13
16
|
pub struct Entity {
|
|
14
17
|
pub id: i64,
|
|
@@ -385,7 +388,15 @@ impl StoreV2 {
|
|
|
385
388
|
// Embedding operations
|
|
386
389
|
pub fn store_embedding(&self, entity_id: i64, embedding: &[f32], model: &str) -> Result<()> {
|
|
387
390
|
debug!("Storing embedding for entity: {}", entity_id);
|
|
388
|
-
|
|
391
|
+
|
|
392
|
+
// Validate embedding dimension
|
|
393
|
+
if embedding.len() != EMBEDDING_DIMENSION {
|
|
394
|
+
return Err(anyhow!(
|
|
395
|
+
"Invalid embedding dimension: expected {}, got {} for entity_id {}",
|
|
396
|
+
EMBEDDING_DIMENSION, embedding.len(), entity_id
|
|
397
|
+
));
|
|
398
|
+
}
|
|
399
|
+
|
|
389
400
|
// Serialize embedding to bytes
|
|
390
401
|
let embedding_bytes: Vec<u8> = embedding
|
|
391
402
|
.iter()
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
# test-agent-lifecycle-integration.sh - Test
|
|
2
|
+
# test-agent-lifecycle-integration.sh - Test CodeSearch agent lifecycle integration
|
|
3
3
|
#
|
|
4
4
|
# Purpose: Verify that transcript ingestion and failure analysis work correctly
|
|
5
5
|
|
|
@@ -17,7 +17,7 @@ GREEN='\033[0;32m'
|
|
|
17
17
|
YELLOW='\033[1;33m'
|
|
18
18
|
NC='\033[0m' # No Color
|
|
19
19
|
|
|
20
|
-
echo "===
|
|
20
|
+
echo "=== CodeSearch Agent Lifecycle Integration Test ==="
|
|
21
21
|
echo ""
|
|
22
22
|
|
|
23
23
|
# ============================================================================
|
|
@@ -195,17 +195,17 @@ echo ""
|
|
|
195
195
|
|
|
196
196
|
echo "Test 5: Verifying metadata updates..."
|
|
197
197
|
|
|
198
|
-
# Check if agent metadata was updated with
|
|
198
|
+
# Check if agent metadata was updated with CodeSearch processing flag
|
|
199
199
|
METADATA=$(sqlite3 "$DB_PATH" "SELECT metadata FROM agents WHERE id = '$TEST_AGENT_ID';")
|
|
200
200
|
|
|
201
|
-
if echo "$METADATA" | grep -q "
|
|
201
|
+
if echo "$METADATA" | grep -q "codesearch_processed"; then
|
|
202
202
|
echo -e "${GREEN}✓${NC} Agent metadata updated with processing flag"
|
|
203
203
|
else
|
|
204
204
|
echo -e "${YELLOW}⚠${NC} Agent metadata not updated"
|
|
205
205
|
fi
|
|
206
206
|
|
|
207
|
-
if echo "$METADATA" | grep -q "
|
|
208
|
-
SNIPPET_COUNT_META=$(echo "$METADATA" | grep -o '"
|
|
207
|
+
if echo "$METADATA" | grep -q "codesearch_snippets"; then
|
|
208
|
+
SNIPPET_COUNT_META=$(echo "$METADATA" | grep -o '"codesearch_snippets":[0-9]*' | cut -d':' -f2)
|
|
209
209
|
echo -e "${GREEN}✓${NC} Snippet count recorded in metadata: $SNIPPET_COUNT_META"
|
|
210
210
|
else
|
|
211
211
|
echo -e "${YELLOW}⚠${NC} Snippet count not recorded"
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
# test-local-
|
|
2
|
+
# test-local-codesearch.sh - Test Local CodeSearch implementation
|
|
3
3
|
|
|
4
4
|
set -e
|
|
5
5
|
|
|
6
6
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
7
|
-
STORAGE_PATH="${HOME}/.local-
|
|
8
|
-
TEST_DIR="/tmp/
|
|
7
|
+
STORAGE_PATH="${HOME}/.local-codesearch-test"
|
|
8
|
+
TEST_DIR="/tmp/codesearch-test-project"
|
|
9
9
|
|
|
10
|
-
echo "🧪 Testing Local
|
|
10
|
+
echo "🧪 Testing Local CodeSearch Accelerator..."
|
|
11
11
|
|
|
12
12
|
# Clean up previous test
|
|
13
13
|
rm -rf "$STORAGE_PATH" "$TEST_DIR"
|
|
@@ -168,10 +168,10 @@ EOF
|
|
|
168
168
|
|
|
169
169
|
echo "✅ Test files created"
|
|
170
170
|
|
|
171
|
-
# Initialize Local
|
|
171
|
+
# Initialize Local CodeSearch
|
|
172
172
|
echo ""
|
|
173
|
-
echo "🚀 Initializing Local
|
|
174
|
-
STORAGE_PATH="$STORAGE_PATH" "$SCRIPT_DIR/init-local-
|
|
173
|
+
echo "🚀 Initializing Local CodeSearch..."
|
|
174
|
+
STORAGE_PATH="$STORAGE_PATH" "$SCRIPT_DIR/init-local-codesearch.sh"
|
|
175
175
|
|
|
176
176
|
# Index test files
|
|
177
177
|
echo ""
|
|
@@ -9,7 +9,7 @@ echo "=== Testing Phase 4 Query API Implementation ==="
|
|
|
9
9
|
echo
|
|
10
10
|
|
|
11
11
|
# Check if the binary was built
|
|
12
|
-
BINARY_PATH="./target/debug/local-
|
|
12
|
+
BINARY_PATH="./target/debug/local-codesearch"
|
|
13
13
|
if [ ! -f "$BINARY_PATH" ]; then
|
|
14
14
|
echo "❌ Binary not found at $BINARY_PATH"
|
|
15
15
|
echo "Please build the project first with: cargo build"
|
|
@@ -57,7 +57,7 @@ echo "✅ Created test_code/sample.rs"
|
|
|
57
57
|
echo
|
|
58
58
|
|
|
59
59
|
# Test 3: Initialize and index
|
|
60
|
-
echo "4. Initializing
|
|
60
|
+
echo "4. Initializing codesearch..."
|
|
61
61
|
$BINARY_PATH init --force
|
|
62
62
|
echo
|
|
63
63
|
|
|
@@ -180,7 +180,7 @@ For each persona, spawn a Task agent that reads the epic, analyzes it, and adds
|
|
|
180
180
|
| 5 | `backend-developer` | API design, data models, services (defines API contract first) |
|
|
181
181
|
| 6 | `react-frontend-engineer` | UI/UX, client architecture (depends on backend API) |
|
|
182
182
|
| 7 | `devops-engineer` | Deployment, monitoring, infrastructure (knows full stack) |
|
|
183
|
-
| 8 | `tester` | Test strategy, coverage, production readiness |
|
|
183
|
+
| 8 | `tester` | Test strategy, coverage, production readiness **[MUST ALIGN WITH EXISTING FRAMEWORK - vitest/jest]** |
|
|
184
184
|
| 9 | `code-standards-reviewer` | Types, naming, API contracts, consistency |
|
|
185
185
|
| 10 | `strategic-alignment-reviewer` | Integration gaps, dead code, misalignments, coherence |
|
|
186
186
|
| 11 | `simplifier` | Final complexity review, scope creep detection (REVIEW ONLY - returns recommendations to user) |
|
|
@@ -220,7 +220,7 @@ YOUR JOB: Review the epic AND add your contributions to it.
|
|
|
220
220
|
- Backend: Add API endpoints, services, database schemas (defines API contract)
|
|
221
221
|
- Frontend: Add UI components, user flows, client requirements (uses backend API)
|
|
222
222
|
- DevOps: Add deployment requirements, monitoring needs, infrastructure specs
|
|
223
|
-
- Tester: Add test cases, quality gates, validation criteria
|
|
223
|
+
- Tester: Add test cases, quality gates, validation criteria **[MUST ALIGN WITH EXISTING FRAMEWORK]**
|
|
224
224
|
- Code Standards: Add naming conventions, type requirements, API contracts
|
|
225
225
|
- Strategic Alignment: Flag integration gaps, add missing connections, coherence validation
|
|
226
226
|
|
|
@@ -336,6 +336,114 @@ Main chat presents final Simplifier recommendations to user. User chooses which
|
|
|
336
336
|
16. Apply approved simplifications
|
|
337
337
|
```
|
|
338
338
|
|
|
339
|
+
## Selective Agent Validation
|
|
340
|
+
|
|
341
|
+
Instead of running all 11 personas, you can declare specific agents in your preferred order.
|
|
342
|
+
|
|
343
|
+
### Usage
|
|
344
|
+
|
|
345
|
+
```bash
|
|
346
|
+
# Run specific agents in order
|
|
347
|
+
cfn-epic-creator "Build dashboard" --agents=typescript-specialist,tester,integration-tester,react-frontend-engineer
|
|
348
|
+
|
|
349
|
+
# Run agents within each sprint context (keeps context close to execution)
|
|
350
|
+
cfn-epic-creator "Build feature" --agents=typescript-specialist,tester --per-sprint
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
### Available Agents
|
|
354
|
+
|
|
355
|
+
| Agent | Focus Area |
|
|
356
|
+
|-------|-----------|
|
|
357
|
+
| `typescript-specialist` | Cross-file type safety, imports/exports, type contracts |
|
|
358
|
+
| `tester` | Test strategy, coverage requirements, quality gates |
|
|
359
|
+
| `integration-tester` | End-to-end workflow validation, component wiring |
|
|
360
|
+
| `react-frontend-engineer` | UI components, branding, breaking error prevention |
|
|
361
|
+
| `backend-developer` | API design, data structures, service contracts |
|
|
362
|
+
| `rust-developer` | Systems programming, memory safety, performance optimization |
|
|
363
|
+
| `security-specialist` | Security review, vulnerability assessment |
|
|
364
|
+
| `code-standards-reviewer` | Naming conventions, type alignment, API consistency |
|
|
365
|
+
| `strategic-alignment-reviewer` | Integration gaps, dead code detection |
|
|
366
|
+
| `simplifier` | Scope reduction, over-engineering prevention |
|
|
367
|
+
| `product-owner` | Business value, user stories, acceptance criteria |
|
|
368
|
+
| `system-architect` | System design, scalability, technical constraints |
|
|
369
|
+
| `devops-engineer` | Deployment, infrastructure, monitoring |
|
|
370
|
+
|
|
371
|
+
### Per-Sprint Validation (--per-sprint)
|
|
372
|
+
|
|
373
|
+
When `--per-sprint` is enabled, validation agents run within each sprint/phase context rather than at the epic level. This:
|
|
374
|
+
|
|
375
|
+
1. **Keeps context close to execution** - agents see only the files/tasks in that sprint
|
|
376
|
+
2. **Catches sprint-specific issues** - type mismatches within a sprint's scope
|
|
377
|
+
3. **Reduces cognitive load** - smaller context window for more focused review
|
|
378
|
+
|
|
379
|
+
**Example workflow with --per-sprint:**
|
|
380
|
+
|
|
381
|
+
```
|
|
382
|
+
Sprint 1: Core Types
|
|
383
|
+
├── typescript-specialist reviews Sprint 1 files only
|
|
384
|
+
├── tester defines tests for Sprint 1 deliverables
|
|
385
|
+
└── Validation report for Sprint 1
|
|
386
|
+
|
|
387
|
+
Sprint 2: API Layer
|
|
388
|
+
├── typescript-specialist reviews Sprint 2 files + Sprint 1 interfaces
|
|
389
|
+
├── tester defines integration tests
|
|
390
|
+
└── Validation report for Sprint 2
|
|
391
|
+
|
|
392
|
+
Sprint 3: UI Components
|
|
393
|
+
├── react-frontend-engineer reviews Sprint 3 files
|
|
394
|
+
├── integration-tester validates full wiring
|
|
395
|
+
└── Validation report for Sprint 3
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
### Common Agent Combinations
|
|
399
|
+
|
|
400
|
+
**TypeScript-First Validation:**
|
|
401
|
+
```bash
|
|
402
|
+
--agents=typescript-specialist,code-standards-reviewer,tester
|
|
403
|
+
```
|
|
404
|
+
Sets types/imports/exports consistency, then validates naming conventions, then defines tests.
|
|
405
|
+
|
|
406
|
+
**Full-Stack Review:**
|
|
407
|
+
```bash
|
|
408
|
+
--agents=backend-developer,react-frontend-engineer,integration-tester
|
|
409
|
+
```
|
|
410
|
+
API contracts first, then UI components, then wiring validation.
|
|
411
|
+
|
|
412
|
+
**Quality Focus:**
|
|
413
|
+
```bash
|
|
414
|
+
--agents=simplifier,tester,security-specialist,code-standards-reviewer
|
|
415
|
+
```
|
|
416
|
+
Scope reduction, test strategy, security review, standards enforcement.
|
|
417
|
+
|
|
418
|
+
**Haiku Model Optimization:**
|
|
419
|
+
```bash
|
|
420
|
+
--agents=typescript-specialist,tester,integration-tester,react-frontend-engineer --per-sprint
|
|
421
|
+
```
|
|
422
|
+
Focused agents with per-sprint context for smaller models.
|
|
423
|
+
|
|
424
|
+
## Test Framework Alignment (MANDATORY)
|
|
425
|
+
|
|
426
|
+
**The tester persona MUST detect and align with existing test frameworks before defining test strategies.**
|
|
427
|
+
|
|
428
|
+
```bash
|
|
429
|
+
# Detect existing framework FIRST
|
|
430
|
+
grep -q "vitest" package.json && echo "USE VITEST"
|
|
431
|
+
grep -q "jest" package.json && echo "USE JEST"
|
|
432
|
+
ls vitest.config.* 2>/dev/null && echo "USE VITEST"
|
|
433
|
+
ls jest.config.* 2>/dev/null && echo "USE JEST"
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
| If Found | Use |
|
|
437
|
+
|----------|-----|
|
|
438
|
+
| `vitest` in package.json | `vi.fn()`, `vi.mock()`, `import { describe, it, expect } from 'vitest'` |
|
|
439
|
+
| `jest` in package.json | `jest.fn()`, `jest.mock()`, `import { describe, it, expect } from '@jest/globals'` |
|
|
440
|
+
| `vitest.config.ts` | vitest patterns |
|
|
441
|
+
| `jest.config.js` | jest patterns |
|
|
442
|
+
|
|
443
|
+
**NEVER mix vitest and jest in the same project. This causes compilation errors.**
|
|
444
|
+
|
|
445
|
+
---
|
|
446
|
+
|
|
339
447
|
## Best Practices
|
|
340
448
|
|
|
341
449
|
1. **Clear Epic Descriptions**: Provide detailed, specific descriptions including:
|
|
@@ -28,6 +28,8 @@ ENFORCE_DEVOPS=false
|
|
|
28
28
|
VERBOSE=false
|
|
29
29
|
VALIDATE_ONLY=false
|
|
30
30
|
SHOW_HELP=false
|
|
31
|
+
AGENTS=""
|
|
32
|
+
PER_SPRINT=false
|
|
31
33
|
|
|
32
34
|
# Logging functions
|
|
33
35
|
log_info() {
|
|
@@ -66,6 +68,13 @@ OPTIONS:
|
|
|
66
68
|
|
|
67
69
|
-e, --enforce-devops Include DevOps persona regardless of mode
|
|
68
70
|
|
|
71
|
+
-a, --agents <list> Ordered comma-separated list of agents to use
|
|
72
|
+
Overrides default persona sequence
|
|
73
|
+
Example: typescript-specialist,tester,integration-tester,react-frontend-engineer
|
|
74
|
+
|
|
75
|
+
--per-sprint Run validation agents within each sprint/phase
|
|
76
|
+
Keeps context close to implementation details
|
|
77
|
+
|
|
69
78
|
-t, --timeout <seconds> Timeout for persona execution [default: $DEFAULT_TIMEOUT]
|
|
70
79
|
|
|
71
80
|
-v, --verbose Enable verbose logging
|
|
@@ -84,9 +93,30 @@ EXAMPLES:
|
|
|
84
93
|
# MVP mode with DevOps enforcement
|
|
85
94
|
cfn-epic-creator "Quick prototype dashboard" --mode=mvp --enforce-devops
|
|
86
95
|
|
|
96
|
+
# Custom agents in specific order
|
|
97
|
+
cfn-epic-creator "Build dashboard" --agents=typescript-specialist,tester,integration-tester,react-frontend-engineer
|
|
98
|
+
|
|
99
|
+
# Per-sprint validation (runs agents within each sprint context)
|
|
100
|
+
cfn-epic-creator "Build feature" --agents=typescript-specialist,tester --per-sprint
|
|
101
|
+
|
|
87
102
|
# Validate epic description without execution
|
|
88
103
|
cfn-epic-creator "Test epic" --validate-only
|
|
89
104
|
|
|
105
|
+
AVAILABLE AGENTS:
|
|
106
|
+
typescript-specialist Cross-file type safety, imports/exports, type contracts
|
|
107
|
+
tester Test strategy, coverage requirements, quality gates
|
|
108
|
+
integration-tester End-to-end workflow validation, component wiring
|
|
109
|
+
react-frontend-engineer UI components, branding, breaking error prevention
|
|
110
|
+
backend-developer API design, data structures, service contracts
|
|
111
|
+
rust-developer Systems programming, memory safety, performance
|
|
112
|
+
security-specialist Security review, vulnerability assessment
|
|
113
|
+
code-standards-reviewer Naming conventions, type alignment, API consistency
|
|
114
|
+
strategic-alignment-reviewer Integration gaps, dead code detection
|
|
115
|
+
simplifier Scope reduction, over-engineering prevention
|
|
116
|
+
product-owner Business value, user stories, acceptance criteria
|
|
117
|
+
system-architect System design, scalability, technical constraints
|
|
118
|
+
devops-engineer Deployment, infrastructure, monitoring
|
|
119
|
+
|
|
90
120
|
SECURITY FEATURES:
|
|
91
121
|
- Input sanitization and validation
|
|
92
122
|
- Path traversal protection
|
|
@@ -128,6 +158,60 @@ validate_timeout() {
|
|
|
128
158
|
return 0
|
|
129
159
|
}
|
|
130
160
|
|
|
161
|
+
# Valid agent names for epic validation
|
|
162
|
+
VALID_AGENTS=(
|
|
163
|
+
"typescript-specialist"
|
|
164
|
+
"tester"
|
|
165
|
+
"integration-tester"
|
|
166
|
+
"react-frontend-engineer"
|
|
167
|
+
"backend-developer"
|
|
168
|
+
"rust-developer"
|
|
169
|
+
"security-specialist"
|
|
170
|
+
"code-standards-reviewer"
|
|
171
|
+
"strategic-alignment-reviewer"
|
|
172
|
+
"simplifier"
|
|
173
|
+
"product-owner"
|
|
174
|
+
"system-architect"
|
|
175
|
+
"devops-engineer"
|
|
176
|
+
)
|
|
177
|
+
|
|
178
|
+
# Validate agent name
|
|
179
|
+
validate_agent_name() {
|
|
180
|
+
local agent="$1"
|
|
181
|
+
for valid in "${VALID_AGENTS[@]}"; do
|
|
182
|
+
if [[ "$agent" == "$valid" ]]; then
|
|
183
|
+
return 0
|
|
184
|
+
fi
|
|
185
|
+
done
|
|
186
|
+
log_error "Invalid agent: $agent"
|
|
187
|
+
log_error "Valid agents: ${VALID_AGENTS[*]}"
|
|
188
|
+
return 1
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
# Validate agents list (comma-separated)
|
|
192
|
+
validate_agents() {
|
|
193
|
+
local agents_str="$1"
|
|
194
|
+
|
|
195
|
+
if [[ -z "$agents_str" ]]; then
|
|
196
|
+
return 0 # Empty is allowed (uses default)
|
|
197
|
+
fi
|
|
198
|
+
|
|
199
|
+
log_info "Validating agents list: $agents_str"
|
|
200
|
+
|
|
201
|
+
IFS=',' read -ra agent_array <<< "$agents_str"
|
|
202
|
+
|
|
203
|
+
for agent in "${agent_array[@]}"; do
|
|
204
|
+
# Trim whitespace
|
|
205
|
+
agent=$(echo "$agent" | xargs)
|
|
206
|
+
if ! validate_agent_name "$agent"; then
|
|
207
|
+
return 1
|
|
208
|
+
fi
|
|
209
|
+
done
|
|
210
|
+
|
|
211
|
+
log_info "Agents list validated: ${#agent_array[@]} agents"
|
|
212
|
+
return 0
|
|
213
|
+
}
|
|
214
|
+
|
|
131
215
|
# Parse command line arguments
|
|
132
216
|
parse_arguments() {
|
|
133
217
|
while [[ $# -gt 0 ]]; do
|
|
@@ -164,6 +248,22 @@ parse_arguments() {
|
|
|
164
248
|
ENFORCE_DEVOPS=true
|
|
165
249
|
shift
|
|
166
250
|
;;
|
|
251
|
+
-a|--agents)
|
|
252
|
+
if [[ -z "${2:-}" ]]; then
|
|
253
|
+
log_error "Agents list requires a value"
|
|
254
|
+
return 1
|
|
255
|
+
fi
|
|
256
|
+
AGENTS="$2"
|
|
257
|
+
shift 2
|
|
258
|
+
;;
|
|
259
|
+
--agents=*)
|
|
260
|
+
AGENTS="${1#--agents=}"
|
|
261
|
+
shift
|
|
262
|
+
;;
|
|
263
|
+
--per-sprint)
|
|
264
|
+
PER_SPRINT=true
|
|
265
|
+
shift
|
|
266
|
+
;;
|
|
167
267
|
-t|--timeout)
|
|
168
268
|
if [[ -z "${2:-}" ]]; then
|
|
169
269
|
log_error "Timeout requires a value"
|
|
@@ -263,6 +363,8 @@ execute_epic_creator() {
|
|
|
263
363
|
local mode="$2"
|
|
264
364
|
local output_file="$3"
|
|
265
365
|
local enforce_devops="$4"
|
|
366
|
+
local agents="${5:-}"
|
|
367
|
+
local per_sprint="${6:-false}"
|
|
266
368
|
|
|
267
369
|
log_info "Executing epic creator..."
|
|
268
370
|
|
|
@@ -289,6 +391,14 @@ execute_epic_creator() {
|
|
|
289
391
|
agent_cmd+=(--output="$output_file")
|
|
290
392
|
fi
|
|
291
393
|
|
|
394
|
+
if [[ -n "$agents" ]]; then
|
|
395
|
+
agent_cmd+=(--agents="$agents")
|
|
396
|
+
fi
|
|
397
|
+
|
|
398
|
+
if [[ "$per_sprint" == "true" ]]; then
|
|
399
|
+
agent_cmd+=(--per-sprint)
|
|
400
|
+
fi
|
|
401
|
+
|
|
292
402
|
agent_cmd+=("$description")
|
|
293
403
|
|
|
294
404
|
log_info "Command: ${agent_cmd[*]}"
|
|
@@ -404,6 +514,11 @@ main() {
|
|
|
404
514
|
exit 1
|
|
405
515
|
fi
|
|
406
516
|
|
|
517
|
+
# Validate agents list
|
|
518
|
+
if ! validate_agents "$AGENTS"; then
|
|
519
|
+
exit 1
|
|
520
|
+
fi
|
|
521
|
+
|
|
407
522
|
# Generate output filename if not provided
|
|
408
523
|
if [[ -z "$OUTPUT_FILE" ]]; then
|
|
409
524
|
OUTPUT_FILE=$(generate_output_filename)
|
|
@@ -415,6 +530,10 @@ main() {
|
|
|
415
530
|
log_info "Timeout: ${timeout}s"
|
|
416
531
|
log_info "Output: $OUTPUT_FILE"
|
|
417
532
|
log_info "Enforce DevOps: $ENFORCE_DEVOPS"
|
|
533
|
+
if [[ -n "$AGENTS" ]]; then
|
|
534
|
+
log_info "Custom Agents: $AGENTS"
|
|
535
|
+
fi
|
|
536
|
+
log_info "Per-Sprint Validation: $PER_SPRINT"
|
|
418
537
|
|
|
419
538
|
# If validate only, exit here
|
|
420
539
|
if [[ "$VALIDATE_ONLY" == "true" ]]; then
|
|
@@ -423,7 +542,7 @@ main() {
|
|
|
423
542
|
fi
|
|
424
543
|
|
|
425
544
|
# Execute epic creator
|
|
426
|
-
if execute_epic_creator "$epic_description" "$MODE" "$OUTPUT_FILE" "$ENFORCE_DEVOPS"; then
|
|
545
|
+
if execute_epic_creator "$epic_description" "$MODE" "$OUTPUT_FILE" "$ENFORCE_DEVOPS" "$AGENTS" "$PER_SPRINT"; then
|
|
427
546
|
# Generate summary if output file exists
|
|
428
547
|
if [[ -f "$OUTPUT_FILE" ]]; then
|
|
429
548
|
echo ""
|
|
@@ -136,7 +136,7 @@ Used by:
|
|
|
136
136
|
- `.claude/agents/cfn-v3-coordinator.md` - Query for similar tasks
|
|
137
137
|
- Main Chat post-execution - Update playbook after PROCEED
|
|
138
138
|
- Loop 5 retrospective - Extract patterns and update playbook
|
|
139
|
-
-
|
|
139
|
+
- CodeSearch integration - Auto-update via semantic analysis
|
|
140
140
|
|
|
141
141
|
## Directory Structure
|
|
142
142
|
|
|
@@ -23,10 +23,10 @@ Outputs portions of CFN MDAP codebase grouped by functional area for debugging.
|
|
|
23
23
|
# How to use
|
|
24
24
|
Basic: bash inject.sh --docker
|
|
25
25
|
Advanced: bash inject.sh --docker --cfn-loop (combined contexts)
|
|
26
|
-
Full: bash inject.sh --all --
|
|
26
|
+
Full: bash inject.sh --all --codesearch --tests (~260K tokens)
|
|
27
27
|
|
|
28
28
|
# Parameters
|
|
29
|
-
--all, --coordinator, --mdap, --cli, --docker, --cfn-loop, --config, --decomposers, --validators, --index, --
|
|
29
|
+
--all, --coordinator, --mdap, --cli, --docker, --cfn-loop, --config, --decomposers, --validators, --index, --codesearch, --tests, --file <path>
|
|
30
30
|
|
|
31
31
|
# Expected output
|
|
32
32
|
Concatenated file contents with === FILE: path === delimiters
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
# ./inject.sh --config # Configuration files
|
|
13
13
|
# ./inject.sh --decomposers # Decomposer tasks
|
|
14
14
|
# ./inject.sh --validators # Async validators
|
|
15
|
-
# ./inject.sh --
|
|
15
|
+
# ./inject.sh --codesearch # CodeSearch integration (analytics, RAG, learning)
|
|
16
16
|
# ./inject.sh --tests # Test files (mdap-analytics, integration)
|
|
17
17
|
# ./inject.sh --file <path> # Specific file
|
|
18
18
|
|
|
@@ -68,22 +68,22 @@ INDEX_FILES=(
|
|
|
68
68
|
"lib/mdap/index.ts"
|
|
69
69
|
)
|
|
70
70
|
|
|
71
|
-
#
|
|
72
|
-
|
|
73
|
-
"lib/mdap/
|
|
74
|
-
"lib/mdap/
|
|
75
|
-
"lib/mdap/
|
|
76
|
-
"lib/mdap/
|
|
77
|
-
"lib/mdap/
|
|
78
|
-
"lib/mdap/
|
|
79
|
-
"lib/mdap/
|
|
71
|
+
# CodeSearch integration files
|
|
72
|
+
CODESEARCH_FILES=(
|
|
73
|
+
"lib/mdap/codesearch-mdap-analytics.ts"
|
|
74
|
+
"lib/mdap/codesearch-rag-decomposition.ts"
|
|
75
|
+
"lib/mdap/codesearch-learning-hooks.ts"
|
|
76
|
+
"lib/mdap/codesearch-error-pattern-learning.ts"
|
|
77
|
+
"lib/mdap/codesearch-schemas.ts"
|
|
78
|
+
"lib/mdap/codesearch-init.ts"
|
|
79
|
+
"lib/mdap/codesearch-auth.ts"
|
|
80
80
|
)
|
|
81
81
|
|
|
82
82
|
# Test files
|
|
83
83
|
TEST_FILES=(
|
|
84
|
-
"tests/
|
|
85
|
-
"tests/
|
|
86
|
-
"tests/integration/
|
|
84
|
+
"tests/codesearch/mdap-analytics.test.ts"
|
|
85
|
+
"tests/codesearch/test-utils.ts"
|
|
86
|
+
"tests/integration/codesearch-mdap-integration.test.ts"
|
|
87
87
|
"tests/decomposition/context-passing.test.ts"
|
|
88
88
|
"tests/decomposition/sequential-flow.test.ts"
|
|
89
89
|
)
|
|
@@ -162,7 +162,7 @@ main() {
|
|
|
162
162
|
local inject_decomposers=false
|
|
163
163
|
local inject_validators=false
|
|
164
164
|
local inject_index=false
|
|
165
|
-
local
|
|
165
|
+
local inject_codesearch=false
|
|
166
166
|
local inject_tests=false
|
|
167
167
|
local specific_file=""
|
|
168
168
|
|
|
@@ -209,8 +209,8 @@ main() {
|
|
|
209
209
|
inject_index=true
|
|
210
210
|
shift
|
|
211
211
|
;;
|
|
212
|
-
--
|
|
213
|
-
|
|
212
|
+
--codesearch)
|
|
213
|
+
inject_codesearch=true
|
|
214
214
|
shift
|
|
215
215
|
;;
|
|
216
216
|
--tests)
|
|
@@ -237,7 +237,7 @@ main() {
|
|
|
237
237
|
echo " --decomposers Decomposer tasks"
|
|
238
238
|
echo " --validators Async validators"
|
|
239
239
|
echo " --index Index exports (types)"
|
|
240
|
-
echo " --
|
|
240
|
+
echo " --codesearch CodeSearch integration (~88K tokens)"
|
|
241
241
|
echo " --tests Test files (~40K tokens)"
|
|
242
242
|
echo " --file <path> Specific file"
|
|
243
243
|
echo ""
|
|
@@ -250,7 +250,7 @@ main() {
|
|
|
250
250
|
echo "Used By:"
|
|
251
251
|
echo " cfn-docker-expert --> --docker"
|
|
252
252
|
echo " cfn-loops-cli-expert --> --cli [+ --cfn-loop]"
|
|
253
|
-
echo " mdap-trigger-specialist --> --all [+ --
|
|
253
|
+
echo " mdap-trigger-specialist --> --all [+ --codesearch --tests]"
|
|
254
254
|
echo ""
|
|
255
255
|
echo " -h, --help Show this help"
|
|
256
256
|
exit 0
|
|
@@ -269,7 +269,7 @@ main() {
|
|
|
269
269
|
"$inject_docker" == "false" && "$inject_cfn_loop" == "false" && \
|
|
270
270
|
"$inject_config" == "false" && "$inject_decomposers" == "false" && \
|
|
271
271
|
"$inject_validators" == "false" && "$inject_index" == "false" && \
|
|
272
|
-
"$
|
|
272
|
+
"$inject_codesearch" == "false" && "$inject_tests" == "false" && \
|
|
273
273
|
-z "$specific_file" ]]; then
|
|
274
274
|
inject_all=true
|
|
275
275
|
fi
|
|
@@ -285,7 +285,7 @@ main() {
|
|
|
285
285
|
fi
|
|
286
286
|
|
|
287
287
|
# Handle --all (core MDAP workflow only - ~90K tokens)
|
|
288
|
-
# Use --
|
|
288
|
+
# Use --codesearch and --tests explicitly for extended context
|
|
289
289
|
if [[ "$inject_all" == "true" ]]; then
|
|
290
290
|
inject_coordinator=true
|
|
291
291
|
inject_mdap=true
|
|
@@ -293,7 +293,7 @@ main() {
|
|
|
293
293
|
inject_decomposers=true
|
|
294
294
|
inject_validators=true
|
|
295
295
|
inject_index=true
|
|
296
|
-
# Note:
|
|
296
|
+
# Note: codesearch and tests not included in --all by default
|
|
297
297
|
fi
|
|
298
298
|
|
|
299
299
|
# Output requested groups
|
|
@@ -333,8 +333,8 @@ main() {
|
|
|
333
333
|
output_group VALIDATOR_FILES "VALIDATORS"
|
|
334
334
|
fi
|
|
335
335
|
|
|
336
|
-
if [[ "$
|
|
337
|
-
output_group
|
|
336
|
+
if [[ "$inject_codesearch" == "true" ]]; then
|
|
337
|
+
output_group CODESEARCH_FILES "CODESEARCH INTEGRATION"
|
|
338
338
|
fi
|
|
339
339
|
|
|
340
340
|
if [[ "$inject_tests" == "true" ]]; then
|
package/CLAUDE.md
CHANGED
|
@@ -12,11 +12,11 @@
|
|
|
12
12
|
|
|
13
13
|
## Style
|
|
14
14
|
|
|
15
|
-
Speak plainly, no fluff. Bullets > prose. Cite paths with line numbers (`src/app.ts:42`). Redact secrets as `[REDACTED]`. Avoid exaggeration, 'you're right', and self-congratulatory language
|
|
15
|
+
Speak plainly, no fluff. Bullets > prose. Cite paths with line numbers (`src/app.ts:42`). Redact secrets as `[REDACTED]`. Avoid exaggeration, 'you're right', and self-congratulatory language. Do not give code examples unless specifically asked
|
|
16
16
|
|
|
17
17
|
## Rules
|
|
18
18
|
|
|
19
|
-
- **
|
|
19
|
+
- **CodeSearch FIRST (MANDATORY):** Query `~/.local/share/codesearch/index_v2.db` via SQL or `.claude/skills/cfn-codesearch/` BEFORE grep/glob/find/search. SQL queries are 400x faster. Use grep ONLY for non-indexed projects or literal strings. Failure to use CodeSearch first is a protocol violation.
|
|
20
20
|
- **Agent usage:** Non-trivial tasks → CFN Loop. Solo work only for simple, isolated, <3 step tasks.
|
|
21
21
|
- **Batching:** One message per type (spawns, edits, shell, todos). Never mix implementers + validators.
|
|
22
22
|
- **Tests:** Coordinator only, sync execution. Never `run_in_background: true`. Agents read results.
|
|
@@ -65,7 +65,7 @@ Speak plainly, no fluff. Bullets > prose. Cite paths with line numbers (`src/app
|
|
|
65
65
|
| Pre-edit hook | `.claude/hooks/cfn-invoke-pre-edit.sh` |
|
|
66
66
|
| Post-edit hook | `.claude/hooks/cfn-invoke-post-edit.sh` |
|
|
67
67
|
| Backup revert | `.claude/skills/pre-edit-backup/revert-file.sh` |
|
|
68
|
-
|
|
|
68
|
+
| CodeSearch skill | `.claude/skills/cfn-codesearch/SKILL.md` |
|
|
69
69
|
|
|
70
70
|
## WSL Memory Monitor
|
|
71
71
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-flow-novice",
|
|
3
|
-
"version": "2.
|
|
4
|
-
"description": "Claude Flow Novice - Advanced orchestration platform for multi-agent AI workflows with CFN Loop architecture\n\nIncludes
|
|
3
|
+
"version": "2.19.1",
|
|
4
|
+
"description": "Claude Flow Novice - Advanced orchestration platform for multi-agent AI workflows with CFN Loop architecture\n\nIncludes CodeSearch (hybrid SQLite + pgvector), mem0/memgraph specialists, and all CFN skills.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"bin": {
|
|
@@ -54,15 +54,15 @@
|
|
|
54
54
|
"postgres:migrate": "node scripts/database/migrate.js",
|
|
55
55
|
"orchestrate:start": "./.claude/skills/cfn-loop-orchestration/orchestrate.sh",
|
|
56
56
|
"orchestrate:monitor": "tail -f .artifacts/logs/orchestration.log",
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
57
|
+
"codesearch:index": "./.claude/skills/cfn-codesearch-codebase-index/index.sh",
|
|
58
|
+
"codesearch:search": "./.claude/skills/cfn-codesearch-codebase-index/search.sh",
|
|
59
|
+
"codesearch:query-errors": "./.claude/skills/cfn-codesearch-codebase-index/query-error-patterns.sh",
|
|
60
|
+
"codesearch:query-learnings": "./.claude/skills/cfn-codesearch-codebase-index/query-learnings.sh",
|
|
61
|
+
"codesearch:local:init": "./.claude/skills/cfn-codesearch/cfn-integration.sh init",
|
|
62
|
+
"codesearch:local:index": "./.claude/skills/cfn-codesearch/cfn-integration.sh index",
|
|
63
|
+
"codesearch:local:query": "./.claude/skills/cfn-codesearch/cfn-integration.sh query",
|
|
64
|
+
"codesearch:local:stats": "./.claude/skills/cfn-codesearch/cfn-integration.sh stats",
|
|
65
|
+
"codesearch:local:build": "cd .claude/skills/cfn-codesearch && cargo build --release",
|
|
66
66
|
"check:memory": "./.claude/cfn-scripts/check-memory.sh",
|
|
67
67
|
"check:memory:kill": "./.claude/cfn-scripts/check-memory.sh --kill",
|
|
68
68
|
"ci:pre-commit": "npm run lint && npm run test:unit && npm run security:audit",
|