# iRent cleanup verification

Prepared on 14 October 2026 for **irent.icoresystems.com**.

## Completed cleanup

- Application name, login/sidebar initials, report letterheads, Word exports, SMS defaults, export filenames, logo, and favicon use iRent.
- Former business addresses, phone numbers, email addresses, branded assets, client repair scripts, and the client-specific repair migration were removed from the new copy.
- Production environment settings and service credentials were not copied. `.env.example` contains the new URL and blank secrets. The deployment ZIP contains no active `.env` or application key.
- Original supplied files were retained separately as backups.

## Database verification

- The fresh SQL was generated after successful execution of the complete migration set on an isolated MariaDB 10.5.29 instance.
- The final SQL was then imported into a second empty database and counted independently.
- **68 tables:** **67 application tables with zero rows**, plus **70 rows in the Laravel migration ledger**.
- No users, properties, tenants, landlords, units, financial records, balances, messages, session data, jobs, settings, roles, or accounts are included.
- Every operational column from the supplied schema is present. The new installation preserves the existing rent-arrears table, rent allocation preference, and deposit fields that were missing from the supplied migration set.
- The previous client-specific backup table is excluded.
- Only `migrations` receives INSERT statements. The SQL contains no database-selection or DROP statements. Application ID counters start at 1.
- After import, Laravel reports **Nothing to migrate**.
- A first-administrator rehearsal succeeded against the imported schema. It initialized the standard role, permission, and accounting definitions without creating operational records. The verification account is not included in the SQL or website ZIP.

## Application checks

- Frontend production build passed.
- PHP source syntax checks passed.
- Blade view compilation and route caching passed, including with production-only dependencies.
- The local browser displayed the iRent login page correctly.
- All 12 checked administrator screens rendered HTTP 200 on the imported schema: dashboard, users, roles, settings, properties, units, tenants, landlords, staff overview, rent, finance, and statements.
- A generated Word statement contained the iRent name, new subdomain, and new logo, with no former contacts.
- The focused fresh-install, empty-seeder, and SMS retry checks passed: **8 tests, 43 assertions**.

## Existing test-suite limitation

The original archive's complete suite returned **88 passed / 42 failed**. The cleaned copy returned **90 passed / 42 failed**, including two new first-administrator bootstrap tests. All 42 failure headings matched the original baseline exactly.

These inherited failures remain unresolved. They include tenant-link fixtures referring to a missing `users.tenant_id`, route/redirect expectations, module-access checks, and billing/statement assertions. This cleanup must not be treated as confirmation that every existing workflow has passed automated regression testing.

## Deployment boundary

All checks were local and used disposable databases. No existing live database was connected to, cleared, or updated. DNS, hosting, SSL, cron jobs, and live operation at the new subdomain still require installation. The package includes setup instructions; it has no pre-created administrator or default password.
