Record completed MEMBERS version verification and isolation coverage
This commit is contained in:
1 parent
eb9d509c47
commit
d33aea6305
1 file changed
+33
-3
@@ -4,6 +4,7 @@
|
||||
ADMIN_KEY, RADIO_CALL, routed JOIN, CHAT NAT_DETECTION, MULTICAST_REPORT и ATTACHMENT_KEYS из этапа 2,
|
||||
RADIO/BROADCAST/MULTICAST из этапа 3.
|
||||
Из этапа 3 также закрыты текущий допуск DB_SYNC PUSH/ACK, MESSAGES и SOUND_SETTING.
|
||||
MEMBERS переведён на отложенную проверку версий; JOIN/recovery проверены через настоящий Merkle.
|
||||
Из этапа 4 доработаны FILE_TRANSFER, прямой DM, mailbox/custody и попарная доставка личных файлов.
|
||||
Полная матрица ещё не закрыта.
|
||||
Граница отмены дисковых операций согласована с пользователем и реализована (раздел 5).
|
||||
@@ -648,8 +649,37 @@ FILE_TRANSFER и прямого DM. Для реализации mailbox/custody
|
||||
проходов треугольника: /tmp/member-staged-merkle-stress.log.
|
||||
Полный ./check.sh:241/241, proxy9/9, burst/load PASS, 210с;
|
||||
лог /tmp/member-staged-full-check.log. Сборка ядра и выбранных тестов без предупреждений.
|
||||
- Модель MEMBERS пока НЕ подключена к новому режиму. Следующий этап — служебные поля
|
||||
- На момент транспортного этапа модель MEMBERS ещё НЕ подключена к новому режиму. Следующий этап — служебные поля
|
||||
версий в одной таблице, приём в staging, проверка состава и атомарная публикация
|
||||
вместе с допуском; затем контекст JOIN/recovery и отрицательные сетевые сценарии.
|
||||
Отдельно уточняется удаление прежнего состава при доказанном исключении самого узла;
|
||||
подтверждённый отзыв нельзя терять или заменять старым разрешающим бэкапом.
|
||||
Подтверждённый отзыв нельзя терять или заменять старым разрешающим бэкапом.
|
||||
|
||||
04.11.2026: завершён приём и проверка версий MEMBERS.
|
||||
- CURRENT/PENDING/BACKUP хранятся в одной peers_<channel>. Сетевые страницы до конца
|
||||
обмена не меняют рабочие записи, права, общие ключи узлов и Merkle-хеши. Сервисы,
|
||||
desktop GUI и Android читают только CURRENT. Старый формат таблицы несовместим;
|
||||
миграция не добавлялась согласно принятому контракту devel.
|
||||
- После окончания сверки одна транзакция объединяет подписанные блоки, проверяет
|
||||
записи и цепочки приглашений, пересчитывает права, ключи и производные индексы.
|
||||
Неверную новую версию заменяет действительный бэкап. Если обе версии неверны,
|
||||
удаляются обе версии только этого участника. Отзыв self не удаляет остальной состав.
|
||||
Независимо подписанный отзыв владельца сохраняется даже при восстановлении профиля.
|
||||
Отсутствующая зависимость или ошибка SQL/crypto откладывают решение; транзакция
|
||||
откатывается. Ошибка не публикует callbacks и не считается успешной синхронизацией.
|
||||
- Каждый одновременный обмен имеет свой sync_id. Его commit сравнивает версии с
|
||||
актуальным CURRENT, включая уже завершившиеся обмены других пиров; отмена убирает
|
||||
только собственные временные строки. После рестарта незавершённые версии убираются.
|
||||
- Источник проверяет текущий допуск self/peer и точный ключ живого ETCP перед выдачей.
|
||||
Локальный запрос восстановления не выдаёт состав в обратную сторону. После
|
||||
восстановления допуска явно запускается обычный обмен и завершается ожидающая
|
||||
сверка соседа; только после свежей проверки допуска возобновляются история/feedback.
|
||||
BGP-транзит не получил предметных проверок; UTUN не изменён.
|
||||
- test_member_versions проверяет перестановку завершения двух пиров, независимую
|
||||
отмену, fallback, удаление двух неверных версий, сохранение отзыва, пропавшего
|
||||
инвайтера, SQL rollback, рестарт и границы транзакций. test_merkle_protocol проверяет
|
||||
публикацию только после успешного commit, в том числе отмену сессии из callback.
|
||||
test_chat_group_isolation:90/90, включая отказ выдачи MEMBERS и recovery на общем ETCP.
|
||||
Целевые JOIN, group_policy, DM invite/history, RADIO, MEMBER_FILES и STREAM member
|
||||
прошли. Пять desktop GUI-тестов прошли; Android assembleDebug завершён успешно.
|
||||
- Это завершение этапа MEMBERS, а не полная матрица всех протокольных ID из этапа 4.
|
||||
CALL/DEVGROUP и оставшиеся транспортные/bootstrap входы требуют отдельного аудита.
|
||||
Reference in new issue
Block a user