feat: SpringDIPostProcessor + CLI consolidation (v0.7.1.0)#9
Merged
Conversation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ge discovery Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…aph rebuild Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…n/Gradle auto-detection Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… Spring DI Uses ArchUnit ClassFileImporter to scan compiled .class files for Spring DI patterns: @Autowired fields, @resource fields, and constructor injection. Resolves interface types to concrete @Component/@Service/@repository implementations and reports ambiguous injections as blind spots. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ctor test Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…e --target Remove check, ecp, view commands. Impact analysis now via analyze --target. EcpGenerator stub removed. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Update AnalyzeCommand description to mention impact assessment - README/README-zh: remove view/impact/check/ecp references, update CLI to analyze+diff only, remove archon-viz from architecture, add v0.7 to roadmap, update blind spots (Spring DI now detected) - CHANGELOG: add v0.7.1.0 entry for SpringDIPostProcessor + command slash - skill.md/SKILL.md: replace view --format json with analyze --format agent, remove Spring DI from blind spots lists - TODOS: mark #4/#6/#8 DONE, mark #5/#7 OBSOLETE, update remaining items to reflect current state Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix CliGitAdapter pipe buffer deadlock: drain output stream concurrently with waitFor() to prevent 60s hangs on large git show - Add logback.xml to suppress ArchUnit/Javaparser DEBUG logging - Cap unbounded module listing in analyze --target (max 20 shown) - Add 5 tests for resolveTarget/stripNamespacePrefix (replaced deleted ImpactCommandTest coverage) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ViewCommand was removed from ArchonCli in the CLI consolidation but the class and its dependency tree were left behind. Removed: - ViewCommand, ViewCommandTest (dead CLI entry point) - TerminalRenderer, TerminalRendererTest (only used by ViewCommand) - PerspectiveBuilder, PerspectiveBuilderTest (unused visualization) - NodeGroup, NodeView, EdgeView, PerspectiveView (internal to above) Kept: JsonSerializer, DiffSerializer, ViewServer (used by analyze/diff) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Moved --json output handling before agent format auto-detection so JSON output short-circuits cleanly instead of printing after the human-readable summary. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Schr0d
added a commit
that referenced
this pull request
Apr 16, 2026
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Spring DI Post-Processor — ArchUnit bytecode scanning detects Spring dependency injection patterns (
@Autowired,@Resource, constructor injection) in compiled.classfiles. Resolves interface→implementation via@Service/@Component/@Repositoryannotations. On the geditor-api spike: +196 Spring DI edges, 2.71→3.05 edges/node ratio.CLI Consolidation — Slashed to two commands:
archon analyze(with--targetfor impact analysis) andarchon diff. Removedview,impact,check,ecp.15 commits across 53 files (+1131/-2027, net reduction from dead code removal).
Key changes:
postProcess()SPI hook inLanguagePluginfor post-parse edge discoverySpringDIPostProcessorwith ArchUnit, auto-detects Maven/Gradle class directoriesSPRING_DIedge type in bothEdgeTypeenumsViewCommand,PerspectiveBuilder,TerminalRenderer, etc.)CliGitAdapter--jsonoutput ordering fix (no longer mixed with text summary)Test Coverage
233+ tests across all modules. New:
SpringDIPostProcessorTest(6 tests),ClassDirectoryFinderTest,AnalyzeCommandTest(5 new),ParseOrchestratorTest(post-process tests),LanguagePluginTest(SPI contract).Pre-Landing Review
No prior eng review. Diff is 53 files with significant deletion (dead code removal). Core additions are well-tested.
🤖 Generated with Claude Code