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