# Validation — 22 October 2026

## Completed
- React/Vite production build and pre-rendering: 18 routes.
- Light/dark preference checks: default light mode, stored/invalid preferences, blocked storage, browser theme-color metadata and accessible toggle on all routes.
- HRM preview adapter checks: department/employee operations, protected department deletion, attendance upsert and invalid checkout times, overlapping leave rejection, terminal leave decisions, CSV export and formula neutralization.
- Private HRM pre-render check: login-only HTML, no sample employee records in HTML, noindex metadata and exclusion from the public sitemap.
- PHP 8.2-compatible syntax parser: all 69 application PHP files parsed successfully. This does not execute Laravel or SQL.
- Desktop browser QA: inspected dashboard and employee directory; created a fictional employee through the demo form; checked light/dark layouts; verified switching from Employees to Attendance and Leave requests. A stale-table state issue discovered during browser testing was fixed and the navigation was retested.

## Not executed in this environment
- PHP/Composer runtime tests, MySQL integration, SMTP delivery and mobile browser checks. PHP, Composer and MySQL are unavailable here.
- Laravel feature tests are included in `backend/tests/Feature/HrmTest.php` and `EnquiryTest.php`. Run `php artisan test` plus a real MySQL submission/login/HRM smoke test before live use.

## Preview versus production
The private hosted preview uses clearly labeled fictional HRM data held only in browser memory. The downloadable production build uses the protected Laravel API and database. Preview workflow checks do not prove that the Laravel backend passed its feature tests.
