onRecompile
suspend fun onRecompile(command: RecompileDataset, sources: DatasetSources, warehouse: DatasetWarehouse, policy: DatasetPolicy): Decision
Compiles the published definition again after a source changed (-2). The same compilation changes nothing (or clears a revision it needed). Another one is published as the next version only when its contract holds: the view gives the same columns, by name and type, as the published one, and it takes no new approval, so only its masking or its rendering differs. Anything else (a definition that no longer compiles, columns that would change, a new approval) marks the dataset as needing revision; the published version goes on serving while its view still gives the columns it was published with, and is refused otherwise.