## Summary - harden operation-run lifecycle handling with explicit reconciliation policy, stale-run healing, failed-job bridging, and monitoring visibility - refactor audit log event inspection into a Filament slide-over and remove the stale inline detail/header-action coupling - align panel theme asset resolution and supporting Filament UI updates, including the rounded 2xl theme token regression fix ## Testing - ran focused Pest coverage for the affected audit-log inspection flow and related visibility tests - ran formatting with `vendor/bin/sail bin pint --dirty --format agent` - manually verified the updated audit-log slide-over flow in the integrated browser ## Notes - branch includes the Spec 160 artifacts under `specs/160-operation-lifecycle-guarantees/` - the full test suite was not rerun as part of this final commit/PR step Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #190
52 lines
1.9 KiB
PHP
52 lines
1.9 KiB
PHP
<x-filament-panels::page>
|
|
@php($lifecycleSummary = $this->lifecycleVisibilitySummary())
|
|
|
|
<x-filament::tabs label="Operations tabs">
|
|
<x-filament::tabs.item
|
|
:active="$this->activeTab === 'all'"
|
|
wire:click="$set('activeTab', 'all')"
|
|
>
|
|
All
|
|
</x-filament::tabs.item>
|
|
<x-filament::tabs.item
|
|
:active="$this->activeTab === 'active'"
|
|
wire:click="$set('activeTab', 'active')"
|
|
>
|
|
Active
|
|
</x-filament::tabs.item>
|
|
<x-filament::tabs.item
|
|
:active="$this->activeTab === 'blocked'"
|
|
wire:click="$set('activeTab', 'blocked')"
|
|
>
|
|
Blocked by prerequisite
|
|
</x-filament::tabs.item>
|
|
<x-filament::tabs.item
|
|
:active="$this->activeTab === 'succeeded'"
|
|
wire:click="$set('activeTab', 'succeeded')"
|
|
>
|
|
Completed successfully
|
|
</x-filament::tabs.item>
|
|
<x-filament::tabs.item
|
|
:active="$this->activeTab === 'partial'"
|
|
wire:click="$set('activeTab', 'partial')"
|
|
>
|
|
Needs follow-up
|
|
</x-filament::tabs.item>
|
|
<x-filament::tabs.item
|
|
:active="$this->activeTab === 'failed'"
|
|
wire:click="$set('activeTab', 'failed')"
|
|
>
|
|
Execution failed
|
|
</x-filament::tabs.item>
|
|
</x-filament::tabs>
|
|
|
|
@if (($lifecycleSummary['likely_stale'] ?? 0) > 0 || ($lifecycleSummary['reconciled'] ?? 0) > 0)
|
|
<div class="mb-4 rounded-lg border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900 dark:border-amber-500/30 dark:bg-amber-500/10 dark:text-amber-100">
|
|
{{ ($lifecycleSummary['likely_stale'] ?? 0) }} active run(s) are beyond their lifecycle window.
|
|
{{ ($lifecycleSummary['reconciled'] ?? 0) }} run(s) have already been automatically reconciled.
|
|
</div>
|
|
@endif
|
|
|
|
{{ $this->table }}
|
|
</x-filament-panels::page>
|