Search — 자기진화 파이프라인
GitHub · npm · PyPI · arXiv 병렬 탐색으로 레포/논문을 발굴 · 3축 평가 · 오프토픽 게이트 · 채택 계획 자동 생성 · git worktree sandbox 검증 · 채택 이력 추적. 전체 3-Phase 파이프라인.
개요
Comad World의 자기진화 축. Brain이 축적한 트렌드를 질의로 변환해 외부에서 관련 레포를 찾고, 엄격한 평가와 sandbox 테스트를 거쳐 채택 의사결정 이력을 JSONL에 누적합니다.
쿼리
↓
Phase 1 multi-source search (GitHub/npm/PyPI/arXiv 병렬)
↓
evaluator (trust/quality/relevance + off-topic gate)
↓ adopt · study · skip 3갈래 판정
↓
Phase 2 planner (패턴 레지스트리 기반 적용 계획)
↓ plan-cache에 SHA1(query, constraints)로 저장
↓
Phase 3 sandbox (git worktree → bun install → tsc → bun test)
↓ tests-retry(1회) + recordDecision
↓
plan-decisions.jsonl ← 채택 이력 누적
Phase 1 — 탐색 & 평가
bun run packages/search/src/cli.ts "knowledge graph MCP"
bun run packages/search/src/cli.ts "RAG pipeline" --min-stars 500
bun run packages/search/src/cli.ts "agent orchestration" --lang typescript --max 10
실제 출력
[search] Searching multiple sources for: "mcp server stdio bun typescript"
[search:pypi] Found 0 packages
[search:arxiv] Found 1 papers with code
[search:npm] Found 5 packages
[search:multiSource] 6 results from 3 sources (675ms)
[search] Found 17 repos for "mcp server stdio bun typescript" (5 sub-queries, 2091ms)
[search] Evaluating 17 candidates...
[search] Done in 2104ms: 10 adopt, 2 study, 5 skip
### [ADOPT] neo4j-contrib/mcp-neo4j (98점, 936 stars)
Trust: 91 | Quality: 100 | Relevance: 100
3축 평가 + 오프토픽 게이트
각 레포는 세 점수를 받고, anti-signal을 감점합니다. 2026-04-13 추가된 오프토픽 게이트가 도메인 벗어난 후보(CRAQ같은 genome tool 등)를 차단합니다.
| 축 | 가중치 | 입력 |
|---|---|---|
| trust | 0.2 | star/fork 비율, 최근 커밋, issue 건강도, license 존재 |
| quality | 0.3 | README 품질, CI 존재, 테스트 존재, getting-started 섹션 |
| relevance | 0.5 | comad.config.yaml 키워드 매칭 수 |
Anti-signals (8개)
- 마케팅 과잉 README (🚀🔥⚡ 연발, "blazing fast", "revolutionary")
- 라이선스 없음
- 이슈 대비 스타 비율 비정상 (방치 가능성)
- 6개월 이상 커밋 없음
- 스타 대비 포크 극히 낮음 (구경꾼 레포)
- README에 시작 가이드 없음
- comad 스택과 무관한 도메인 (genome/finance/game/physics/CMS 등)
- comad 핵심 키워드 미매치 (knowledge graph/MCP/Neo4j/agent/RAG 중 하나도 없음)
totalScore ≥ 0.5 && antiSignals ≤ 1 && !offTopic && coreMatch. 이전 버전에서 CRAQ(genome assembly)가 "improvement"/"quality" 키워드로 adopt까지 올라갔던 버그를 수정.
Phase 2 — 플랜 생성
--plan 플래그를 붙이면 adopt 판정된 레포에 대해 패턴 레지스트리(patterns.ts) 기반으로 구체적 파일 변경 계획을 만듭니다.
bun run packages/search/src/cli.ts "mcp server stdio" --plan --plan-count 3
## Adoption Plan: neo4j-contrib/mcp-neo4j
Summary: 3개 패턴을 brain/packages/mcp-server에 적용
Effort: moderate
Target: brain/packages/graphrag, brain/packages/mcp-server
### Changes (3)
- modify brain/packages/graphrag/src/index.ts
mcp-neo4j의 RAG 구현 패턴 비교 — retrieval 전략, context window 관리
Pattern: RAG pipeline
- modify brain/packages/mcp-server/src/server.ts
Pattern: MCP integration
### Risks
- [MEDIUM] MCP 서버 수정은 모든 Claude Code 도구에 영향
Mitigation: 기존 테스트 통과 확인 후 반영
Phase 3 — Sandbox 검증
--apply N으로 N번째 플랜을 실제 git worktree에 격리해 검증합니다. bun install + npx tsc --noEmit + bun test 순서로 실행하고, transient 실패 시 1회 재시도합니다.
bun run packages/search/src/cli.ts "mcp server stdio" --max 3 --apply 1
# --dry-run 으로 plan 표시만, sandbox 생성 안 함
[cache] Reusing 3 plans for "mcp server stdio"
[search] Sandbox created: .worktrees/search-adopt-neo4j-contrib-mcp-neo4j-...
Running verification (typecheck + tests)...
### Verification Results
Typecheck: PASS
Tests: PASS (152/152)
Duration: 4506ms
Branch: search/adopt-neo4j-contrib-mcp-neo4j-1776...
[PASS] All checks passed. Worktree ready for merge.
→ brain/data/plan-decisions.jsonl 에 기록:
{"date":"2026-04-13","repo_name":"neo4j-contrib/mcp-neo4j",
"patterns":["RAG pipeline","MCP integration"],
"decision":"approved","applied":true,"outcome":"positive",...}
plan-cache
--apply 1, --apply 2를 연속 호출할 때 매번 search+plan을 다시 돌리면 30-120초씩 걸리고 외부 API도 호출합니다. plan-cache가 SHA1(query, constraints)로 결과를 1시간 캐시해서 두 번째부터는 sandbox만 바로 생성됩니다.
data/search-cache/a3b5f9c2d1e47890.json
{
"ts": 1776013505955,
"plans": [ ...3 plans... ]
}
ear 자동 피드
ear-ingest(매일 07:00)가 어제 필독 기사에서 기술 토큰을 뽑아 /search에 자동 투입합니다. 자세한 내용은 Ear 가이드 — /search 자동 피드.
대시보드
bun run packages/search/src/cli.ts --stats
## /search System Health Dashboard
### Metrics Trend
Total runs: 23
Avg latency: 11,153ms
Avg adopt rate: 53.0%
Trend: improving
### Pattern Confidence
RAG pipeline: 5 approvals, 0 reverts (1.00)
MCP integration: 8 approvals, 1 revert (0.88)
Knowledge graph: 3 approvals, 0 reverts (1.00)
### Survival Analysis
Total files tracked: 24
Survived: 19
Modified: 3
Reverted: 2
Avg survival score: 0.79
관련 파일: brain/packages/search/src/{cli,evaluator,planner,sandbox,plan-cache,plan-tracker,survival,ear-ingest}.ts, brain/data/plan-decisions.jsonl