@@ -44,7 +44,7 @@ Remote server (or local):
4444
4545```
4646index: FileDiscovery → Parsers → Detectors (virtual threads) → GraphBuilder → H2 cache
47- enrich: H2 → Linkers → LayerClassifier → ServiceDetector → Neo4j (UNWIND bulk-load)
47+ enrich: H2 → Linkers → LayerClassifier → LexicalEnricher → LanguageEnricher → ServiceDetector → Neo4j (UNWIND bulk-load)
4848serve: Neo4j → GraphStore → QueryService → REST API / MCP / Web UI
4949```
5050
@@ -96,8 +96,17 @@ io.github.randomcodespace.iq
9696 |-- grammar/ # ANTLR parser factory + generated parsers
9797 |-- graph/ # GraphStore (Neo4j facade), GraphRepository (SDN, writes only)
9898 |-- health/ # GraphHealthIndicator (Spring Actuator)
99- |-- mcp/ # McpTools (31 @McpTool methods, read-only)
99+ |-- mcp/ # McpTools (34 @McpTool methods, read-only)
100100 |-- model/ # CodeNode, CodeEdge, NodeKind (32), EdgeKind (27)
101+ |-- intelligence/ # Intelligence enrichment (Phase 2-5)
102+ | |-- lexical/ # LexicalEnricher, LexicalQueryService, DocCommentExtractor, SnippetStore
103+ | |-- extractor/ # LanguageEnricher, LanguageExtractor, LanguageExtractionResult
104+ | | |-- java/ # JavaLanguageExtractor
105+ | | |-- typescript/ # TypeScriptLanguageExtractor
106+ | | |-- python/ # PythonLanguageExtractor
107+ | | |-- go/ # GoLanguageExtractor
108+ | |-- evidence/ # EvidencePack, EvidencePackAssembler
109+ | |-- query/ # QueryPlanner, QueryRoute, QueryPlan
101110 |-- query/ # QueryService, StatsService (categorized), TopologyService
102111 |-- web/ # Static resource serving (React SPA)
103112```
@@ -162,7 +171,7 @@ code-iq serve /path/to/repo # needs enrich if using index
162171
163172## Server Endpoints (all read-only)
164173
165- ### REST API (` /api ` ) -- 34 endpoints
174+ ### REST API (` /api ` ) -- 37 endpoints
166175
167176** GraphController** (` /api ` ):
168177- ` GET /api/stats ` -- Rich categorized statistics (graph, languages, frameworks, infra, connections, auth, architecture)
@@ -200,8 +209,13 @@ code-iq serve /path/to/repo # needs enrich if using index
200209- ` GET /api/flow/{view}/{nodeId}/children ` -- Node children in flow
201210- ` GET /api/flow/{view}/{nodeId}/parent ` -- Node parent in flow
202211
203- ### MCP Tools (31, via ` @McpTool ` annotation)
204- ` get_stats ` , ` get_detailed_stats ` , ` query_nodes ` , ` query_edges ` , ` get_node_neighbors ` , ` get_ego_graph ` , ` find_cycles ` , ` find_shortest_path ` , ` find_consumers ` , ` find_producers ` , ` find_callers ` , ` find_dependencies ` , ` find_dependents ` , ` find_dead_code ` , ` generate_flow ` , ` run_cypher ` , ` find_component_by_file ` , ` trace_impact ` , ` find_related_endpoints ` , ` search_graph ` , ` read_file ` , ` get_topology ` , ` service_detail ` , ` service_dependencies ` , ` service_dependents ` , ` blast_radius ` , ` find_path ` , ` find_bottlenecks ` , ` find_circular_deps ` , ` find_dead_services ` , ` find_node `
212+ ** IntelligenceController** (` /api/intelligence ` ):
213+ - ` GET /api/intelligence/evidence ` -- Evidence pack for a node
214+ - ` GET /api/intelligence/manifest ` -- Artifact manifest
215+ - ` GET /api/intelligence/capabilities ` -- Capability matrix
216+
217+ ### MCP Tools (34, via ` @McpTool ` annotation)
218+ ` get_stats ` , ` get_detailed_stats ` , ` query_nodes ` , ` query_edges ` , ` get_node_neighbors ` , ` get_ego_graph ` , ` find_cycles ` , ` find_shortest_path ` , ` find_consumers ` , ` find_producers ` , ` find_callers ` , ` find_dependencies ` , ` find_dependents ` , ` find_dead_code ` , ` generate_flow ` , ` run_cypher ` , ` find_component_by_file ` , ` trace_impact ` , ` find_related_endpoints ` , ` search_graph ` , ` read_file ` , ` get_topology ` , ` service_detail ` , ` service_dependencies ` , ` service_dependents ` , ` blast_radius ` , ` find_path ` , ` find_bottlenecks ` , ` find_circular_deps ` , ` find_dead_services ` , ` find_node ` , ` get_evidence_pack ` , ` get_artifact_metadata ` , ` get_capabilities `
205219
206220## Adding a New Detector
207221
@@ -309,13 +323,18 @@ mvn dependency-check:check
309323| ` config/JacksonConfig.java ` | Jackson config (FAIL_ON_UNKNOWN_PROPERTIES disabled for MCP compat) |
310324| ` cache/AnalysisCache.java ` | H2 incremental cache |
311325| ` api/GraphController.java ` | REST API endpoints (read-only) |
312- | ` mcp/McpTools.java ` | 31 MCP tool definitions (` @McpTool ` , read-only) |
326+ | ` mcp/McpTools.java ` | 34 MCP tool definitions (` @McpTool ` , read-only) |
313327| ` query/QueryService.java ` | Graph query operations with Spring caching |
314328| ` query/StatsService.java ` | Rich categorized statistics (7 categories) |
315329| ` query/TopologyService.java ` | Service topology queries |
316330| ` cli/IndexCommand.java ` | Memory-efficient batched indexing to H2 |
317331| ` cli/EnrichCommand.java ` | H2 → Neo4j with linkers, layers, services |
318332| ` cli/ServeCommand.java ` | Read-only server startup |
333+ | ` intelligence/extractor/LanguageEnricher.java ` | Language-specific enrichment orchestrator (Phase 5) |
334+ | ` intelligence/extractor/LanguageExtractor.java ` | Language extractor interface |
335+ | ` intelligence/evidence/EvidencePackAssembler.java ` | Evidence pack generation |
336+ | ` intelligence/query/QueryPlanner.java ` | Intelligent query routing |
337+ | ` intelligence/lexical/LexicalEnricher.java ` | Doc comment + snippet enrichment |
319338
320339## Code Conventions
321340
0 commit comments