Отчёт о прогрессе · TechCon ML · 07.04.2026 — 08.09.2026

Автоматическая проверка отчётов

Комплексная проверка технических отчётов о многоквартирных домах — 81 правило согласованности, разбирающие огромную вариативность исходных данных и форматов. Один и тот же JS-модуль одновременно и стенд для разработки, и реальный компонент, встроенный в основной сайт TechCon.

278
коммитов
за 154 дня истории
81
правило проверки
7 содержательных направлений
46
выкаток в прод
каждая — неизменяемый образ
0
сетевых вызовов при проверке
вся логика — на устройстве читателя
Что это

Один модуль — сразу и разработка, и продакшн

Логика проверки одновременно живёт в двух ролях, и это один и тот же код, не две копии: стенд для отладки и развития правил — и реальный компонент, встроенный прямо в основной сайт TechCon и активно работающий там. Разработка не тратит время на отдельный перенос готовой логики «для встраивания» — то, что проверено на стенде, это и есть то, что работает в проде, буквально один и тот же файл.

Публичный контракт встраивания — простой глобальный вызов, который основной сайт подключает у себя одной строкой и одним вызовом инициализации. Вся проверка идёт локально, без единого сетевого запроса — результат появляется мгновенно, прямо на странице, которую уже открыл человек.

Как это работает на чужом сайте

Оверлей поверх страницы, не вмешательство в её устройство

Модуль добавляет собственную плавающую панель поверх уже открытой страницы основного сайта — не переписывая её структуру и не завися от того, как именно эта страница устроена внутри:

Собственный плавающий слой

Панель результатов всегда поверх содержимого страницы — не встраивается в её поток и ничего не сдвигает.

Уникальные имена без пересечений

Все элементы и стили модуля названы с явным префиксом — не конфликтуют с оформлением сайта-хозяина.

Поиск по смыслу, а не по структуре

Нужный блок на странице находится по тексту заголовка, а не по фиксированной позиции в разметке — правки вёрстки сайта-хозяина модулю не мешают.

Разметка, а не переписывание

Найденные несоответствия подсвечиваются прямо на странице — содержимое и структура страницы остаются нетронутыми.

Внешняя команда получает возможность вносить свои проверки прямо на сайт основной команды разработки — не трогая её внутреннюю архитектуру и оставаясь устойчивой к её последующим изменениям.
81 правило — семь направлений

От синхронизации дат до графики приложений

III. Раздел 5 «Заключение»16
VI. Результаты обследования и износ14
VII. Приложения и графика14
V. Конструктивная логика11
I. Сквозная синхронизация8
II. Исходные данные и оборудование5
IV. Раздел 6 «Паспорт здания»5

73 правила заложены с самого начала, ещё 8 добавлено 19.08.2026 (проверки паспорта здания, состояния по разделу 8, инженерных систем по приложению Ж) — итог 81.

Точность растёт итеративно

39 правок правил — от общего к атомарному

Правила систематически уточнялись: агрегированные проверки регулярно разбивались на отдельные атомарные, каждая точнее предыдущей:

разбито

Проверка газоснабжения (было одно правило на диапазон 23–25) — стала тремя отдельными атомарными проверками.

разбито

Проверка инженерных ресурсов (диапазон 57–58) — стала двумя отдельными атомарными проверками.

уточнено

Снижена доля ложных срабатываний сразу по четырём правилам (24, 46, 47, 50–54) — по результатам работы на реальных отчётах.

уточнено

Ужесточено сопоставление для правила по газоснабжению (24) — точнее матчинг формулировок.

Сложность исходных данных

Огромная вариативность форматов — и для каждого случая есть решение

Дата в любом виде
«Декабрь 2025 г.», «22.12.2025», «22.12.25», «12.25» — всё приводится к единому формату одной функцией
плюс явные маркеры отсутствия данных — не пытаемся угадать
Десятичная запятая вместо точки
и другие варианты нуля («0», «0.0», «0,0») — распознаются одинаково
зафиксировано именованным регрессионным случаем
Таблица, разбитая вёрсткой на части
одна логическая таблица физически рассечена в HTML на несколько кусков
распознаётся и собирается как единое целое
Поиск значения по смыслу ключа
не по фиксированной позиции в таблице — устойчиво к добавлению новых строк
служебные заголовки исключены отдельным списком
Три состояния поля, не два
реально пусто, явно отмечено «нет данных», требует ручной проверки по графике
каждое обрабатывается своей логикой, не одним общим «пусто»
14 именованных регрессионных случаев
каждый найденный ранее нюанс закреплён отдельным проверяемым примером
повторно не всплывает незаметно
Выкатки в прод

46 версий сервиса — каждая отдельным неизменяемым образом

46
успешных выкаток в прод
39
выкаток на dev-контур
SHA
неизменяемая метка каждого образа
JS
нативно — без тяжёлого рантайма

Каждая выкатка публикует конкретный неизменяемый образ, привязанный к точному отпечатку кода — откат к любой из 46 версий занимает секунды: не пересборка, а мгновенная смена ссылки.

Хронология вех

От первых правил до полного набора проверок

07.04.2026

Первый коммит

Первые тесты парсера и правил, первые отчёты-образцы для проверки логики.

23.04.2026

73 правила зафиксированы разом

Полный формализованный список требований согласованности — основа всей дальнейшей проверки.

24.04.2026

Рождение витрины

Веб-интерфейс для ручной загрузки и проверки отчёта — второй способ работы с той же логикой.

20.05.2026

Модуль подтверждён как нативный JS

Полная проверка на реальных отчётах доказала: собранный артефакт не несёт ни строки тяжёлого браузерного рантайма — только компактный, быстрый JS.

13.06.2026

Автоматическая доставка в прод

Каждая выкатка — отдельный неизменяемый образ, публикуемый автоматическим конвейером.

19.08.2026

Набор проверок расширен до 81 правила

Добавлены проверки паспорта здания, согласованности состояния по разделу 8 и инженерных систем по приложению Ж.

Куда движемся дальше

Поддержка сервиса и перенос в коробку

Сервис продолжает поддерживаться в текущем виде. Отдельное направление на будущее — перенос в коробку: возможный перевод логики проверки на новую коробочную платформу TechCon, когда та будет готова её принять.