Независимая проверка редакционного SQL-примера
Дата: 23 октября 2026, 22:25 UTC. Движок: SQLite 3.53.1.
Результат: PASS в пределах явно заданной схемы и правил.

Проверены requirements.txt, setup.sql, expected.json, queries.sql, run_check.py, results.json и pre-query-seal.sha256. Исходные файлы не изменены; SHA-256 до и после аудита совпали. Выполнение произведено в отдельной SQLite :memory:; после создания учебных данных включён PRAGMA query_only=ON.

Независимый эталон построен в Python прямым суммированием исходных строк без SQL JOIN. Он совпал с ожидаемыми значениями и результатами всех трёх SELECT:
- Q1: 101 → 25000/25000; 102 → 30000/25000; 103 → 10000/0; 107 → 10000/0. Все суммы в копейках.
- Q2: 4 заказа, товарная сумма 75000 копеек, чистая сумма проведённых оплат 50000 копеек.
- Q3: 103 с NULL customer_id и 107 с customer_id=A.

Границы: 1 октября 00:00:00 включено; 31 октября 23:59:59 включено; 1 ноября 00:00:00 и 30 сентября 23:59:59 исключены. cancelled исключён. NULL в customer_id не удаляет заказ. failed не учитывается. Возврат -5000 уменьшает проведённые оплаты. Две товарные строки и две оплаты не размножают итог, поскольку дочерние таблицы сначала агрегированы отдельно.

Дополнительные изолированные сценарии, не меняющие исходный набор, 5/5 PASS:
1. Нет подходящих заказов: Q1/Q3 пусты, Q2 возвращает 0/0/0.
2. Оплата posted с суммой0: заказ не считается заказом без проведённой оплаты.
3. Оплата и полный возврат с итогом0: заказ также не считается заказом без проведённой оплаты.
4. Две разные записи оплаты с одинаковой суммой10000 обе учитываются, вместе20000.
5. Новый подходящий заказ без товарных строк сохраняется с товарной суммой0.

Контрпримеры воспроизведены:
- Преднамеренно неверный прямой JOIN обеих дочерних таблиц для заказа101 даёт50000/50000 вместо25000/25000.
- SUM двух значений10000 равен20000, SUM(DISTINCT) равен10000; DISTINCT не универсальное исправление размножения JOIN.

Замечание низкой важности к run_check.py: zip(keys, queries) молча пропустит отсутствующий или дополнительный запрос при будущем редактировании файла. В текущем файле ровно3запроса, все выполнены. Для надёжности будущих прогонов стоит добавить проверку len(queries)==len(keys)==3. Текущее утверждение о прохождении трёх запросов верно и независимо проверено.

Ограничения:
- Это реальный запуск редакционного синтетического примера, не измерение качества ChatGPT, DeepSeek или другого чат-сервиса. Нельзя приписывать ошибочный JOIN ответу модели.
- Отбор идёт по дате создания заказа. Оплаты не имеют времени; суммы не являются денежным потоком за октябрь.
- Корректность строкового сравнения дат опирается на фиксированный формат YYYY-MM-DD HH:MM:SS и одну часовую зону UTC. Другие форматы и смешанные зоны здесь не проверялись.
- Производительность, масштабирование, рабочая БД, безопасность пользовательских функций, переносимость на другие диалекты и произвольный вход не проверялись.
- Проверка суммы0 и отсутствие записей оплаты намеренно различаются.

Машиночитаемые результаты: independent-qa-results.json.
