Implementation Action Log

Live content of .antigravity-ai/rebuild-implementation-log.md

Back to Architecture Directory File: .antigravity-ai/rebuild-implementation-log.md
Live Disk Read
                ---
title: FFC-Rebuild-26 Action & Implementation Log
date: 2026-09-02
category: Rebuild Implementation Tracking
tags:
  - rebuild
  - ffc-rebuild-26
  - filament
  - action-log
  - ionos-inodes
  - product-expiration
  - php-whitelist-rule
---

# FFC-Rebuild-26 Action & Implementation Log

*Privilege Authorization Granted: 2026-09-01 (Active through 2026-09-08 / 7-Day Renewal Cycle)*  
*Note: Newest tasks and actions are documented at the top.*

---

## 🛑 MANDATORY ARCHITECTURAL POLICY: ALL CASE MANAGEMENT REJECTED
>
> **PERMANENT EXECUTIVE DIRECTIVE:** ALL CASE MANAGEMENT, COURT DOCKET TRACKING, COURT DATE TRACKING, AND LEGAL PRACTICE ITEMS ARE **STRICTLY REJECTED AND PROHIBITED**.
> Fix Family Courts is exclusively an **Educational Consulting and Constitutional Analysis** platform. Tracking court dates or case dockets introduces severe legal malpractice and unauthorized practice of law (UPL) liabilities that Fix Family Courts is not equipped for and does not provide.

### [2026-09-06 01:35] Built: Post/Page Creation & Editing System (`DocumentResource`) with Dual MD/HTML Editor & Live CSS Preview

- **Core Capabilities Delivered:**
  1. *Zero Cost / Open-Source:* Rejected TinyMCE proprietary cloud licensing trap; built on native open-source components.
  2. *VS Code-Style HTML Editor (`CodeEditor`):* Supports full syntax highlighting, line numbers, and arbitrary HTML tags and custom CSS classes (`<div class="...">`, `<p class="...">`) with zero sanitization stripping.
  3. *Markdown Editor (`MarkdownEditor`):* Dedicated Markdown mode for authors who prefer writing in MD syntax (`#`, `*`, `[]()`, tables).
  4. *Live Auto-Refreshing CSS Preview:* Interactive iframe component (`resources/views/filament/forms/components/document-preview.blade.php`) loading compiled `app.css` stylesheet and brand fonts, autorefreshing on every keystroke, with Desktop, Tablet, and Mobile viewport switches.
  5. *16-Column Schema Compliance:* Integrated all 16 fields (`title`, `slug`, `content`, `excerpt`, `type`, `status`, `author_id`, `published`, `modified`, `h1_placement`, `sitemap_include`, `html_title`, `legacy_id`).
  6. *Multi-Panel Availability:* Registered in both Editorial Studio (`/editor/documents`) and Technical Admin (`/admin/documents`).
- **Automated Verification:** Added `tests/Feature/DocumentResourceTest.php` (7 passed). Full test suite: 60 tests passed green (249 assertions).

### [2026-09-06 01:20] Updated: Documents Table Schema & Model with Ron's Exact Fields & Order

- **Migration & Database Schema:**
  - Added requested fields to [`database/migrations/2026_09_01_000005_create_documents_table.php`](file:///c:/laragon/www/ffc-rebuild-26/database/migrations/2026_09_01_000005_create_documents_table.php) in Ron's exact order:
    1. `id`, 2. `legacy_id`, 3. `slug`, 4. `html_title`, 5. `title`, 6. `excerpt`, 7. `content`, 8. `type`, 9. `status`, 10. `author_id`, 11. `published` (dateTime), 12. `modified` (dateTime), 13. `created_at` (timestamp), 14. `updated_at` (timestamp), 15. `h1_placement` (varchar default 'page'), 16. `sitemap_include` (tinyint default 0).
  - Applied migration to `ffc_rebuild_26` MySQL database.
- **Eloquent Model Updates (`App\Models\Document`):**
  - Updated `$fillable` and `$casts` for `published`, `modified`, `h1_placement`, `sitemap_include`.
  - Implemented **dynamic canonical URL resolution** based on document `type` (e.g. `resources/slug`, `articles/slug`, etc.).
  - Added backward-compatible accessor for `published_at` mapping to `published`.
- **Automated Verification:** All 53 tests passing green (236 assertions).

### [2026-09-06 01:10] Built: Sandboxed Filament Image Tool & Media Management System (`MediaAssetResource`)

- **Database Schema & Model:**
  - Created migration [`database/migrations/2026_09_06_000001_create_media_assets_table.php`](file:///c:/laragon/www/ffc-rebuild-26/database/migrations/2026_09_06_000001_create_media_assets_table.php) and migrated via `--database=ffc_rebuild_26`.
  - Created Eloquent model [`app/Models/MediaAsset.php`](file:///c:/laragon/www/ffc-rebuild-26/app/Models/MediaAsset.php) with automatic sandboxed URL resolution (`https://images.fixfamilycourts.com/FFC-WEBSITE-2026-FORWARD/...`) and markdown/HTML embed accessors.
- **Filament Media Management Resource:**
  - Built [`app/Filament/Editor/Resources/MediaAssets/MediaAssetResource.php`](file:///c:/laragon/www/ffc-rebuild-26/app/Filament/Editor/Resources/MediaAssets/MediaAssetResource.php) with dedicated form schemas and table catalog.
  - Hardcoded upload sandboxing: FileUpload targets disk `ionos` and root directory `/FFC-WEBSITE-2026-FORWARD/`.
  - **Rule 10 Enforcement:** `DeleteAction` and `BulkDeleteAction` strictly omitted from table and forms.
  - Multi-panel discovery: Available in **Editorial Studio (`/editor/media-assets`)**, **Admin Console (`/admin/media-assets`)**, and **Operations Console (`/operations/media-assets`)**.
- **Automated Verification:** Added [`tests/Feature/MediaAssetToolSecurityTest.php`](file:///c:/laragon/www/ffc-rebuild-26/tests/Feature/MediaAssetToolSecurityTest.php) with 5 tests passing green (11 assertions).
- **Standing by for Ron's Documents Migration File:** Ready to apply the new schema baseline and scaffold `DocumentResource` as soon as Ron confirms the migration file is finalized.

### [2026-09-06 00:45] Verified: `/FFC-WEBSITE-2026-FORWARD/` Sandboxed Uploads & Created Task 2.6

- **Sandboxed Directory Active:** Ron established `/FFC-WEBSITE-2026-FORWARD/` on `images.fixfamilycourts.com`.
- **Live Verification Completed:**
  - SFTP authentication and programmatic file write into `/FFC-WEBSITE-2026-FORWARD/` succeeded.
  - Public HTTP delivery at `https://images.fixfamilycourts.com/FFC-WEBSITE-2026-FORWARD/` verified with HTTP 200 OK.
  - Test verification file cleanly unlinked; legacy root remains 100% untouched.
- **Created Task 2.6 (Image Subdomain Archival, Staged Transition & Production Stabilization Pipeline):**
  - Codified the 4-phase transition:
    1. Read-only exhaustive asset audit.
    2. Double-verification gate (`.zip` on server + local copy on Ron's machine).
    3. Root transition with post-pruning duplicate management during production stabilization.
       - **Permanent Rollback Guarantee:** All currently used legacy image paths and files remain untouched so the old site can be rolled back to at any time with 100% of images working.
       - **Zero Path Interference:** Future root transitions must never collide with, displace, or overwrite any legacy file or path.
    4. Legacy image removal **ONLY upon Ron's explicit authorization** post-stability verification.

### [2026-09-06 00:35] Codified: Rule 10 — Strict Read-Only & Zero Deletion/Modification for IONOS Media Assets

- **Executive Safety Directive (Rule 10 Enforced):**
  - Formally codified **Rule 10** in [`architecture-boundaries-and-rejections.md`](file:///C:/laragon/www/ffc-rebuild-26/.antigravity-ai/architecture-boundaries-and-rejections.md).
  - **Zero Deletions / Zero Alterations:** All existing images and files on `home333798556.1and1-data.host` (`images.fixfamilycourts.com`) are permanently locked as **STRICTLY READ-ONLY**. Under no circumstances will any agent or script delete, modify, or overwrite any existing media asset.
  - **Application & CMS System Configuration Enforcement:**
    - Any Image Management System or Filament Media Resource built into `ffc-rebuild-26` will have all delete/purge actions completely omitted/disabled.
    - Zero in-place overwriting: Existing images cannot be overwritten or renamed by CMS forms.
    - Hardcoded directory scoping: The application upload pipeline is strictly restricted to write *only* into the designated folder specified by Ron.
    - Media browsing is purely index/preview/copy-URL (non-destructive).
  - **Dedicated Human-Configured Writable Directory Only:** New asset additions or edits will ONLY ever be permitted within a specific, dedicated folder that Ron explicitly sets up and designates. Until that folder path is explicitly provided, the entire connection is treated as 100% immutable.
  - **Preservation of Remote `.php` Tools:** Strict protection maintained for Ron's custom standalone image browser script.
- **Configured SFTP Credentials:**
  - Configured `IONOS_DISK_DRIVER=sftp`, `IONOS_FTP_HOST=home333798556.1and1-data.host`, `IONOS_FTP_PORT=22`, `IONOS_FTP_USERNAME=acc1961651008`, and generated 24-character password in local [`.env`](file:///C:/laragon/www/ffc-rebuild-26/.env).

### [2026-09-05 21:05] Built: Dedicated Operations Console Panel (`/operations`) & Rule 9 Hard Panel Isolation

- **Architectural Security Decision (Rule 9 Enforced):**
  - Completely separated Technical Administration from Business Operations into distinct Filament panels.
  - Formally codified **Rule 9** in [`architecture-boundaries-and-rejections.md`](file:///C:/laragon/www/ffc-rebuild-26/.antigravity-ai/architecture-boundaries-and-rejections.md).
- **Hard Panel Isolation Implemented:**
  - **Super Admin (`/admin`):** Strictly restricted to Super Admin (Ron Palmer). Attempted access by Business Master or any lower role is rejected with an immediate `403 Forbidden`.
  - **Operations Console (`/operations`):** Dedicated workspace for Business Master (Sherry Palmer) via [`OperationsPanelProvider`](file:///C:/laragon/www/ffc-rebuild-26/app/Providers/Filament/OperationsPanelProvider.php), registered in `bootstrap/providers.php`.
  - **Upward Inheritance Maintained:** Super Admin retains full inheritance rights and can access `/operations` at any time.
- **Dedicated Operations Widgets & UI:**
  - Created [`app/Filament/Operations/Widgets/OperationsOverviewWidget.php`](file:///C:/laragon/www/ffc-rebuild-26/app/Filament/Operations/Widgets/OperationsOverviewWidget.php) showing educational consulting counts, client accounts, product overrides, and upload authorizations.
  - Updated [`app/Enums/UserRole.php`](file:///C:/laragon/www/ffc-rebuild-26/app/Enums/UserRole.php): `BUSINESS_ADMIN->panelPath()` mapped to `/operations`.
  - Updated [`app/Http/Controllers/DashboardHubController.php`](file:///C:/laragon/www/ffc-rebuild-26/app/Http/Controllers/DashboardHubController.php) and [`resources/views/pages/dashboard/hub.blade.php`](file:///C:/laragon/www/ffc-rebuild-26/resources/views/pages/dashboard/hub.blade.php): 1-click launcher for Business Master targets `/operations`.
  - Updated [`resources/views/auth/login.blade.php`](file:///C:/laragon/www/ffc-rebuild-26/resources/views/auth/login.blade.php) and [`app/Filament/Auth/Pages/CustomLogin.php`](file:///C:/laragon/www/ffc-rebuild-26/app/Filament/Auth/Pages/CustomLogin.php) to reference `/operations`.
- **Security Test Coverage:** Added 6 dedicated automated feature tests verifying that Business Master is blocked from `/admin`, authorized on `/operations`, and that lower roles are blocked. All 48 tests passing green (225 assertions).

### [2026-09-05 20:55] Resolved: Missing Product & CustomerEntitlement Models & Migrations

- **Root Cause:**
  - `AdminSystemOverviewWidget` and `CustomerProductsWidget` reference `App\Models\Product` and `App\Models\CustomerEntitlement`.
  - While the database tables existed and were seeded, the corresponding Eloquent model classes were missing from `app/Models/`.
- **Created Models & Methods:**
  - Created [`app/Models/Product.php`](file:///C:/laragon/www/ffc-rebuild-26/app/Models/Product.php) with casts (`decimal:2`, `integer`, `boolean`) and `entitlements()` relationship.
  - Created [`app/Models/CustomerEntitlement.php`](file:///C:/laragon/www/ffc-rebuild-26/app/Models/CustomerEntitlement.php) with `canDownload()` capability check respecting `is_active`, `access_expires_override`, and `max_downloads_override`.
- **Created Repeatable Migrations:**
  - Added [`database/migrations/2026_09_02_000001_create_products_table.php`](file:///C:/laragon/www/ffc-rebuild-26/database/migrations/2026_09_02_000001_create_products_table.php).
  - Added [`database/migrations/2026_09_02_000002_create_customer_entitlements_table.php`](file:///C:/laragon/www/ffc-rebuild-26/database/migrations/2026_09_02_000002_create_customer_entitlements_table.php).
- **Verification:** Both widgets executed directly with 100% success. Full test suite passing green (42 tests, 217 assertions).

### [2026-09-05 20:50] Resolved: Dashboard 1-Click Launchers, Admin Access & Login Credentials

- **Resolved User Model Missing Methods:**
  - Added `isSuperAdmin()`, `isBusinessAdmin()`, and updated `isAdmin()` to include Super Admin on [`App\Models\User`](file:///C:/laragon/www/ffc-rebuild-26/app/Models/User.php).
  - Fixed `canAccessPanel()` so Super Admin (`/admin`), Business Master (`/admin`), Editor (`/editor`), Client (`/client`), and Customer (`/customer`) authenticate cleanly without `BadMethodCallException`.
- **Database Seeder Fix & Execution:**
  - Fixed syntax error and missing `role` definitions in [`database/seeders/DatabaseSeeder.php`](file:///C:/laragon/www/ffc-rebuild-26/database/seeders/DatabaseSeeder.php).
  - Seeded all demo test accounts (`admin@test.com`, `business@test.com`, `editor@test.com`, `client@test.com`, `customer@test.com`) with `password`.
  - Re-ran `php artisan db:seed --database=ffc_rebuild_26`.
- **1-Click Launchers & Hub Blade:**
  - Updated [`app/Http/Controllers/DashboardHubController.php`](file:///C:/laragon/www/ffc-rebuild-26/app/Http/Controllers/DashboardHubController.php) and [`resources/views/pages/dashboard/hub.blade.php`](file:///C:/laragon/www/ffc-rebuild-26/resources/views/pages/dashboard/hub.blade.php) with explicit `launch_title` properties.
- **Login Credentials & Quick-Fill UI:**
  - Updated [`resources/views/auth/login.blade.php`](file:///C:/laragon/www/ffc-rebuild-26/resources/views/auth/login.blade.php) to display true roles for all 4 author accounts (Ron Palmer: Super Admin #1, Fix Family Courts: Super Admin #2, Sherry Palmer: Business Master #3, Bob Palmer: Super Admin #4).
  - Added 1-click "Fill" buttons for all author accounts alongside the role test badges.
  - Made default test password (`password`) explicit.
- **Verification:** All 42 feature & unit tests passing green (217 assertions).

### [2026-09-05 20:45] Design Rule 8 Enforced: Members vs. Product Customers & Dynamic Portals Navigation

- **Design Rule 8 Formally Codified:** Added to `architecture-boundaries-and-rejections.md` and registered in `rebuild-task-backlog.md` (Task 1.5).
- **Public / Unauthenticated Navigation Rule:**
  - When a user is NOT logged in, the "Portals" / "Members" menu dropdown renders ONLY a single link describing Members Only access (matching live `https://fixfamilycourts.com/divorce-child-custody-membership` / Document ID 2127).
  - No internal portals (`/customer`, `/client`, `/editor`, `/admin`) or login-required dashboards may be publicly exposed in the dropdown.
- **Authenticated Navigation Rule:**
  - When logged in, a user sees ONLY:
    1. The Members Only description page.
    2. The specific portal/access level they are signed up for (e.g. Customer Hub for digital product owners, Client Portal for consulting clients, or higher administrative consoles if authorized).
- **Customer vs. Member Separation:**
  - Customers who only purchase digital products (books, motion packages) are **NOT members**. They hold product entitlement records (`customer_entitlements`), NOT membership status.
- **Membership Bucket & Granular Training Access:**
  - "Members Only" is currently a single bucket for "Gold Members".
  - Granular access to training courses must be purchased separately.
  - All training sits under the "Members Only" login umbrella currently, requiring discrete course entitlement checks rather than blanket training access.

### [2026-09-05 20:31] Tasks 3.4 & 3.5 Added: Production Console Docs & Role Training Pages

- **Task 3.4 (Console Documentation Hub):**
  - Port `/dev/architecture` documentation hub into authenticated Filament panels for Super Admin (`/admin`) and Business Master / Operations Console.
  - Keeps architecture diagrams, database isolation rules, and operational logs accessible exclusively to authorized leadership in production.
- **Task 3.5 (Role-Specific Training Markdown Pages):**
  - Create dedicated `.md`-backed guidance pages embedded inside panel navigations:
    - *Editor Panel:* Publishing workflows, category guidelines, Divi cleanup SOPs.
    - *Client Panel:* Onboarding guide, narrative material review instructions, compliance disclosures.
    - *Customer Panel:* Digital vault guide, token expiration info, download troubleshooting.
- **Backlog Updated:** Queued under Phase 3 in `rebuild-task-backlog.md`.

### [2026-09-05 20:26] Dev-Only Architecture & Mindmap Page Live with Home Banner

- **Interactive Review Page Created:**
  - Route: `/dev/architecture` (named `dev.architecture`).
  - View: Enhanced `pages.stubs.generic` with client-side Mermaid.js rendering.
  - Features: 9-subsystem visual cards overview + live graphical Mermaid mindmap tree.
- **Prominent Home Page Banner:**
  - Added high-contrast dev banner at top of `resources/views/welcome.blade.php`.
  - Features 1-click launcher directly to the architecture mindmap console.
- **Production Cleanup Note Recorded:**
  - Explicit reminder logged in Phase 3.3 backlog checklist to prune this route and banner before deploying to production.

### [2026-09-05 20:22] Task 1.1 Completed: Database Migrated and Seeded

- **Command Executed:** `php artisan migrate:fresh --database=ffc_rebuild_26 --seed`
- **Result:** Successfully wiped and re-seeded `ffc_rebuild_26` with complete isolation.
- **Components Stood Up:**
  - `products` and `customer_entitlements` tables (with Business Master overrides).
  - Upward role hierarchy (`SUPER_ADMIN`, `BUSINESS_ADMIN`).
  - Client consultation & compliance logs.
  - Core documents & sample digital product vault records.
- **Task Status:** Marked `[x] Completed` in `rebuild-task-backlog.md`.

### [2026-09-05 20:20] Task 1.3 Architectural Anticipation: Delegated Technical & Operational Sub-Roles

- **Requirement:** Design anticipation for roles below Super Admin (`Technical Architect`, `Technical Admin`, `Scoped Contractor`) and below Business Master (`Operations Assistant`, `Client Coordinator`).
- **Design Directives:**
  - Standard reasonable defaults with accompanying `.md` explanation notes for each role tier.
  - Granular scoped permission model (allowing isolated, temporary delegation to solve a single issue/module, comparable to folder-level FTP isolation).
  - Status: Design anticipated in architecture; no premature build-out until Phase 3/4.
- **Backlog Updated:** Formally queued as Task 1.3 in `rebuild-task-backlog.md`.

### [2026-09-05 20:04] Rule 7 Enforced: Option A Editor Group Isolation for FFC-Rebuild-26

- **Workflow Isolation Rule Recorded:**
  - All `ffc-rebuild-26` files opened during collaborative sessions or from links stay isolated in their own dedicated Editor Group (Group 2 / Side Split).
  - User's personal workflow remains strictly in their single standard group.
  - Allows Ron to close all rebuild editors at any moment in 1 click (`Ctrl+K, Ctrl+W` or "Close All in Group") without affecting Obsidian vaults, research notes, or default-25 tabs.
- **Rule 7 Formally Recorded:** Added to `architecture-boundaries-and-rejections.md`.

### [2026-09-02 17:51] Task 1.2 Added: Architectural Mindmap & Gap Analysis Review

- **Backlog Updated:** Added Task 1.2 immediately following the migration command.
- **Industry Standard Mindmap Formats Supported:**
  1. *Mermaid Mindmap (`mindmap` syntax):* Natively renders in VS Code / Antigravity Markdown previews, GitHub, Obsidian, and Mermaid Live Editor.
  2. *OPML (Outline Processor Markup Language):* The universal export/import standard recognized by XMind, MindNode, FreeMind, and MindManager.
  3. *Markdown Indented Trees:* Clean text outlines easily converted into any node-based mindmap tool.
- **System Mindmap Generated:** Created `system-architecture-mindmap.md` mapping all 9 primary architectural subsystems, roles, databases, media pipelines, and feature workflows.

### [2026-09-02 17:45] Data Migration Workflow & Laravel Cloud Staging Pipeline Registered

- **Immediate Next Action:** Placed explicit migration command at top of backlog:
  `php artisan migrate:fresh --database=ffc_rebuild_26 --seed`
- **User-Directed Migration Sequence (Phase 2):**
  1. *Column Reordering & Pruning:* Ron will manually edit `2026_09_01_000005_create_documents_table.php` to arrange commonly used columns in first visual view of graphical DB tools.
  2. *Production-to-Local Sync:* Ron syncs production data to `ffc_default_25.documents` (agent creates supplementary sync scripts if needed).
  3. *Divi Rendered Data Dump:* Ron brings up legacy WordPress server with Divi active; agent dumps fully rendered posts into staging tables in `ffc_rebuild_26`.
  4. *Visual Content Diff Console:* Agent builds HTML/Laravel review tool allowing Ron to choose per-post: `[A] Overwrite`, `[B] Manual Edit`, `[C] Leave As-Is`.
  5. *Exhaustive Image Search & Inode Relief:* Requires Ron to provide project-specific FTP/SFTP credentials for `images.fixfamilycourts.com` (reminder set). Unused images bundled to `.zip` after double verification; all `.php` files permanently protected.
- **Testing & Deployment Roadmap (Phase 3):**
  - Formal Dev-User Testing across all 5 roles.
  - Dedicated Staging Environment configuration on Laravel Cloud.
  - Beginner-friendly Git / GitHub Actions CI/CD automation from Staging to Production.

### [2026-09-02 17:18] Database Isolation Policy Enforced (Rule 6)

- **Authorized Database Connections:**
  - `ffc_rebuild_26` on local machine DB server: **Full Read/Write/Migration Access**.
  - `ffc_default_25` on local machine DB server: **Strict Read-Only Access** (legacy source of truth).
- **Absolute Boundary:**
  - **ZERO access** to any other database connection, host, or remote database under any circumstances, even if present in project configuration files.
- **Rule 6 Formally Recorded:** Documented in `architecture-boundaries-and-rejections.md`.

### [2026-09-02 17:10] Explicit Database Connection & Mandatory Migration Rule Enforced

- **Explicit Connection Defined (`ffc_rebuild_26`):**
  - Updated `config/database.php` defining `ffc_rebuild_26` as the explicit primary connection.
  - Updated `.env` setting `DB_CONNECTION=ffc_rebuild_26`.
- **Permanent Migration Safeguard Rule:**
  - **MANDATORY INVARIANT:** All migration, fresh, rollback, or seeding commands suggested by the agent MUST explicitly include the named connection flag:
    `php artisan migrate:fresh --database=ffc_rebuild_26 --seed`
  - Generic / ambiguous migration commands are permanently prohibited.

### [2026-09-02 17:00] Tracks A, B, C, D, and F Infrastructure Completed

- **Track A (Upward Role Hierarchy):**
  - Updated `UserRole` enum: `SUPER_ADMIN` (Ron) and `BUSINESS_ADMIN` (Sherry).
  - Implemented Upward Inheritance Roll-Up: Super Admin and Business Master automatically inherit access to all lower panels (`admin`, `editor`, `client`, `customer`).
  - Added 1-click test launchers for Super Admin (`admin@test.com`) and Business Master (`business@test.com`) on `/dashboard` and quick-fill badges on `/login`.
- **Track B (Digital Products & Laravel Cloud Storage):**
  - Created `products` schema with configurable `download_token_expires_in_minutes` and `max_download_attempts`.
  - Created `customer_entitlements` schema with Business Master overrides (`max_downloads_override`, `access_expires_override`, `is_comped`, `override_notes`).
  - Created signed download route: `/customer/download/{product}`.
- **Track C (Client Upload Gatekeeper & Quotas):**
  - Added `can_upload_files = false`, `upload_quota_count = 0`, and `upload_quota_mb = 0` to `users` table (zero liability default).
  - Wired executive dashboard widget tracking upload privileges granted.
- **Track D (Media Engine & Inode Relief):**
  - Configured `ionos` SFTP disk pointing to `images.fixfamilycourts.com` in `config/filesystems.php`.
  - Implemented `ImageUsageTracker` with live classification (🟢 Live in Production, 🟡 Draft, ⚪ Unreferenced) and legacy filename ID convention parser (`2193_filename.webp` -> Doc #2193).
  - Enforced permanent safety rule: all `.php` files on the subdomain are hard-protected against deletion.
- **Track F (Site-Wide Search Engine):**
  - Implemented `/search` full-text search query across titles, excerpts, and content.
  - Added category filtering (`resource`, `article`, `product`) and interactive search UI with responsive results cards.
- **Testing & Verification:**
  - Expanded test suites across `PortalAuthenticationAndDashboardTest`, `FilamentMultiPanelSecurityTest`, and `PublicNavigationAndRoutingTest`.

### [2026-09-02 15:28] IONOS Inode Optimization & Configurable Token Expiry Recorded

- **Configurable Product Expiration:**
  - Added `download_token_expires_in_minutes` to product schema and Filament product management, enabling customized link longevity per product (default 15 mins).
- **IONOS Inode Relief Protocol (Precursor to Migration):**
  - High-priority operational constraint identified: IONOS file-count limits (inodes) exhausted by 15 years of WordPress thumbnail variants.
  - Planned exhaustive database image search against `ffc-default-25.wp_posts`.
  - Unused images will be bundled into a single `.zip` file on the subdomain.
  - **Double-Verification Gate:** `.zip` integrity verified on IONOS and downloaded locally before deleting any individual files.
- **Permanent Safety Invariant:**
  - **NEVER touch or delete any `.php` files on `images.fixfamilycourts.com`** (preserves custom human-friendly image navigation script).