hermes-android/agy-work/INDEX.md

56 lines
6.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Цикл заданий по аудиту 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 проверяет тесты 0103, 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, без пустых клеток.