@extends('admin.layouts.app') @section('title', __('admin.ai.tasks.detail_title', ['id' => $task->id]) . ' — ' . __('admin.brand.name')) @section('page_title', __('admin.ai.tasks.detail_title', ['id' => $task->id])) @section('content') @include('admin.ai._layout') @php $p = $summary['progress'] ?? []; $pct = (float) ($p['percent'] ?? 0); @endphp

{{ __('admin.ai.tasks.detail_title', ['id' => $task->id]) }} {{ $task->status }}

← {{ __('admin.ai.actions.back') }}
{{ __('admin.ai.tasks.cols.kind') }}
{{ $task->kind }}
{{ __('admin.ai.tasks.cols.mode') }}
{{ $task->mode }}
{{ __('admin.ai.tasks.cols.admin') }}
{{ $task->admin?->name ?: $task->admin?->email }}
{{ __('admin.ai.tasks.cols.timing') }}
{{ $task->started_at?->diffForHumans() ?? '—' }} → {{ $task->finished_at?->diffForHumans() ?? '…' }}
{{ $p['done'] ?? 0 }} done · {{ $p['skipped'] ?? 0 }} skipped · {{ $p['failed'] ?? 0 }} failed · {{ $p['pending'] ?? 0 }} pending ({{ number_format($pct, 1) }}%)
@php $canRollback = auth('admin')->user()?->can('ai.rollback') ?? false; @endphp
@if (! $task->isTerminal())
@csrf
{{ __('admin.ai.tasks.resume_hint') }} @endif @if ($canRollback && ($task->progress['done'] ?? 0) > 0)
@csrf
@endif
{{-- Input / Output JSON --}}

{{ __('admin.ai.tasks.input') }}

{{ json_encode($task->input, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) }}

{{ __('admin.ai.tasks.output') }}

@if (! empty($task->output))
{{ json_encode($task->output, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) }}
@else {{ __('admin.ai.tasks.no_output_yet') }} @endif
{{-- Linked change requests section retired in the 2026-06-08 cleanup along with the AiChangeRequest model. Audit trail for what this task did lives in `task.output` above + the activity log link in the header. --}} {{-- Sample items (last 20) --}} @if ($sampleItems->isNotEmpty())

{{ __('admin.ai.tasks.sample_items') }} ({{ __('admin.ai.tasks.last_n', ['n' => $sampleItems->count()]) }})

@foreach ($sampleItems as $it) @endforeach
#{{ __('admin.ai.tasks.cols.subject') }}{{ __('admin.ai.tasks.cols.item_status') }}{{ __('admin.ai.tasks.cols.attempts') }}{{ __('admin.ai.tasks.cols.result') }}
#{{ $it->id }} {{ class_basename($it->subject_type) }}#{{ $it->subject_id }} {{ $it->status }} {{ $it->attempts }} {{ \Illuminate\Support\Str::limit(json_encode($it->result ?? $it->error, JSON_UNESCAPED_UNICODE), 100) }}
@endif
@endsection