NQ-06: измеренный эксплуатационный профиль и контроль отказов
Добавлен воспроизводимый эксплуатационный профиль APP-2026-09-19: проверка commit и SHA-256 JAR по BUILD_VERIFIED-инспекции, отдельный Java 11/H2-процесс, времена HTTP-этапов, выборки RSS/CPU и качество вариантов. Неуспешные расчёты сохраняются как неуспешные протоколы; JVM завершается. Проверяющий инструмент сверяет сырые ответы, хеши и метрики.
Исправлены замечания ревью: один абсолютный watchdog ограничивает отправку расчёта и опрос, включая медленную передачу заголовков/тела и разбор ответа. Поздний COMPLETED не становится MEASURED; более ранний независимый socket timeout остаётся HTTP-ошибкой. Проверка успешного профиля требует пять конечных неотрицательных времён, согласованную сумму этапов и завершение до watchdog.
Сохранены пять исторических Windows/H2-протоколов JAR из pipeline #10033, сервисный commit 823c3678:
- минимальный вход: 1/1 цель, расчёт 0.343 с, выборочный RSS 280.3 MiB;
- датасет организаторов: 144 объекта / 17 целей; SOURCE — 213.594 с и 370.4 MiB, PROJECT — 212.359 с и 367.4 MiB;
- оба режима при бюджете 1000: 8/17 подключений, 5 пропусков по бюджету, 3 по подходу к своему ОКС, 1 по отступу;
- бюджет сервиса 1 с: FAILED / SOLVE_TIME_BUDGET_EXHAUSTED; watchdog 3 с: WATCHDOG_TIMEOUT / подтверждённая отмена, без экспорта; JVM остановлены.
Это одиночные исторические замеры, не SLA и не профиль новой версии сервиса. Исправление инструмента не переписывает архив. productAccepted=false; полная конкурсная приёмка остаётся открытой.
Проверки исправления 7f3ecebf:
- 26 профильных тестов PASS: поздние/своевременные ответы, точная граница срока, медленные заголовки/тело, отправка POST, разбор JSON, независимый socket timeout, отрицательные проверки времён и повторная проверка архивных протоколов;
- исходный сценарий ревью: ответ через 0.2 с при watchdog 0.05 с дважды завершился WATCHDOG_TIMEOUT; своевременный ответ прошёл;
- пустые времена, нулевой total при положительных этапах и превышение watchdog отклонены;
- Linux ci:self-test: 265 тестов PASS. Три локальных сбоя запуска Bash с Windows-путями в Linux не воспроизводятся;
- полный MR pipeline #10232: 8/8 обязательных jobs PASS на точном SHA 7f3ecebf; Maven и Gradle — по 239 тестов, java:inspect, current:coverage и delivery:smoke PASS.
Зависимость: актуальная !53 (merged) (4ff03f9c), перед ней !52 (merged). База !53 (merged) включена обычным merge-коммитом 3f12023c. Target: codex/nq04-numeric-policy-20260922. Слияние MR не выполнялось.
stand:runtime-profile запускается явно в защищённом web pipeline с RUNTIME_PROFILE=true, на проектном runner и в общей очереди стенда (2 CPU / 2 GiB, heap 1 GiB, отключённая внешняя сеть). Этот стендовый job не выполнялся; Windows/H2 не подменяет Linux/PostgreSQL. Целевой профиль, очередь, параллельность и предельные объёмы остаются отдельной работой.
Beads: trasser-review54-watchdog (родитель trasser-ops03a), общий сервер trasser доступен. После CI требуется повторное ревью; личная приёмка не подменяется.