Package io.forgeai.jenkins.analyzers
Class ArchitectureDriftAnalyzer
java.lang.Object
io.forgeai.jenkins.analyzers.BaseAnalyzer
io.forgeai.jenkins.analyzers.ArchitectureDriftAnalyzer
UNIQUE DIFFERENTIATOR — Architecture Drift Detection.
Unlike simple linters or code-quality tools, this analyzer understands high-level
architectural patterns (layered, hexagonal, microservices, event-driven, CQRS, etc.)
and detects when code changes violate the intended architecture.
It examines: package structure, dependency direction, layer violations,
circular dependencies, God classes, anemic domain models, and coupling metrics.
-
Field Summary
Fields inherited from class io.forgeai.jenkins.analyzers.BaseAnalyzer
llm, logger, maxTokens -
Constructor Summary
ConstructorsConstructorDescriptionArchitectureDriftAnalyzer(LLMProvider llm, PrintStream logger, int maxTokens) -
Method Summary
Modifier and TypeMethodDescriptionExecute the analysis on the provided source material.Short identifier for JSON keys and filenames.Human-readable name of this analyzer for reports/logs.Methods inherited from class io.forgeai.jenkins.analyzers.BaseAnalyzer
safeComplete, truncateSource
-
Constructor Details
-
ArchitectureDriftAnalyzer
-
-
Method Details
-
analyze
Description copied from class:BaseAnalyzerExecute the analysis on the provided source material.- Specified by:
analyzein classBaseAnalyzer- Parameters:
sourceCode- the code or diff to analyzecontext- additional context (file paths, language, project structure)- Returns:
- structured analysis result
- Throws:
LLMException
-
analyzerName
Description copied from class:BaseAnalyzerHuman-readable name of this analyzer for reports/logs.- Specified by:
analyzerNamein classBaseAnalyzer
-
analyzerId
Description copied from class:BaseAnalyzerShort identifier for JSON keys and filenames.- Specified by:
analyzerIdin classBaseAnalyzer
-