## Summary - codify Spec 193 as an explicit monitoring/workbench surface inventory with validator and guard coverage - refactor the Finding Exceptions Queue, Operations landing, and tenantless operation viewer into clearer context, navigation, utility, drilldown, and focused-work lanes - align Alerts, Audit Log, and Alert Deliveries with quiet origin-context handling while preserving calm reference surfaces and the explicit Tenant Diagnostics exception - add focused feature coverage, guard coverage, browser smoke coverage, and the full spec artifacts for Spec 193 ## Verification - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Guards/ActionSurfaceContractTest.php tests/Feature/Guards/ActionSurfaceValidatorTest.php tests/Feature/Guards/Spec193MonitoringSurfaceHierarchyGuardTest.php tests/Feature/OpsUx/OperateHubShellTest.php tests/Feature/Operations/TenantlessOperationRunViewerTest.php tests/Feature/Monitoring/FindingExceptionsQueueHierarchyTest.php tests/Browser/Spec193MonitoringSurfaceHierarchySmokeTest.php` - `cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent` - integrated-browser smoke pass over queue, operations, operation detail, alerts, audit log, and tenant diagnostics ## Notes - Livewire v4 / Filament v5 stack unchanged - no provider-registration changes; Laravel 11+ provider registration remains in `bootstrap/providers.php` - no new global-search behavior was introduced - destructive and governance-changing actions keep their existing confirmation and authorization semantics - no new assets or migrations were added Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #227
6.3 KiB
6.3 KiB
Quickstart: Monitoring Surface Action Hierarchy and Workbench Semantics
Goal
Bring the in-scope monitoring, queue, operations, and workbench surfaces under one bounded hierarchy: scope reads as context, navigation reads as navigation, utilities stay utility-level, selected-object or focused actions become prominent only in active work states, calm bounded-scope pages remain calm, and TenantDiagnostics remains the only explicit exception.
Implementation Sequence
-
Confirm the in-scope inventory in code.
- Add the Spec 193 inventory to the existing
ActionSurfaceExemptionslayer. - Validate which surfaces are remediation-required, minor-alignment only, compliant or no-op, or special-type acceptable.
- Retire the blanket
Alertsbaseline exemption and replace it with explicit declaration plus inventory coverage.
- Add the Spec 193 inventory to the existing
-
Remediate the core workbench pages first.
- Refactor
FindingExceptionsQueueso queue scope, utilities, drilldowns, and selected-exception decisions no longer render as flat peers. - Refactor
TenantlessOperationRunViewerso scope, return navigation, refresh, related links, and resumable actions render as distinct layers. - Refactor
Operationsso scope and show-all context stay visible but quieter than the list’s actual work controls.
- Refactor
-
Tighten shared monitoring patterns and classify the rest.
- Add an explicit declaration and audit pass to
Alerts. - Review
AuditLogandListAlertDeliveriesfor minor alignment only. - Confirm
EvidenceOverview,BaselineCompareLanding,BaselineCompareMatrix, andReviewRegisterremain calm references. - Keep
TenantDiagnosticsas the explicit special-type exception and verify its exception reason in code.
- Add an explicit declaration and audit pass to
-
Add regression protection.
- Extend the existing action-surface validator with Spec 193 inventory validation.
- Add a dedicated guard test for Spec 193 inventory and exception semantics.
- Add focused feature tests for the remediated pages and the diagnostic exception.
- Add one browser smoke suite covering remediated, exception, and reference surfaces.
-
Run focused verification.
- Run the guard tests, focused feature tests, browser smoke suite, and formatting through Sail.
Suggested Source Files
apps/platform/app/Filament/Pages/Monitoring/FindingExceptionsQueue.phpapps/platform/app/Filament/Pages/Operations/TenantlessOperationRunViewer.phpapps/platform/app/Filament/Pages/Monitoring/Operations.phpapps/platform/app/Filament/Pages/Monitoring/Alerts.phpapps/platform/app/Filament/Pages/Monitoring/AuditLog.phpapps/platform/app/Filament/Resources/AlertDeliveryResource/Pages/ListAlertDeliveries.phpapps/platform/app/Filament/Pages/Monitoring/EvidenceOverview.phpapps/platform/app/Filament/Pages/BaselineCompareLanding.phpapps/platform/app/Filament/Pages/BaselineCompareMatrix.phpapps/platform/app/Filament/Pages/Reviews/ReviewRegister.phpapps/platform/app/Filament/Pages/TenantDiagnostics.phpapps/platform/app/Support/OperateHub/OperateHubShell.phpapps/platform/app/Support/Ui/ActionSurface/ActionSurfaceExemptions.phpapps/platform/app/Support/Ui/ActionSurface/ActionSurfaceValidator.php
Suggested Test Files
apps/platform/tests/Feature/Guards/ActionSurfaceContractTest.phpapps/platform/tests/Feature/Guards/ActionSurfaceValidatorTest.phpapps/platform/tests/Feature/Guards/Spec193MonitoringSurfaceHierarchyGuardTest.phpapps/platform/tests/Feature/OpsUx/OperateHubShellTest.phpapps/platform/tests/Feature/Operations/TenantlessOperationRunViewerTest.phpapps/platform/tests/Feature/Monitoring/OperationsCanonicalUrlsTest.phpapps/platform/tests/Feature/Monitoring/OperationsRelatedNavigationTest.phpapps/platform/tests/Feature/Monitoring/OperationsDashboardDrillthroughTest.phpapps/platform/tests/Feature/Monitoring/FindingExceptionsQueueHierarchyTest.phpapps/platform/tests/Feature/Monitoring/OperationsHeaderHierarchyTest.phpapps/platform/tests/Browser/Spec193MonitoringSurfaceHierarchySmokeTest.php
Minimum Verification Commands
Run all commands through Sail from apps/platform.
cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Guards/ActionSurfaceContractTest.php
cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Guards/ActionSurfaceValidatorTest.php
cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Guards/Spec193MonitoringSurfaceHierarchyGuardTest.php
cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/OpsUx/OperateHubShellTest.php
cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Operations/TenantlessOperationRunViewerTest.php
cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Monitoring/FindingExceptionsQueueHierarchyTest.php
cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Browser/Spec193MonitoringSurfaceHierarchySmokeTest.php
cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent
Manual Acceptance Checklist
- Open
FindingExceptionsQueuewith and without a selected exception and confirm the page visibly changes from quiet monitoring mode to focused workbench mode. - Open
TenantlessOperationRunViewerfrom Operations and confirm scope, return, refresh, related links, and follow-up actions no longer read as one flat header strip. - Open
Operationsand confirm scope reset is visible but quieter than tabs, filters, and row drilldown. - Open
Alerts,AuditLog, andListAlertDeliveriesand confirm they remain calm or only receive documented minor alignment. - Open
EvidenceOverview,BaselineCompareLanding,BaselineCompareMatrix, andReviewRegisterand confirm they remain calm bounded-scope references. - Open
TenantDiagnosticswith and without an active defect state and confirm repair actions appear only when justified and remain confirmed. - Confirm browser smoke checks show no JavaScript errors on remediated, exception, and reference surfaces.
Deployment Notes
- No migration is expected.
- No new provider registration is expected; Laravel 11+ provider registration remains in
bootstrap/providers.php. - No new asset registration is expected. Existing deploy handling of
cd apps/platform && php artisan filament:assetsremains sufficient.