docs(00-workspace-layout): фронт ведётся в arm-core/web, arm-web заморожен (#143)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Andrey Epifancev 2026-10-21 09:45:55 +04:00
parent ddda1f4c99
commit bc51c03a66

View File

@ -12,16 +12,25 @@
├── docs/ → git: arm-ka-docs контекст, модель, контракты, экспорт ТЗ, макет
├── fixtures/ → git: arm-ka-fixtures реальные данные (ОСВ, PDF, OCR-пары, эталон); отдельный репо,
│ чтобы не тащить 50 МБ в сервисы и управлять доступом
├── arm-core/ → git: arm-core ядро: FastAPI + React (монорепо по шаблону команды)
├── arm-core/ → git: arm-core ядро: FastAPI + React (монорепо по шаблону команды); фронт — `web/`
├── tabular-parser/ → git: arm-tabular-parser сервис разбора XLS/XLSX/XLSB (ОСВ, ББ, ОФР)
├── scan-gateway/ → git: arm-scan-gateway адаптер ИС Сканирование (PDF/PNG/JPG)
├── arm-statements/ → git: arm-statements пакет общего кода нормализации ББ/ОФР `arm_statements` (копируется в сервисы и ядро; план 1 change unified-statement-normalization)
├── arm-web/ → git: arm-web прежний отдельный репозиторий фронта, заморожен с 21.10.2026 (см. ниже)
└── .claude/ ← настройки workspace: хуки, разрешения (не в git или в arm-ka-docs/.claude-workspace)
```
Контракт между сервисами — `docs/contracts/*.schema.json` в `arm-ka-docs`. Изменение контракта = PR в docs **и** в
каждый затронутый сервис, с одной `schema_version`.
**Фронт ведётся в `arm-core/web`** (решение владельца 21.10.2026): фронтовые задачи — worktree arm-core и PR в
`RSHB/arm-core` → `main`, туда же идут PR фронта от других исполнителей. Репозиторий `RSHB/arm-web` (ветка `test`)
заморожен на `de4e477` — последней синхронизации (arm-core #147, `3157a15`); новых правок туда не вносим. Скрипт
`make sync-web` (`scripts/sync-web.sh`, `dev/contour-transfer-guide.md` раздел 3.1) больше не используется: его
`--check` теперь показывает расхождение (код 20), поэтому `scripts/prepare-contour-snapshot.sh` для arm-core
запускается с `--web-as-is`. Спеки экранов (`*-ui`) пока лежат в `arm-web/openspec/specs/`; новые требования к экранам —
в `arm-core/openspec/`.
## Как агент работает с несколькими репозиториями
- **Один change — один репозиторий.** OpenSpec (`openspec/`) живёт в каждом сервисе. Сквозное изменение (контракт +