# arm-web — фронт АРМ КА (демо-прототип) SPA кредитного аналитика поверх API `arm-core` (`/api/v1`). Контекст системы — `../CLAUDE.md`, архитектура — `ARCHITECTURE.md`, соглашения репозитория — `CLAUDE.md`. ## Запуск 1. `make install`. 2. Стенд arm-core — по `../docs/dev/qa-guide.md` §4 (ядро на `localhost:8000`, `DEBUG=true`, `make seed-dev`); для распознавания PDF — профиль `services` (§6.8: tabular-parser, scan-gateway, scan-emulator). 3. `make start` — dev-сервер rsbuild. Запросы `/api` проксируются на `ARM_CORE_URL` (по умолчанию `http://localhost:8000`), `REACT_APP_API_URL` в dev не нужен. 4. Вход — через dev-форму (`POST /dev/token`), например `ka_go@armka.local`. ## Проверка `make check` — install, biome, `tsc --noEmit`, vitest, `rsbuild build`. Зелёным считается всё вместе. ## Демо-сценарий Пользователь с правами на ГК «Русский бисквит» (`ka_go@armka.local`). 1. Группы → «Русский бисквит» → «Новая консолидация»: ГСК, 2024, Q3 → члены ГСК отмечены → «Создать» → открыта версия №1. 2. Загрузить квартальные ОСВ РБ и Счастливочной за 2024 Q1–Q3 (`../fixtures/osv/{rb,schastl}/2024-Q{1,2,3}/*`) и подтвердить ОСВ-документы. Вручную — панель «Организации» → ЮЛ → «Файлы», подтверждение на экране документа; быстро — скрипт: `scripts/demo-prepare.sh [email]` (каталог фикстур — `FIXTURES_DIR`, по умолчанию `../../fixtures` относительно репозитория). В конце скрипт печатает сводку. 3. Загрузить `../fixtures/ocr/aep_6.pdf` одному из ЮЛ → ББ и ОФР «Требуется проверка» → открыть ББ: скан слева, форма справа, исправить ячейку, принять нарушения с комментарием (если есть), подтвердить. 4. «К отчётности» → сводная ОСВ; фильтр «Счастливочная» + «бисквит» → строка `60.01` (сальдо нач. Кт 4 454 151.93, обороты Дт 128 058 143.65, Кт 125 950 450.77, сальдо кон. Кт 2 346 459.05, `GSK`); «Скачать xlsx». Ожидаемая сводка на чистой версии (`qa-guide` §7.2): `строк: 1385 документов: 22 несопоставленных: 1381 пробелов: 7`. Если на стенде раньше вручную сопоставляли контрагентов (K14), алиасы сохраняются между версиями, и «несопоставленных» будет меньше (на стенде прогона — 1349); остальные цифры не меняются. ## Ограничения прототипа - Нет блокировки версии («Взять в работу»), сопоставления контрагентов, экрана чек-листа, комментариев, удаления файлов, смены периметра и ручных переходов статусов. - Нет правки строк ОСВ (в API нет), картинок страниц и координат ячеек в скане (в API нет). - Нет генерации типов из OpenAPI и автотестов компонентов (vitest — только чистые функции). - Нет сборки под контур и переноса в `arm-core/web` — отдельной задачей после демо. - Изменений arm-core / scan-gateway нет: найденные пробелы — отдельные issue в тех репозиториях.