# Product Standards > Canonical, living standards that govern new and modified product surfaces, lifecycle semantics, and shared review contracts. > Specs reference these standards; they do not redefine them. > Guard tests enforce critical UI constraints automatically where a standard has runtime enforcement. **Last reviewed**: 2026-05-03 --- ## Standards Index | Standard | File | Governs | |---|---|---| | Table UX | [filament-table-ux.md](filament-table-ux.md) | Column tiers, sort, search, toggle, pagination, persistence, empty states, timestamps, IDs | | Filter UX | [filament-filter-ux.md](filament-filter-ux.md) | Filter patterns, persistence, soft-delete, date range, enum sourcing, defaults | | Actions UX | [filament-actions-ux.md](filament-actions-ux.md) | Row/bulk/header actions, grouping, destructive safety, inspect affordance | | Filament Enterprise UI | [filament-native-enterprise-ui.md](filament-native-enterprise-ui.md) | Custom Blade/widget/page surfaces, primary action hierarchy, badge-first state semantics, and panel-consistent cards | | Lifecycle Governance | [lifecycle-governance.md](lifecycle-governance.md) | Lifecycle taxonomy, source ownership, transition safeguards, follow-up boundaries | | Review Checklist | [list-surface-review-checklist.md](list-surface-review-checklist.md) | PR/spec checklist for any new or modified list surface | --- ## How Standards Are Enforced 1. **Constitution** — Principles in `.specify/memory/constitution.md` govern why we build this way and whether new persistence, abstractions, or semantic frameworks are justified at all. 2. **Standards** (this directory) — Concrete rules for how every surface must behave. 3. **Guard tests** — Automated Pest tests that fail CI when critical standards are violated. 4. **PR review** — The [review checklist](list-surface-review-checklist.md) is checked for every spec or PR that touches a list surface. 5. **Lifecycle review** — The [lifecycle governance standard](lifecycle-governance.md) is checked for every spec or PR that introduces archive, delete, provider-missing, suppression, retention, purge, commercial lifecycle, or restoreability semantics. --- ## When to Update Standards - When a spec introduces a new surface type or pattern not yet covered. - When a standard proves too rigid or too loose after real usage. - When Filament version changes invalidate or enable new native features. Update the standard first, then adjust implementation to match. --- ## Related Docs | Document | Location | Purpose | |---|---|---| | Constitution | `.specify/memory/constitution.md` | Permanent principles (PROP-001, BLOAT-001, OPS-UX-START-001, UI-CONST-001, DECIDE-001, DECIDE-AUD-001, UI-SURF-001, ACTSURF-001, UI-HARD-001, UI-EX-001, HDR-001, OPSURF-001, UI-FIL-001, UX-001, Action Surface Contract, RBAC-UX) | | TenantPilot Enterprise UI Standard | `docs/ui/tenantpilot-enterprise-ui-standards.md` | Canonical detailed rules for custom Filament affordances, interaction honesty, and no ad-hoc styling | | Product Principles | `docs/product/principles.md` | High-level product decisions | | Table Rollout Audit | `docs/ui/filament-table-standard.md` | Rollout inventory and implementation state from Spec 125 | | Action Surface Contract | `docs/ui/action-surface-contract.md` | Original action surface reference (now governed by this standard) |