Skip to content
docsv0.19.0

ProfileComposition

The effective ceiling AND the receipt of how it was reached (greenhouse decisions/0057). `forCall` composes a ceiling and returns it; for a long time that was all — the answer kept, the question thrown away. This carries both: the effective profile this call runs under, and one {@see AxisReduction} per axis that came down, each naming the producer that had the right to lower it. The effective ceiling is not a number; it is a list of reductions, each signed by its producer.

ProfileComposition::__construct()

public function __construct(Milpa\Command\Effect\EffectProfile $effective, array $reductions):

Parameters

Parameters of __construct()
NameTypeDescription
$effectiveMilpa\Command\Effect\EffectProfile
$reductionslist<AxisReduction>one per axis lowered, in declaration order of the axes

ProfileComposition::confinedByTrial()

public function confinedByTrial(): bool

Whether a trial workspace produced this composition's mutation — the ONE fact the policy reads to know «this call is confined» (greenhouse decisions/0069). Read from the reductions, never from the effective profile alone: an operation that merely writes temp files is also Ephemeral, and it is not confined to anything.