arm-ka-docs/repo-templates/arm-core.CLAUDE.md
Andrey Epifancev 6197cf404b docs: DBML v5.17 — КПП юридического лица (legal_entity.kpp), пересмотр OQ-31 (#53)
Решение владельца 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
2026-10-07 18:30:04 +04:00

1.9 KiB
Raw Blame History

CLAUDE.md — arm-core (ядро АРМ КА)

Общий контекст системы — ../CLAUDE.md и ../docs/ (workspace). Этот файл — только про этот репозиторий.

Что это

Ядро: справочники, файлы/документы, маппинг результатов распознавания, вычисления консолидации, маршрут согласования, ЕХ, аудит, права. Единственный писатель в PostgreSQL. Монорепо backend/ (FastAPI) + frontend/ (React/TS) по шаблону команды (из нулевого коммита репозитория <имя>, коммит <sha>).

Соглашения шаблона

Зависимости от соседей

  • Контракты: ../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.