Skip to content

Latest commit

 

History

History
61 lines (49 loc) · 5.52 KB

VALIDATION.md

File metadata and controls

61 lines (49 loc) · 5.52 KB

Фактические проверки

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 с настоящим аварийным дочерним процессом. После уточнения этого отчёта архив пересобирается; код не меняется. Данные/БД/окружения исключены.