======================================================================================== UPIQU.RU AI VIDEO STUDIO · FULL TEST REPORT TXT ======================================================================================== generated_at=2026-07-28T07:59:10Z version=0.10.80 owner_session=no ======================================================================================== Runtime paths ======================================================================================== APP_DIR=/var/www/www-root/data/www/upiqu.ru/app BASE_DIR=/var/www/www-root/data/www/upiqu.ru STORAGE_ROOT=/var/www/www-root/data/www/upiqu.ru/storage/install/browser_workspace/storage DB_PATH=/var/www/www-root/data/www/upiqu.ru/storage/install/browser_workspace/storage/app.db PUBLIC_BASE_URL=https://upiqu.ru APP_BASE_PATH= ======================================================================================== Database and core tables ======================================================================================== owners: ok count=1 api_users: ok count=1 api_keys: ok count=2 token_system_settings: ok count=1 token_purchase_requests: ok count=0 user_work_mode_settings: ok count=1 user_model_settings: ok count=1 user_smm_accounts: ok count=0 smm_platform_credentials: ok count=13 smm_oauth_sessions: ok count=0 api_tasks: ok count=0 api_usage: ok count=0 support_threads: ok count=0 support_messages: ok count=0 web_launch_health_snapshots: ok count=28 owner_password_events: ok count=148 ======================================================================================== Owner / install state ======================================================================================== { "owner_exists": true, "owner": { "id": 1, "username": "owner", "password_hash": "***redacted***", "display_name": "Owner", "created_at": "2026-07-03T19:42:44Z", "password_must_change": "***redacted***", "password_changed_at": "", "default_password_applied_at": "***redacted***" } } install_wizard={ "version": "0.10.80", "status": "warning", "score": 50.0, "ok_count": 5, "warning_count": 5, "blocked_count": 0, "steps_total": 10, "steps": [ { "key": "***redacted***", "title": "1. Preflight домена и install.php", "kind": "auto", "required": true, "web_action": "/install.php", "api_action": "/api/internal/install-wizard/run-step", "description": "Проверяет /install.php, HTTPS-домен, nginx proxy, .env bootstrap и responsive cosmic shell.", "status": "ok", "checks": [ { "key": "***redacted***", "status": "ok", "severity": "critical", "message": "/install.php зарегистрирован в runtime.", "evidence": {} }, { "key": "***redacted***", "status": "ok", "severity": "high", "message": "PUBLIC_BASE_URL указывает на реальный HTTPS-домен.", "evidence": { "public_base_url": "https://upiqu.ru" } }, { "key": "***redacted***", "status": "ok", "severity": "critical", "message": "Адаптивный космический UI доступен для всех страниц.", "evidence": {} } ], "blocker_count": 0, "warning_count": 0, "recommended_action": "run_next_step", "evidence_sha256": "f1d3c0fda443352c8f427115ba87bd87f73078e6e7ef64c0ff96b69139ef6831" }, { "key": "***redacted***", "title": "2. .env, storage и secrets", "kind": "auto", "required": true, "web_action": "/install.php", "api_action": "/api/internal/install-wizard/run-step", "description": "Создаёт/проверяет storage-каталоги, .env, secure cookies, FORCE_HTTPS, APP/AUTOPILOT/Vault secrets.", "status": "ok", "checks": [ { "key": "***redacted***", "status": "ok", "severity": "high", "message": ".env создан мастером или уже существует.", "evidence": {} }, { "key": "***redacted***", "status": "ok", "severity": "critical", "message": "storage доступен для записи.", "evidence": {} }, { "key": "***redacted***", "status": "ok", "severity": "high", "message": "FORCE_HTTPS/Secure cookies включены или подготовлены.", "evidence": {} } ], "blocker_count": 0, "warning_count": 0, "recommended_action": "run_next_step", "evidence_sha256": "684ba349f3ec890c20ef2e102600016b1cb98bed64f239132321cc8c22a1d8b1" }, { "key": "***redacted***", "title": "3. База данных и миграции", "kind": "auto", "required": true, "web_action": "/install.php", "api_action": "/api/internal/install-wizard/run-step", "description": "Запускает существующий migration layer и фиксирует DB/schema evidence.", "status": "ok", "checks": [ { "key": "***redacted***", "status": "ok", "severity": "critical", "message": "SQLite открывается и отвечает.", "evidence": {} }, { "key": "***redacted***", "status": "ok", "severity": "critical", "message": "Ключевые таблицы runtime присутствуют.", "evidence": { "table_count": 307 } }, { "key": "***redacted***", "status": "ok", "severity": "high", "message": "Migration layer установлен.", "evidence": {} } ], "blocker_count": 0, "warning_count": 0, "recommended_action": "run_database_migrations", "evidence_sha256": "7889ae5ed1ae93e72eb9dbf66a32143299287f3e76be301fab1219a00f0a67f7" }, { "key": "***redacted***", "title": "4. Owner, security и vault", "kind": "form_then_auto", "required": true, "web_action": "/install.php", "api_action": "/api/internal/install-wizard/run-step", "description": "Проверяет owner-аккаунт, HTTPS/security settings и vault readiness.", "status": "ok", "checks": [ { "key": "***redacted***", "status": "ok", "severity": "critical", "message": "Owner-аккаунт создан.", "evidence": {} }, { "key": "***redacted***", "status": "ok", "severity": "high", "message": "Мастер первого запуска владельца сохранён, портал отмечен как готовый к работе.", "evidence": {} }, { "key": "***redacted***", "status": "ok", "severity": "high", "message": "Security settings доступны.", "evidence": {} }, { "key": "***redacted***", "status": "ok", "severity": "high", "message": "Vault/security layer готов или ожидает master key.", "evidence": {} } ], "blocker_count": 0, "warning_count": 0, "recommended_action": "create_owner_or_configure_vault_and_owner_startup", "evidence_sha256": "74728bfee2055fba6c7852d77a1c381872d6baf7f9058aa2f86b18ccfedd7218" }, { "key": "***redacted***", "title": "5. Providers, API и credentials", "kind": "guided_external", "required": true, "web_action": "/install.php", "api_action": "/api/internal/install-wizard/run-step", "description": "Открывает этап подключения ключей и live validation без имитации credentials.", "status": "warning", "checks": [ { "key": "***redacted***", "status": "ok", "severity": "high", "message": "Таблицы provider credentials/vault присутствуют.", "evidence": {} }, { "key": "***redacted***", "status": "warning", "severity": "high", "message": "Реальные provider credentials прошли live validation.", "evidence": { "latest_status": "" } } ], "blocker_count": 0, "warning_count": 1, "recommended_action": "enter_real_provider_credentials_then_run_live_validation", "evidence_sha256": "94822de1e8498b8591c0c240b5911e18d83d9aa4c983aad51aca8332d347db25" }, { "key": "***redacted***", "title": "6. Все функции Web/API", "kind": "auto", "required": true, "web_action": "/install.php", "api_action": "/api/internal/install-wizard/run-step", "description": "Проверяет, что все enabled API/service actions доступны владельцу через веб-интерфейс.", "status": "ok", "checks": [ { "key": "***redacted***", "status": "ok", "severity": "critical", "message": "Все enabled API/service actions покрыты веб-интерфейсом.", "evidence": { "score": 100.0 } }, { "key": "***redacted***", "status": "ok", "severity": "high", "message": "Web action runner ledger установлен.", "evidence": {} } ], "blocker_count": 0, "warning_count": 0, "recommended_action": "run_web_feature_access_scan", "evidence_sha256": "2da71028b2e14254face570dee6e3667803a1e412ee3a56c00bff7e6fc8c5938" }, { "key": "***redacted***", "title": "7. Media attestation и publication gates", "kind": "auto_or_blocked_by_data", "required": true, "web_action": "/install.php", "api_action": "/api/internal/install-wizard/run-step", "description": "Запускает/проверяет final media attestation, publication live checklist и live dispatch gate.", "status": "warning", "checks": [ { "key": "***redacted***", "status": "ok", "severity": "critical", "message": "Final media attestation ledger установлен.", "evidence": {} }, { "key": "***redacted***", "status": "warning", "severity": "high", "message": "Есть publish-safe final media attestation.", "evidence": { "latest_status": "" } }, { "key": "***redacted***", "status": "warning", "severity": "high", "message": "Live dispatch gate готов.", "evidence": { "latest_status": "" } } ], "blocker_count": 0, "warning_count": 2, "recommended_action": "generate_real_final_mp4_and_run_media_publication_gates", "evidence_sha256": "d0317f5e5ef0ca14b31ed39c373d2bf9315ef864dea6151c67e7d2d82e30a651" }, { "key": "***redacted***", "title": "8. External E2E и launch gates", "kind": "auto_or_blocked_by_external", "required": true, "web_action": "/install.php", "api_action": "/api/internal/install-wizard/run-step", "description": "Запускает безопасные launch gates/orchestrator/certification без live dispatch.", "status": "warning", "checks": [ { "key": "***redacted***", "status": "ok", "severity": "critical", "message": "External E2E evidence gate ledger установлен.", "evidence": {} }, { "key": "***redacted***", "status": "warning", "severity": "high", "message": "External E2E прошёл на VPS.", "evidence": { "latest_status": "" } }, { "key": "***redacted***", "status": "warning", "severity": "high", "message": "Production launch certification готов.", "evidence": { "latest_status": "" } } ], "blocker_count": 0, "warning_count": 2, "recommended_action": "run_external_e2e_and_launch_certification", "evidence_sha256": "5831aba8d49a29c821e1424a56b0b768f6e78250d789c39697beaa507bcb91b2" }, { "key": "***redacted***", "title": "9. Cutover, live guard и rollback", "kind": "guided_ack", "required": true, "web_action": "/install.php", "api_action": "/api/internal/install-wizard/run-step", "description": "Проверяет cutover plan, manual live toggle guard, drift monitor и emergency rollback guard.", "status": "warning", "checks": [ { "key": "***redacted***", "status": "ok", "severity": "critical", "message": "Cutover/rollback plan ledger установлен.", "evidence": {} }, { "key": "***redacted***", "status": "warning", "severity": "high", "message": "Cutover plan approved.", "evidence": { "latest_status": "" } }, { "key": "***redacted***", "status": "warning", "severity": "high", "message": "Manual live toggle guard approved.", "evidence": { "latest_status": "" } } ], "blocker_count": 0, "warning_count": 2, "recommended_action": "approve_cutover_and_live_toggle_guard_with_owner_ack", "evidence_sha256": "bf35493b000cbd94738dabae9986b9eaa3161b07b04d03926f490652b5fc6298" }, { "key": "***redacted***", "title": "10. VPS Acceptance перед реальным запуском", "kind": "guided_ack", "required": true, "web_action": "/install.php", "api_action": "/api/internal/install-wizard/run-step", "description": "Финальный immutable snapshot реального VPS: HTTPS, secrets, DB, E2E, live evidence и owner ACK.", "status": "warning", "checks": [ { "key": "***redacted***", "status": "ok", "severity": "critical", "message": "Production VPS Acceptance ledger установлен.", "evidence": {} }, { "key": "***redacted***", "status": "warning", "severity": "high", "message": "Финальный VPS Acceptance пройден на реальном VPS.", "evidence": { "latest_status": "" } } ], "blocker_count": 0, "warning_count": 1, "recommended_action": "run_vps_acceptance_on_real_vps_with_owner_ack", "evidence_sha256": "9205b102b1b41accb6e8ada5ed9e12c49fd39d93348811eba46e810869965443" } ], "public_base_url": "https://upiqu.ru", "recommended_action": "continue_install_wizard", "evidence_sha256": "ee0d97dd5ee75e78d626b46d3058ee57f7967180ae97748c6818ee02cdbf9534" } single_url_policy={ "version": "0.10.80", "status": "ok", "score": 100.0, "checks": [ { "key": "***redacted***", "status": "ok", "severity": "critical", "message": "Every owner-visible install wizard step returns to the single /install.php page.", "evidence": { "web_actions": [ "/install.php", "/install.php", "/install.php", "/install.php", "/install.php", "/install.php", "/install.php", "/install.php", "/install.php", "/install.php" ] } }, { "key": "***redacted***", "status": "ok", "severity": "critical", "message": "POST /install.php handles both first owner setup and wizard step execution.", "evidence": {} }, { "key": "***redacted***", "status": "ok", "severity": "critical", "message": "The install page does not require owners to submit to secondary install URLs.", "evidence": {} }, { "key": "***redacted***", "status": "ok", "severity": "critical", "message": "Root install.php can render a browser bootstrap and hand off to FastAPI instead of returning marker 503.", "evidence": {} }, { "key": "***redacted***", "status": "ok", "severity": "critical", "message": "Root install.php no longer intentionally returns 503 to the owner.", "evidence": {} }, { "key": "***redacted***", "status": "ok", "severity": "high", "message": "Single URL browser-only installation policy is documented in code/readiness scan.", "evidence": {} } ], "single_install_url": "/install.php", "owner_manual_commands_required": false, "owner_secondary_install_paths_required": false, "evidence_sha256": "11e751daf3fc8e3ed6f7c1dc840c66e3d5c73b87f6234dc891afa94e2bc2ca79" } ======================================================================================== Full project consistency audit ======================================================================================== { "version": "0.10.80", "status": "ok", "started_at": "2026-07-28T07:59:10Z", "finished_at": "2026-07-28T07:59:11Z", "files_total": 287, "python_files": 62, "php_files": 36, "shell_files": 11, "template_files": 101, "json_files": 8, "route_count": 523, "owner_menu_groups": 6, "user_cabinet_tabs": 15, "errors_total": 0, "file_errors": [], "template_errors": [], "menu_errors": [], "db_errors": [], "action_errors": [] } ======================================================================================== Website/API route inventory ======================================================================================== { "path": "/", "registered": true, "methods": [ "GET" ] } { "path": "/login", "registered": true, "methods": [ "GET" ] } { "path": "/install.php", "registered": true, "methods": [ "GET" ] } { "path": "/change-owner-password", "registered": true, "methods": [ "GET" ] } { "path": "/web-actions", "registered": true, "methods": [ "GET" ] } { "path": "/web-actions/self-test", "registered": true, "methods": [ "GET" ] } { "path": "/full-test-report.txt", "registered": true, "methods": [ "GET" ] } { "path": "/api-users", "registered": true, "methods": [ "GET" ] } { "path": "/token-economy", "registered": true, "methods": [ "GET" ] } { "path": "/automation-workspace", "registered": true, "methods": [ "GET" ] } { "path": "/smm-smo", "registered": true, "methods": [ "GET" ] } { "path": "/ai-models", "registered": true, "methods": [ "GET" ] } { "path": "/information-sources", "registered": true, "methods": [ "GET" ] } { "path": "/information-sources/runtime", "registered": true, "methods": [ "GET" ] } { "path": "/information-sources/discovery", "registered": true, "methods": [ "GET" ] } { "path": "/ai-clone-platform", "registered": true, "methods": [ "GET" ] } { "path": "/clone-pipeline", "registered": true, "methods": [ "GET" ] } { "path": "/connections", "registered": true, "methods": [ "GET" ] } { "path": "/support", "registered": true, "methods": [ "GET" ] } { "path": "/api/v1/health", "registered": true, "methods": [ "GET" ] } { "path": "/api/v1/action", "registered": true, "methods": [ "POST" ] } { "path": "/api/v1/tokens/system", "registered": true, "methods": [ "GET" ] } ======================================================================================== Menu inventory ======================================================================================== [ { "id": "settings", "short": "Настройки", "title": "Настройки", "description": "Единый обязательный раздел: установка проекта одной кнопкой, запуск сайта, внешние подключения, безопасность и правила публичного веб-сервиса.", "subgroups": [ { "title": "Установка", "description": "Все действия установки выполняются только через /install.php в одном мастере, без ручного перехода по разным страницам.", "items": [ { "href": "/owner-setup-wizard", "title": "0. Мастер полной настройки", "description": "Пошаговая настройка владельца до реальной работы: ключи, OAuth, источники, платежи, worker, финансы и доступность функций." }, { "href": "/service-completion", "title": "0.1 Финальная готовность функций", "description": "Матрица всех функций владельца и пользователей: что доступно, что скрыто, что можно подключить позже." }, { "href": "/final-readiness", "title": "0.2 Финальный запуск и готовность", "description": "Единая проверка 100% readiness: код, функции, аудит, экономика, пользователи, источники, токены и live-зависимости." }, { "href": "/install.php", "title": "1. Единый мастер установки", "description": "Одна кнопка создаёт владельца, .env, storage, БД, backend-state, web-файлы, меню и запускает backend." }, { "href": "/navigation-map", "title": "2. Карта настройки", "description": "Показывает все разделы и подтверждает, что установка больше не разбита по разным страницам." }, { "href": "/database-migrations", "title": "3. Совместимость БД", "description": "Проверяет миграции, таблицы и совместимость схемы после установки или обновления." }, { "href": "/system-maintenance", "title": "4. Backup / update / rollback", "description": "Создаёт backup перед обновлением и позволяет восстановить рабочую версию проекта." } ] }, { "title": "Запуск", "description": "Переход от установленного проекта к реально доступному сайту и API на домене.", "items": [ { "href": "/", "title": "Главная владельца", "description": "Сводка готовности и следующий шаг после установки одной кнопкой." }, { "href": "/status", "title": "Статус веб-сайта", "description": "Проверяет публичный сайт и API с точки зрения клиента." }, { "href": "/domain-ssl-health", "title": "Домен, IP и SSL", "description": "Проверяет upiqu.ru, IP 93.188.155.127, HTTPS, сертификат, reverse proxy и canonical redirect." }, { "href": "/api-docs", "title": "API документация", "description": "Документация и проверка API endpoints для клиентов." }, { "href": "/production-ready", "title": "Production Ready", "description": "Финальная проверка перед реальными пользователями." }, { "href": "/production-launch", "title": "Launch Gate", "description": "Сертификация запуска, gates, rollback и cutover evidence." }, { "href": "/go-live", "title": "Go Live", "description": "Переключение live-режима после готовности и подтверждения владельца." } ] }, { "title": "Подключения", "description": "Все внешние ключи, провайдеры, OAuth и проверки интеграций в одном подразделе.", "items": [ { "href": "/connections", "title": "Внешние подключения", "description": "Единая панель для API-ключей, URL, fallback и лимитов провайдеров." }, { "href": "/ai-models", "title": "ИИ модели и провайдеры", "description": "LemonSlice, DeepSeek, Qwen2, Z-Code: выбор модели вручную или автоматически по стоимости и нагрузке." }, { "href": "/information-sources", "title": "Открытые источники информации", "description": "RSS, XML, JSON/API, CKAN, SMTP и другие источники для создания новостей, статей, видео и сценариев." }, { "href": "/information-sources/runtime", "title": "24/7 runtime источников", "description": "Автономный tick, heartbeat, TTL refresh, восстановление и internal API для cron/systemd." }, { "href": "/information-sources/discovery", "title": "Discovery открытых источников", "description": "Worker ищет RSS/XML/JSON/API/TTL источники через поисковые запросы и подключает только публично доступные endpoints." }, { "href": "/open-source-catalog", "title": "Базы открытых источников", "description": "Мировой каталог RSS/XML/JSON/API/TTL/RDF источников, seed-базы и загрузка TXT-списков с автоматическим подключением." }, { "href": "/vault", "title": "Vault секретов", "description": "Хранение секретов и ключей без раскрытия их в интерфейсе." }, { "href": "/credential-readiness", "title": "Готовность ключей", "description": "Проверяет, какие внешние credentials заполнены и чего не хватает." }, { "href": "/provider-runtime", "title": "Provider Runtime", "description": "Контроль runtime вызова внешних AI/media/video/provider функций." }, { "href": "/provider-validation", "title": "Provider Validation", "description": "Dry-run и contract checks перед реальными вызовами." }, { "href": "/external-e2e", "title": "External E2E", "description": "Сквозная проверка внешних подключений с реальными ключами." }, { "href": "/media-validation", "title": "Media Validation", "description": "Проверка качества медиа-результатов перед публикацией." }, { "href": "/oauth-center", "title": "OAuth публикаций", "description": "Подключение аккаунтов публикации и внешних каналов." } ] }, { "title": "Безопасность и доступ", "description": "Защита владельца, API, клиентов, порталов и данных перед работой с пользователями.", "items": [ { "href": "/change-owner-password", "title": "Смена пароля владельца", "description": "Первый вход с 12345 и установка нового пароля." }, { "href": "/security", "title": "Security / 2FA / CSRF", "description": "Пароли, cookies, CSRF, 2FA, security headers и журнал событий." }, { "href": "/ip-access", "title": "IP доступ", "description": "Белые/чёрные списки и ограничения доступа." }, { "href": "/access-control", "title": "Access Control", "description": "Права, квоты, включение/отключение функций и лимиты." }, { "href": "/feature-access", "title": "Доступность функций", "description": "Проверка соответствия web-интерфейса, API и включённых действий." }, { "href": "/vault-security", "title": "Vault Security", "description": "Контроль безопасности секретов и готовности хранилища ключей." }, { "href": "/data-governance", "title": "Данные пользователей", "description": "Политика хранения данных, legal export и аудит действий." } ] }, { "title": "Правила сайта", "description": "Публичные страницы, бренд, цены, API и юридические правила до запуска клиентов.", "items": [ { "href": "/commercial-policy", "title": "Бренд и коммерческие правила", "description": "Позиционирование сервиса, защита кода и коммерческая политика." }, { "href": "/legal-admin", "title": "Юридические документы", "description": "Terms, privacy, cookies, refund и другие публичные документы." }, { "href": "/services", "title": "Публичные услуги", "description": "Страница услуг, которую видит клиент." }, { "href": "/pricing", "title": "Публичные цены", "description": "Пакеты токенов и правила оплаты для клиентов." }, { "href": "/api", "title": "Публичная API-страница", "description": "Описание подключения клиента к API сервиса." } ] } ] }, { "id": "clients", "short": "Клиенты", "title": "Клиенты и API", "description": "Управление клиентами после установки: API-пользователи, ключи, балансы, тарифы, поддержка и статистика.", "subgroups": [ { "title": "Клиенты", "description": "Создание клиентов, ключей и пакетов доступа.", "items": [ { "href": "/api-users", "title": "API пользователи", "description": "Клиенты, API-ключи, баланс токенов, порталы и профили." }, { "href": "/register", "title": "Публичная регистрация", "description": "Форма регистрации клиента и первичного доступа." }, { "href": "/token-economy", "title": "Системные токены", "description": "Расчёт общего количества токенов по мощности сервера, цена токена, минимум покупки и FIFO очередь заявок." }, { "href": "/tariffs", "title": "Тарифы и токены", "description": "Стоимость действий, пакеты запросов и правила списания." }, { "href": "/automation-workspace", "title": "Одна ведущая клиента", "description": "Настройка одной ведущей, одного бренда и одного автоматического сценария на пользователя." }, { "href": "/smm-smo", "title": "SMM & SMO", "description": "Подключение по одной учётной записи на соцсеть/мессенджер для каждого пользователя." }, { "href": "/support", "title": "Поддержка", "description": "Обращения клиентов и ответы владельца." }, { "href": "/statistics", "title": "Статистика", "description": "Использование API, активность клиентов и коммерческие показатели." } ] } ] }, { "id": "automation", "short": "Автоматизация", "title": "Автоматизация и генерация", "description": "Рабочие функции сервиса: studio pipeline, сценарии, задачи, публикация и производство контента.", "subgroups": [ { "title": "Генерация", "description": "Последовательность создания результата от проекта до production.", "items": [ { "href": "/studio", "title": "AI Studio", "description": "Проекты, файлы и подготовка генерации." }, { "href": "/pipeline", "title": "Pipeline", "description": "Цепочки действий и артефакты." }, { "href": "/autoscenarios", "title": "Автосценарии", "description": "Правила автоматического запуска." }, { "href": "/production", "title": "Production Studio", "description": "Контроль production-процессов и задач." }, { "href": "/publication-runtime", "title": "Publication Runtime", "description": "Доставка результатов во внешние каналы после gates." }, { "href": "/web-actions", "title": "Запуск функций из веба", "description": "Единая веб-форма для выполнения любой включённой функции через тот же core, что и публичный API." }, { "href": "/ai-clone-platform", "title": "Платформа ИИ-клонов", "description": "Административный контроль пользовательских ИИ-клонов, тем, публикаций, общения и трансляций." }, { "href": "/clone-pipeline", "title": "Пайплайн ИИ-клонов", "description": "Контроль полного цикла: источники → план → сценарий → медиа → субтитры → публикация/эфир." }, { "href": "/tasks", "title": "Очередь задач", "description": "Статусы, retries, SLA и выполнение задач." } ] } ] }, { "id": "portals", "short": "Порталы", "title": "Порталы и нагрузка", "description": "Физические кабинеты клиентов, worker-узлы, offload и автономная работа.", "subgroups": [ { "title": "Порталы", "description": "Создание, обслуживание и контроль нагрузки пользовательских порталов.", "items": [ { "href": "/portals", "title": "Порталы пользователей", "description": "Генерация физических порталов, worker.php и архивов." }, { "href": "/portal-maintenance", "title": "Обслуживание порталов", "description": "Manifest, политики обновления и синхронизация порталов." }, { "href": "/capacity", "title": "VPS и нагрузка", "description": "Профили нагрузки, расчёт ресурсов и масштабирование." }, { "href": "/autonomy", "title": "Автономность", "description": "Режимы работы без внешних сервисов и резервные сценарии." } ] } ] }, { "id": "finance", "short": "Финансы", "title": "Финансы и экономика", "description": "Экономика владельца, себестоимость, маржа, прогноз и коммерческие исследования.", "subgroups": [ { "title": "Экономика", "description": "Проверка финансовой модели до масштабирования.", "items": [ { "href": "/economy", "title": "Экономика проекта", "description": "Себестоимость, маржа, fixed costs и прогноз прибыли." }, { "href": "/business-economy", "title": "Бизнес-модель и прогноз", "description": "Автоматический расчёт прибыли, убытков, ресурсов, токенов, прогнозов и экспорт отчётов." }, { "href": "/business-development-plan", "title": "План бизнес-развития", "description": "Автоматический roadmap запуска, монетизации, тарифов, рисков, ресурсов и роста upiqu.ru." }, { "href": "/business-research", "title": "Бизнес-исследования", "description": "Аналитика рынка, сценарии развития и коммерческие варианты." }, { "href": "/tariffs", "title": "Тарифы", "description": "Связь стоимости действий с экономикой сервиса." } ] } ] }, { "id": "control", "short": "Контроль", "title": "Контроль и обслуживание", "description": "Мониторинг, аудит, аварийное восстановление, обновления и техническая совместимость.", "subgroups": [ { "title": "Контроль", "description": "Операционный контроль владельца.", "items": [ { "href": "/monitoring", "title": "Мониторинг", "description": "SLA, health, задачи и worker-состояние." }, { "href": "/alerts", "title": "Уведомления", "description": "События, риски и предупреждения владельца." }, { "href": "/owner-ops", "title": "Owner Ops", "description": "Быстрые операции владельца и контроль рисков." }, { "href": "/audit", "title": "Аудит готовности", "description": "Проценты готовности, риски и evidence из кода." }, { "href": "/comprehensive-audit", "title": "Наиполнейший аудит", "description": "Полная матрица production readiness: код, БД, routes, UI, безопасность, источники, OAuth, финансы и релиз." }, { "href": "/service-completion", "title": "Финальная готовность сервиса", "description": "Проверка owner/user функций, публичного сайта, токенов, отключения недоступных услуг и подключаемых позже возможностей." }, { "href": "/final-readiness", "title": "Финальный readiness report", "description": "Общий отчёт готовности портала и план последних действий владельца перед запуском." }, { "href": "/disaster-recovery", "title": "Disaster Recovery", "description": "Аварийное восстановление и проверка backup." }, { "href": "/maintainability", "title": "Maintainability", "description": "Совместимость файлов, технический долг и крупные участки кода." } ] } ] } ] ======================================================================================== Token economy ======================================================================================== { "settings": { "id": 1, "token_price_eur": "***redacted***", "min_purchase_tokens": "***redacted***", "tokens_per_cpu_core": "***redacted***", "tokens_per_gib_ram": "***redacted***", "tokens_per_gib_disk_free": "***redacted***", "reserve_safety_percent": 20.0, "max_system_tokens": "***redacted***", "free_system_tokens": "***redacted***", "reserved_system_tokens": 0, "auto_recalculate": 1, "queue_check_enabled": 1, "updated_at": "2026-07-28T07:53:17Z", "calculated_capacity_tokens": "***redacted***", "user_tokens_in_circulation": "***redacted***", "infrastructure_profile": { "id": 1, "name": "current-vps-bg-start", "cpu_cores": 1.0, "ram_gib": 3.0, "disk_gib": 20.0, "disk_free_gib": 0.0, "provider": "EuroHoster BG Start / screenshot", "role": "core", "active": 1, "notes": "Detected from user screenshot: 1 vCPU, about 3 GiB RAM, 20 GiB disk. Heavy tasks must stay portal-side.", "created_at": "2026-07-03T19:41:56Z", "updated_at": "2026-07-03T19:41:56Z" } }, "queued_requests": 0, "first_queued_request": null, "price_per_token_eur": "***redacted***", "min_purchase_tokens": "***redacted***" } ======================================================================================== Action runner smoke data ======================================================================================== cost_rules_count=24 [ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" ] ======================================================================================== User cabinet probes ======================================================================================== [ "" ] user_workspace_error_1=no such column: topic ======================================================================================== Information source discovery ======================================================================================== { "policy": { "id": 1, "enabled": 1, "mode": "worker_offload", "search_interval_minutes": 30, "search_queries_json": "[\n \"RSS feed world news\",\n \"RSS feed technology news\",\n \"RSS feed science news\",\n \"RSS feed economy news\",\n \"site:.gov api json open data\",\n \"site:.gov package_search api/3/action open data\",\n \"site:.europa.eu RSS feed\",\n \"filetype:rss news feed\",\n \"filetype:xml atom feed\",\n \"inurl:/feed.xml public API\",\n \"inurl:/rss public news\",\n \"open data API JSON climate\",\n \"open data API JSON health\",\n \"open data API JSON transport\",\n \"CKAN package_search API open data\",\n \"SPARQL endpoint open data TTL\",\n \"RDF Turtle open data endpoint\",\n \"JSON Feed public news\",\n \"новости RSS лента\",\n...", "search_engines_json": "[\n {\n \"key\": \"duckduckgo_html\",\n \"title\": \"DuckDuckGo HTML search\",\n \"template\": \"https://duckduckgo.com/html/?q={query}\",\n \"enabled\": 1,\n \"kind\": \"search_html\",\n \"requires_key\": 0\n },\n {\n \"key\": \"bing_web_html\",\n \"title\": \"Bing web HTML search\",\n \"template\": \"https://www.bing.com/search?q={query}\",\n \"enabled\": 1,\n \"kind\": \"search_html\",\n \"requires_key\": 0\n }\n]", "ai_query_expansion_enabled": 1, "auto_accept_min_score": 72.0, "require_open_access": 1, "probe_before_import": 1, "worker_offload_required": 1, "worker_pairing_token_hash": "", "last_discovery_at": "", "last_worker_seen_at": "", "updated_at": "2026-07-04T07:30:18Z" }, "workers": [], "candidates": [] } ======================================================================================== Files and logs ======================================================================================== VERSION: exists=True size=8 index.php: exists=True size=13444 install.php: exists=True size=78997 run.sh: exists=True size=1520 requirements.txt: exists=True size=118 app/main.py: exists=True size=1579209 app/templates/base.html: exists=True size=23997 app/templates/public_portal.html: exists=True size=45158 app/templates/change_owner_password.html: exists=True size=1739 storage/install/backend_runtime_state.json: exists=False size=0 storage/install/browser_workspace/run/browser_bootstrap_uvicorn.log: exists=False size=0 ======================================================================================== Recommendations ======================================================================================== 1. Upload this TXT report to ChatGPT together with the exact URL/page where the error occurs. 2. If menu is missing, include the HTML source of /login and /web-actions or a screenshot. 3. If functions fail, open /web-actions, run all functions, then download this report again.