luigidemasi opened a new issue, #22:
URL: https://github.com/apache/camel-kit/issues/22

   > Imported from 
[luigidemasi/camel-kit#38](https://github.com/luigidemasi/camel-kit/issues/38), 
opened by [luigidemasi](https://github.com/luigidemasi) on 2026-05-04.
   > Closed by 
[luigidemasi/camel-kit#39](https://github.com/luigidemasi/camel-kit/pull/39), 
merged on 2026-05-04.
   
   ---
   
   ## Description
   
   Enhance the property graph to capture the full behavioral wiring of a 
project for migration analysis. Three blind spots in the current graph degrade 
migration quality:
   
   1. **Service wiring is invisible** — `JavaGraphParser` creates 
`IMPLEMENTS`/`EXTENDS` edges but no `USES_TYPE` edges for field types or 
constructor parameters. DI annotations (`@Inject`, `@Autowired`, `@Value`, 
`@ConfigProperty`) are not detected. Running `graph impact` on an interface 
finds nothing because no edges point from consumers to interfaces.
   
   2. **Properties are flat strings** — `ConfigParser` stores property values 
as string metadata but doesn't parse `PropertyBindingSupport` syntax 
(`#class:`, `#bean:`, `#autowired`) that instantiates and wires beans.
   
   3. **No composite migration context** — No single command packages a route's 
structural context (components, services, properties, artifacts) as structured 
JSON for the skill to pass to the knowledge layer.
   
   ## Proposed Changes
   
   - **Enhanced `JavaGraphParser`** — `USES_TYPE` edges for DI-annotated 
fields/constructor params, bean annotation detection (`@Component`, `@Service`, 
`@Named`), scope guard allowlist driven by POM artifacts
   - **New `PropertyBindingParser`** — Parses `CONFIG_PROPERTY` values for 
`#class:`, `#bean:`, `#autowired`, `#type:`, `#property:` prefixes. 
Convention-based detection for Spring Boot/Quarkus. Property placeholder 
resolution.
   - **Enhanced `CrossLinker`** — Interface-consumer expansion pass creating 
`DEPENDS_ON_VIA_INTERFACE` edges
   - **New `GraphQuery.expandWithInterfaces()`** — BFS traversal that crosses 
interface boundaries
   - **New `graph migration-context <routeId>` CLI command** — Composite 
command producing structured JSON
   - **`InitCommand.detectRuntime()`** — Formal runtime detection (Spring Boot 
/ Quarkus / Camel Main / Karaf)
   - **Expanded `ConfigParser`** — Capture all `application.properties` keys, 
not just `camel.*`
   - **6 new edge types** — `USES_TYPE`, `INJECTS_INTO`, `INSTANTIATES`, 
`REFERENCES_BEAN`, `REFERENCES_PROPERTY`, `DEPENDS_ON_VIA_INTERFACE`
   
   ## Research
   
   Inspired by Chinthareddy, [Reliable Graph-RAG for Codebases: AST-Derived 
Graphs vs LLM-Extracted Knowledge Graphs](https://arxiv.org/pdf/2601.08773)
   
   It demonstrates that deterministic AST-derived graphs with bidirectional 
interface-consumer expansion achieve 43/45 correctness at 2x baseline cost, 
dramatically outperforming both vector-only RAG (31/45) and LLM-extracted 
knowledge graphs (38/45 at 46x cost).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to