INUM

МАТЕРИАЛЫ ПРОЕКТА · 20.09.2026

INUM — отчёт о проверке первого выпуска

Дата: 20 сентября 2026. Среда: macOS, Apple M1 Pro, 16 ГБ; локальные сервисы, синтетические расчётные входы и частичный снимок открытых геоданных. Версии компонентов закреплены в RUNBOOK и lock-файлах. Продуктовая спецификация 0.10.0, серверная основа 0.1.0.

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

Набор Результат Что проверено
Elixir mix precommit 69 тестов, успешно Компиляция с warnings-as-errors, форматирование, расчёты, политики, RLS, API, сессии, согласование, сохранение утверждений прежних версий, LiveView, пределы очереди; отказы ИИ по цели и версии; прямой и обратный постраничный обход, ограничения переходов
JavaScript node --test tests/*.test.mjs 38 тестов, успешно NPV, чувствительность, диапазоны, сохранённый снимок, сверка с фактом, личная модель, запрет чувствительной внешней обработки; обязательная цель ИИ
Python pytest compute -q 11 тестов, успешно Расчётный контракт, строгие входы, CSV→Parquet, профиль качества, запрет перезаписи результата
Сайт check-site.py 23 страницы; 529 локальных ссылок/ресурсов; ошибок нет Ссылки, якоря, идентификаторы, заголовки, язык, изображения и CSS-ресурсы
Production-компиляция Успешно Приложение компилируется в prod; промышленная среда не разворачивалась
Hex audit Замечаний не найдено Retired packages и опубликованные security advisories на дату проверки
pip-audit по полному lock-файлу Известных уязвимостей не найдено Проверены закреплённые зависимости без повторного разрешения версий
pip check Успешно Совместимость установленных зависимостей Python

Найденные при разработке ошибки исправлены и повторно проверены: дублирующиеся ID полей LiveView; различия округления между Python и Elixir; устаревший ответ ИИ после смены карточки/версии; контроль версии при записи факта; текстовое состояние мобильного меню. Промежуточный неправильный путь к Python-тестам исправлен; в итоговом запуске выполнены все 11 тестов.

Проверка работающих сервисов

check-stack.py проверяет реальный HTTP-сервер: health; отказ без аутентификации; сохранение карточки; недоступность чужой организации; независимое утверждение; отклонение −2 при факте 16−7 и сохранённом прогнозе 11; выполнение Oban-задания через Python. Успешно в выпуске 0.4; обработчики этого цикла в 0.4.1 не менялись.

check-browser-session.py: переадресация неавторизованного пользователя; отклонение формы без CSRF; вход; отсутствие исходного API-ключа в HTML; HttpOnly; CSP; запрет кеширования; доступность локального клиента; выход и повторный отказ. Проверено по HTTP. Полный клиентский WebSocket-цикл дополнительно требует проверки в целевых браузерах перед промышленным запуском.

check-ai.py: локальная Qwen3 4B через Ollama с отключёнными облачными возможностями; разрешённая карточка; ссылка на точную версию; обязательная проверка человеком; отказ чужой организации. После обновления 0.4.1 проверены серверные поля происхождения ответа и цель анализа. Последний проверенный ответ получен за 15,36 с, с одной корректной ссылкой. Это единичное измерение, не SLA и не оценка достоверности модели.

check-backup.py: dump и восстановление в новую БД на этой же машине; совпали количества карточек, версий, утверждений, наблюдений и дайджест событий. Не перезаписывает существующие БД. Это не проверка географического резервирования, PITR или аварийного восстановления инфраструктуры.

Небольшая HTTP-серия: 40 запросов чтения реестра при конкурентности 8, 40 успешных ответов. В явно прогретой dev-среде медиана — 16,67 мс, p95 — 19,02 мс, максимум — 20,04 мс. Первая серия после изменения исходников дала p95 455,36 мс, включая возможную перекомпиляцию dev-сервера. Результаты не переносятся на промышленный объём, сеть, холодный запуск или длительную нагрузку. Воспроизведение: scripts/benchmark-http.py; манифест testing/http-warm-benchmark.json.

Данные

20 000 000 синтетических строк; CSV 667 600 432 байта; Parquet 22 745 010 байт. Обработка и построение профиля: 3,288 с; генерация: 14,237 с. Лимит DuckDB — 512 МБ, 2 потока; RSS процесса не измерялся. Результат зависит от схемы, сжимаемости, накопителя и распределения. Полный манифест: testing/benchmark-20000000.json. Настоящие чувствительные данные не использовались.

Интерфейс

Проверены первый экран и новый знак, мобильная навигация и Escape, переключение масштабов и клавиатурные вкладки, три аудитории, учебное демо, фиксация прогноза и отклонения, страницы материалов. Проверены размеры 1440 × 1000 и 390 × 844; горизонтального переполнения на проверенных страницах нет. Отдельно ранее проверялось демо на узком экране. Ошибок JavaScript проекта в проверенных сценариях не обнаружено. Закрытая публикация проверена через вход владельца: масштаб государства, загрузка демо, NPV 35/67 при нулевом дисконте и сохранение прогноза 11 после изменения допущений, факт 9 и отклонение −2. Это не независимый аудит WCAG.

Анимация имеет остановку, отключается при prefers-reduced-motion, при скрытой вкладке и вне видимой области; сведения продублированы текстом. Глобус — концептуальная иллюстрация. Источники реальных ресурсов и их оперативное управление не подключены.

Что ещё требуется для промышленного внедрения

Корпоративная идентификация OIDC/MFA; эксплуатационное управление полномочиями; внешние секреты/KMS; TLS-прокси и сетевые политики; резервирование/PITR; независимое закрепление аудита; ресурсные бюджеты и нагрузочное испытание нескольких организаций; полноценно защищённый RAG; отраслевые модели и данные; процедура оспаривания; независимый аудит и приёмка. Сам сайт и публичное учебное демо не являются защищённым кабинетом для реальных данных.

Контактный адрес не предоставлен: бриф скачивается, отправка не имитируется. В выпуске 0.6 бесплатно доступны только первые 30 страниц каждой книги; полные PDF/EPUB предназначены для продажи после включения магазина. Публикуемый сайт сохраняет закрытый доступ владельца; backend работает локально и в публикацию статических файлов не входит.

Дополнение к проверке 0.4.1

Повторно выполнены Elixir mix precommit (34 теста) и JavaScript (11 тестов), а также реальный локальный запрос к ИИ. Python, восстановление и нагрузочные измерения выше относятся к предыдущему выпуску 0.4: соответствующие компоненты не изменялись. Запрос без цели, с неподдерживаемой целью, нецелочисленной или устаревшей версией отклоняется до вызова модели. В браузерном демо проверены запрет при отсутствии цели и разрешение при выборе сравнения сценариев в локальной среде. Знак проверен в шапке: точка снаружи над звездой.

Дополнение к проверке 0.4.2

Выполнен mix precommit: 40 тестов. Добавлены обход 105 карточек с одинаковым временем создания без пропусков и повторов, возврат на прежнюю страницу, разграничение tenant/actor/role/clearance, подмена и истечение перехода, пределы размера страницы, API-метаданные и переключение LiveView с заменой строк.

check-pagination.py прошёл на работающем HTTP-сервере: две страницы, отсутствие повторов, возврат назад, отказ чужой организации, подменённому переходу и размеру 101. check-browser-session.py повторно прошёл после изменений. Production-компиляция успешна. Расчётные Python/JavaScript и ИИ-компоненты не менялись; прежние результаты относятся к указанным выше выпускам.

Кружок удалён из PNG знака; альфа-канал сохранён. Проверка ссылок сайта выполнена после пересборки документов.

Выпуск 0.5.0 — диалоговые демо, книги и недельные лимиты

Браузер: пройдены бизнес, оба государственных и личный примеры; собственный бизнес-запрос требует собственные числа; неподдерживаемая тема формирует план исследования. В JSON просмотрены draft, модель, входы, происхождение, отсутствие автоматического утверждения; пользовательские источники сохраняют статус missing. В симуляторе квот проверены отказ при нехватке, пополнение, отдельное согласие на расход и сохранение 800 000 дополнительных токенов при недельном восстановлении.

Визуально проверены 1440 × 1000 и 390 × 844: лаборатория, кабинет, тарифы и две книги. На проверенных страницах нет горизонтального переполнения; обе обложки загрузились. Переход из личного плана правильно заполнил направление и формат брифа. Ошибок JavaScript проекта в проверенных сценариях нет. SHA-256 PDF/EPUB «Материка» совпадает с оригиналами; EPUB проходит проверку архива. Статическая проверка: 14 страниц, 313 локальных ссылок/ресурсов, 0 ошибок.

Событие download не было подтверждено интерфейсом автоматизации встроенного браузера; подготовленный JSON дополнительно доступен для просмотра в странице и проверен через него. Это не проверка сохранения файла всеми браузерами. Платёжный провайдер, внешние источники и ИИ в новых публичных демо не подключены; симуляция кошелька не является серверным биллингом.

Приёмка выпуска 0.6.0

Остаются непройденными: магазин ЮKassa с настоящими тестовыми реквизитами, чеки и webhook; промышленное размещение Phoenix; реальный сбор рыночных данных по адресу; ИИ для нового исследования; независимый аудит безопасности и доступности. Прежние Python-тесты и нагрузочные измерения относятся к ранее проверенному, неизменённому вычислительному контуру.

Уточнение палитры — белый, серебро, чёрный, золото

По замечанию владельца кремовые и бежевые поверхности заменены чистым белым и нейтральным серебристо-серым. Согласованы главные страницы EN/RU, книги, демо, материалы, ресурсная анимация и локальный кабинет. Золото сохранено в акцентах. Спецификация BRAND-02 обновлена.

В браузере проверены: белый фон FAQ на русской главной, серебристый книжный раздел, чёрно-золотой первый экран английской версии, мобильное демо при 390×844 без горизонтального переполнения. Ошибок JavaScript не обнаружено. Статическая проверка: 20 страниц, 471 локальная ссылка/ресурс, 0 ошибок. Повторный mix precommit: 52 теста успешно. Расчётная логика не менялась.

Дополнение 0.7.0 — локальный ИИ и интерфейс

Повторно выполнены 57 Elixir-тестов (precommit) и 28 JavaScript-тестов. Новые проверки: вопрос без контекста, структура ответа, сохранение результата, чужой tenant и другой автор того же tenant, явное подтверждение памяти, фильтр класса, исключение памяти, отказ при недопустимых входах/ответе. Эти автоматические AI-тесты используют подставной транспорт и не измеряют качество модели. Реальный HTTP-цикл входа проверяет возврат в /advisor и доступность формы.

Отдельно Qwen3 4B реально ответила на вопрос о барбершопе без адреса, бюджета и цен. Последний проверенный ответ содержит условное решение, три альтернативы и три шага без вымышленных чисел. Ответ сохранён в dev-БД; модель не выполняла внешний поиск. Ранние пробы показали слабости формулировок и произвольные численные допущения; инструкции и схема усилены, включено размышление модели. Это не устраняет риск ошибок и не является полноценной оценкой качества.

В браузере проверены EN/RU: координаты переключателя совпадают на ширине 1280 и 390 px; на 390 px нет горизонтального переполнения и работает мобильное меню. Серебряная звезда следует за мышью на глобусе и исчезает при выходе. Исправлен также контраст тёмной информационной панели глобуса. Обе формы собственного вопроса проходят до предварительного результата при пустых необязательных полях; ошибок JS не обнаружено.

Автоматический перенос между вкладками зависит от поддержки браузером window.opener/postMessage; полный перенос с авторизацией не подтверждён во встроенном браузере. Предусмотрены ручное копирование и обычная ссылка. Размещение локального ИИ на публичном сервере, обучение весов, поиск внешних данных и независимая оценка ответов остаются вне этого выпуска.

Дополнение 0.8.0 — единый тестовый стенд

Проверены 62 Elixir-теста и 28 JavaScript-тестов. Новые проверки покрывают одноразовую выдачу стандартной сессии, отказ при повторе и истечении, несовпадающее пространство, запрет удалённого адреса/неожиданного Host и выключенный тестовый доступ. Публичные страницы обслуживаются общей платформой; приватные файлы и полные EPUB не выдаются статическим обработчиком. LiveView принимает перенесённый вопрос без необязательного контекста и сохраняет анализ с подставным AI-транспортом.

check-unified-site.py прошёл на реально работающем localhost: восемь публичных маршрутов, готовность сервисов, отказ без CSRF, одноразовый вход именно в local_tester, доступ к advisor/workbench/research, выход. Ключ и билет не печатаются. Стенд повторно запущен через штатный скрипт, прежние данные сохранены.

В браузере проверены страница тестирования и мобильная ширина 390 px без горизонтального переполнения. Автоматизированный браузер запретил открывать локальный файл запуска по file://; этот путь не обходился. Вход и кабинеты проверены HTTP-интеграцией и LiveView. Пользовательский запуск предусмотрен через локальный command-файл и обычный браузер; конечный вход в таком браузере остаётся частью пользовательской приёмки.

Проверка выпуска 0.9 · место, источники и дизайн

Границы остаются: нет полного реестра рынка, автоматического геокодирования, внешнего универсального поиска, подтверждённых финансовых данных и демографии по точному охвату; продакшен-источник и размещение серверной платформы не включены. Новый экран и расчёт готовы для тестирования, качество маленькой локальной модели остаётся отдельной задачей.

Визуальный проход 0.9: главные EN/RU на 1280px, русский каталог книг, планировщик, новый сценарий на 390px. В новой форме изменение аренды пересчитало вывод; переключение «Моё место» убрало OSM-пример и финансовые числа. Языки главных EN/RU стоят на одинаковых координатах (982/1017px при viewport 1280px). В планировщике языки также справа. При 900px меню раскрывается и доступно; горизонтального выхода за экран не обнаружено. Это проверка ключевых маршрутов и размеров, не независимая сертификация доступности.

Дополнительно: на 390px проверены английская главная, русский каталог и личный сценарий; языки доступны, горизонтального переполнения нет. Содержимое PDF не менялось: публичны только существующие 30-страничные фрагменты.

Финальная правка идентичности 0.9: владелец выбрал монограмму IN. SVG установлен в публичных шапках/подвалах и локальном кабинете, отдельный favicon с чёрной подложкой. В браузере проверены русский первый экран на 1280px и 390px, размер, интервалы, отсутствие горизонтального переполнения. Исходная звезда осталась в архиве разработки и не используется в логотипе.

Проверка 0.10 · гражданские государственные сценарии

Новые числа не получены из реального бюджета или инженерного обследования. Готовность государственного внедрения и качество ответов ИИ этим выпуском не подтверждаются.