docs(#202): решение R-24 в design quality-metrics

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Andrey Epifancev 2026-11-07 04:14:07 +04:00
parent 627c3e2d44
commit 819ded3638

View File

@ -179,3 +179,4 @@ NATS-контракта (`request-`/`result-message-`/`result-` префиксы
| 05.11.2026 | `quality-facts.schema.json` не подключается к `scripts/validate_contracts.py` | скрипт — для NATS wire-контракта с дедупом/версией сообщений; payload фактов — внутренний формат arm-core, не обмен между сервисами | изменение формата payload не поймает `make check` в этом репозитории; ловит тест arm-core |
| 05.11.2026 | `legal_entity_name`/`group_name` добавлены и в `quality_failure_fact`, хотя design arm-core §4.3 их не перечислял | общее правило §4 design arm-core («имена ЮЛ и ГК копируются на момент факта») относится ко всем фактам; итемized список там был неполным | лишние 2 столбца, если экран всё же джойнит live-справочник для отказов |
| 07.11.2026 | Схема перенесена в `contracts/metrics/quality-facts.schema.json` (R-16 arm-core) | в корне `contracts/` каждая `*.schema.json` обязана иметь копию в сервисах (`contract_identity.py`); подкаталог глубины 2 вне `examples/` копию не требует — схема не относится к NATS-контракту распознавания; содержание схемы не менялось | при возврате в корень тесты идентичности tabular-parser и scan-gateway покраснеют |
| 07.11.2026 | В схеме `contracts/metrics/quality-facts.schema.json` поле `is_recognized` значений — `["boolean", "null"]` (R-24 arm-core) | в модели `financial_statement_value.is_recognized` NULL: ячейка, созданная правкой аналитика, и пустая ячейка колонки источника при приёме; схема с `boolean` отвергала такие payload | потребитель фактов обязан обрабатывать null |