6.0 KiB
Housekeeping pre-cutover verification
Verified on 2026-08-30 at 19:50 CEST against branch commit 65a62867.
Outcome
The pre-cutover gate passed. The replacement Housekeeping workspace has complete route coverage, passes the automated suite and production build, and rendered successfully across the required desktop, tablet, and mobile viewports. The remaining environmental limitations are recorded below and do not hide a failed dependency or a failed state.
Environment
- Windows and PowerShell, local non-production environment.
- Repository system Node.js was
26.7.0, which does not match.nvmrc. Because the protected NVM installation could not be updated without administrator rights, every recorded gate used the official portable Node.js26.8.1distribution with pnpm11.24.0. - The database was used read-only for the browser verification. No mutation command or database write was executed.
- Redis was not configured. RCON was unavailable during the preview and the workspace represented that dependency as a partial provider warning.
- The temporary
AUTH_SECRETused by the build and local preview was restored or removed after each command.
Automated gates
| Gate | Result | Evidence |
|---|---|---|
| Toolchain | Pass | pnpm toolchain:check reported Node.js 26.8.1 aligned with .nvmrc; pnpm was 11.24.0. |
| Migration matrix and runtime parity | Pass | 137/137 valid; discovered, mapped, and verified routes were all 137; 2 legacy removals were accounted for; no gaps. |
| Housekeeping suite | Pass | 109 test files, 841 tests. |
| Full suite | Pass | 266 test files passed and 3 skipped; 1,741 tests passed and 5 skipped; statement coverage 24.55% (7,737/31,510). |
| TypeScript | Pass | pnpm typecheck exited successfully. |
| Cumulative Biome | Pass | 450 changed JavaScript, TypeScript, JSON, and JSONC files checked in 12 batches; no fixes remained. |
| Patch hygiene | Pass | git diff --check exited successfully. |
| Production build | Pass | Next.js 16.3.3 compiled, typechecked, and generated 239/239 static pages. AUTH_SECRET restoration was confirmed. |
The production build emitted two non-blocking environmental warnings: REDIS_URL is unset, and Turbopack traced a dynamic translation-file path in mutation-runtime-external.ts. Both are explicit in the build output and must be considered for the deployment environment.
Runtime boundary correction
The first real browser run found a React Server Components boundary failure because provider definitions containing a load function were passed into a client component. A failing projection test was added first. The workspace now projects definitions to serializable widget options before crossing the client boundary, while preserving the domain import contract by locating the projection in the shared preferences foundation.
The correction is covered by commits cb77b2d3 and 1ae59bcc. Cumulative Biome corrections are isolated in b9c47aa8 and 65a62867. The corrected browser matrix below rendered without the error boundary.
Browser and responsive matrix
The canonical route for each domain was tested at 1440x900, 1024x768, 390x844, and 320x568 with an authorized rank-7 fixture.
| Domain | Canonical route | Heading | Viewports | Runtime result |
|---|---|---|---|---|
| Operations | /ase-next |
Operations workspace | 4/4 | HTTP 200, Housekeeping root present, no error boundary or horizontal overflow. |
| People | /ase-next/people/users |
Users | 4/4 | HTTP 200, Housekeeping root present, no error boundary or horizontal overflow. |
| Content | /ase-next/content/editorial/articles |
Editorial content | 4/4 | HTTP 200, Housekeeping root present, no error boundary or horizontal overflow. |
| Economy | /ase-next/economy/catalog |
Catalog | 4/4 | HTTP 200, Housekeeping root present, no error boundary or horizontal overflow. |
| Hotel | /ase-next/hotel/rooms |
Rooms | 4/4 | HTTP 200, Housekeeping root present, no error boundary or horizontal overflow. |
| System | /ase-next/system/access/permissions |
Access control | 4/4 | HTTP 200, Housekeeping root present, no error boundary or horizontal overflow. |
All 24/24 canonical route/viewport combinations passed with zero page errors and zero horizontal overflow. The screenshots are retained outside the repository at C:\Users\simol\.codex\visualizations\2026\08\24\01a03498-f8e9-70d2-9180-2ef86d73ebb6\housekeeping-task24.
An initial exploratory pass used the non-canonical domain roots /ase-next/{domain} and correctly received 404 responses. Those invalid routes were excluded and replaced by the canonical routes shown above.
Access, states, and command safety
| Scenario | Result |
|---|---|
| Anonymous access | Redirected to /login; no Housekeeping root rendered. |
| Authenticated rank-1 access | Failed closed with Page not found; no Housekeeping root rendered. |
| Authenticated rank-7 access | All 24 browser combinations rendered successfully. |
| Real partial provider state | RCON outage surfaced as Unable to load Housekeeping; sibling workspace content remained usable. |
| Real empty state | Operations recent work rendered Nothing available. |
| Loading, error, forbidden, partial, empty, and ready UI states | Covered by the targeted smoke suite. |
| Safe and sensitive command dispatch | Covered in tests, including intent, preflight, success, and failure paths; no real mutation was submitted. |
| Provider timeout isolation | Covered at the two-second abort boundary with sibling preservation. |
| Preferences | Schema, upsert, corruption recovery, and reconciliation covered. |
| Studio | All ten kinds, authorization, outage, audit route, lifecycle ordering, and page states covered. |
The targeted state and safety run passed 11 files and 98 tests.
Cutover readiness
This evidence verifies the preview implementation only. It does not claim a production deployment or live service health. With the recorded limitations accepted, the branch is ready for the route cutover from /ase-next to /ase and removal of the legacy /admin and /mod page trees.