@php $scope = $this->appliedScope(); $summary = $this->operatorSummary(); $lanes = $this->laneGroups(); $emptyState = $this->calmEmptyState(); $recentlyResolved = $this->recentlyResolved(); $sections = $this->sections(); $diagnostics = $this->diagnosticsPanel(); @endphp

Open governance work

{{ $summary['headline'] }}

The inbox turns current findings, accepted-risk records, evidence gaps, review follow-up, and blocked operations into one operator queue.

@if (filled($scope['workspace_label'] ?? null)) Workspace: {{ $scope['workspace_label'] }} @endif Source focus: {{ $scope['family_label'] ?? 'All source families' }} @if (filled($scope['tenant_label'] ?? null)) Environment: {{ $scope['tenant_label'] }} @endif
@if ($this->hasTenantPrefilter())
@include('filament.partials.workspace-hub-environment-filter-chip', [ 'label' => $scope['tenant_label'] ?? null, 'clearUrl' => $this->pageUrl(['environment_id' => null, 'family' => null]), ])
@endif @if (is_array($summary['next_recommended_item'] ?? null)) @php $nextItem = $summary['next_recommended_item']; $nextLaneColor = match ($nextItem['lane_key'] ?? null) { 'needs_triage', 'risk_exception_review', 'evidence_required' => 'warning', 'blocked' => 'danger', 'requires_decision' => 'info', default => 'gray', }; @endphp

Next recommended action

{{ $nextItem['headline'] }}

{{ $nextItem['lane_label'] }} {{ $nextItem['status_label'] }} {{ $nextItem['environment_label'] }}
{{ $nextItem['reason_heading'] }}
{{ $nextItem['reason_label'] }}
Impact
{{ $nextItem['impact_label'] }}
{{ $nextItem['primary_action']['label'] }} @if (filled($nextItem['lane_url'] ?? null)) View lane @endif
@endif @if (($summary['active_counts'] ?? []) !== [])
@foreach ($summary['active_counts'] as $countCard)

{{ $countCard['label'] }}

{{ $countCard['count'] }}

{{ $countCard['description'] }}

@endforeach
@endif @if (($summary['clear_counts'] ?? []) !== [])
@foreach ($summary['clear_counts'] as $countCard) {{ $countCard['label'] }} · {{ $countCard['chip_label'] }} @endforeach
@endif
@if ($lanes === [])

{{ $emptyState['title'] }}

{{ $emptyState['body'] }}

@if (filled($emptyState['action_label'] ?? null) && filled($emptyState['action_url'] ?? null))
{{ $emptyState['action_label'] }}
@endif
@else

Primary inbox lanes

Active operator work stays grouped by the next path needed to clear it. Supporting source context stays below the fold.

@foreach ($lanes as $lane)

{{ $lane['label'] }}

{{ $lane['count'] }}

{{ $lane['description'] }}

@if ($lane['count'] === 0)
{{ $lane['empty_state'] }}
@else
    @foreach ($lane['items'] as $item)
  • @php $itemLaneColor = match ($item['lane_key'] ?? $lane['key'] ?? null) { 'needs_triage', 'risk_exception_review', 'evidence_required' => 'warning', 'blocked' => 'danger', 'requires_decision' => 'info', default => 'gray', }; @endphp
    {{ $item['lane_label'] }} {{ $item['status_label'] }} {{ $item['environment_label'] }}

    {{ $item['title'] }}

    @if (filled($item['context_label'] ?? null))

    {{ $item['context_label'] }}

    @endif
    @if (is_array($item['primary_action'] ?? null)) {{ $item['primary_action']['label'] }} @endif
    {{ $item['reason_heading'] }}
    {{ $item['reason_label'] }}
    Impact
    {{ $item['impact_label'] }}
    More context

    Source

    {{ $item['source_label'] }}

    Owner / due

    {{ $item['owner_label'] }} · {{ $item['due_label'] }}

    Evidence

    {{ $item['evidence_label'] }}

    Accepted risk / decision

    {{ $item['exception_label'] }}

    @if (($item['linked_records'] ?? []) !== [] || ($item['secondary_actions'] ?? []) !== [])
    @if (($item['linked_records'] ?? []) !== [])

    Linked records

    @foreach ($item['linked_records'] as $record) {{ $record['label'] }} @endforeach
    @endif @if (($item['secondary_actions'] ?? []) !== [])

    Secondary actions

    @foreach ($item['secondary_actions'] as $action) {{ $action['label'] }} @endforeach
    @endif
    @endif
  • @endforeach
@endif
@endforeach
@endif @if ($recentlyResolved !== null)
{{ $recentlyResolved['label'] }} · {{ $recentlyResolved['count'] }}

{{ $recentlyResolved['summary'] }}

@if (($recentlyResolved['rows'] ?? []) !== [])
    @foreach ($recentlyResolved['rows'] as $row)
  • {{ $row['title'] }}

    {{ $row['reason'] }}

  • @endforeach
@endif {{ $recentlyResolved['open_label'] }}
@endif
family !== null) open @endif > Source detail

Source-family context

Existing family slices remain available for drill-through and source truth checks, but they no longer dominate the first screen.

@if ($sections !== [])
@foreach ($sections as $section)

{{ $section['label'] }}

{{ $section['count'] }}

{{ $section['summary'] }}

@if (is_array($section['dominant_action'] ?? null)) {{ $section['dominant_action']['label'] }} @endif
@if ($section['count'] === 0)
{{ $section['empty_state'] }}
@else
    @foreach ($section['entries'] as $entry)
  • @if (filled($entry['tenant_label'] ?? null))
    {{ $entry['tenant_label'] }}
    @endif
    @if (filled($entry['destination_url'] ?? null)) {{ $entry['headline'] }} @else {{ $entry['headline'] }} @endif {{ $entry['status_label'] }}
    @if (filled($entry['subline'] ?? null))

    {{ $entry['subline'] }}

    @endif
    @if (filled($entry['destination_url'] ?? null)) Open source @endif
  • @endforeach
@endif
@endforeach
@endif
{{ $diagnostics['label'] }} · {{ $diagnostics['state'] }}

{{ $diagnostics['body'] }}