Coverage Summary for Class: InvariantViolation (core.invariants)
| Class |
Class, %
|
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
| InvariantViolation |
100%
(1/1)
|
100%
(1/1)
|
50%
(1/2)
|
100%
(6/6)
|
100%
(28/28)
|
// FILE: core/src/main/kotlin/core/invariants/InvariantViolation.kt
package core.invariants
/**
* Single invariant violation record produced by `verifyInvariants`.
*
* Contract:
* - `invariantId` identifies which invariant failed.
* - `details` is a deterministic diagnostic payload constructed solely from observed state values.
* - The pair (`invariantId`, `details`) is intended to be stable for a given state snapshot.
*
* Invariants:
* - `details` must be non-blank.
*/
data class InvariantViolation(
val invariantId: InvariantId,
val details: String
) {
init {
require(details.isNotBlank()) { "InvariantViolation.details must be non-blank" }
}
}