Files
LumaWeb/planning/task_matrix.csv
T
wt 493fbaebe7 S00-017: Validate SCRAM server-final before authenticated SASL completion
Changes: Add an isolated Stanza 12.22.1 SASL feature replacement using existing SCRAM crypto, exact dependency lock and MIT notices, 44 integrated fixture checks, proposed ADR and review handoff. Leave production adapters and the original library experiment unchanged.
Validation: Fresh-cache npm ci and npm test passed on Node 24.21.0/npm 11.19.0; 44 tests cover RFC SHA-1/SHA-256 proofs and verified finals, stock defect reproduction, invalid/premature finals and async cleanup. make check passed 72 tooling tests. Pins/licenses/notices, unchanged vendor source and whitespace verified. Browser/WSS/server interoperability and constant-time assurance remain unverified; independent security review is pending.

Task: S00-017
Agent: auto-protocol-599343cd9e3f
Role: protocol
Action: claim
Status: review

Task title: Establish fail-closed SCRAM server-final validation
2026-10-15 02:17:46 +07:00

30 KiB

1idstageoperatorreviewerstatusownerdepends_ontitle
2S00-001S00orchestratorsecuritydoneauto-orchestrator-48aab142ecdeУтвердить Web-профиль
3S00-002S00orchestratorsecuritydoneauto-orchestrator-68a05c587e33S00-001, S00-011, S00-012Выбрать framework и build runtime
4S00-003S00protocolqablockedauto-protocol-826aa6bc12efS00-001, S00-002, S00-017Проверить XMPP WSS/auth библиотеку
5S00-004S00cryptosecuritytodoS00-001, S00-002Проверить browser OMEMO backend
6S00-005S00storageqatodoS00-002Выбрать IndexedDB wrapper и migration policy
7S00-006S00orchestratorsecuritytodoS00-002Зафиксировать browser/reference matrix
8S00-007S00securityorchestratortodoS00-004, S00-005Утвердить password и crypto unlock модель
9S00-008S00ci-cdqatodoS00-003, S00-004Описать WSS/upload/TURN/push topology
10S00-009S00orchestratorsecuritytodoS00-003, S00-004, S00-005, S00-006, S00-007, S00-008Согласовать результаты spikes
11S00-011S00ci-cdsecuritydoneauto-ci-cd-d105e8027730S00-001Restore verified npm registry access for the stack spike
12S00-012S00ci-cdqadoneauto-ci-cd-f101e40d9902S00-001, S00-011, S00-013, S00-014, S00-015Fix runner prompt delivery after partial stdin timeout
13S00-013S00ci-cdqadoneauto-ci-cd-5f68f03dd33bS00-001, S00-011Bound oversized S21-006 runner context without truncating requirements
14S00-014S00ci-cdqadoneauto-ci-cd-14343249da62S00-001, S00-011, S00-013Fix repeated runner cleanup after a submitted parent is reaped
15S00-015S00ci-cdqadoneauto-ci-cd-84e209103f24S00-001, S00-011, S00-013, S00-014, S00-016Устранить прерывание: Fix runner prompt delivery after partial stdin timeout
16S00-016S00ci-cdqadoneauto-ci-cd-351a0cbbabefS00-001, S00-011, S00-013, S00-014Restore reviewer model availability after provider capacity failure
17S00-017S00protocolsecurityreviewauto-protocol-599343cd9e3fS00-001, S00-002Establish fail-closed SCRAM server-final validation
18S00-010S00qaorchestratortodoS00-001, S00-002, S00-003, S00-004, S00-005, S00-006, S00-007, S00-008, S00-009Gate: Профиль и проверка стека
19S01-001S01orchestratorsecuritytodoS00-010Описать identity/model contracts
20S01-002S01orchestratorsecuritytodoS00-010, S01-001Описать async account context
21S01-003S01storageqatodoS00-010, S01-001, S01-002Описать transaction contract
22S01-004S01protocolqatodoS00-010, S01-001, S01-002Описать XMPP event/command port
23S01-005S01cryptosecuritytodoS00-010, S01-001, S01-002Описать crypto port
24S01-006S01mediaqatodoS00-010, S01-001, S01-002, S01-005Описать staged asset contract
25S01-007S01realtimeqatodoS00-010, S01-001, S01-002, S01-004Описать call engine contract
26S01-008S01backendsecuritytodoS00-010, S01-001, S01-002, S01-004Описать push API и binding
27S01-009S01qaorchestratortodoS01-001, S01-002, S01-003, S01-004, S01-005, S01-006, S01-007, S01-008Gate: Предметные контракты
28S02-001S02ci-cdqatodoS01-009Создать workspace по accepted ADR
29S02-002S02ci-cdqatodoS01-009, S02-001Настроить production build
30S02-003S02ci-cdqatodoS01-009, S02-001Настроить единый code quality check
31S02-004S02qaorchestratortodoS01-009, S02-001Настроить unit/contract runner
32S02-005S02qaorchestratortodoS01-009, S02-002, S02-004Настроить browser smoke runner
33S02-006S02ci-cdqatodoS01-009, S02-002, S02-003, S02-004, S02-005Подключить app CI
34S02-007S02frontqatodoS01-009, S02-001, S02-004Создать route skeleton
35S02-008S02ci-cdqatodoS01-009, S02-001, S02-004Валидировать public runtime config
36S02-009S02protocolqatodoS01-009, S02-004Создать typed error vocabulary
37S02-010S02orchestratorsecuritytodoS01-009, S02-004, S02-009Реализовать operation context primitive
38S02-011S02cryptosecuritytodoS01-009, S02-004, S02-009, S02-010Создать worker request bridge
39S02-012S02qaorchestratortodoS02-001, S02-002, S02-003, S02-004, S02-005, S02-006, S02-007, S02-008, S02-009, S02-010, S02-011Gate: Workspace и инженерный каркас
40S03-001S03frontqatodoS02-012Реализовать semantic palette
41S03-002S03frontqatodoS02-012, S03-001Реализовать typography/spacing tokens
42S03-003S03frontqatodoS02-012, S03-001, S03-002Реализовать theme preferences
43S03-004S03frontqatodoS02-012, S03-002Создать Button/IconButton
44S03-005S03frontqatodoS02-012, S03-002, S03-004Создать Input/PasswordInput
45S03-006S03frontqatodoS02-012, S03-004Создать Dialog/Popover
46S03-007S03frontqatodoS02-012, S03-004Создать Toast/InlineError
47S03-008S03frontqatodoS02-012, S03-002Создать Empty/LoadingState
48S03-009S03frontqatodoS02-012, S03-001, S03-002Создать Avatar
49S03-010S03frontqatodoS02-012, S03-005Создать SearchField
50S03-011S03frontqatodoS02-012, S03-001, S03-002Создать Badge/StatusChip
51S03-012S03frontqatodoS02-012, S03-004Создать icon registry
52S03-013S03frontqatodoS02-012, S03-003, S03-004, S03-005, S03-006, S03-007, S03-008, S03-009, S03-010, S03-011, S03-012Собрать primitive catalog
53S03-014S03qaorchestratortodoS02-012, S03-013Проверить primitives
54S03-015S03qaorchestratortodoS03-001, S03-002, S03-003, S03-004, S03-005, S03-006, S03-007, S03-008, S03-009, S03-010, S03-011, S03-012, S03-013, S03-014Gate: Токены и базовые компоненты
55S04-001S04storageqatodoS03-015Создать версионированную schema
56S04-002S04storageqatodoS03-015, S04-001Реализовать transaction wrapper
57S04-003S04storageqatodoS03-015, S04-002Реализовать message repository
58S04-004S04storageqatodoS03-015, S04-002Реализовать conversation repository
59S04-005S04storageqatodoS03-015, S04-002Реализовать checkpoint/suppression storage
60S04-006S04storageqatodoS03-015, S04-002Реализовать draft persistence
61S04-007S04storageqatodoS03-015, S04-002, S04-003Обработать quota/degraded mode
62S04-008S04storageqatodoS03-015, S04-001, S04-002Реализовать первую migration pipeline
63S04-009S04storageqatodoS03-015, S04-002Реализовать media cache policy
64S04-010S04qaorchestratortodoS03-015, S04-003, S04-004, S04-005, S04-006, S04-007, S04-008, S04-009Проверить reload/recovery suite
65S04-011S04qaorchestratortodoS04-001, S04-002, S04-003, S04-004, S04-005, S04-006, S04-007, S04-008, S04-009, S04-010Gate: Локальное хранилище
66S05-001S05protocolqatodoS04-011Валидировать WSS endpoint
67S05-002S05protocolqatodoS04-011, S05-001Реализовать WSS adapter
68S05-003S05protocolqatodoS04-011, S05-002Реализовать auth preference
69S05-004S05protocolqatodoS04-011, S05-003Проверить SCRAM challenge limits
70S05-005S05protocolqatodoS04-011, S05-002Реализовать stanza parser boundary
71S05-006S05protocolqatodoS04-011, S05-002, S05-005Реализовать capability discovery
72S05-007S05protocolqatodoS04-011, S05-002, S05-005, S05-006Интегрировать SM/Carbons/CSI/Ping
73S05-008S05protocolqatodoS04-011, S05-002, S05-007Реализовать bounded reconnect
74S05-009S05securityorchestratortodoS04-011, S05-003, S05-004, S05-005, S05-008Проверить auth/secret boundary
75S05-010S05qaorchestratortodoS04-011, S05-006, S05-007, S05-008, S05-009Проверить WSS/reconnect интеграцию
76S05-011S05qasecuritytodoS05-001, S05-002, S05-003, S05-004, S05-005, S05-006, S05-007, S05-008, S05-009, S05-010Gate: WSS и аутентификация
77S06-001S06protocolqatodoS05-011Реализовать JID/resource policy
78S06-002S06storageqatodoS05-011, S06-001Реализовать saved account configs
79S06-003S06frontqatodoS05-011, S06-001Создать Web LoginForm
80S06-004S06protocolqatodoS05-011, S06-001, S06-002Реализовать sign-in use case
81S06-005S06protocolqatodoS05-011, S06-004Реализовать in-memory credentials
82S06-006S06protocolqatodoS05-011, S06-002, S06-004, S06-005Реализовать switch cancellation
83S06-007S06protocolqatodoS05-011, S06-005, S06-006Реализовать logout orchestration
84S06-008S06storageqatodoS05-011, S06-002, S06-007Реализовать explicit local erase
85S06-009S06frontqatodoS05-011, S06-003, S06-006, S06-007, S06-008Создать account switch/logout UI
86S06-010S06qaorchestratortodoS05-011, S06-004, S06-005, S06-006, S06-007, S06-008, S06-009Проверить lifecycle races
87S06-011S06qaorchestratortodoS06-001, S06-002, S06-003, S06-004, S06-005, S06-006, S06-007, S06-008, S06-009, S06-010Gate: Аккаунты и lifecycle
88S07-001S07frontqatodoS06-011Создать adaptive shell
89S07-002S07frontqatodoS06-011, S07-001Реализовать Back/selection routes
90S07-003S07frontqatodoS06-011, S07-001Создать ConversationRow
91S07-004S07frontqatodoS06-011, S07-003Реализовать search/sort policies
92S07-005S07frontqatodoS06-011, S07-003, S07-004Подключить empty/no-results states
93S07-006S07protocolqatodoS06-011Реализовать roster initial/push
94S07-007S07protocolqatodoS06-011, S07-006Реализовать presence reducer
95S07-008S07protocolqatodoS06-011, S07-006Реализовать avatar fetch/publish adapter
96S07-009S07mediaqatodoS06-011, S07-008Нормализовать avatar asset
97S07-010S07frontqatodoS06-011, S07-003, S07-004, S07-005, S07-006, S07-007, S07-008, S07-009Собрать ContactsView
98S07-011S07frontqatodoS06-011, S07-002, S07-006, S07-010Создать new direct chat flow
99S07-012S07qaorchestratortodoS06-011, S07-002, S07-004, S07-005, S07-010, S07-011Проверить shell и roster UI
100S07-013S07qaorchestratortodoS07-001, S07-002, S07-003, S07-004, S07-005, S07-006, S07-007, S07-008, S07-009, S07-010, S07-011, S07-012Gate: Навигация, контакты и списки
101S08-001S08protocolqatodoS07-013Реализовать message identity merge
102S08-002S08protocolqatodoS07-013, S08-001Реализовать delivery merge
103S08-003S08protocolqatodoS07-013, S08-001, S08-002Реализовать incoming decode reducer
104S08-004S08protocolqatodoS07-013, S08-001, S08-002, S08-003Реализовать optimistic text send
105S08-005S08protocolqatodoS07-013, S08-004Реализовать text retry
106S08-006S08protocolqatodoS07-013, S08-001, S08-002, S08-003Обработать delivery receipts
107S08-007S08protocolqatodoS07-013, S08-004, S08-006Реализовать displayed/markable
108S08-008S08protocolqatodoS07-013, S08-003, S08-007Реализовать own-device read sync
109S08-009S08protocolqatodoS07-013, S08-003, S08-008Реализовать unread/preview reducer
110S08-010S08protocolqatodoS07-013, S08-004, S08-008, S08-009Реализовать self-chat policy
111S08-011S08qaorchestratortodoS08-001, S08-002, S08-003, S08-004, S08-005, S08-006, S08-007, S08-008, S08-009, S08-010Gate: Сообщения и read state
112S09-001S09frontqatodoS08-011Создать text/file bubble
113S09-002S09frontqatodoS08-011, S09-001Реализовать bounded timeline
114S09-003S09frontqatodoS08-011, S09-002Сохранить viewport при history insert
115S09-004S09frontqatodoS08-011, S09-001Создать multiline composer
116S09-005S09frontqatodoS08-011, S09-004Реализовать Enter/IME policy
117S09-006S09frontqatodoS08-011, S09-004, S09-005Подключить composer к send/retry
118S09-007S09frontqatodoS08-011, S09-001, S09-002Создать date separators/metadata
119S09-008S09frontqatodoS08-011, S09-001, S09-002Создать message selection state
120S09-009S09frontqatodoS08-011, S09-003Создать jump-to-latest
121S09-010S09frontqatodoS08-011, S09-002, S09-003Реализовать bounded message motion
122S09-011S09qaorchestratortodoS08-011, S09-005, S09-006, S09-007, S09-008, S09-009, S09-010Проверить chat keyboard/scale
123S09-012S09qaorchestratortodoS09-001, S09-002, S09-003, S09-004, S09-005, S09-006, S09-007, S09-008, S09-009, S09-010, S09-011Gate: Лента и composer
124S10-001S10protocolqatodoS09-012Реализовать action predicates
125S10-002S10protocolqatodoS09-012, S10-001Реализовать reply/fallback encoder
126S10-003S10protocolqatodoS09-012, S10-002Реализовать XML/legacy reply parser
127S10-004S10frontqatodoS09-012, S10-003Создать CompactReply/ThreadFocus
128S10-005S10protocolqatodoS09-012, S10-001Реализовать correction reducer/command
129S10-006S10frontqatodoS09-012, S10-005Подключить edit composer mode
130S10-007S10storageqatodoS09-012, S10-001Реализовать local deletion transaction
131S10-008S10protocolqatodoS09-012, S10-001Реализовать retraction command/reducer
132S10-009S10protocolqatodoS09-012, S10-001Реализовать ordered text/location forwarding
133S10-010S10protocolqatodoS09-012, S10-001Реализовать reaction set reducer
134S10-011S10frontqatodoS09-012, S10-010Подключить ReactionChip/EmojiPicker
135S10-012S10protocolqatodoS09-012Реализовать typing policy/events
136S10-013S10frontqatodoS09-012, S10-004, S10-006, S10-007, S10-008, S10-009, S10-011Подключить context/selection actions
137S10-014S10qaorchestratortodoS09-012, S10-005, S10-007, S10-008, S10-010, S10-012, S10-013Проверить out-of-order actions
138S10-015S10qaorchestratortodoS10-001, S10-002, S10-003, S10-004, S10-005, S10-006, S10-007, S10-008, S10-009, S10-010, S10-011, S10-012, S10-013, S10-014Gate: Действия над сообщениями
139S11-001S11protocolqatodoS10-015Реализовать MAM query envelope
140S11-002S11protocolqatodoS10-015, S11-001Реализовать cursor policy
141S11-003S11protocolqatodoS10-015, S11-001, S11-002Реализовать recent bootstrap
142S11-004S11protocolqatodoS10-015, S11-001Реализовать bounded decode slices
143S11-005S11storageqatodoS10-015, S11-002, S11-004Реализовать archive commit transaction
144S11-006S11protocolqatodoS10-015, S11-002, S11-005Реализовать incremental catch-up
145S11-007S11protocolqatodoS10-015, S11-001, S11-004, S11-006Реализовать bounded archive recovery
146S11-008S11protocolqatodoS10-015, S11-001, S11-002, S11-005Реализовать interactive backward paging
147S11-009S11protocolqatodoS10-015, S11-004Ограничить pending target queues
148S11-010S11protocolqatodoS10-015, S11-006, S11-007Подключить archive pause/resume
149S11-011S11frontqatodoS10-015, S11-003, S11-008, S11-010Подключить older history UI
150S11-012S11qaorchestratortodoS10-015, S11-005, S11-007, S11-008, S11-009, S11-010, S11-011Проверить archive restart failures
151S11-013S11qaorchestratortodoS11-001, S11-002, S11-003, S11-004, S11-005, S11-006, S11-007, S11-008, S11-009, S11-010, S11-011, S11-012Gate: Архив и восстановление
152S12-001S12cryptosecuritytodoS11-013Подключить accepted crypto backend
153S12-002S12cryptosecuritytodoS11-013, S12-001Реализовать identity bootstrap
154S12-003S12cryptosecuritytodoS11-013, S12-002Реализовать protected crypto persistence
155S12-004S12cryptosecuritytodoS11-013, S12-002Реализовать device trust model
156S12-005S12protocolqatodoS11-013Реализовать legacy device list PEP
157S12-006S12protocolqatodoS11-013, S12-005Реализовать legacy bundle PEP
158S12-007S12cryptosecuritytodoS11-013, S12-001, S12-004, S12-006Реализовать legacy session builder
159S12-008S12cryptosecuritytodoS11-013, S12-007Реализовать legacy stanza encryption
160S12-009S12cryptosecuritytodoS11-013, S12-007, S12-008Реализовать legacy stanza decryption
161S12-010S12protocolqatodoS11-013Реализовать OMEMO2 devices PEP
162S12-011S12protocolqatodoS11-013, S12-010Реализовать OMEMO2 bundle PEP
163S12-012S12cryptosecuritytodoS11-013, S12-001, S12-003, S12-004, S12-011Реализовать OMEMO2 session adapter
164S12-013S12cryptosecuritytodoS11-013, S12-012Интегрировать OMEMO2 payload/SCE codec
165S12-014S12cryptosecuritytodoS11-013, S12-013Реализовать OMEMO2 stanza adapter
166S12-015S12cryptosecuritytodoS11-013, S12-008, S12-009, S12-014Реализовать OMEMO format preference
167S12-016S12cryptosecuritytodoS11-013, S12-015Подключить own-device recipients
168S12-017S12cryptosecuritytodoS11-013, S12-001, S12-003Реализовать encrypted file port
169S12-018S12frontqatodoS11-013, S12-015Создать encryption controls
170S12-019S12frontqatodoS11-013, S12-004, S12-015Создать devices/fingerprint UI
171S12-020S12securityorchestratortodoS11-013, S12-003, S12-008, S12-009, S12-014, S12-015, S12-016, S12-017, S12-018, S12-019Проверить client crypto boundaries
172S12-021S12qaorchestratortodoS11-013, S12-020Проверить OMEMO interoperability
173S12-022S12qasecuritytodoS12-001, S12-002, S12-003, S12-004, S12-005, S12-006, S12-007, S12-008, S12-009, S12-010, S12-011, S12-012, S12-013, S12-014, S12-015, S12-016, S12-017, S12-018, S12-019, S12-020, S12-021Gate: OMEMO и доверие
174S13-001S13protocolqatodoS12-022Реализовать room join/password
175S13-002S13protocolqatodoS12-022, S13-001Реализовать encrypted-friendly config
176S13-003S13protocolqatodoS12-022, S13-001Реализовать occupants/invitations
177S13-004S13protocolqatodoS12-022, S13-001, S13-002, S13-003Реализовать affiliation lists
178S13-005S13cryptosecuritytodoS12-022, S13-004Реализовать group recipient policy
179S13-006S13cryptosecuritytodoS12-022, S13-005Подключить encrypted group send
180S13-007S13protocolqatodoS12-022, S13-003, S13-006Реализовать group echo/stanza merge
181S13-008S13protocolqatodoS12-022, S13-001, S13-003Реализовать saved autojoin
182S13-009S13protocolqatodoS12-022, S13-001, S13-007, S13-008Реализовать leave/delete semantics
183S13-010S13frontqatodoS12-022, S13-002, S13-003, S13-008Создать create/join/invite UI
184S13-011S13frontqatodoS12-022, S13-005, S13-009, S13-010Создать GroupInfo
185S13-012S13qaorchestratortodoS12-022, S13-006, S13-007, S13-009, S13-011Проверить group OMEMO/replies
186S13-013S13qaorchestratortodoS13-001, S13-002, S13-003, S13-004, S13-005, S13-006, S13-007, S13-008, S13-009, S13-010, S13-011, S13-012Gate: MUC
187S14-001S14mediaqatodoS13-013Реализовать file staging
188S14-002S14mediaqatodoS13-013, S14-001Реализовать safe media inference
189S14-003S14protocolqatodoS13-013, S14-002Реализовать upload discovery/slot
190S14-004S14mediaqatodoS13-013, S14-003Реализовать PUT with redirect policy
191S14-005S14cryptosecuritytodoS13-013, S14-002, S14-004Подключить file encryption до PUT
192S14-006S14protocolqatodoS13-013, S14-005Реализовать media message body
193S14-007S14mediaqatodoS13-013, S14-004, S14-006Реализовать upload retry/cancel
194S14-008S14mediaqatodoS13-013, S14-005Реализовать HTTPS/aesgcm download
195S14-009S14mediaqatodoS13-013, S14-006, S14-007Реализовать sequential batch
196S14-010S14mediaqatodoS13-013, S14-008, S14-009Реализовать media forwarding
197S14-011S14frontqatodoS13-013, S14-001, S14-002, S14-009Создать batch preview UI
198S14-012S14qaorchestratortodoS13-013, S14-007, S14-008, S14-010, S14-011Проверить upload integration
199S14-013S14qaorchestratortodoS14-001, S14-002, S14-003, S14-004, S14-005, S14-006, S14-007, S14-008, S14-009, S14-010, S14-011, S14-012Gate: Файлы и upload
200S15-001S15mediaqatodoS14-013Создать media thumbnail worker
201S15-002S15storageqatodoS14-013, S15-001Подключить deduplicated preview cache
202S15-003S15frontqatodoS14-013, S15-001, S15-002Создать photo/video island
203S15-004S15mediaqatodoS14-013Реализовать playback coordinator
204S15-005S15frontqatodoS14-013, S15-004Создать voice/audio controls
205S15-006S15frontqatodoS14-013, S15-001, S15-004Создать round videoNote player
206S15-007S15frontqatodoS14-013, S15-003, S15-004Создать full-window viewer
207S15-008S15mediaqatodoS14-013, S15-002Реализовать explicit export/download
208S15-009S15frontqatodoS14-013, S15-005, S15-006, S15-007, S15-008Подключить media menus/errors
209S15-010S15qaorchestratortodoS14-013, S15-003, S15-005, S15-006, S15-007, S15-008, S15-009Проверить browser media states
210S15-011S15qaorchestratortodoS15-001, S15-002, S15-003, S15-004, S15-005, S15-006, S15-007, S15-008, S15-009, S15-010Gate: Просмотр медиа
211S16-001S16mediaqatodoS15-011Реализовать permission adapter
212S16-002S16mediaqatodoS15-011, S16-001Реализовать voice recorder
213S16-003S16mediaqatodoS15-011, S16-001Реализовать videoNote recorder
214S16-004S16mediaqatodoS15-011, S16-002, S16-003Реализовать early-stop/finalization
215S16-005S16frontqatodoS15-011, S16-004Создать accessible capture controls
216S16-006S16mediaqatodoS15-011Реализовать geo URI codec
217S16-007S16mediaqatodoS15-011, S16-001, S16-006Реализовать current location adapter
218S16-008S16frontqatodoS15-011, S16-006, S16-007Создать manual location picker
219S16-009S16securityorchestratortodoS15-011, S16-008Проверить maps provider disclosure
220S16-010S16qaorchestratortodoS15-011, S16-005, S16-008, S16-009Проверить capture/geo flows
221S16-011S16qaorchestratortodoS16-001, S16-002, S16-003, S16-004, S16-005, S16-006, S16-007, S16-008, S16-009, S16-010Gate: Recording и геопозиция
222S17-001S17realtimeqatodoS16-011Реализовать call state machine
223S17-002S17realtimeqatodoS16-011, S17-001Реализовать full JID selection
224S17-003S17protocolqatodoS16-011, S17-002Реализовать JMI adapter
225S17-004S17realtimeqatodoS16-011, S17-001Создать WebRTC media adapter
226S17-005S17realtimeqatodoS16-011, S17-003, S17-004Реализовать Jingle/SDP codec
227S17-006S17protocolqatodoS16-011Реализовать extdisco ICE validation
228S17-007S17realtimeqatodoS16-011, S17-002, S17-005, S17-006Реализовать trickle candidate queues
229S17-008S17realtimeqatodoS16-011, S17-004Реализовать mute/camera/route use cases
230S17-009S17realtimeqatodoS16-011, S17-001, S17-007Реализовать ringing/recovery deadlines
231S17-010S17realtimeqatodoS16-011, S17-001, S17-009Реализовать history outcome policy
232S17-011S17protocolqatodoS16-011, S17-010Реализовать own-device call history
233S17-012S17frontqatodoS16-011, S17-008, S17-009, S17-010, S17-011Создать CallScene/HistoryCard
234S17-013S17qaorchestratortodoS16-011, S17-006, S17-007, S17-009, S17-012Проверить NAT/TURN/endpoint scenarios
235S17-014S17qaorchestratortodoS17-001, S17-002, S17-003, S17-004, S17-005, S17-006, S17-007, S17-008, S17-009, S17-010, S17-011, S17-012, S17-013Gate: Личные звонки
236S18-001S18backendsecuritytodoS17-014Создать gateway service shell
237S18-002S18backendsecuritytodoS17-014, S18-001Реализовать subscription storage
238S18-003S18backendsecuritytodoS17-014, S18-002Реализовать ownership proof
239S18-004S18backendsecuritytodoS17-014, S18-003Реализовать API limits/origin policy
240S18-005S18backendsecuritytodoS17-014, S18-004Реализовать Web Push provider adapter
241S18-006S18protocolqatodoS17-014, S18-003, S18-005Реализовать XMPP enable/disable
242S18-007S18frontqatodoS17-014, S18-006Создать notification preferences
243S18-008S18protocolqatodoS17-014, S18-006Реализовать event notification policy
244S18-009S18frontqatodoS17-014, S18-005, S18-007, S18-008Реализовать service worker push
245S18-010S18frontqatodoS17-014, S18-008, S18-009Реализовать safe notification routing
246S18-011S18protocolqatodoS17-014Реализовать multi-tab leader
247S18-012S18backendsecuritytodoS17-014, S18-003, S18-005, S18-006Реализовать revoke/expiry/rotation
248S18-013S18securityorchestratortodoS17-014, S18-004, S18-005, S18-009, S18-012Проверить gateway secrets/ownership
249S18-014S18qaorchestratortodoS17-014, S18-007, S18-008, S18-009, S18-010, S18-011, S18-012, S18-013Проверить push/closed-tab matrix
250S18-015S18qasecuritytodoS18-001, S18-002, S18-003, S18-004, S18-005, S18-006, S18-007, S18-008, S18-009, S18-010, S18-011, S18-012, S18-013, S18-014Gate: Web Push и gateway
251S19-001S19securityorchestratortodoS18-015Реализовать approved lock verifier
252S19-002S19protocolqatodoS18-015, S19-001Реализовать lock lifecycle
253S19-003S19frontqatodoS18-015, S19-001, S19-002Создать LockScreen
254S19-004S19protocolqatodoS18-015, S19-002Подключить lock preview policy
255S19-005S19securityorchestratortodoS18-015Проверить XSS/text/URL boundary
256S19-006S19securityorchestratortodoS18-015Проверить logs/evidence redaction
257S19-007S19securityorchestratortodoS18-015Проверить forged own-device events
258S19-008S19securityorchestratortodoS18-015, S19-003, S19-004Проверить erase/export boundaries
259S19-009S19securityorchestratortodoS18-015, S19-005, S19-006, S19-007Проверить resource exhaustion limits
260S19-010S19qaorchestratortodoS18-015, S19-003, S19-004, S19-005, S19-006, S19-007, S19-008, S19-009Проверить lock/security integration
261S19-011S19qasecuritytodoS19-001, S19-002, S19-003, S19-004, S19-005, S19-006, S19-007, S19-008, S19-009, S19-010Gate: Lock и security hardening
262S20-001S20frontqatodoS19-011Собрать SettingsView
263S20-002S20frontqatodoS19-011, S20-001Создать ServerInfo
264S20-003S20protocolqatodoS19-011Реализовать safe diagnostic snapshot
265S20-004S20frontqatodoS19-011, S20-001Подключить typing/privacy toggles
266S20-005S20frontqatodoS19-011, S20-001Подключить own avatar update
267S20-006S20frontqatodoS19-011, S20-001, S20-002, S20-003Показать permission/capability ограничения
268S20-007S20frontqatodoS19-011, S20-001Создать Calls list/search
269S20-008S20qaorchestratortodoS19-011, S20-002, S20-003, S20-004, S20-005, S20-006, S20-007Проверить settings integration
270S20-009S20qaorchestratortodoS20-001, S20-002, S20-003, S20-004, S20-005, S20-006, S20-007, S20-008Gate: Настройки и диагностика
271S21-001S21qaorchestratortodoS20-009Принять accounts/transport/storage
272S21-002S21qaorchestratortodoS20-009Принять messages/actions/history
273S21-003S21qaorchestratortodoS20-009Принять crypto/MUC interoperability
274S21-004S21qaorchestratortodoS20-009Принять media/recording/calls
275S21-005S21qaorchestratortodoS20-009Принять push/lock/security
276S21-006S21qaorchestratortodoS20-009Принять UI/accessibility matrix
277S21-007S21qaorchestratortodoS20-009Измерить принятые performance budgets
278S21-008S21ci-cdqatodoS20-009Подготовить воспроизводимую test environment
279S21-009S21ci-cdqatodoS20-009, S21-008Подготовить deploy/rollback pipeline
280S21-010S21securityorchestratortodoS20-009, S21-001, S21-002, S21-003, S21-004, S21-005, S21-006, S21-007, S21-009Проверить release threat/privacy checklist
281S21-011S21docsorchestratortodoS20-009, S21-010Написать guide и release passport
282S21-012S21orchestratorsecuritytodoS20-009, S21-001, S21-002, S21-003, S21-004, S21-005, S21-006, S21-007, S21-008, S21-009, S21-010, S21-011Согласовать полный Web scope
283S21-013S21qaorchestratortodoS21-001, S21-002, S21-003, S21-004, S21-005, S21-006, S21-007, S21-008, S21-009, S21-010, S21-011, S21-012Gate: Полная Web-приёмка и поставка