{{ $metrics['pending_proposals'] }}{{ __('admin.pipeline.metrics.pending_proposals') }}
@extends('admin.layout') @section('title', __('admin.pipeline.title').' · '.__('admin.brand')) @section('content') @php $entityLabel = static function ($row): string { $entity = $row->entity ?? null; if ($entity && isset($entity->name)) { return (string) $entity->name; } return ($row->entity_type ?? '—').' #'.($row->entity_id ?? '—'); }; @endphp
{{ __('admin.pipeline.subtitle') }}
{{ __('admin.pipeline.proposals.hint') }}
| {{ __('admin.entity') }} | {{ __('admin.field') }} | {{ __('admin.value') }} | {{ __('admin.source') }} | {{ __('admin.confidence') }} | {{ __('admin.status') }} | |
|---|---|---|---|---|---|---|
| {{ $entityLabel($proposal) }}{{ $proposal->entity_type }} #{{ $proposal->entity_id }} | {{ $proposal->field_key ?: '—' }} | {{ json_encode(data_get($proposal->proposed_value, 'value', $proposal->proposed_value), JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) }} |
{{ $proposal->source?->name ?? $proposal->producer_type }} | {{ $proposal->confidence !== null ? number_format((float) $proposal->confidence * 100, 0).' %' : '—' }} | {{ __('admin.pipeline.proposal_statuses.'.$proposal->status) }} | {{ __('admin.open') }} |
{{ __('admin.pipeline.proposals.empty') }} | ||||||
{{ __('admin.pipeline.conflicts.hint') }}
| {{ __('admin.entity') }} | {{ __('admin.field') }} | {{ __('admin.severity') }} | {{ __('admin.status') }} | {{ __('admin.detected') }} | |
|---|---|---|---|---|---|
| {{ $entityLabel($conflict) }}{{ $conflict->entity_type }} #{{ $conflict->entity_id }} | {{ $conflict->field_key }} | {{ __('admin.pipeline.severities.'.$conflict->severity) }} | {{ __('admin.pipeline.conflict_statuses.'.$conflict->status) }} | {{ $conflict->detected_at?->diffForHumans() }} | {{ __('admin.open') }} |
{{ __('admin.pipeline.conflicts.empty') }} | |||||
{{ __('admin.pipeline.decisions.hint') }}
| {{ __('admin.entity') }} | {{ __('admin.field') }} | {{ __('admin.pipeline.decisions.reason') }} | {{ __('admin.pipeline.decisions.score') }} | {{ __('admin.status') }} | {{ __('admin.pipeline.decisions.decided') }} | |
|---|---|---|---|---|---|---|
| {{ $entityLabel($decision) }}{{ $decision->entity_type }} #{{ $decision->entity_id }} | {{ $decision->field_key }} | {{ $decision->reason_code }} | {{ $decision->decision_score !== null ? number_format((float) $decision->decision_score, 3) : '—' }} | {{ __('admin.pipeline.decision_statuses.'.$decision->status) }} | {{ $decision->decided_at?->diffForHumans() }} | {{ __('admin.open') }} |
{{ __('admin.pipeline.decisions.empty') }} | ||||||
{{ __('admin.pipeline.policies.hint') }}
| {{ __('admin.type') }} | {{ __('admin.field') }} | {{ __('admin.pipeline.policies.strategy') }} | {{ __('admin.pipeline.policies.minimum_confidence') }} | {{ __('admin.pipeline.policies.auto_apply') }} | {{ __('admin.pipeline.policies.sources') }} |
|---|---|---|---|---|---|
| {{ __('admin.pipeline.entity_types.'.$policy->entity_type) }} | {{ $policy->field_key }} | {{ $policy->strategy }} | {{ number_format((float) $policy->minimum_confidence * 100, 0) }} % | {{ $policy->auto_apply ? __('admin.yes') : __('admin.no') }} | @foreach ((array) $policy->source_priorities as $source => $priority){{ $source }} {{ $priority }}@endforeach |
{{ __('admin.pipeline.policies.empty') }} | |||||