GovernanceStatus
The plan's health status report (GOV-3): one `GateStatus` per gate, in the plan's contractual order, plus the exact count per condition. The system MEASURES, it does not diagnose: `summary()` counts each gate exactly once and does NOT collapse to a single verdict. "No signal" (null condition) is a separate number, never interpreted as health or as failure (ADR#18).
GovernanceStatus::__construct()
public function __construct(string $planHash, array $gates):Parameters
| Name | Type | Description |
|---|---|---|
| $planHash | string | Hash of the plan this status was derived from |
| $gates | list<GateStatus> | Status per gate, in the plan's contractual order |
GovernanceStatus::summary()
public function summary(): arrayExact count per condition. Each gate falls into exactly one bucket, and `total === count($gates)`.
GovernanceStatus::toArray()
public function toArray(): arraySerializes the full report.