RollbackContracts
Whether the inverses this app PROMISES are operations this app OFFERS. {@see \Milpa\Command\Effect\EffectProfile} refuses prose in a rollback contract, and that is as far as one profile can see: `nothing-to-roll-back` is a well-formed name — one segment with hyphens, exactly like `plugins.disable-unsafe` has to be — so nothing about the STRING says it names no operation. That question is about the TABLE, and it is answered here, where the table exists. It is a question of GRADUATION, not of boot. An app whose catalogue is missing an inverse is not broken — it is a house that promised something it cannot do, and the answer is a finding a person or an agent reads (`coa doctor`), not a runtime that refuses to start. Greenhouse `.milpa/promises/reversal-contract.yaml`: «an operation that promises reversibility and does not carry it does not GRADUATE». Identity, never spelling: the promise may be written `plugins:disable` and the operation registered as `plugins.disable`, and they are the same act ({@see OperationId}).
RollbackContracts::findings()
public static function findings(iterable $operations): arrayThe same answer as a sentence per broken promise — what a report prints.
Parameters
| Name | Type | Description |
|---|---|---|
| $operations | iterable<Operation> |