Решение владельца 07.10.2026: КПП нужен. data-model-v5.17.dbml и entities-v5.17.md (v5.16 не тронуты): legal_entity.kpp и legal_entity_history.kpp (nullable). Формат 9 символов (4 цифры, 2 цифры/латинские A-Z, 3 цифры), иначе INVALID_KPP; у ИП запрещён; для ЮЛ необязателен; уникален только inn; изменение — обычный PATCH со снимком. 05-domain-rules: §13.1/13.2 (колонка КПП, код INVALID_KPP) и новый §13.5. OQ-31 — новое решение (старое оставлено в истории строки). Гайд модели, 03-architecture, mockup/INDEX, 10-user-journey, repo-templates — на v5.17. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EAKRDNzXtRrwmWz9z6PZu3
24 lines
1.9 KiB
Markdown
24 lines
1.9 KiB
Markdown
# CLAUDE.md — arm-core (ядро АРМ КА)
|
||
|
||
Общий контекст системы — `../CLAUDE.md` и `../docs/` (workspace). Этот файл — только про этот репозиторий.
|
||
|
||
## Что это
|
||
Ядро: справочники, файлы/документы, маппинг результатов распознавания, вычисления консолидации, маршрут согласования,
|
||
ЕХ, аудит, права. **Единственный писатель в PostgreSQL.** Монорепо `backend/` (FastAPI) + `frontend/` (React/TS) по
|
||
шаблону команды (из нулевого коммита репозитория `<имя>`, коммит `<sha>`).
|
||
|
||
## Соглашения шаблона
|
||
<!-- заполняет агент в Срезе 0: структура, DI, ORM/миграции, тесты, линтеры, сборка, фронт -->
|
||
|
||
## Зависимости от соседей
|
||
- Контракты: `../docs/contracts/recognition-result.schema.json` (вход из парсера/шлюза), `ex-payload-v1.schema.json`.
|
||
- Фикстуры: `../fixtures/` (env `ARM_KA_FIXTURES`); в CI — checkout `arm-ka-fixtures`.
|
||
- NATS subjects и схема ключей S3 — `../docs/context/03-architecture.md`.
|
||
|
||
## Правила репозитория
|
||
- ORM 1:1 с `../docs/model/data-model-v5.17.dbml`; `scripts/check_dbml_vs_orm.py` — обязательная проверка CI.
|
||
- Алгоритмы — только из `../docs/context/05-domain-rules.md`; номер § — в docstring.
|
||
- Вычисляемые объекты консолидации — `backend/app/domain/`, без ORM-таблиц.
|
||
- Фронт: пользователь слаб во фронте — для TS/React изменений делай ревью сам и объясняй решения в PR.
|
||
- OpenSpec: `openspec/` здесь; сквозные изменения — change в `../docs`.
|