TemporalCouplingConfig

abstract class TemporalCouplingConfig @Inject constructor(objects: ObjectFactory)(source)

Configures the git temporal-coupling analysis inside the temporalCoupling { } block.

aalekh {
temporalCoupling {
commitWindow.set(1000) // analyse the last 1000 commits
minSharedCommits.set(3) // ignore pairs sharing fewer than 3 commits
hiddenCouplingThreshold.set(0.7) // flag undeclared pairs at degree >= 0.7
}
}

Drives aalekhTemporal, which reads git log at execution time and writes a local aalekh-temporal.md / aalekh-temporal.json artefact. All values are plain, configuration-cache safe task inputs.

Constructors

Link copied to clipboard
@Inject
constructor(objects: ObjectFactory)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
val commitWindow: Property<Int>

How many recent (non-merge) commits to analyse. Larger windows reveal more coupling but take longer to read. Default: 500.

Link copied to clipboard

The coupling degree (sharedCommits / min(churnA, churnB), in [0.0, 1.0]) at or above which an undeclared pair is flagged as hidden coupling. Default: 0.6.

Link copied to clipboard
val minSharedCommits: Property<Int>

The minimum number of commits a module pair must share before it is reported. Filters incidental single-commit overlaps. Default: 2.