МАТЕРИАЛЫ ПРОЕКТА · 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 — диалоговые демо, книги и недельные лимиты
- JavaScript: 22 теста, включая восемь новых проверок моделей и три проверки учебного токенового баланса. Проверены ограничение спроса мощностью, безубыточность, стресс спроса, совместная проверка денег и времени, неверные входы, качественный кризис без автоматического правового вывода.
- Баланс: атомарный отказ при нехватке разрешённого ресурса, включённые токены первыми, явный допуск купленного запаса, точная граница недели, сохранение докупки, пропуск нескольких недель, неверные суммы.
- Серверная часть не менялась после успешных 40 тестов Elixir и проверки пагинации 0.4.2.
- Обложка и файлы «Материка» сверены с авторским EPUB/полным изданием. Логотип во всех трёх местах без кружка.
Браузер: пройдены бизнес, оба государственных и личный примеры; собственный бизнес-запрос требует собственные числа; неподдерживаемая тема формирует план исследования. В JSON просмотрены draft, модель, входы, происхождение, отсутствие автоматического утверждения; пользовательские источники сохраняют статус missing. В симуляторе квот проверены отказ при нехватке, пополнение, отдельное согласие на расход и сохранение 800 000 дополнительных токенов при недельном восстановлении.
Визуально проверены 1440 × 1000 и 390 × 844: лаборатория, кабинет, тарифы и две книги. На проверенных страницах нет горизонтального переполнения; обе обложки загрузились. Переход из личного плана правильно заполнил направление и формат брифа. Ошибок JavaScript проекта в проверенных сценариях нет. SHA-256 PDF/EPUB «Материка» совпадает с оригиналами; EPUB проходит проверку архива. Статическая проверка: 14 страниц, 313 локальных ссылок/ресурсов, 0 ошибок.
Событие download не было подтверждено интерфейсом автоматизации встроенного браузера; подготовленный JSON дополнительно доступен для просмотра в странице и проверен через него. Это не проверка сохранения файла всеми браузерами. Платёжный провайдер, внешние источники и ИИ в новых публичных демо не подключены; симуляция кошелька не является серверным биллингом.
Приёмка выпуска 0.6.0
- Бесплатные PDF: ровно 30 страниц каждый; текст всех страниц совпадает с оригиналом; нет аннотаций и вложений. В статическом дереве нет EPUB и полных PDF.
scripts/check-book-previews.py. - Международная главная: английский по умолчанию, русская версия, выбранная владельцем палитра Obsidian & Gold. Страновой план EE/DK/SG/RU; язык независим от страны, валюта сохраняется в экспорте.
- Браузер: пройдены готовые бизнес-, государственный и личный сценарии. Для барбершопа в EE: полный запуск 1061,7 EUR до неучтённых расходов, стресс −163,02 EUR, безубыточность 226 визитов. Это синтетический учебный набор, не анализ реальной точки.
- Мобильный экран 390×844: английская и русская главные, меню/Escape, книжная витрина, страновой планировщик; горизонтального переполнения на этих страницах не обнаружено. Десктопный сценарий проверен при ширине 1280.
- 12 новых Elixir-тестов: повторное открытие и дополнение исследования, история версий, конфликт изменения, запрет смены валюты/страны, автор/организация/допуск, неполные и некорректные данные; цена с сервера, повтор без дубля, чужой заказ, неправильные поля провайдера, test/live, выдача разрешённого файла, запрет чужой книги/пути, отзыв после возврата. Использован подставной провайдер: настоящих платежей не было.
- 4 новых JavaScript-теста: страновой справочник, совпадение барбершоп-модели с серверным контрактом, ограничения входов и личная модель.
- Новый серверный маршрут после перезапуска приложения перенаправляет неавторизованного пользователя на вход. Изменения конфигурации требуют перезапуска Phoenix.
Остаются непройденными: магазин Ю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 · место, источники и дизайн
mix precommit: 69 тестов;node --test tests/*.test.mjs: 32 теста. Проверены оба расчёта (JS/Elixir), ограничения мощности, нулевой/недостаточный спрос, отрицательный результат, изменяемые допущения, источники и даты, неизменяемые версии, принадлежность контекста ИИ. Проверки чистоты кода и форматирования успешны. Остальные измерения в ранних разделах относятся к отмеченным там выпускам.- Геоданные: реальный запрос из Elixir к Overpass завершился успешно, 40 записей. Тесты проверяют обязательное согласие/полномочия, общий интервал между запросами, кеш, координаты, частичные/ошибочные ответы, удаление контактов и метаданных редакторов. Внешние сервисы в unit-тестах заменены фикстурой.
/demo/location/: EN/RU, реальные источники с датами, графическое расположение объектов и доступная таблица; границы охвата названы. Учебные цены аренды и спрос не представлены наблюдениями. Переход к своему месту очищает пример. Повышение аренды меняет итог на недостаточную мощность/убыток; пустые поля оставляют предварительный план.- Реальный HTTP-цикл тестового входа после изменения платформы выполнен: CSRF, одноразовый билет, отдельный local_tester, открытие advisor/workbench/research, выход. Политика браузера для закрытого файла запуска, описанная в 0.8, не обходилась.
- Качество ИИ: выполнены два настоящих ответа Qwen3:4b. Первый неверно трактовал знак стресс-результата. После изменения названий входных величин второй верно назвал убыток, но остались необоснованные срок наблюдения и условие масштабирования. Ответ не прошёл содержательную приёмку как инвестиционная рекомендация. В интерфейсе явно обозначен черновиком; независимый расчётный вывод, числа и ссылка на сохранённую версию видны отдельно. 101 программный тест не подтверждает качество советов модели.
- Визуальная доработка: единая чёрно-бело-серебряная палитра с золотыми акцентами, заголовки, карточки, библиотека, формы и локальные кабинеты. Исправлены остаточная зелёная ссылка демо и положение языков в планировщике; меню планшетной ширины получило отдельное состояние. Проверки внешнего вида и навигации перечислены ниже по фактически пройденным маршрутам.
Границы остаются: нет полного реестра рынка, автоматического геокодирования, внешнего универсального поиска, подтверждённых финансовых данных и демографии по точному охвату; продакшен-источник и размещение серверной платформы не включены. Новый экран и расчёт готовы для тестирования, качество маленькой локальной модели остаётся отдельной задачей.
Визуальный проход 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 · гражданские государственные сценарии
- JavaScript: 38 тестов, успешно, включая 6 проверок гражданской модели. Проверены резерв, раздельные ограничения вложений/содержания, стоимость на разных горизонтах, пропущенные/неверные входы, неизвестное обследование, неудаляемые повышением бюджета проблемы доступности. Общий статус утверждения всегда false; охват не складывается.
- Сайт: 23 страницы, 529 локальных ссылок и ресурсов, ошибок нет.
- Браузер: все четыре переключателя меняют задачу и состав вариантов. Снижение бюджета со 100 до 20 меняет вывод и показывает превышения. Своя задача очищает финансовые поля; без них остаются предварительный разбор и кнопка локального ИИ. JSON сохраняет вопрос, шаблон, условия и четыре группы источников, не выдаёт синтетические данные за проверенные.
- EN/RU: проверены 1280px и 390px; горизонтального переполнения нет. Пример государства на главной и в планировщике стал гражданским. Кризис доступен отдельной ссылкой; прежний разбор водоснабжения сохранён.
Новые числа не получены из реального бюджета или инженерного обследования. Готовность государственного внедрения и качество ответов ИИ этим выпуском не подтверждаются.