Automated PR provided by Codex via Gitea API. Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #483
105 lines
4.3 KiB
Markdown
105 lines
4.3 KiB
Markdown
---
|
|
name: tenantpilot-filament-livewire-v5-change-loop
|
|
description: Checklist gate for Laravel 12, Filament v5, Livewire v4, and TenantPilot Filament safety changes.
|
|
---
|
|
|
|
## Purpose
|
|
|
|
Use this skill to keep Filament and Livewire changes aligned with TenantPilot's Laravel 12, Filament v5, Livewire v4, RBAC, Product Surface, and testing contracts.
|
|
|
|
## Activate When
|
|
|
|
- Touching Filament resources, pages, widgets, relation managers, actions, tables, forms, infolists, navigation, panels, providers, render hooks, assets, global search, or Livewire components.
|
|
- Adding or changing destructive/high-impact Filament actions.
|
|
- Writing or reviewing Filament/Livewire tests.
|
|
|
|
## Do Not Activate When
|
|
|
|
- No Filament, Livewire, panel, route, navigation, action, table, form, UI, or asset behavior changes.
|
|
- The active spec explicitly forbids runtime UI changes and only creates docs/tooling artifacts.
|
|
|
|
## Maturity
|
|
|
|
L3 checklist.
|
|
|
|
## Gate Type
|
|
|
|
checklist.
|
|
|
|
## Source Evidence
|
|
|
|
- `AGENTS.md`
|
|
- `docs/filament-guidelines.md`
|
|
- `docs/research/filament-v5-notes.md`
|
|
- `docs/ui/tenantpilot-enterprise-ui-standards.md`
|
|
- `docs/product/standards/product-surface-contract.md`
|
|
- `docs/testing-guidelines.md`
|
|
- `apps/platform/bootstrap/providers.php`
|
|
- `apps/platform/app/Providers/Filament/AdminPanelProvider.php`
|
|
- `apps/platform/app/Providers/Filament/SystemPanelProvider.php`
|
|
- `apps/platform/app/Support/Rbac/UiEnforcement.php`
|
|
- `apps/platform/app/Support/Rbac/WorkspaceUiEnforcement.php`
|
|
|
|
## External Anchors
|
|
|
|
- Filament v5 official docs cited in `docs/research/filament-v5-notes.md`.
|
|
|
|
## Required Repo Context
|
|
|
|
- Installed versions: Laravel 12, Filament v5, Livewire v4.
|
|
- Panel provider registration.
|
|
- Resource/page/global search posture.
|
|
- Action surface and Product Surface classifications.
|
|
- Existing tests for the affected page/resource/widget/action.
|
|
- Asset registration and deploy implications.
|
|
|
|
## Execution Checklist
|
|
|
|
- Confirm Livewire v4.0+ compliance and no Livewire v3 APIs.
|
|
- Register panel providers only in `apps/platform/bootstrap/providers.php` for Laravel 11+/12.
|
|
- Do not change panel `path()` without route conflict review.
|
|
- For global search, ensure safe View/Edit page and `$recordTitleAttribute`, or disable it.
|
|
- Eager-load relationship-backed global search details.
|
|
- Use native Filament components and shared primitives before custom Blade/Tailwind.
|
|
- Use `UiEnforcement` or `WorkspaceUiEnforcement` for capability-aware actions.
|
|
- Use `->action(...)` and `->requiresConfirmation()` for destructive/high-impact actions.
|
|
- Keep business behavior in services/jobs/policies, not long Filament closures.
|
|
- Test pages/relation managers/widgets as Livewire components and actions through Filament action helpers.
|
|
- Record asset strategy and whether `filament:assets` is required.
|
|
|
|
## Stop Conditions
|
|
|
|
- Livewire v3 or Filament v3/v4 APIs are introduced.
|
|
- Panel provider registration is moved to `bootstrap/app.php`.
|
|
- Destructive/high-impact action lacks confirmation, server-side authorization, or audit/test coverage.
|
|
- Global search is enabled without safe scoped View/Edit posture.
|
|
- UI visibility is treated as authorization.
|
|
- Graph/provider calls happen during render.
|
|
- Custom markup replaces native Filament/shared primitives without an approved Product Surface/UI-FIL exception.
|
|
|
|
## Required Evidence After Use
|
|
|
|
- Livewire v4 compliance statement.
|
|
- Provider registration location statement.
|
|
- Global search posture for changed resources.
|
|
- Destructive/high-impact action safety summary.
|
|
- Asset strategy and deployment note.
|
|
- Tests added/updated and run, or no-runtime/UI rationale.
|
|
- Browser proof when rendered UI/user flow changes.
|
|
|
|
## Common Failure Modes
|
|
|
|
- Mounting non-Livewire resource classes in Livewire tests.
|
|
- Assuming URL actions have confirmation modal behavior.
|
|
- Adding page-local badges/status colors instead of `BadgeCatalog`/shared primitives.
|
|
- Publishing Filament internals for small layout tweaks.
|
|
- Registering heavy assets globally when on-demand loading fits.
|
|
|
|
## Quarantined Rules
|
|
|
|
Full Spec 416 quarantine list applies. Especially quarantined here: Product Surface runtime framework; raw provider/evidence payload default display; stale provider Healthy/Ready semantics; historical audits as current truth.
|
|
|
|
## Review / Expiry
|
|
|
|
Review when Filament, Livewire, Laravel panel structure, or TenantPilot Filament standards change. No planned expiry.
|