Project X-Ray 1.0.0Real-repository architecture intelligence for Java/Spring projects. Roadmap position0.2 Real repository scanning → 0.3 Java symbol resolution → 0.4 Spring/build/Git evidence → 0.5 Real architecture graph → 0.6 Dependency Galaxy → 0.6 Dependency Galaxy → 0.7 Change-impact engine → 0.8 Git / Code Time Machine → 0.9 Code Health Radar → 1.0 Serious VS Code MVP 0.6 adds
0.5 adds
Trust ruleNo sample entities, package names, dependency counts, architecture edges or metrics are injected into a user's analysis. If the real repository contains no package or cross-package relation, the corresponding graph remains empty. BuildRequires JDK 21 and Maven.
Analyze a real repository
VS Code
Open the extension folder in VS Code and press F5. In the Extension Development Host, open the real project and run Important limitation0.5 is an architecture-graph foundation, not a full architectural truth engine. Package-layer labels are descriptive heuristics; they are not proof of architectural boundaries. The graph edges are backed by relationships the analyzer can resolve. Runtime reflection, generated code, dynamic proxies, configuration-driven wiring and external services can still be outside static source analysis. 0.7 Change-impact engineSelect any real analyzed class/interface/method in the Dependency Galaxy and choose Analyze real change impact. The VS Code extension invokes the Java core against the current repository and traverses concrete, resolved graph relationships. It reports direct and transitive callers/dependencies, related Spring endpoints and test entities when they are present in the analyzed model. Impact is deliberately described as potential static-graph impact, not guaranteed runtime impact. Unresolved/external relationship targets are excluded rather than being presented as fake affected components. 0.7 CLI
The entity ID must come from the current 0.8 Git / Code Time MachineWhen the supplied project is a real Git repository, X-Ray reconstructs historical Java snapshots directly from real commits using The default history view loads the latest 12 commits. For each available commit, X-Ray can analyze the archived source and record:
X-Ray also compares Time Machine CLINormal analysis includes the The VS Code command Important limitationsHistorical reconstruction is source reconstruction, not runtime reconstruction. A commit can be incomplete for generated sources, external dependencies or build-time resources. X-Ray surfaces analyzer warnings rather than claiming a perfect historical runtime state. 0.9 Code Health RadarThe Code Health Radar is a conservative, explainable static-analysis layer. It uses only evidence already present in the X-Ray repository model. Current metrics include:
Findings identify high symbol concentration and detected architecture cycles. Every finding includes evidence and, where available, a real file/entity reference. The radar intentionally does not invent test coverage, runtime performance, production error rates, or reflection behavior. Coverage is not scored unless a trustworthy coverage report is integrated in a future milestone. The VS Code Galaxy now displays the radar score, metrics and structural findings. You can also run 1.0 Serious VS Code MVP1.0 consolidates the existing repository-backed engines into a single VS Code workflow:
Large repository policyX-Ray does not impose a small default file-count cap. It discovers all non-ignored For CI or memory-constrained machines, The current Java analyzer keeps source units in memory for cross-file symbol resolution. Therefore very large monorepos may eventually need a persistent index/incremental engine; 1.0 deliberately reports this architectural limitation instead of claiming unlimited scale. 1.1 Incremental Repository Index Foundation1.1 adds a conservative incremental coordinator. The persisted
This is the foundation for a future persistent symbol/relationship index. It is deliberately conservative: 1.1 does not claim file-level incremental graph mutation yet. 1.2 Persistent Symbol & Relationship IndexX-Ray now materializes a repository-backed Each indexed source file records:
The index is created/refreshed after a complete semantic analysis. The incremental coordinator can reuse an unchanged analysis model, while changed repositories still take the conservative complete-analysis path. VS Code includes This is an index foundation, not yet dependency-aware file-level mutation. That remains the next optimization stage for massive monorepos. 1.3 Dependency-Aware Incremental Planning1.3 adds a repository-backed reverse-dependency invalidation planner. When source fingerprints change, X-Ray uses the persistent index to map symbols to source files and walks reverse cross-file relationships. The resulting closure identifies the changed files and their direct/transitive dependents that would need re-analysis. For correctness, 1.3 still performs the complete semantic analysis after calculating the plan. The plan is persisted to This is the bridge toward true file-level incremental re-analysis. 1.4 Semantic No-Op Incremental Reuse1.4 adds a conservative semantic fingerprint to each indexed Java file. The fingerprint removes comments and insignificant whitespace while preserving string and character literal contents. If a file's raw SHA-256 changes but its normalized semantic fingerprint remains identical, X-Ray can reuse the authoritative semantic model without reparsing the repository. The decision is surfaced as Real code changes, additions, or removals still cross the correctness boundary and trigger complete semantic analysis after dependency-aware invalidation planning. This is a genuine file-level optimization, not a claim of arbitrary partial semantic graph mutation. 1.5 True Partial Semantic Re-analysis1.5 introduces a scoped semantic-analysis path. The repository is still parsed and type-registered globally so Java symbol resolution retains complete source context, but relationship/dependency/endpoint extraction is restricted to the dependency-aware affected-file closure. A If any safety check fails, X-Ray falls back to complete semantic analysis. This is intentionally conservative. 1.6 Persistent Compiler-Context Symbol StoreX-Ray now persists a dedicated The store is derived only from the repository analysis. It is not a fixture database. The CLI supports This is the foundation for avoiding repeated source parsing in future versions. The current Java analyzer still builds complete symbol context when a semantic analysis is requested. 1.7 Persistent Symbol Resolution EngineThe persistent symbol store is now an active lookup layer. The resolver also traverses persisted incoming/outgoing relationships to answer dependency and dependent queries with bounded depth. CLI commands include This is a persistent lookup/resolution layer built from real repository analysis. The JavaParser symbol solver remains the authoritative compiler-aware resolver for fresh semantic parsing; 1.7 does not claim that a JSON store replaces the Java compiler. Compiler-Context ResolutionX-Ray now has a compiler-context facade over the persistent symbol store. Project types are resolved deterministically by exact/qualified name, same-package name, or imports. JDK/platform types are classified as external, and unknown or ambiguous project types remain unresolved instead of being guessed. A compiler-context report is persisted at The persistent resolver complements JavaParser's authoritative symbol solver; it does not pretend a JSON index can replace the Java compiler. Persistent Method ResolutionX-Ray now resolves persisted methods using owner type + method name + arity. If overloads remain ambiguous because parameter types are not persisted, the resolver reports the ambiguity instead of guessing. The CLI supports IntelliJ IDEA 1.0.0 FrontendProject X-Ray now includes an IntelliJ Platform plugin module under The plugin is a real frontend over the same X-Ray core: it invokes the core JAR for repository analysis and persistent symbol resolution, then reads the generated VS Code compatibilityThe existing VS Code extension remains supported. VS Code and IntelliJ are separate frontends over the same X-Ray core and
Do not treat the IntelliJ plugin JAR as a VS Code extension or vice versa; each IDE requires its own frontend package. Final releaseThe final product release is 1.0.0. The IntelliJ module implements the report-defined second IDE integration and the final hardening milestones: exact overload resolution, PSI bridge, live impact, in-editor dependency visualization, large-repository controls and verification-ready packaging. |