ModuleClassification
data class ModuleClassification(val layer: String? = null, val team: String? = null, val purpose: String? = null, val tags: Set<String> = emptySet(), val provenance: Provenance = Provenance.INFERRED)(source)
What a ModuleClassifier knows about one module. Every field is optional; a classifier fills in only what its convention actually determines.
Parameters
layer
Architectural layer.
team
Owning team.
purpose
One or two sentences on what the module is for.
tags
Free-form labels, e.g. "generated", "deprecated", "public-api".
provenance
How the classifier knows. Provenance.OBSERVED when it read the answer from a file or a build fact; Provenance.INFERRED when it worked it out from a convention. This is what the report renders next to the value, so a classifier claiming OBSERVED for a guess is defeating the point of the whole provenance model.