# Frontend Infrastructure Hardening Дата: 2026-06-23 Статус: выполнено ## Контекст Во frontend уже есть базовый tooling stack, но инфраструктурные решения собраны в несколько разных зон: HTTP-клиент, mock-режим, env validation, routing, linting/formatting и OpenAPI-generated types. После крупных миграций осталось несколько точек, которые нужно довести до устойчивого состояния и убрать смешение временных и целевых решений. Эта фича не про новый user-facing функционал. Она закрывает инфраструктурный долг, который мешает предсказуемым локальным запускам, стабильной разработке и ясности контрактов. ## Цель Стабилизировать frontend infrastructure/tooling так, чтобы ключевые developer workflows были детерминированными и не опирались на временные компромиссы. ## Требования ### 1. Browser mock mode Должен быть documented и поддержан browser mock mode для локального запуска frontend без backend при явном флаге окружения. Этот режим не должен влиять на обычный production/dev without mock сценарий. ### 2. Env validation Все обязательные frontend env variables должны проверяться при старте приложения, чтобы ошибки конфигурации были видимы сразу, а не проявлялись как runtime failure. ### 3. Tooling consistency Скрипты lint/test/build должны оставаться согласованными с реальной структурой проекта и не должны ссылаться на устаревшие команды или несуществующие файлы. ### 4. Contract freshness Frontend tooling должен опираться на актуальные generated API types и public API entrypoints, а не на устаревшие type shims или временные compatibility слои. ## Ограничения - Не менять бизнес-логику frontend. - Не переписывать routing architecture целиком в рамках этой фичи. - Не затрагивать backend кроме чтения публичных контрактов. ## Критерии приемки - Browser mock mode описан и согласован с текущими dev scripts. - Валидация env обязательных переменных формализована и не конфликтует с текущим startup flow. - Frontend tooling docs и scripts отражают реальное состояние проекта. - Ссылки на API types и client surface не используют устаревшие документы. - Не изменены runtime-scenarios пользовательского приложения.