# Доска приёмки 1:1 (программа mail/081, гейт mail/084)

Каждое приложение итерируется: прогон → `<app>.diff.md` → правка расхождений → **повторный
прогон для подтверждения** → если расхождения появились снова, правим → так до **Ff=Fd=100%
(0 open)**. Роль обновляет свою строку каждую итерацию (автор `b-mob-<x>`).

**Гейт сборки APK (лид):** APK собираю ТОЛЬКО когда ВСЕ строки = `✅ 0` И это подтверждено
**повторным** прогоном (столбец «Подтв.» = да). Одного «стало 0» мало — нужен ещё один проход,
показавший, что 0 держится.

| Приложение | Роль | Итер. | Ff% | Fd% | open Ф | open Д | Подтв. 0 | Статус |
|---|---|---|---|---|---|---|---|---|
| shell | b-dev-mobile | 0 | — | — | — | — | — | карта |
| files | b-mob-files | 1 | — | — | 4 | ? | нет | правки D4→D3→D2→D1 |
| mail | b-mob-mail | 1 | — | — | ~4 | ~2 | нет | правка P1 черновики |
| talk | b-mob-conf | 1 | 40.0 | предв. | ~31 | ? | нет | P1: меню сообщения Копировать/ссылка/переслать/Напоминание (59543a7,bbaaf7a); далее лично/файл-тред/перевод; Fd на устройстве |
| tasks | b-mob-tasks | 1 | 24.6 | 52.7 | ~34 | ~8 | нет | P1 закрыт в коде (умные коллекции+3-state видимость+персист, `bd56c4b`); далее P2 управление списками; ждёт девайс-сверки |
| notes | b-mob-notes | 1 | 0.0 | 0.0 | 42 | 21 | нет | diff выложен (`notes.diff.md`); натив пуст — модуль не создан, жду скелет от лида (пинг «готов к регистрации», 093) |
| notifications | b-mob-notify | 0 | — | — | — | — | нет | карта готова, diff |
| deck | b-mob-deck | 1 | 22.1 | предв. | 53 | ? | нет | diff выложен (`deck.diff.md`); Fd на устройстве; жду приоритизации лида, P1 — меню карточки/бейджи/меню колонки |
| calendar | b-mob-calendar | 0 | — | — | — | — | нет | карта готова, diff |
| contacts | b-mob-contacts | 1 | 26.7 | предв. | ~40 | ? | нет | diff выложен (7 экранов); P1 — edit/delete (core-правка одобрена 072), далее группы/типы |

Обозначения статуса: `карта` → `diff` (итерация 1) → `правки` → `повторный прогон` →
`✅ 0` (Ff=Fd=100%) → `✅ 0 подтв.` (второй прогон держит 0).
