Tree-sitter 0.23으로 다국어 파서를 하나의 인터페이스로 묶기
16개 언어를 지원한다고 파서 경로를 16개 만들면 유지보수가 끝장난다. amdb는 공통 심볼 추출 경로 하나를 두고, 언어별 차이는 enricher로만 분기한다. 모든 언어가 지나가는 길은 같다: 소스 → Tree-sitter 파스 → 심볼 노드 수집. is_public 판정이나 시그니처 추출처럼 문법 지식이 필요한 강화만 언어별 enricher(Rust · Python · TypeScript)가 담당하고, enricher가 없는 언어는 심볼 추출까지만 지원한다. 새 언어 추가 비용이 "grammar crate + 쿼리"로 고정되는 것이 이 구조의 핵심이다.