Changes: Preserve incomplete work and blocker metadata for S00-012. This checkpoint does not mark implementation accepted. Validation: Session ended with status blocked. Blocker: Agent exited with code 1 Task: S00-012 Agent: auto-qa-98b05bd56c25 Role: qa Action: review Status: blocked Task title: Fix runner prompt delivery after partial stdin timeout
5.5 KiB
Этапы разработки
Последовательность gates предохраняет небольшого агента от догадок о ещё не принятых interfaces. Внутри этапа независимые атомарные задачи доступны параллельно при разных scopes/owners.
S00: Профиль и проверка стека
Зафиксировать Web scope, browser targets и проверенные кандидаты, не устанавливая непроверенный framework по догадке.
Задач: 15; entry: нет; exit: S00-010.
S01: Предметные контракты
Утвердить небольшие interfaces и fixtures, которые последующие операторы реализуют независимо.
Задач: 9; entry: S00-010; exit: S01-009.
S02: Workspace и инженерный каркас
Создать runnable пустое приложение, тестовые runners и CI без выдачи scaffolding за готовую функцию.
Задач: 12; entry: S01-009; exit: S02-012.
S03: Токены и базовые компоненты
Создать каталог переиспользуемых primitives и состояния accessibility до feature views.
Задач: 15; entry: S02-012; exit: S03-015.
S04: Локальное хранилище
Реализовать account-isolated durable data и безопасные миграции, без секретов в public preferences.
Задач: 11; entry: S03-015; exit: S04-011.
S05: WSS и аутентификация
Подключить реальный browser XMPP adapter с bounded auth/reconnect и provenance.
Задач: 11; entry: S04-011; exit: S05-011.
S06: Аккаунты и lifecycle
Обеспечить login/switch/logout с изолированными async operations и browser-safe credentials.
Задач: 11; entry: S05-011; exit: S06-011.
S07: Навигация, контакты и списки
Собрать адаптивный shell и реальные roster/presence/avatars.
Задач: 13; entry: S06-011; exit: S07-013.
S08: Сообщения и read state
Реализовать domain reducers и отправку через crypto port; default encryption remains fail-closed until crypto stage.
Задач: 11; entry: S07-013; exit: S08-011.
S09: Лента и composer
Соединить UI с message use cases без обхода crypto readiness.
Задач: 12; entry: S08-011; exit: S09-012.
S10: Действия над сообщениями
Реализовать небольшие command/reducer/UI сценарии replies, edit, retract, local delete и reactions.
Задач: 15; entry: S09-012; exit: S10-015.
S11: Архив и восстановление
Обеспечить page/cursor/source safety и durable commit; не replay всю историю на старте.
Задач: 13; entry: S10-015; exit: S11-013.
S12: OMEMO и доверие
Интегрировать проверенный browser crypto backend по малым adapters/fixtures; неподдержанный формат остаётся blocker.
Задач: 22; entry: S11-013; exit: S12-022.
S13: MUC
Добавить группы и полный encrypted recipient set без ослабления прав/анонимности.
Задач: 13; entry: S12-022; exit: S13-013.
S14: Файлы и upload
Реализовать безопасную загрузку и durable drafts по одному небольшому IO/use-case шагу.
Задач: 13; entry: S13-013; exit: S14-013.
S15: Просмотр медиа
Реализовать preview/cache/player/viewer/export и accessibility.
Задач: 11; entry: S14-013; exit: S15-011.
S16: Recording и геопозиция
Реализовать явные permission/capture flows и ручной выбор точки.
Задач: 11; entry: S15-011; exit: S16-011.
S17: Личные звонки
Реализовать signaling/ICE/media/call history по малым состояниям с отдельными проверками.
Задач: 14; entry: S16-011; exit: S17-014.
S18: Web Push и gateway
Реализовать bounded minimal backend и browser service worker с честными closed-tab ограничениями.
Задач: 15; entry: S17-014; exit: S18-015.
S19: Lock и security hardening
Зафиксировать реальные границы local protection и проверить недоверенные входы/секреты.
Задач: 11; entry: S18-015; exit: S19-011.
S20: Настройки и диагностика
Завершить пользовательские preferences, capabilities и справку без ложных гарантий.
Задач: 9; entry: S19-011; exit: S20-009.
S21: Полная Web-приёмка и поставка
Проверить реальные требования по тематическим suites, hosting и release guide. Ни scaffold, ни mock не дают product done.
Задач: 13; entry: S20-009; exit: S21-013.