- Removed fabricated used_percent numbers and fake *_api source tags from quota_collector.py - Marked quota snapshot sources as baseline/estimated and added visual estimation indicators in accounts_view.py - Eliminated silent fallback on fake user_code/device_code in codex_oauth.py and grok_oauth.py - Gated mock OAuth sessions strictly behind HERMES_HUB_DEV_MODE=1 with visible UI warnings - Documented Google, OpenAI, xAI, and Claude OAuth clients in docs/OAUTH_CLIENT.md - Relocated unused gui_server.py and gui_cockpit.html to legacy/ - Added test_data_truthfulness_and_oauth_security.py covering fail-closed and source truthfulness invariants - Verified 98 passed tests (100%) and 7/7 release gate checks
2.6 KiB
2.6 KiB
Задание: Правдивость данных и готовность к релизу v0.1.1
Дата поступления
2026-08-21
Контекст
По итогам ревью раунда 5 (0d9005f…0c511cd, +6970 строк) выявлены два блокирующих дефекта одного класса: пользователю показываются правдоподобные, но выдуманные данные.
Область задачи (Scope)
-
P0-1. Сборщик квот не должен выдавать выдуманные числа за данные провайдера
- В
quota_collector.pyисключить захардкоженныеused_percentпод видом*_api. - Если данные получены не из прямого API провайдера — источник маркировать как
estimatedилиbaseline, а при отсутствии данных —no_data. - В UI
accounts_view.pyпоказывать честный статус (значок/подпись «оценка» или «нет данных»), не выдавая гипотезы за измерение.
- В
-
P0-2. Убрать тихий фолбэк на поддельный код авторизации
- В
codex_oauth.py,grok_oauth.py,claude_oauth.py,profile_oauth.pyпри сбое запроса к серверу авторизации немедленно возвращать ошибку. - Генерация локального
user_codeдопустима только приHERMES_HUB_DEV_MODE=1с явной пометкой тестовой сессии в UI.
- В
-
P1-3. Документация OAuth-клиентов (
docs/OAUTH_CLIENT.md)- Добавить разделы по OpenAI Codex, xAI Grok и Anthropic Claude с анализом угроз по RFC 8252/7636.
-
P1-4. Судьба
gui_server.pyиgui_cockpit.html- Вынести неиспользуемый
gui_server.pyиgui_cockpit.htmlвlegacy/(или удалить) и актуализировать зависимости вpyproject.toml.
- Вынести неиспользуемый
-
Тесты и приёмка
- Разработать тесты, падающие на
0c511cd, подтверждающие отсутствие выдуманных API-квот и тихих фейковых OAuth-сессий. - Обеспечить прохождение полного набора pytest в безголовом окружении и релизного гейта.
- Разработать тесты, падающие на