Andrey Epifancev
48525731ff
feat: ORM-модели частей 07–09 DBML v5.13 (консолидация, КФО, аудит/ЕХ, required_document_rule)
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 19:32:48 +04:00
Andrey Epifancev
842bb584ee
chore: отметка задачи 7
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 19:22:33 +04:00
Andrey Epifancev
856ee2129f
test: чётность частей 04–06 с DBML, NULLS NOT DISTINCT в компараторе, create_all 25 таблиц на PG16
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 19:22:29 +04:00
Andrey Epifancev
4e363bd00f
feat: ORM-модели частей 04–06 DBML v5.13 (файлы, ОСВ, отчётность)
...
files.py: s3_object, stored_file, document (NULLS NOT DISTINCT), recognition_job;
FK-цикл stored_file <-> recognition_job разорван через use_alter с явным именем.
osv.py: osv_entry. statements.py: financial_statement_meta/column/line/value.
Тест частей 01–03 не привязан к полному составу metadata.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 19:22:29 +04:00
Andrey Epifancev
24fbe74840
test: общий модуль сверки ORM с DBML (dbml_parity): типы колонок, default, partial WHERE; самопроверка компаратора
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 19:12:53 +04:00
Andrey Epifancev
8aa1b80c33
test: типизация хелпера проверки partial unique
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 19:05:56 +04:00
Andrey Epifancev
9936b0a59f
chore: отметка задачи 6
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 19:05:09 +04:00
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
a272d6873a
chore: отметка задачи 5
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 18:47:29 +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
12ebb515c2
chore: отметка задачи 4
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 18:37:05 +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
56ab8df3fd
chore: отметка задачи 3
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 18:29:19 +04:00
Andrey Epifancev
353f3cd46a
build: @biomejs/cli-linux-x64-musl — в optionalDependencies (EBADPLATFORM на macOS)
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 18:29:02 +04:00
Andrey Epifancev
15a06a075d
build: Dockerfile на python:3.11-slim без raisa_*, raisa-* npm в optionalDependencies
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 18:28:43 +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
3d1755b7fa
chore: отметка задачи 2
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 18:17:39 +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
56ea8dce0c
fix: make venv идемпотентен — uv venv --allow-existing
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 18:08:37 +04:00
Andrey Epifancev
25a594503a
chore: отметка задачи 1
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 18:02:43 +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
b018b6b055
docs: design.md — решения 14–23 (рулинги пред-проверки SDD)
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 18:00:01 +04:00
Andrey Epifancev
23d2ebd5e7
chore: .gitignore — перенос строки после .cursorignore (шаблон без завершающего перевода строки)
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 17:54:50 +04:00
Andrey Epifancev
9fcc59ddea
chore: план исполнения SDD из tasks.md change'а, служебные каталоги в .gitignore
...
docs/superpowers/plans/2026-10-03-slice-0-skeleton*.md сгенерирован 1:1 из openspec/changes/slice-0-skeleton/tasks.md
(заголовки «Task N» для скриптов subagent-driven-development, Global Constraints из спеки и CLAUDE.md).
.gitignore: .codegraph/, .superpowers/, .bounded, .DS_Store.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 17:53:56 +04:00
6035375feb
Merge pull request 'Срез 0 (proposal): соглашения шаблона в CLAUDE.md, change slice-0-skeleton — скелет ядра' ( #2 ) from feat/1-slice-0-skeleton into main
...
Reviewed-on: #2
2026-10-03 16:43:07 +03:00
Andrey Epifancev
43cbfe8e38
docs: change slice-0-skeleton под факты платформы — NATS без JetStream, Python 3.11, без CI и Nexus
...
Обмен с ядром на core NATS: подписка queue group, ack status=processing сразу по получении, process-local
LRU job_id против повторных запросов, публикация результата с повторами; удалены durable consumer / max_deliver /
ack_wait. Dockerfile python:3.11-slim; make check / make check-full вместо CI; raisa_* фильтруются при
dev-установке. Обновлены proposal, design (решения без обсуждения), specs, tasks, CLAUDE.md, openspec/config.yaml.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 16:21:42 +04:00
Andrey Epifancev
f12ce87346
docs: соглашения шаблона в CLAUDE.md и OpenSpec change slice-0-skeleton
...
Срез 0 (issue #1 ): раздел «Соглашения шаблона» (что оставлено от шаблона команды, что
вырезается, что добавляется); change openspec/changes/slice-0-skeleton — proposal, design
с таблицей «Decisions made without discussion», спеки и tasks; в openspec/config.yaml
строки с двоеточием взяты в кавычки (YAML разбирал их как словари).
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 02:43:34 +04:00
Andrey Epifancev
6081ea5e56
chore: openspec init + контекст и правила change'ей
2026-10-03 00:26:42 +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