6.7 KiB
Цикл заданий по аудиту hermes-android
Repo: ochenstarik-ui/hermes-android
Исходный аудит: 63 находки на коммите ba5f0466f3fcb83fc2367ca61727ddb897529f88
Режим: Antigravity как оркестратор, кодер 1 — Gemini Flash 3.7 high, кодер 2 — Gemini Pro high
Куда класть: agents/antigravity/inbox/ репозитория hermes-android
Порядок
Задания выдаются по одному. Каждое следующее берёт base SHA из принятого предыдущего. Параллельно не запускать: 02 опирается на порядок событий из 01, 04 проверяет тесты 01–03, 06 продолжает SEC-01 из 01, 07 опирается на отпечаток сертификата из 06.
| № | Файл | Тема | Приоритет | Находки |
|---|---|---|---|---|
| 01 | TASK-2026-08-24-01-hermes-transport-and-lan-reachability.md |
Достижимость LAN-хоста и гонки в транспорте | CRITICAL | SEC-01 · NET-01, 02, 03, 04 |
| 02 | TASK-2026-08-24-02-persistence-integrity.md |
Целостность хранения и таймлайна | CRITICAL | DATA-01, 02, 03, 04, 06, 08 · BUILD-04 |
| 03 | TASK-2026-08-24-03-critical-ux.md |
Критичный UX | CRITICAL | UI-01, 02, 03, 04, 06 · DATA-05 |
| 04 | TASK-2026-08-24-04-ci-and-test-harness.md |
CI и проверяемость тестов | HIGH | BUILD-03, 05 · TEST-01, 02, 03, 04 |
| 05 | TASK-2026-08-24-05-repo-hygiene.md |
Гигиена репозитория | HIGH | BUILD-01, 06, 07, 08 |
| 06 | TASK-2026-08-24-06-auth-and-secrets.md |
Авторизация, TLS, секреты | CRITICAL | SEC-02…08 · NET-08 |
| 07 | TASK-2026-08-24-07-pairing-protocol.md |
Протокол сопряжения и hermes-pair | HIGH | PAIR-01…07 · SEC-09, 10 |
| 08 | TASK-2026-08-24-08-connection-lifecycle.md |
Жизненный цикл соединения и фон | HIGH | NET-05, 06, 07, 09 · DATA-11, 12 · UI-11 |
| 09 | TASK-2026-08-24-09-performance-and-attribution.md |
Производительность и атрибуция | MEDIUM | DATA-07, 09, 10 · UI-07 |
| 10 | TASK-2026-08-24-10-cleanup-and-release.md |
Чистка мёртвого слоя и релиз | HIGH | DEAD-01, 02 · BUILD-02 · UI-05, 08, 09, 10 |
Покрытие сверено программно: все 63 находки назначены, ни одна не осталась без задания.
Общий протокол на два кодера
Одинаков во всех заданиях, полная формулировка — в каждом файле.
Раунд 1 — кодер 1 (Flash). Сначала пишет тесты из §Required tests и фиксирует их падение на base SHA дословным выводом. Только потом правит код по §Scope. Архитектурных решений не принимает: нерешённое идёт в OPEN QUESTIONS, а не выбирается молча.
Раунд 2 — кодер 2 (Pro). Не переписывает работу целиком. Порядок: независимо воспроизводит падение своим прогоном → проходит §Anti-checklist, отмечая каждый пункт проверено — чисто / нарушено — <что> → доводит минимальным дифом → выдаёт findings по шкале CRITICAL/HIGH/MEDIUM/LOW. Формулировка findings: none допустима только со списком того, что фактически проверялось. Удалять и ослаблять тесты кодера 1 запрещено.
Раунд 3 — оркестратор. Принимает только при: фактическом выводе команд вместо утверждений; подтверждённом обоими кодерами падении тестов на base SHA; совпадении списка изменённых файлов с дифом; отсутствии удалённых тестов. Расхождения между отчётами разрешаются до приёмки. При споре приоритет у того, кто приложил вывод команды.
Отклонения от роли по умолчанию
В трёх заданиях часть работы отдана кодеру 2 напрямую, потому что она требует проектного решения, а не механической правки:
- 06 §Scope 7 — политика синхронизации контекста между хостами: сначала письменная спецификация, потом код.
- 07 §Scope 1 — спецификация протокола сопряжения v1 и общие тест-векторы: пишется до того, как кодер 1 приступит.
- 08 §Scope 6 — решение по foreground service: затрагивает политику публикации, а не только код.
Что требует решения владельца
Исполнители обязаны запросить и не решать самостоятельно:
- 05 — переписывание истории git ради удаления 37 МБ бинарников (force-push ломает все клоны); выбор лицензии; сертификат для подписи Windows-бинарника.
- 10 — keystore и пароли для подписи релизного APK; судьба экрана настроек (наполнить или удалить).
Ограничения проверки
Задания 02, 03, 06, 08, 09, 10 требуют устройства или эмулятора: миграции Room, освобождение камеры, отпечаток сертификата, FLAG_SECURE, фоновая работа, поведение после R8. Без устройства соответствующие пункты помечаются UNVERIFIED и задание не считается закрытым — по AGENTS.md §3 формулировки green, PASS, готово без фактического запуска не допускаются.
Финальная сверка — таблица «находка → задание → статус» на все 63 позиции в отчёте задания 10, без пустых клеток.