# Historical PostgreSQL verification — 2 November 2026

> Historical evidence from the PostgreSQL implementation. This does not verify the MySQL branch. See `verification-mysql.md` for MySQL results.

The Express/shadcn admin and database-driven public display were verified locally using PostgreSQL 17, Node.js 24, and disposable test schemas.

- `npm test`: 12 browser-source and seed-conversion tests pass, including WIB/overnight states, polling, cache isolation, recovery, and text preservation.
- `npm run test:db`: 22 checks pass across the migration/seed and API suites, including parent test groups. Authentication, session expiry/invalidation, CSRF/origin checks, rate limiting, CRUD, nested ordering/rollback, foreign-key restrictions, room moves, simultaneous room bookings, and event-date edit races are covered.
- Prisma validation, TypeScript checks for server/admin, and the production build pass.
- The documented `npm run dev` command was started against the configured local database. The Vite origin returned successful portal, admin, event-list, TV, and session/CSRF responses through its proxy.
- Browser smoke checks covered login, the room-edit dialog, saving a room name, and reading that changed name in the public TV view.
- Exact-size iframe previews covered admin at 1280×900 and 390×844; TV at 540×960 and 1080×1920; and clockwise-rotated 1920×1080 output. A fixture with nine topics, multiple speakers, and seven sessions exercised automatic topic/summary pages. Long-content font scaling was limited to 10% following visual inspection.

The authentication migration was also applied to the configured local `standing_tv` database. Temporary test accounts and schedule changes were confined to the disposable preview schema; no default admin account is shipped. Provision an actual account with `npm run admin -- create`.

Physical TV viewing distance, overscan, fullscreen permissions, and Wake Lock still require an on-device check. The build currently emits an advisory about the admin bundle size; it builds successfully and does not affect the separate TV assets.
