# VER-001 complete local regression

Updated: 2026-08-15

Status: `VERIFIED LOCALLY`. The complete safe local gate set passes. Provider, native assistive-technology and deployed-production checks remain explicitly separate.

## Scope completed

- Reconciled the application action matrix against the current routes, roles, plans, controls and test evidence.
- Expanded Chromium coverage for the admin-only deployment badge, notification popover, honest Free behavior, responsive Career/CV editing, dedicated application workspace, discovery, Kanban and public CV rendering/PDF.
- Exercised explicit Light and Dark preferences at 375, 768 and 1440 pixels where the workflow owns responsive/theme behavior.
- Kept provider-backed and production-only actions classified as `PARTIAL`, `NOT RUN` or `BLOCKED`; local mocks are not presented as live-provider evidence.

## Final local gates

| Gate | Result |
|---|---|
| Backend tests | PASS — 647/647 |
| Frontend tests | PASS — 57 suites, 232/232 tests |
| AI sidecar tests | PASS — 22/22; five existing SWIG deprecation warnings |
| Production frontend build/TypeScript | PASS |
| Playwright Chromium | PASS — 9/9 |
| Docker Compose configuration | PASS; only expected unset optional-variable warnings |
| Deployment preflight negative cases | PASS — API down, wrong API base and malformed JSON all fail safely |
| Dependency audit | Current lockfile evidence remains PASS — 0 vulnerabilities; the lockfile did not change |
| Patch hygiene | PASS — `git diff --check` |

The local Windows checkout materialized the two shell preflight scripts with CRLF despite their indexed LF policy. They were normalized for execution, all negative tests passed, and `git add --renormalize` confirmed no repository diff because `.gitattributes` already owns LF shell endings.

## Browser evidence

- Public plans: exactly Free/Pro, no retired commercial claims, keyboard actions and no overflow at all three widths in both explicit themes.
- Admin identity: a configured admin sees `e2e-verification` and commit metadata; a synthetic Free user receives no deployment badge.
- Notifications: the bell opens the anchored panel without changing the current route.
- Free plan: manual Career editing remains enabled, AI actions are honestly locked, the contextual notice dismisses, and unconfigured billing exposes no false upgrade action.
- Jobs: discovery/import, whole-row and keyboard navigation, deep-link refresh, history, dirty-navigation cancellation, focus return, missing records and long data.
- Career/CV: authenticated responsive editing in both themes plus anonymous multi-page CV render and PDF download.
- Kanban: themed surfaces and the existing drag behavior.

## Remaining external gates

- Remote PR CI for the newest commits and deployed version-to-commit comparison.
- Production authentication, backup/restore, MariaDB, SMTP/email verification, configured Stripe and real provider journeys.
- Native screen-reader, switch-control and operating-system high-contrast checks.
- Production local-model selection, resource measurement, restart/canary and controlled fallback.

## Rollback

This package changes test configuration, browser coverage and evidence only. Revert its commit to remove the expanded local matrix; no schema, production configuration or stored data changed.
