# P100 — июнь 2026: PHP, JavaScript и D в одном ландшафте Историческая граница: 30.06.2026. Пакет изолирован строго в пяти файлах: `web/scripts/upgrade-2026-06.mjs`, этот review и три SVG. Registry, README, app files, `articles.json`, очередь и Git-состояние не входят в область работы. ## Проход 1 — проблема, плотность, голос, самостоятельность - Practice начинает с цены неявного перевода между моделями и строит один narrow boundary contract. Это не каталог синтаксических различий. - Mechanism начинает с цены payload, который выглядит одинаково, но не даёт общего решения. Идея статьи — отдельные оси type, error и time. - Field начинает с цены ложного integration success. Его output ограничен evidence review и named stop reasons. - Во всех трёх текстах первые два абзаца называют проблему и стоимость; язык М9 короткий, технический, без runtime-романтики и без обещаний deploy. - У каждого материала самостоятельные таблица, SVG, ordered sequence, snippet, limits и next step. Нет общей вводной, общей таблицы и общей code-последовательности. ## Проход 2 — source pins, историческая граница, исполнимость Проверены только факты, нужные для ограничения утверждений: - PHP: [annotated tag php-8.4.0](https://github.com/php/php-src/tree/b437f2b32eb364c9496d24abcc734272e5c9c980), tag object `501fc4ce253940b58a8744b1083951327e07f00e`, 19.11.2024. URL закреплён на commit; используется только как dated source line PHP. - JavaScript: [ECMA-262, 16th edition](https://262.ecma-international.org/16.0/), June 2025. Edition-specific publication; проверены заголовок edition, раздел ECMAScript Language Types и completion semantics. - D: [annotated tag v2.111.0](https://github.com/dlang/dmd/tree/c403accecf9048802122c17852715251509adf56), tag object `6ae81e26cedc8f792d0074186e38974542f1a3cc`, 31.03.2025; официальный [change log](https://dlang.org/changelog/2.111.0.html) фиксирует release 01.04.2025. В articles остаётся immutable commit pin, а change log использован только для проверки даты. Тексты не выводят совместимость этих языков друг с другом из источников. Все adapters, model labels, values, errors, time intervals, packets и evidence — named fixed synthetic JavaScript literals в памяти. В проекте не запускается PHP или D, не контактируются сервисы, не используется сеть, filesystem, clock, telemetry, trace, profile или PII. Accepted путь — только `synthetic-multi-runtime-review-hand-off` или `synthetic-integration-review-hand-off`; это не certificate, deployment или production effect. Публичные exports отделены по идее: `reviewFixedBoundaryContract`, `explainFixedSemanticBoundary`, `reviewFixedEvidencePacket`. Fixture содержит accepted и fail-closed пути: incomplete contract, mixed error semantics, undetermined time и incomparable adapter mapping. Каждый output несёт `productionEffect: not-attempted`. ## Проход 3 — release quality - `node --check web/scripts/upgrade-2026-06.mjs` — пройден. - `node web/scripts/upgrade-2026-06.mjs --verify-fixture` — 12/12: 9/9 fixture paths и 3/3 article gates; body chars 9 672 / 10 667 / 9 592. - `npm run audit:draft -- scripts/upgrade-2026-06.mjs` — PASS для всех трёх archive slugs: problem/cost в начале, tables, captions, SVG, steps, links и snippets найдены. - Три literal snippets запущены отдельно через public exports: boundary возвращает `synthetic-multi-runtime-review-hand-off`, semantic matrix — `synthetic-semantic-boundary-explained`, evidence packet — `synthetic-integration-review-hand-off`; все с `productionEffect: not-attempted`. Negative paths проверены fixture. - Каждый SVG прошёл XML validation и safety scan на script, foreignObject, javascript URL, data image и inline event handler. Три файла отрисованы Sharp в 375px и визуально проверены: мобильная карта, матрица и evidence loop читаемы, без обрезания содержательных элементов. - Source/link audit: три pinned article URLs получили HTTP 200. Дополнительно source research подтвердил PHP tag date 19.11.2024, ECMA edition June 2025 и D tag date 31.03.2025 / release 01.04.2025; все до cutoff. - Strict uniqueness исключает source list, но включает весь остальной article HTML и code: для каждой пары 0 общих paragraph >=160 и 0 common 12-word fragments. - `git diff --check` выполняется последней read-only проверкой. Не выполняются `git add`, `git commit`, `git push`, `git fetch`, `git rebase`, `git reset`, `git stash` или `git checkout`. ## Независимая приёмка основным редактором — 31 июля 2026 ### Проход 1 — текст и самостоятельность статей - Practice формулирует цену неявного перевода между моделями и строит narrow contract; mechanism отделяет type/error/time; field не подменяет review фактом интеграции. Это три разных ответа на проблему, а не разрезанный на части один текст. - Первые два абзаца каждой статьи называют техническую потерю. Повторный `audit:draft` подтвердил объёмы 9 672 / 10 667 / 9 592 знака; в каждом материале есть таблица, самостоятельная схема, literal snippet, порядок действий, границы и следующий шаг. ### Проход 2 — исторические факты и исполняемость - `git ls-remote --tags` повторно связал PHP tag object `501fc4ce…` с commit `b437f2b…`, а D tag object `6ae81e26…` с commit `c403acce…`. Прямые commit patches подтверждают версии PHP 8.4.0 и D v2.111.0; D change log фиксирует выпуск 2.111.0 1 апреля 2025 года. Это version pins, не доказательство поведения runtime. - [ECMA-262 16th edition](https://262.ecma-international.org/16.0/) прочитана напрямую: заголовок закрепляет June 2025 / ECMAScript 2025, а specification содержит отдельные разделы ECMAScript Language Types и Completion Records. Эти термины не распространены на PHP или D. - Literal execution отдельно вернул `synthetic-multi-runtime-review-hand-off`, `synthetic-semantic-boundary-explained`, `synthetic-integration-review-hand-off` и fail-closed `stop-incomparable-adapter`. Во всех положительных outputs установлен `productionEffect: not-attempted`. ### Проход 3 — выпускная проверка - `node --check`, fixture `12/12`, `npm run audit:draft`, XML validation и SVG safety scan прошли повторно. - Все три SVG были отрендерены Sharp в 375px и просмотрены: текст и стрелки читаемы, матрица не скрывает колонку stop, а схема evidence не рисует несуществующую сеть или runtime. - Строгий pairwise scan без source list, но с code, дал во всех трёх парах `exactParagraphs160: 0` и `common12WordFragments: 0`. - Итог: P100 принят как набор статей о дисциплине contract review. Он не утверждает совместимость PHP, JavaScript и D, факт integration, deployment или наблюдаемый production effect.