bablo / стройплощадка
← Все сессии
Дата: 2026-05-22
Часов: 28
Кто:

Модуль ИД (id-builder) — постройка Этапы 0–6 + ретро-учёт

Ретроспективный work-log. Соответствует записям ID-2026-05-21-001..006 и ID-2026-05-22-001..003 в expenses.yaml. Модуль исполнительной документации — третий сервис платформы ProfitVill (id.profitvill.ru, порт 3030), Express 5 + Vite/React + Tailwind v4, общая БД bablo-postgres (схема id.*).

Что сделано

Этап 0 (2ч) — ID-2026-05-21-001

  • Разведка платформы (bablo, ks2builder): SSO, общая БД, MinIO, BYOK-ключи
  • Правка документов модуля под реальную архитектуру VPS

Этап 1 (4ч) — ID-2026-05-21-002

  • Модель данных: 18 таблиц схемы id.* в bablo-postgres
  • Миграции 000_register_product, 001_init, 002_seed, 003_add_parent_position, 004 (типы Леса/Демонтаж)
  • Переиспользование public.* (organization/project/counterparty/user_account), без дублирования

Этап 2 (4ч) — ID-2026-05-21-003

  • Парсер КС-2 (формат Smeta.RU / Госкомстат №100)
  • Приёмка на реальных файлах: 319 работ + 496 материалов (parent-связи 100%), вентиляция 240 работ

Этап 3 (4ч) — ID-2026-05-21-004

  • UI импорта КС-2: Express API + Vite/React фронт (4 страницы), визард upload→preview→commit
  • Матчинг контрагентов, транзакционный импорт

Этап 4 (3ч) — ID-2026-05-21-005

  • Разметка позиций: 3 состояния, автоподсказка типа акта по разделу, bulk с уважением фильтра, автосейв

Инфраструктура (1ч) — ID-2026-05-21-006

  • id.profitvill.ru по HTTPS (Let’s Encrypt), SSO Руслана (org Атмапром, owner)
  • NPM proxy host без задевания соседних хостов

Этап 6 (4ч) — ID-2026-05-22-001

  • Встроенный шаблон АОСР: HTML→Playwright/Chromium→PDF (не xlsx)
  • Миграции 005 (construction_name + ogrn/address), 006 (act_template html + placeholders)
  • Воспроизведение образца Руслана (Школа в Капотне)

Этап 6.1 (3ч) — ID-2026-05-22-002

  • Миграции 007 (act_type_signer_role + два композитных FK: применимость роли к типу + неизменяемость типа), 008 (legal_basis_effective_date)
  • Дословные captions формы 344/пр Прил.3 (сверено с офиц. текстом, Минюст N 73652), форма-faithful шаблон
  • АОСР закрыт архитектором

Этап 5 — Шаги 1–2 (3ч) — ID-2026-05-22-003

  • Шаг 1: CRUD подписантов (id.person), org-scoped, RESTRICT→409
  • Шаг 2: транзакционный CRUD контрагентов (public.counterparty + id.counterparty_detail), дедуп по ИНН, обогащение Bablo-следа явным выбором (код на ревью)

Решения

  • HTML→PDF вместо xlsx для встроенного шаблона (точный контроль вёрстки и дословности формы)
  • Captions актов — дословно из приказа, не парафраз (заказчик сверяет символ-в-символ)
  • Критичные инварианты держим механизмом БД (композитные FK), не дисциплиной
  • ИД пишет в public.counterparty только строки, схему не трогает (владеет Drizzle Bablo)

Что дальше

  • Этап 5 (справочники: разделы ИД, сертификаты, схемы), затем Этап 7 (создание актов)
  • Учёт по ID вести в том же формате: запись ID- + work-log за сессию

Расход часов

28 часов roman = 117 600 ₽ (ставка 4200 ₽/час, на 30% ниже среднерыночной). Записи в expenses.yaml — ID-2026-05-21-001..006 и ID-2026-05-22-001..003 (добавлены вручную как ретроспектива дочернего продукта, по образцу ks2builder).