ReportCoordinator

class ReportCoordinator(graph: ModuleDependencyGraph, ruleResult: RuleEngineResult, projectName: String, extensions: ExtensionResult = ExtensionResult.EMPTY)(source)

Facade that drives all report generation from a single call site.

Tasks never instantiate individual report generators directly - this keeps task code thin and report logic testable without Gradle on the classpath.

Constructors

Link copied to clipboard
constructor(graph: ModuleDependencyGraph, ruleResult: RuleEngineResult, projectName: String, extensions: ExtensionResult = ExtensionResult.EMPTY)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

Failures from third-party extensions, for the task to log. Empty when everything ran.

Functions

Link copied to clipboard
fun analyzeTemporal(commits: List<CommitChange>, minSharedCommits: Int = TemporalCouplingAnalyzer.DEFAULT_MIN_SHARED_COMMITS, hiddenCouplingThreshold: Double = TemporalCouplingAnalyzer.DEFAULT_HIDDEN_COUPLING_THRESHOLD): TemporalCouplingReport

Computes temporal (change) coupling for this graph from a window of recent commits.

Link copied to clipboard

Generates a CSV of per-module metrics for import into external tools. One timestamped row per module with fan-in, fan-out, instability, transitive dep count, health score, and boolean flags.

Link copied to clipboard
fun generateDocs(teamOwners: Map<String, List<String>> = emptyMap(), hiddenCoupling: List<CoChange> = emptyList(), churn: List<ModuleChurn> = emptyList(), layers: List<LayerSpec> = emptyList()): Map<String, String>

Generates the Markdown documentation set, keyed by file name.

Link copied to clipboard
fun generateHtml(trendJson: String = "[]", teamOwners: Map<String, List<String>> = emptyMap(), mainSequence: List<ModuleMainSequence> = emptyList(), hiddenCoupling: List<CoChange> = emptyList(), churn: List<ModuleChurn> = emptyList(), layers: List<LayerSpec> = emptyList()): String

Generates the self-contained HTML report. Returns the complete HTML string.

Link copied to clipboard

Generates the machine-readable JSON report envelope: { graph, summary, violations, generatedAt, aalekhVersion }.

Link copied to clipboard

Generates JUnit XML output for CI test reporting systems.

Link copied to clipboard

Generates the module graph as a raw Mermaid graph definition (no code fence). Diffable plain text that renders inline on GitHub and in most IDEs.

Link copied to clipboard

Generates a Markdown document embedding the graph in a ```mermaid fenced block, ready to commit as a rendered diagram.

Link copied to clipboard

Generates SARIF 2.1 output for GitHub code scanning PR annotations.

Link copied to clipboard
fun narrative(teamOwners: Map<String, List<String>> = emptyMap(), hiddenCoupling: List<CoChange> = emptyList(), churn: List<ModuleChurn> = emptyList(), layers: List<LayerSpec> = emptyList()): NarrativeReport

Builds the plain-language narrative for this graph.

Link copied to clipboard

Renders a TemporalCouplingReport as machine-readable JSON.

Link copied to clipboard

Renders a TemporalCouplingReport as a reviewable Markdown document.