ModuleMetadata

data class ModuleMetadata(val path: String, val purpose: String? = null, val owner: String? = null, val layer: String? = null, val status: String? = null, val links: Map<String, String> = emptyMap())(source)

Metadata a team declares about a module, in a committed .aalekh/modules.json.

This is the escape hatch from inference. Anything stated here is Provenance.OBSERVED and overrides whatever Aalekh would otherwise guess - a module's purpose, its owner, its layer. Nothing is required; a file that names only the ten modules a newcomer keeps asking about is a perfectly good use of it.

Parameters

path

Module Gradle path this describes.

purpose

One or two sentences on what the module is for, in the team's own words.

owner

Team or person responsible, overriding both teams { } and CODEOWNERS.

layer

Architectural layer, overriding both layers { } matching and path inference.

status

Lifecycle marker, e.g. "experimental", "deprecated", "frozen".

links

Named URLs - design docs, dashboards, ADRs.

Constructors

Link copied to clipboard
constructor(path: String, purpose: String? = null, owner: String? = null, layer: String? = null, status: String? = null, links: Map<String, String> = emptyMap())

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard