# Исправления исходной аналитики

Проверено 02.11.2026. Исходный прогон не изменён. Новые расчёты находятся в отдельной редакционной сборке.

| Было | Обнаружено | Исправлено / основание |
| --- | --- | --- |
| Image 1.5: весь output_tokens умножается на image_out | Во всех шести ответах есть text output: 192/187 low, 395/414 medium, 416/393 high (Standard/Batch) | image_tokens × $32/$16 + text_tokens × $10/$5 за миллион. Входной текст отдельно. Официальная таблица OpenAI на дату проверки |
| medium Standard Image 1.5 — $0.047297 | 173 input text, 1056 output image, 395 output text | $0.000865 + $0.033792 + $0.003950 = $0.038607 |
| Шапка: $1.016039 «usage-based»; округлённо $1.0160 / 81.85 ₽ | Сумма 30 строк старого results.json = $1.013517. Разница $0.002522 совпадает с estimate потери в state.extra_costs | Разделены: 30 сохранённых = $0.980517 (78.99 ₽); оценка потери = $0.002522 отдельно. Поправка токенов = −$0.033000. Фактический счёт не подтверждён |
| Курс назван курсом ЦБ | manifest/results/state: source = manual --usd-rub | 80.5573 ₽/$ — единый ручной курс; дата в исходнике 31.10.2026, происхождение не подтверждено |
| batch_wait_s около 53 минут можно принять за длительность модели | Sunburst low: submitted 12:08:53.411 UTC; completed 12:29:10; client marker 13:01:46.987 | Серверный интервал 1216.589 с; до клиентской отметки 3173.576 с. Это разные интервалы |
| batch_ready_detected_utc как точное обнаружение completed | В коде ready_ts ставится после GET файла результатов | Названо клиентской отметкой после получения файла. Чистое время polling и скачивания отдельно не измерено |
| download_finished_utc как длительность скачивания | Разность с client marker = 0.006–0.026 с и относится к обработке/сохранению после получения файла | Не используется как download benchmark; значения сохранены в нормализованном CSV с явным именем post_file_receive_save_s |
| Одинаковое Batch-время для нескольких изображений | 15 изображений относятся к 9 заданиям. Первые три модели: по три quality в одном задании | Диаграмма по заданиям, без тройного учёта как независимых наблюдений |
| Можно принять alias за версию ответа | model_returned = null у всех 30 | Везде: «версия в ответе не указана» |
| JSON рядом с PNG можно принять за полностью актуальный отчёт | cost и cost_rub пусты во всех 30 sidecar JSON; download_finished_utc пуст в 15 Batch sidecar | Usage, параметры и хеши согласованы; расчёт взят заново из usage. Поздние поля сверены с results/state; допустимые различия зарегистрированы |
| Достаточно 30 успешных строк, чтобы утверждать отсутствие повторов | Состояние содержит потерю успешного Mini low; счётчик attempts финальных Standard = 1, Batch = 0 | Это финальные записи, не полный журнал истории. Не заявлено отсутствие всех предыдущих ошибок/попыток |

Проверены 30 уникальных клеток матрицы, 30 уникальных SHA-256, декодирование PNG, 1024×1024, размер файлов, prompt SHA-256, фактические записанные параметры, целостность usage и согласование результатов с состоянием и CSV. Входные image-токены равны нулю по данным, а не по предположению.

Локальные доказательства с техническими идентификаторами хранятся вне dist в data/audit-local.json. Публичный пакет их не содержит. Хеш-снимок всех исходных файлов позволяет повторной сборкой подтвердить неизменность материалов.
