24.10.2026. Локальная проверка Linux amd64: Python 3.12.15, SQLite 3.53.1, Git 2.53.0. Сторонних runtime-зависимостей нет. SQLite ниже 3.37 не поддерживается. Работа продолжена с незавершённых исходников 23 октября; дата завершения не подменяется.
Пройдены 26 предметных unittest на настоящей SQLite: повтор и конфликт партии, защита чужой БД, создание/повтор init, JSONL BOM/CRLF и ошибки, обязательный контракт, дублирование эффекта, подмена Lease.payload, точная граница lease, просрочивание во время apply и откат INSERT, старая generation при apply/fail, backoff, бюджет трёх отказов/истечений, постоянные ошибки в DLQ, redrive и монотонный номер, два клиента одного сообщения, два потребителя двадцати событий, реальная смерть дочернего процесса до COMMIT, CHECK/FK настоящей схемы.
Полный smoke CLI завершился кодом 0: crash_exit=86, total_cents=17000, dead=1, after_redrive_cents=20000, cli=true. Пройдены sample/init/enqueue/work/status/dead, повторная загрузка пяти строк, конфликтная партия с новым событием до конфликтного, отказ повторного demo и восстановление DLQ после поддержки toy. Demo реально создаёт отдельный процесс; это не mock SQL и не только Python-исключение.
Проверяются логические суммы, состояния и число эффектов, не байтовое равенство SQLite-файла. Все соединения закрываются. Во время теста падения не выполняются finally и COMMIT дочернего процесса; после чтения БД эффекта нет, а lease сохранён. Потеря питания, повреждение файловой системы и диска не моделировались. Нет утверждения exactly-once для HTTP/почты/других баз и распределённых клиентов.
Сценарий category как массив защищён явной проверкой типа и проверен сообщениями, чтобы TypeError не заменял ожидаемую DLQ. Других ошибок в первых предметных проверках после исправления не обнаружено. NOTES содержит около 1500 слов, подготовлены пять упражнений, шесть задач VS Code и одна конфигурация отладки. Фактические нажатия F5/F9 и запуск GUI IDE не проверялись.
Публичные исходники: Decl1s/sqlite-event-queue. Состав удалённого дерева проверен: ровно 29 файлов, каждый Git blob SHA совпал с разрешённым локальным исходником; публичность репозитория подтверждена API.
CI 40091424840 прошёл на коде коммита 9116b6fc6939631b1efe5dbf00748601cc536042:
| Среда GitHub Actions | Python | SQLite | Результат |
|---|---|---|---|
| ubuntu-latest | 3.12.15 | 3.45.1 | 29 unittest, полный smoke и упаковка — success |
| windows-latest | 3.12.10 | 3.49.1 | 29 unittest, полный smoke и упаковка — success |
Логи обеих задач подтверждают настоящий crash_exit=86, total_cents=17000, dead=1 и after_redrive_cents=20000. Windows локально не запускался; его проверка выполнена удалённым runner. После этой записи меняются только README и VALIDATION; финальный CI можно проверить в разделе Actions репозитория. Архив собирается по PUBLIC_FILES.txt, исключая БД, JSONL, результаты, окружение и посторонние файлы. Состояние релиза и его вложения проверяются отдельно на странице v0.1.0.
Дополнительно прошли три теста публикации: итого 29 unittest. Проверен сканер типовых секретов/контактов/приватных путей. Исходный ZIP распакован отдельно: 29 имён и все байты совпали с PUBLIC_FILES.txt, из него повторно прошли 29 тестов и полный CLI smoke с настоящим аварийным дочерним процессом. После уточнения этого отчёта архив пересобирается; код не меняется. Данные/БД/окружения исключены.