8.6 KiB
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, tag object
501fc4ce253940b58a8744b1083951327e07f00e, 19.11.2024. URL закреплён на commit; используется только как dated source line PHP. - JavaScript: ECMA-262, 16th edition, June 2025. Edition-specific publication; проверены заголовок edition, раздел ECMAScript Language Types и completion semantics.
- D: annotated tag v2.111.0, tag object
6ae81e26cedc8f792d0074186e38974542f1a3cc, 31.03.2025; официальный change log фиксирует 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 object501fc4ce…с commitb437f2b…, а D tag object6ae81e26…с commitc403acce…. Прямые 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 прочитана напрямую: заголовок закрепляет 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-closedstop-incomparable-adapter. Во всех положительных outputs установленproductionEffect: not-attempted.
Проход 3 — выпускная проверка
node --check, fixture12/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.