docs(chat): record owner editor fault matrix and cross-platform validation
This commit is contained in:
1 parent
11135283e7
commit
34e729d988
1 file changed
+58
@@ -1522,3 +1522,61 @@ Desktop/APK build PASS,JVM155/155 (31 suite),GUI/Android audio13/13 PASS,
|
||||
включая test_avatars и test_group_avatars. Логи chat-profile-{gui-build,
|
||||
gui-results,android-build}.log в указанном каталоге. Fetch не обнаружил
|
||||
удалённых изменений;core/tags/headless и оставшиеся модули chat/ продолжаются.
|
||||
|
||||
Редактор прав участников — 27.10.2026,послеf0d864bf
|
||||
|
||||
Точный negative control:chat-tags-negative.log в /home/user/.cache/utun-audit.
|
||||
Прежний load возвращал editor после injected finalize error;новая регрессия
|
||||
ожидаемо завершилась assertion134. Теперь load проверяет bind/step/fields/
|
||||
finalize,точные ключи/подпись/source,весь owner JSON и канальную подпись,
|
||||
закрывает cursor до публикации. Отсутствие строки/placeholder/ошибка дают NULL.
|
||||
|
||||
Editor хранит исходный owner JSON/подпись и желаемые поля. Commit владеет
|
||||
BEGIN IMMEDIATE,повторно читает проверенную запись и сравнивает baseline;
|
||||
изменившийся owner возвращает-2 без перезаписи. Новая версия/история ролей,
|
||||
JSON и editor подготавливаются до member_sync_put и COMMIT. Ошибка сохраняет
|
||||
editor,member/nodes/Merkle и отсутствие уведомлений;повтор не дублирует историю.
|
||||
После commit editor обновляется без аллокаций,далее идут уведомления без
|
||||
SQLite cursor. No-op делает ROLLBACK,сохраняя подпись/версию без commit hook.
|
||||
Чужая транзакция запрещена,unrecovered rollback запрашивает owner stop/close.
|
||||
Канальный private key очищается на всех путях после получения/подписи.
|
||||
|
||||
Owner ver проверяется одним API editor/member_sync:пустой блок0,непустой
|
||||
плоский объект с уникальными строковыми полями и канонической ver1..INT_MAX.
|
||||
Знак/ведущий ноль/суффикс/overflow отвергаются вместо atoi. Общий member read
|
||||
проверяет finalize и не обрезает TEXT/hidden NUL до сравнения версии.
|
||||
admin/moder принимают желаемые yes/no,сохраняют прежнюю историю и дописывают
|
||||
e<seconds>/d<seconds> при смене роли,включая удаление желаемого ключа.
|
||||
Encoder полностью экранирует C0;строгая замена не принимает невалидный JSON,
|
||||
нестроковые/повторные ключи,NUL,неподходящий ver или превышение лимитов.
|
||||
|
||||
GUI trampoline применяет частичный объект к свежему snapshot,поэтому поля,
|
||||
неизвестные форме,и неуказанные роли не исчезают. Необязательный ver проверяет
|
||||
исходную версию формы;ошибка логируется без commit. Android проверяет setter
|
||||
каждого флага и не фиксирует частичный набор при отказе. Display и JNI больше
|
||||
не усекaют admin/moder историю до256 байт,что могло скрыть последнее отключение.
|
||||
|
||||
test_chat_profile дополнен37 SQL fault/retry (включая begin/member savepoint/
|
||||
release/commit,чтение/private key/owner write/JSON),sign/veto/failed nested
|
||||
rollback,10 allocation fault/retry через current snapshot,strbuf и prepared
|
||||
editor. Независимый reader сверяет member/nodes/Merkle до committed callback;
|
||||
состояние editor и число событий сохраняются при отказе. Проверены stale -2,
|
||||
no-op без hook,повторные правки одного editor,строгий JSON/C0 и диапазон версий,
|
||||
частичный GUI patch/stale/malformed request,foreign txn. История>256байт с
|
||||
последним d показывает выключенную роль;новый e дописывается с сохранением
|
||||
всего префикса. Удаление канала из committed callback безопасно,editor остаётся
|
||||
собственностью caller;allocation baseline восстановлен.
|
||||
PASS:chat-tags-memory-test.log и chat-tags-final-{unit,adapter}.log.
|
||||
|
||||
Общая проверка owner editor — runtimec8e1d120,test104b7026
|
||||
|
||||
Первые full/Android сборки остановились на недостающем include member_sync.h
|
||||
в JNI,не на тестовом runtime. Исправление — c8e1d120;первые логи сохранены:
|
||||
chat-tags-{full-check,android-build}.log. Повтор check.sh218/218 PASS,0 skipped,
|
||||
proxy9/9,burst1/1,load8/8,134217728байт,187с:chat-tags-retry-full-check.log
|
||||
и retry-full-logs. ASAN/UBSan/LSan21/21 PASS,detect_leaks=1,halt_on_error=1:
|
||||
chat-tags-asan-results.log и chat-tags-asan-logs. Desktop/APK build PASS,
|
||||
JVM155/155 (31 suite),GUI/Android audio13/13 PASS;логи chat-tags-{gui-build,
|
||||
gui-results,android-retry-build}.log в указанном каталоге. Fetch без удалённых
|
||||
изменений. Core.h остаётся частичным:глобальное имя/UI-state/lifecycle и
|
||||
headless/JOIN/sync/invite/whisper продолжаются;новых отметок[V] не добавлено.
|
||||
Reference in new issue
Block a user