diff --git a/.github/agents/copilot-instructions.md b/.github/agents/copilot-instructions.md index d34058c6..515a2b7f 100644 --- a/.github/agents/copilot-instructions.md +++ b/.github/agents/copilot-instructions.md @@ -106,6 +106,8 @@ ## Active Technologies - PHP 8.4 / Laravel 12, Blade, Alpine via Filament, Tailwind CSS v4 + Filament v5, Livewire v4, Pest v4, Laravel Sail, existing `OperationRun` and baseline compare services (162-baseline-gap-details) - PostgreSQL with JSONB-backed `operation_runs.context`; no new tables required (162-baseline-gap-details) - PostgreSQL via existing application tables, especially `operation_runs.context` and baseline snapshot summary JSON (163-baseline-subject-resolution) +- PHP 8.4, Laravel 12, Blade views, Alpine via Filament v5 / Livewire v4 + Filament v5, Livewire v4, Pest v4, Laravel Sail, existing `OperationRunResource`, `TenantlessOperationRunViewer`, `EnterpriseDetailBuilder`, `ArtifactTruthPresenter`, `OperationUxPresenter`, and `SummaryCountsNormalizer` (164-run-detail-hardening) +- PostgreSQL with existing `operation_runs` JSONB-backed `context`, `summary_counts`, and `failure_summary`; no schema change planned (164-run-detail-hardening) - PHP 8.4.15 (feat/005-bulk-operations) @@ -125,8 +127,8 @@ ## Code Style PHP 8.4.15: Follow standard conventions ## Recent Changes +- 164-run-detail-hardening: Added PHP 8.4, Laravel 12, Blade views, Alpine via Filament v5 / Livewire v4 + Filament v5, Livewire v4, Pest v4, Laravel Sail, existing `OperationRunResource`, `TenantlessOperationRunViewer`, `EnterpriseDetailBuilder`, `ArtifactTruthPresenter`, `OperationUxPresenter`, and `SummaryCountsNormalizer` - 163-baseline-subject-resolution-session-1774398153: Added PHP 8.4 + Laravel 12, Filament v5, Livewire v4 - 163-baseline-subject-resolution: Added PHP 8.4 + Laravel 12, Filament v5, Livewire v4 -- 162-baseline-gap-details: Added PHP 8.4 / Laravel 12, Blade, Alpine via Filament, Tailwind CSS v4 + Filament v5, Livewire v4, Pest v4, Laravel Sail, existing `OperationRun` and baseline compare services diff --git a/.specify/memory/constitution.md b/.specify/memory/constitution.md index b8476e14..87a6302b 100644 --- a/.specify/memory/constitution.md +++ b/.specify/memory/constitution.md @@ -1,19 +1,22 @@ @@ -416,6 +419,39 @@ ### Badge Semantics Are Centralized (BADGE-001) - Introducing or changing a status-like value MUST include updating the relevant badge mapper and adding/updating tests for the mapping. - Tag/category chips (e.g., type/platform/environment) are not status-like and are not governed by BADGE-001. +### Filament Native First / No Ad-hoc Styling (UI-FIL-001) +- Admin and operator-facing surfaces MUST use native Filament components, existing shared UI primitives, and centralized design patterns first. +- If Filament already provides the required semantic element, feature code MUST use the Filament-native component instead of a locally assembled replacement. +- Preferred native elements include `x-filament::badge`, `x-filament::button`, `x-filament::icon`, and Filament Forms, Infolists, Tables, Sections, Tabs, Grids, and Actions. + +Forbidden local replacements +- Feature code MUST NOT hand-build badges, pills, status chips, alert cards, or action buttons from raw ``, `
`, or `