Сводная ОСВ: несопоставленные — только без ИНН; ИНН сопоставленного ЮЛ в строке (#74) #75

Merged
aep merged 1 commits from feat/74-osv-unmapped-no-inn into main 2026-10-08 22:02:19 +03:00
Owner

Closes #74.

Что

  • Отмена П-1 (решение владельца 08.10.2026). «Несопоставленная» строка свода = нет ЮЛ после резолва и нет ИНН из файла (domain.needs_mapping). Меняются GET …/osv?unmapped=true, unmapped_total в …/osv/summary и экспорт с этим фильтром. Строка с ИНН, которого нет в справочнике, больше не входит в «Осталось N».
  • ConsolidatedRowOut.counterparty_entity_inn — ИНН сопоставленного ЮЛ справочника (П-8). Нужен фронту: у строк, сопоставленных без ИНН в файле (по имени/алиасу/вручную), показать ИНН ЮЛ «таблеткой» и дать пересопоставить (макет [32-osv-no-inn]). Ответ только расширяется, БД и миграции не меняются.
  • Спека consolidated-osv и README обновлены. Фикстуры РБ 2024 Q3: unmapped_total 1379 → 1260 (у 119 строк без ЮЛ есть ИНН).

Rulings I made

  • R-1 unmapped=false — все строки, не требующие сопоставления (в т. ч. с ИНН без ЮЛ), а не «только сопоставленные»: фильтр остаётся дополнением к unmapped=true.
  • R-2 ИНН из пробелов (" ") считается отсутствующим (как в ключе склейки, normalize_inn).
  • R-3 Экспорт xlsx не меняется: колонки ИНН сопоставленного ЮЛ в нём нет (не просили, формат листа зафиксирован тестами).
  • R-4 Bounded-задача: спека openspec/specs/consolidated-osv поправлена на месте, без OpenSpec change (как R-3 в #67).

Наблюдения

  • O-1 make e2e падает по таймауту, если запущен локальный стенд arm-core (:8000): он в той же queue group arm-core на recognition.result и забирает результат у теста. Повторный прогон — зелёный. К изменению не относится. — deferred

Проверки (make check-full)

  • check: ruff + mypy чисто, 1268 passed
  • dbml-check, check-infra: ок
  • test-integration: 850 passed
  • e2e: 1 passed (со второго прогона, см. O-1)
  • docker-build: ок; web-check: ок

Документация — RSHB/arm-ka-docs#72, фронт — RSHB/arm-web#17.

🤖 Generated with Claude Code

Closes #74. ## Что - **Отмена П-1 (решение владельца 08.10.2026).** «Несопоставленная» строка свода = нет ЮЛ после резолва **и** нет ИНН из файла (`domain.needs_mapping`). Меняются `GET …/osv?unmapped=true`, `unmapped_total` в `…/osv/summary` и экспорт с этим фильтром. Строка с ИНН, которого нет в справочнике, больше не входит в «Осталось N». - **`ConsolidatedRowOut.counterparty_entity_inn`** — ИНН сопоставленного ЮЛ справочника (П-8). Нужен фронту: у строк, сопоставленных без ИНН в файле (по имени/алиасу/вручную), показать ИНН ЮЛ «таблеткой» и дать пересопоставить (макет [32-osv-no-inn]). Ответ только расширяется, БД и миграции не меняются. - Спека `consolidated-osv` и README обновлены. Фикстуры РБ 2024 Q3: `unmapped_total` 1379 → 1260 (у 119 строк без ЮЛ есть ИНН). ## Rulings I made - **R-1** `unmapped=false` — все строки, не требующие сопоставления (в т. ч. с ИНН без ЮЛ), а не «только сопоставленные»: фильтр остаётся дополнением к `unmapped=true`. - **R-2** ИНН из пробелов (`" "`) считается отсутствующим (как в ключе склейки, `normalize_inn`). - **R-3** Экспорт xlsx не меняется: колонки ИНН сопоставленного ЮЛ в нём нет (не просили, формат листа зафиксирован тестами). - **R-4** Bounded-задача: спека `openspec/specs/consolidated-osv` поправлена на месте, без OpenSpec change (как R-3 в #67). ## Наблюдения - **O-1** `make e2e` падает по таймауту, если запущен локальный стенд arm-core (:8000): он в той же queue group `arm-core` на `recognition.result` и забирает результат у теста. Повторный прогон — зелёный. К изменению не относится. — deferred ## Проверки (`make check-full`) - `check`: ruff + mypy чисто, 1268 passed - `dbml-check`, `check-infra`: ок - `test-integration`: 850 passed - `e2e`: 1 passed (со второго прогона, см. O-1) - `docker-build`: ок; `web-check`: ок Документация — RSHB/arm-ka-docs#72, фронт — RSHB/arm-web#17. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
aep added 1 commit 2026-10-08 18:49:25 +03:00
Решения владельца 08.10.2026:
- отмена П-1: «Осталось N» (`unmapped_total`) и `?unmapped=true` — строки без ЮЛ после резолва и без ИНН из файла;
  строка с ИНН, которого нет в справочнике, сопоставления не требует (`domain.needs_mapping`);
- `ConsolidatedRowOut.counterparty_entity_inn` — ИНН сопоставленного ЮЛ справочника (П-8): фронту — «таблетка»
  с ИНН и пересопоставление у строк, сопоставленных без ИНН в файле.

Фикстуры РБ 2024 Q3: unmapped_total 1379 → 1260. Спека consolidated-osv и README обновлены.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
aep merged commit 29f24b318d into main 2026-10-08 22:02:19 +03:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: RSHB/arm-core#75
No description provided.