CallSubject
WHAT a call is about to run, so a certificate can be checked against it — greenhouse decisions/0051. The name and the digest travel together because either alone lets a certificate slide. Without the digest, evidence about code that has since moved keeps its authority. Without the name, two operations whose handler bodies are textually identical share one certificate — measured in `evidence/0248`, where three probes came out with the same digest at first contact.
CallSubject::__construct()
public function __construct(string $operation, ?string $handlerDigest = null, ?Milpa\Command\Effect\AuthorityPolicy $policy = null, ?Milpa\Command\Effect\ContextFacts $facts = null, ?Milpa\Command\Effect\TrialConfinement $confinement = null, ?Milpa\Command\Effect\SubjectAttestation $subjectAttestation = null):Parameters
| Name | Type | Description |
|---|---|---|
| $operation | string | the operation about to run, by name |
| $handlerDigest | (string | null) | the digest of the handler body about to run, or null when it cannot be read |
| $policy | (AuthorityPolicy | null) | the institution with the right to judge authority for this call, when the caller has one (greenhouse decisions/0054) |
| $facts | (ContextFacts | null) | the verified facts of who is calling — facts only, never a verdict |
| $confinement | ?Milpa\Command\Effect\TrialConfinement | |
| $subjectAttestation | ?Milpa\Command\Effect\SubjectAttestation |