modes property
The values of the mode options (see RoleOption.mode) that set the
app apart from the app with the same modules and the first value of
each, by the name of the option, such as {'clock-hours': '12'}: those
that its case of the contract harness gives (see
ContractHarness.casesOfRole and ContractHarness.casesOfModes),
which are among the roleOptions too. None for the app of any other
case, whose mode options have their first value, or the value that the
options of every app of the matrix give them.
They tell the matrix which app it is. A MatrixAppTest takes the mode of an app from the choice of the role instead (hook), as it takes everything else that a role chose (see MatrixAppTests.modeProblems).
Implementation
final Map<String, String> modes;