Неудачная замена вложения: сохранить прежний подтверждённый файл

Фактические данные получены через расширение interbase от отдельной локальной базы Firebird. Собственная учебная таблица удалена после наблюдений.

Наблюдаемый результат программы
НаблюдениеРезультат
Причина отказаSHA-256 нового файла не совпал с ожидаемым
Получено байт нового файла23
Незавершённый BLOB отменёнда
UPDATE замены выполненнет
Оставшееся вложениеapproved.txt
Редакция вложения1
Прежнее содержимоеAPPROVED:162
Прежний файл не повреждёнда
Строки и дополнительные наблюдения
{
    "failure": "checksum_mismatch",
    "incoming_bytes": 23,
    "new_hash": "2f37c9aa20bcc0aa621367b8b86e41d67c9bc4bf7c16f5eb74d19b9e1c88b613",
    "expected_new_hash": "55f133ea04562db57ad4459f6ad225a64934220e0649318e6687af71ae7871ed",
    "cancelled": true,
    "replacement_applied": false,
    "remaining_name": "approved.txt",
    "remaining_revision": 1,
    "remaining_text": "APPROVED:162\n",
    "remaining_sha256": "a7386150ad57635e935b842144da63467d5a83c04982cfa84f1a91b9a8725c87"
}

Самостоятельный запуск создаёт result.json с данными и metrics.json с проверками рядом с example.php.