OpenSpec-спеки по коду: DBML v5.17 (КПП), схема из DB_SCHEMA (#55) #56
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/55-specs-v517"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #55.
Bounded-задача: PR #52 (КПП, DBML v5.17) и #53 (DB_SCHEMA) слиты без обновления
openspec/specs/, а спека — источник истины. Найдено при аудите документации (RSHB/arm-ka-docs#60). Код не менялся.Что сделано
data-model: v5.16 → v5.17 — колонкаkppвlegal_entity/legal_entity_history(последняя, nullable, без уникальности), миграция0005_dbml_v5_17. Схема берётся из настройкиDB_SCHEMA(по умолчаниюdkb, в контуреOPENBAO__APP__DB_SCHEMA, валидация идентификатора), сверка с DBML идёт в эталоннойdkb. Цепочка миграций доведена до0005. Константа версии —5.17(в спеке было5.15), enum-типов 28 (было 27). Новые сценарии: «КПП добавляется и откатывается», «Нестандартная схема».directories-api: v5.14 → v5.17. В требование о ЮЛ добавленkpp: формат, нормализация, запрет у ИП,INVALID_KPP,PATCHсnullочищает, смена типа на ИП при непустом КПП даёт 422, поискqидёт и по КПП. Сценарии «КПП у ИП», «Очистка КПП».directory-import: необязательная колонкаКПП, кодINVALID_KPP(проверяется после ИНН и до дубля), приupdateпустая ячейка КПП не стирает. Сценарий «КПП у ИП в файле».Каждое утверждение сверено с кодом
99669cd(domain/kpp.py,services/legal_entities.py,domain/directory_import.py,core/config.py,models/__init__.py, миграция 0005) и с README. Новые сценарии покрыты существующими тестами:test_migrations.py::test_upgrade_0005_adds_nullable_kpp_columns,test_db_schema.py::test_migrations_and_app_work_in_custom_schema,test_domain_kpp.py,test_domain_directory_import.py::test_kpp_for_sole_proprietor_skips_row_with_warning_line.Проверки
openspec validate --specs --strict: 15 passed.make check-fullне запускал: код и тесты не менялись, правка затрагивает толькоopenspec/specs/.Rulings I made
0002уже три шага, содержание сценария не изменилось.5.18/5.17, чтобы он оставался гипотетическим.🤖 Generated with Claude Code
https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2