Andrey Epifancev
56c98a5d05
test: чётность ORM частей 01–03 с DBML, create_all на временной БД, фикстура scratch_db_url
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 19:05:04 +04:00
Andrey Epifancev
fb2b9ef9fc
feat: ORM-модели частей 01–03 DBML v5.13 (справочники, доступ, учёт), naming_convention в MetaData
...
16 таблиц: directories, access, accounting; схема dkb, детерминированные имена ограничений.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 19:05:04 +04:00
Andrey Epifancev
8e6223a273
feat: models/enums.py — 27 enum'ов DBML v5.13, фабрика pg_enum, DBML_VERSION
...
Тест сверяет имена и упорядоченные значения с блоками Enum {} DBML через pydbml.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 18:47:23 +04:00
Andrey Epifancev
1c56d39b09
test: регрессионные тесты lifespan — старт при недоступных S3/NATS и закрытие созданных ресурсов
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 18:42:54 +04:00
Andrey Epifancev
545994a525
feat: app.py — NATS без nkeys при пустых учётных данных, NATS_ENABLED, nats в /healthcheck, префикс /api/v1
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 18:36:42 +04:00
Andrey Epifancev
e432c1c542
test: test_defaults проверяет умолчания Settings без env-файла
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 18:23:21 +04:00
Andrey Epifancev
dff1e050b9
feat: Settings читает ENV_FILE, поля auth/NATS/outbox, .env.example и .env.test
...
NATS_SEED/NATS_JWT необязательны (пусто — подключение без nkeys); в app.py
разбор seed защищён от пустого значения (подключение переедет в задаче 22).
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 18:17:19 +04:00
Andrey Epifancev
72415ab891
style: ruff format и правки линтера на каркасе шаблона
...
Без смены поведения: форматирование, сортировка импортов, удаление неиспользуемых
импортов, __all__ в src/db, datetime.UTC, HTTPStatus.NOT_FOUND вместо 404,
аннотация lvl в logger, noqa F401 на проверке доступности raisa_fastapi_protected_api,
mypy: miniopy_async не подтягивается (follow_imports=skip).
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 18:02:19 +04:00
Andrey Epifancev
bf63d3a9dc
chore: mypy — явные флаги strict для models/domain (strict в overrides действует глобально)
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 18:01:48 +04:00
Andrey Epifancev
bb20d323d0
chore: инструменты шаблона — pyproject (ruff, mypy), requirements-dev, Makefile
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 18:01:18 +04:00
Andrey Epifancev
8e1f423ad6
chore: вычищены остатки доменного кода, каркас проходит tsc/biome/rsbuild
2026-10-02 23:34:55 +04:00
Andrey Epifancev
ba922225ab
chore: каркас из шаблона команды (DKB_ARMKA@ba172f8, доменный код удалён)
2026-10-02 23:15:37 +04:00