docs: record clean-checkout drill evidence (PASS)

Fresh clone of only committed files into an isolated Compose project (separate ports,
no shared volumes) validated: migration from empty database to head, deterministic
seed (matches the corrected 27-issue count), 151 backend tests + Ruff + mypy, frontend
build, and the full 113-test Playwright suite -- all green. Isolated stack torn down
afterward; working dev environment confirmed untouched. Full detail in
PROJECT_STATE.md; test counts refreshed in README.md.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
NuklearRabbit
2026-08-03 23:57:21 +02:00
co-authored by Claude Sonnet 5
parent 7851e807fa
commit cda2c32bd0
2 changed files with 30 additions and 10 deletions
+29 -9
View File
@@ -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 and error codes documented, search endpoint's code+params shape documented, README
states the Fleet Ops/MobilityOps naming split explicitly and refreshes stale test states the Fleet Ops/MobilityOps naming split explicitly and refreshes stale test
counts (151 backend, 108 Playwright). counts (151 backend, 108 Playwright).
- Gates green so far: 151 backend tests, Ruff, mypy, Alembic upgrade/downgrade - Gates green: 151 backend tests, Ruff, mypy, Alembic upgrade/downgrade verified,
verified, frontend `tsc`/build, full 108-test Playwright suite (rebuilt `api`+`web` frontend `tsc`/build, full 113-test Playwright suite (rebuilt `api`+`web` containers
containers each time before testing). each time before testing).
- **Not yet done**: sections 11D/E/F of the i18n test-strengthening brief (hardcoded- - Section 11D/E/F of the i18n test-strengthening brief done: a hardcoded-JSX-text
JSX lint check, broader dynamic-content localization tests, a 3-language route static check (`i18n-coverage.spec.ts`; had to anchor on backreferenced closing-tag
matrix), the clean-checkout drill, Unraid deployment + live 3-language validation, names — a naive `>text<` scan misread TypeScript generics like
and the final merge to master with `artifacts/fleet-ops-correction/final-summary.md` `useState<string | null>` as JSX spanning to the next unrelated `>`; verified against
evidence. Do not claim PASS on this correction until all of those are done. 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 - Commits so far on this branch: `6deb955` (status flow + brand constant + message
codes), `e6539d1` (knowledge fixes), `ac4b163` (Playwright spec updates for the new 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).
+1 -1
View File
@@ -123,7 +123,7 @@ All defaults are configurable via `.env` (see `.env.example`).
```bash ```bash
make test # backend: pytest (151 tests) make test # backend: pytest (151 tests)
make lint # backend: ruff + mypy (strict, zero errors) 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`). Frontend build/typecheck: `cd frontend && npm run build` (`tsc -b && vite build`).