1. Релиз v2.1.0 бэкенда smeta-user-backend

— Добавлены контроллеры FeedbackController и NpaController с репозиториями и сервисами (обратная связь + нормативно-правовые акты)

— Обновлены SmetaDto, CatalogDto, BuildingObject, Smeta под два dropdown-экспорта и ФОТ

— Добавлены интеграционные тесты CatalogServiceIT, SmetaServiceIT, SmetaTotalServiceIT, SmetaServiceCalcTest, ExportServiceTest, FeedbackServiceTest

— Настроены application-test.properties и application-inttest.properties, DbIndexInitializer

— 33 файла, +1442/-16, pom.xml обновлён

2. Релиз v2.1.0 бэкенда smeta_admin_backend

— Контроллеры FeedbackAdminController, NpaController, ReportTemplateController, TestController

— Модели NpaDocument, TestRun, сервис ScenarioTestService

— Интеграционные тесты CatalogIT, FsnbDataIT, NpaControllerIT, тесты ImportProgressServiceTest и UnitConversionServiceTest

— JwtFilter, SplitFormaImportService, 3 E2E-сценария задокументированы в CLAUDE.md

— 19 файлов, +988/-31

3. Релиз v2.1.0 фронтенда smeta_user_frontend

— Компоненты FeedbackModal.vue, NpaModal.vue, обновлён AppTopbar.vue

— Адаптивный мобильный режим: RazdelGrid, RazdelMin, RazdelRows, SmetaMinView, SmetaView, ObjectView

— E2E-тесты: feedback.spec.js, management.spec.js, mobile.spec.js, password.spec.js, smeta.spec.js + 3 сценария (scenario1/2/3.js)

— Обновлены docs/v2/user-guide (02-objects, 03-smeta, 06-export, 08-feedback, 09-npa), 13 скриншотов

— 27 файлов, +2115/-93

4. Релиз v2.1.0 фронтенда smeta_admin_frontend

— Views: FeedbackView.vue, NpaView.vue, ReportTemplateView.vue, TestView.vue

— AppSidebar.vue, SidebarItem.vue, App.vue, api/index.js

— Документация v2/admin-guide (09-testing, 10-feedback, 11-npa) + DocsView.vue с release notes

— 15 файлов, +603/-11

5. Обновление публичной документации smeta.net.ru

— Статика docs/admin-guide и docs/user-guide под v2.1 (index.html + 13 новых скриншотов)

— docs/releases/index.html, sitemap.xml

— 15 файлов, +200/-10

6. Workflow n8n: AI-новости с семантической дедупликацией

— Переработаны ai-news-prod.json и ai-news-test.json: семантическая дедупликация новостей

— Ограничение длины одного TG-поста

— digest-generate-cron.json, digest-prod.json, digest-trigger-api.py, generate-digest.sh

— TODO: замена YandexART на более качественный image AI

— 7 файлов, +1047/-62

Сводная статистика по коду:

Проект | Добавлено строк | Удалено строк | Коммитов

smeta-user-backend | 1500 | 16 | 3

smeta_user_frontend | 2160 | 100 | 2

smeta_admin_backend | 996 | 35 | 2

smeta_admin_frontend | 753 | 19 | 2

smeta.net.ru | 200 | 10 | 1

smeta-n8n-workflow | 1048 | 62 | 2

Итого | 6657 | 242 | 12

Оценка трудозатрат:

Задача | ~Часы

Релиз v2.1.0 smeta-user-backend (feedback, НПА, ФОТ, тесты) | 10

Релиз v2.1.0 smeta_admin_backend (обращения, НПА, шаблоны, E2E) | 8

Релиз v2.1.0 smeta_user_frontend (НПА модал, адаптив, компакт, E2E) | 12

Релиз v2.1.0 smeta_admin_frontend (обращения, НПА, шаблоны) | 7

Обновление публичной документации smeta.net.ru | 2

Workflow n8n: семантическая дедупликация + TG-длина | 5

Итого | ~44 час