@php $report = isset($getState) ? $getState() : ($report ?? null); $report = is_array($report) ? $report : null; $run = $run ?? null; $run = is_array($run) ? $run : null; $fingerprint = $fingerprint ?? null; $fingerprint = is_string($fingerprint) && trim($fingerprint) !== '' ? trim($fingerprint) : null; $changeIndicator = $changeIndicator ?? null; $changeIndicator = is_array($changeIndicator) ? $changeIndicator : null; $previousRunUrl = $previousRunUrl ?? null; $previousRunUrl = is_string($previousRunUrl) && $previousRunUrl !== '' ? $previousRunUrl : null; $acknowledgements = $acknowledgements ?? []; $acknowledgements = is_array($acknowledgements) ? $acknowledgements : []; $summary = $report['summary'] ?? null; $summary = is_array($summary) ? $summary : null; $counts = is_array($summary['counts'] ?? null) ? $summary['counts'] : []; $checks = $report['checks'] ?? null; $checks = is_array($checks) ? $checks : []; $ackByKey = []; foreach ($acknowledgements as $checkKey => $ack) { if (! is_string($checkKey) || $checkKey === '' || ! is_array($ack)) { continue; } $ackByKey[$checkKey] = $ack; } $blockers = []; $failures = []; $warnings = []; $acknowledgedIssues = []; $passed = []; foreach ($checks as $check) { $check = is_array($check) ? $check : []; $key = $check['key'] ?? null; $key = is_string($key) ? trim($key) : ''; if ($key === '') { continue; } $statusValue = $check['status'] ?? null; $statusValue = is_string($statusValue) ? strtolower(trim($statusValue)) : ''; $blocking = $check['blocking'] ?? false; $blocking = is_bool($blocking) ? $blocking : false; if (array_key_exists($key, $ackByKey)) { $acknowledgedIssues[] = $check; continue; } if ($statusValue === 'pass') { $passed[] = $check; continue; } if ($statusValue === 'fail' && $blocking) { $blockers[] = $check; continue; } if ($statusValue === 'fail') { $failures[] = $check; continue; } if ($statusValue === 'warn') { $warnings[] = $check; } } $sortChecks = static function (array $a, array $b): int { return strcmp((string) ($a['key'] ?? ''), (string) ($b['key'] ?? '')); }; usort($blockers, $sortChecks); usort($failures, $sortChecks); usort($warnings, $sortChecks); usort($acknowledgedIssues, $sortChecks); usort($passed, $sortChecks); @endphp
@if ($report === null || $summary === null)
Verification report unavailable
This run doesn’t have a report yet. If it’s still running, refresh in a moment. If it already completed, start verification again.
Read-only: this view uses stored data and makes no external calls.
@else @php $overallSpec = \App\Support\Badges\BadgeRenderer::spec( \App\Support\Badges\BadgeDomain::VerificationReportOverall, $summary['overall'] ?? null, ); @endphp
{{ $overallSpec->label }} {{ (int) ($counts['total'] ?? 0) }} total {{ (int) ($counts['pass'] ?? 0) }} pass {{ (int) ($counts['fail'] ?? 0) }} fail {{ (int) ($counts['warn'] ?? 0) }} warn {{ (int) ($counts['skip'] ?? 0) }} skip {{ (int) ($counts['running'] ?? 0) }} running @if ($changeIndicator !== null) @php $state = $changeIndicator['state'] ?? null; $state = is_string($state) ? $state : null; @endphp @if ($state === 'no_changes') No changes since previous verification @elseif ($state === 'changed') Changed since previous verification @endif @endif
Read-only: this view uses stored data and makes no external calls.
Issues Passed Technical details
@if ($blockers === [] && $failures === [] && $warnings === [] && $acknowledgedIssues === [])
No issues found in this report.
@else
@php $issueGroups = [ ['label' => 'Blockers', 'checks' => $blockers], ['label' => 'Failures', 'checks' => $failures], ['label' => 'Warnings', 'checks' => $warnings], ]; @endphp @foreach ($issueGroups as $group) @php $label = $group['label']; $groupChecks = $group['checks']; @endphp @if ($groupChecks !== [])
{{ $label }}
@foreach ($groupChecks as $check) @php $check = is_array($check) ? $check : []; $title = $check['title'] ?? 'Check'; $title = is_string($title) && trim($title) !== '' ? trim($title) : 'Check'; $message = $check['message'] ?? null; $message = is_string($message) && trim($message) !== '' ? trim($message) : null; $statusSpec = \App\Support\Badges\BadgeRenderer::spec( \App\Support\Badges\BadgeDomain::VerificationCheckStatus, $check['status'] ?? null, ); $severitySpec = \App\Support\Badges\BadgeRenderer::spec( \App\Support\Badges\BadgeDomain::VerificationCheckSeverity, $check['severity'] ?? null, ); $nextSteps = $check['next_steps'] ?? []; $nextSteps = is_array($nextSteps) ? array_slice($nextSteps, 0, 2) : []; $blocking = $check['blocking'] ?? false; $blocking = is_bool($blocking) ? $blocking : false; @endphp
{{ $title }}
@if ($message)
{{ $message }}
@endif
@if ($blocking) Blocker @endif {{ $severitySpec->label }} {{ $statusSpec->label }}
@if ($nextSteps !== [])
Next steps
    @foreach ($nextSteps as $step) @php $step = is_array($step) ? $step : []; $label = $step['label'] ?? null; $url = $step['url'] ?? null; $isExternal = is_string($url) && (str_starts_with($url, 'http://') || str_starts_with($url, 'https://')); @endphp @if (is_string($label) && $label !== '' && is_string($url) && $url !== '')
  • {{ $label }}
  • @endif @endforeach
@endif
@endforeach
@endif @endforeach @if ($acknowledgedIssues !== [])
Acknowledged issues
@foreach ($acknowledgedIssues as $check) @php $check = is_array($check) ? $check : []; $checkKey = is_string($check['key'] ?? null) ? trim((string) $check['key']) : ''; $title = $check['title'] ?? 'Check'; $title = is_string($title) && trim($title) !== '' ? trim($title) : 'Check'; $message = $check['message'] ?? null; $message = is_string($message) && trim($message) !== '' ? trim($message) : null; $statusSpec = \App\Support\Badges\BadgeRenderer::spec( \App\Support\Badges\BadgeDomain::VerificationCheckStatus, $check['status'] ?? null, ); $severitySpec = \App\Support\Badges\BadgeRenderer::spec( \App\Support\Badges\BadgeDomain::VerificationCheckSeverity, $check['severity'] ?? null, ); $ack = $checkKey !== '' ? ($ackByKey[$checkKey] ?? null) : null; $ack = is_array($ack) ? $ack : null; $ackReason = $ack['ack_reason'] ?? null; $ackReason = is_string($ackReason) && trim($ackReason) !== '' ? trim($ackReason) : null; $ackAt = $ack['acknowledged_at'] ?? null; $ackAt = is_string($ackAt) && trim($ackAt) !== '' ? trim($ackAt) : null; $ackBy = $ack['acknowledged_by'] ?? null; $ackBy = is_array($ackBy) ? $ackBy : null; $ackByName = $ackBy['name'] ?? null; $ackByName = is_string($ackByName) && trim($ackByName) !== '' ? trim($ackByName) : null; $expiresAt = $ack['expires_at'] ?? null; $expiresAt = is_string($expiresAt) && trim($expiresAt) !== '' ? trim($expiresAt) : null; @endphp
{{ $title }}
@if ($message)
{{ $message }}
@endif
{{ $severitySpec->label }} {{ $statusSpec->label }}
@if ($ackReason || $ackAt || $ackByName || $expiresAt)
@if ($ackReason)
Reason: {{ $ackReason }}
@endif @if ($ackByName || $ackAt)
Acknowledged: @if ($ackByName) {{ $ackByName }} @endif @if ($ackAt) ({{ $ackAt }}) @endif
@endif @if ($expiresAt)
Expires: {{ $expiresAt }}
@endif
@endif
@endforeach
@endif
@endif
@if ($passed === [])
No passing checks recorded.
@else
@foreach ($passed as $check) @php $check = is_array($check) ? $check : []; $title = $check['title'] ?? 'Check'; $title = is_string($title) && trim($title) !== '' ? trim($title) : 'Check'; $statusSpec = \App\Support\Badges\BadgeRenderer::spec( \App\Support\Badges\BadgeDomain::VerificationCheckStatus, $check['status'] ?? null, ); @endphp
{{ $title }}
{{ $statusSpec->label }}
@endforeach
@endif
Identifiers
@if ($run !== null)
Run ID: {{ (int) ($run['id'] ?? 0) }}
Flow: {{ (string) ($run['type'] ?? '') }}
@endif @if ($fingerprint)
Fingerprint: {{ $fingerprint }}
@endif
@if ($previousRunUrl !== null)
Open previous verification
@endif
@endif