$scope * @param array{ * key:string, * label:string, * type:string, * url:?string, * icon:string, * kind:string, * action_name:?string, * capability:?string, * requires_confirmation:bool, * audit_event:?string, * operation_run_type:?string, * disabled_reason:?string * } $primaryAction * @param list $secondaryActions * @param list $sourceRefs * @param list $evidenceRefs * @param array $technicalDetails * @return array{ * key:string, * scope:array, * severity:string, * status:string, * title:string, * reason:string, * impact:string, * primary_action:array{ * key:string, * label:string, * type:string, * url:?string, * icon:string, * kind:string, * action_name:?string, * capability:?string, * requires_confirmation:bool, * audit_event:?string, * operation_run_type:?string, * disabled_reason:?string * }, * secondary_actions:list, * source_refs:list, * evidence_refs:list, * technical_details:array * } */ public static function make( string $key, array $scope, string $severity, string $status, string $title, string $reason, string $impact, array $primaryAction, array $secondaryActions = [], array $sourceRefs = [], array $evidenceRefs = [], array $technicalDetails = [], ): array { return [ 'key' => $key, 'scope' => array_filter($scope, static fn (mixed $value): bool => $value !== ''), 'severity' => $severity, 'status' => $status, 'title' => $title, 'reason' => $reason, 'impact' => $impact, 'primary_action' => $primaryAction, 'secondary_actions' => array_values($secondaryActions), 'source_refs' => array_values($sourceRefs), 'evidence_refs' => array_values($evidenceRefs), 'technical_details' => $technicalDetails, ]; } }