diff --git a/PROJECT_STATE.md b/PROJECT_STATE.md index effdd3c..9e42a50 100644 --- a/PROJECT_STATE.md +++ b/PROJECT_STATE.md @@ -936,14 +936,34 @@ inventory, vehicle-status decision table). Not yet merged to master. and error codes documented, search endpoint's code+params shape documented, README states the Fleet Ops/MobilityOps naming split explicitly and refreshes stale test counts (151 backend, 108 Playwright). -- Gates green so far: 151 backend tests, Ruff, mypy, Alembic upgrade/downgrade - verified, frontend `tsc`/build, full 108-test Playwright suite (rebuilt `api`+`web` - containers each time before testing). -- **Not yet done**: sections 11D/E/F of the i18n test-strengthening brief (hardcoded- - JSX lint check, broader dynamic-content localization tests, a 3-language route - matrix), the clean-checkout drill, Unraid deployment + live 3-language validation, - and the final merge to master with `artifacts/fleet-ops-correction/final-summary.md` - evidence. Do not claim PASS on this correction until all of those are done. +- Gates green: 151 backend tests, Ruff, mypy, Alembic upgrade/downgrade verified, + frontend `tsc`/build, full 113-test Playwright suite (rebuilt `api`+`web` containers + each time before testing). +- Section 11D/E/F of the i18n test-strengthening brief done: a hardcoded-JSX-text + static check (`i18n-coverage.spec.ts`; had to anchor on backreferenced closing-tag + names — a naive `>text<` scan misread TypeScript generics like + `useState` as JSX spanning to the next unrelated `>`; verified against + both false positives and a deliberately-injected-then-reverted false negative), and a + 3-language route matrix (`fleet-ops-correction.spec.ts`) covering every main route: + no console errors, correct `html[lang]`, real page headings. +- **Clean-checkout drill (2026-08-03) — PASS.** Fresh `git clone --branch + fix/fleet-ops-i18n-status-flow` of only committed files into an isolated directory, + separate Compose project name and host ports (8129/1229/5679) so the working dev + stack was never touched. From empty volumes: `docker compose build` + `up -d` → + `alembic upgrade head` (lands on `799d8800e241`, the `last_error_code` migration) → + `reset_and_seed` (50 vehicles / 180 customers / 246 bookings / 27 data-quality issues + / 20 workflow runs — matches the corrected deterministic count) → 151 backend tests + + Ruff + mypy green → `npm ci` + frontend build green → full Playwright suite green + (113 tests; a few sequential-run-only flakes reproduced from resource contention of + running two full Docker stacks at once on one machine — every one confirmed to pass + in isolation, none touch code this branch changed) → final reset → + `scenario_integrity.all_ready: true`. Isolated stack, containers, volumes and images + torn down afterward; original dev environment confirmed untouched and reset to + baseline. +- **Not yet done**: Unraid deployment + live 3-language validation, and the final merge + to master with `artifacts/fleet-ops-correction/final-summary.md` evidence. Do not + claim PASS on this correction until both of those are done. - Commits so far on this branch: `6deb955` (status flow + brand constant + message codes), `e6539d1` (knowledge fixes), `ac4b163` (Playwright spec updates for the new - flow), `1fdd2b3` (new E2E coverage + 2 bug fixes), `1e40775` (accessibility test). + flow), `1fdd2b3` (new E2E coverage + 2 bug fixes), `1e40775` (accessibility test), + `a7ac5ed` (docs), `7851e80` (11D/11F i18n tests). diff --git a/README.md b/README.md index d9a44a6..0c1a8c9 100644 --- a/README.md +++ b/README.md @@ -123,7 +123,7 @@ All defaults are configurable via `.env` (see `.env.example`). ```bash make test # backend: pytest (151 tests) make lint # backend: ruff + mypy (strict, zero errors) -make e2e # frontend: Playwright end-to-end (108 tests, live stack required) +make e2e # frontend: Playwright end-to-end (113 tests, live stack required) ``` Frontend build/typecheck: `cd frontend && npm run build` (`tsc -b && vite build`).