# DA-EX-001 — повторення перевірки / reproduction record

## Українською

Це фактичне повторення публічного прикладу тим самим виконавцем (Codex у процесі розробки сайту). Це не незалежний зовнішній аудит, не перевірка на іншій машині й не сертифікація програм автора.

`published-package.zip` отримано через HTTPS з публічного сайту. Адреса, час, HTTP-статус і SHA-256 збережені в `retrieval.json`. Оригінальний ZIP не перепаковано. Новий прогін виконано в окремій новій папці на тому самому хості; мережеву ізоляцію ОС не застосовано. Обробник викликається локально через Request/Response та реальну SQLite. Запити до робочої форми сайту не надсилалися.

### Самостійний запуск

Розпакуйте цей пакет у нову папку. Встановлений Node.js 24+ є єдиною вимогою для основної перевірки. Команди PowerShell для Windows:

```powershell
$expected = '4dba2dd9b34e0e39bbc859e5ac7f4cd9bb8b42ab12246736edbdafe919de57da'
$actual = (Get-FileHash -LiteralPath .\published-package.zip -Algorithm SHA256).Hash.ToLowerInvariant()
if ($actual -ne $expected) { throw 'ZIP SHA-256 mismatch' }
if (Test-Path -LiteralPath .\original-package) { throw 'Use a new folder' }
Expand-Archive -LiteralPath .\published-package.zip -DestinationPath .\original-package
Push-Location .\original-package
try {
    node --version
    node verify.mjs
    if ($LASTEXITCODE -ne 0) { throw 'Verification failed; inspect verification.local.json' }
} finally {
    Pop-Location
}
```

Для додаткового порівняння з початковим звітом потрібен Python 3.9+ (без pip). Із папки цього пакета:

```text
python reproduce.py published-package.zip my-reproduction
```

На деяких системах команда Python називається `python3` або `py -3`. Папка `my-reproduction` має бути новою. Скрипт перевіряє ZIP і всі файли перед запуском, виконує незмінений `verify.mjs`, порівнює спостереження та перевіряє незмінність початкових файлів. Результати залишаються локально. Скрипт нічого не відправляє на сайт. Код доступний для перевірки перед запуском.

### Що порівнювати

- `artifact_id`: `924bcddb97a58f886a7e4bdd8b3165aae6e05a4ca3b8f91184ce559ab4e9a07b`.
- `verdict`: `PASS`; `failure`: `null`; код завершення процесу: `0`.
- `handler_requests`: `347`; чотири групи сценаріїв — `PASS`.
- `checks`: `1773`. Початковий звіт має `1763`: різницю становлять 10 перевірок хешів готового пакета, а не нові поведінкові сценарії.
- У групі одночасних викликів — одна відповідь `201`, п'ятнадцять `200`, один збережений рядок. Індекс запиту, який першим створив запис, може змінюватися.
- Мітки часу між прогонами різні. Усередині кожного прогону незмінений verifier окремо перевіряє тотожність початкової квитанції та її часу при повторі.

Спочатку порівнювач надмірно вимагав однакового індексу переможця одночасних викликів. Через це порівняння отримало `FAIL`, хоча сам verifier завершився `PASS`. У `first-comparison.json` і `first-verification.json` збережено ці результати. `comparison-review.json` фіксує конкретну відмінність і виправлення критерію: порівнюються кількості статусів та число рядків. Порядок послідовних сценаріїв залишається значущим. Вихідний обробник і початковий verifier не змінено.

### Матеріали пакета

- `reproduction.json` — підсумок нового прогону, середовище, 13 перевірок зв'язності й межі.
- `verification.local.json` — повний журнал нового прогону незміненого verifier.
- `stdout.log`, `stderr.log` — вивід процесу. Попередження Node про експериментальний SQLite збережено, якщо середовище його видає.
- `retrieval.json` — фактичне отримання публічного ZIP.
- `comparison-review.json`, `first-comparison.json`, `first-verification.json` — історія уточнення порівняння.
- `reproduce.py` — відкрита процедура відтворення; `published-package.zip` — точні початкові байти.
- `manifest.json` — SHA-256 усіх інших файлів цього пакета.

Хеші, отримані разом із файлами з одного сайту, перевіряють узгодженість байтів, але не є незалежною ідентифікацією автора, довіреною міткою часу або доказом світової першості. Для незалежного відтворення зовнішній перевіряльник має сам отримати пакет, переглянути метод, виконати його у власному середовищі й опублікувати власний звіт із походженням, версіями та межами. Просте повторення тестів не дорівнює аудиту їх повноти.

Cloudflare D1, розподілена конкуренція, аварійне вимкнення, усі довільні HTTP-входи, фізичні результати та інші програми цим прикладом не перевірені. Публікація не передає права на закриті реалізації. До зовнішнього звіту не слід включати секрети чи дані замовників.

## English

This is a same-author reproduction by Codex in the site-authoring workflow, on the same host, using a newly extracted directory. It is not an independent external audit, a second-machine test, an OS-network-isolated run or certification of any research programme.

`published-package.zip` contains the exact bytes downloaded from the public HTTPS URL recorded in `retrieval.json`. For a minimal reproduction, check its SHA-256, extract it into a new directory and run `node verify.mjs` with Node.js 24+. No npm dependencies are required. For the comparison and file-preservation procedure, install Python 3.9+ and run `python reproduce.py published-package.zip my-reproduction` from this directory; no pip dependencies are required. Use a new output directory. Results stay local and no inquiries are sent to the production website.

Expect artifact `924bcddb97a58f886a7e4bdd8b3165aae6e05a4ca3b8f91184ce559ab4e9a07b`, exit code 0, PASS, 347 handler calls and 1773 assertions. The initial report has 1763 assertions: the additional 10 check package-file hashes, not new behavioural cases. There are 81 length-four A/B/C sequences; 16 concurrent calls share one process and one connection; a disk database is closed and reopened cleanly.

An initial comparison returned FAIL because it required an identical concurrent winner index, although the unchanged verifier itself passed. The original results are preserved in `first-comparison.json` and `first-verification.json`. `comparison-review.json` records the observation and the corrected comparison rule: exactly one 201, fifteen 200 responses and one stored row; the winning index is not guaranteed. Sequential journal order remains significant. Wall-clock receipt timestamps differ between runs; the unchanged verifier still checks receipt/timestamp consistency within each run. Neither the application handler nor its original verifier was changed.

`verification.local.json` is the full current run; `reproduction.json` records provenance boundaries, environment, hashes and 13 comparison/preservation checks. stdout and stderr are preserved. `manifest.json` binds all other files, but is not a publisher signature or trusted timestamp. External reviewers should obtain and inspect the package themselves, run it in their own environment, and publish their own attributed evidence. Re-execution alone is not an audit of the verifier's completeness.

No claim is made about Cloudflare D1, distributed concurrency, crashes, power loss, arbitrary HTTP inputs, physical actions, independent audit, patent priority or other programmes. Keep customer data, credentials and unpublished proprietary implementations outside any public report.
