Files
progcode/editorial/reviews/2025-11-draft.md
T
huncode def4f0a1f5
Build and deploy / deploy (push) Successful in 16s
revise November 2025 source verification articles
2026-07-31 18:34:41 +03:00

11 KiB
Raw Blame History

P93 — ноябрь 2025: проверка источников

Область draft-пакета

Пакет создаёт только три overlay-статьи: editorial-2025-11-practice-research-method, editorial-2025-11-mechanism-research-method, editorial-2025-11-field-research-method; исполняемый модуль — web/scripts/upgrade-2025-11.mjs. Все записи, версии, подписи, валидаторы, результаты и hand-off — fixed synthetic JavaScript literals в памяти. Модуль не читает файловую систему, сеть, часы, Git, CI, telemetry, production или user data и не производит side effect. Registry, README, Git, очередь, articles.json, app-код, docs/ и чужие незавершённые изменения не затронуты.

Исследование и временная граница

Временная граница материала — 30 ноября 2025. Все ссылки в sourceList ведут к первичным или официальным неизменяемым публикациям и существовали до этой даты.

Источник Pin / дата Подтверждённый факт Явная граница применения
W3C PROV-DM W3C Recommendation, 30.04.2013, dated immutable publication Различает entity и activity. Это vocabulary происхождения, не автоматическая оценка истинности claim.
RFC 9110, §8.8 RFC 9110, June 2022, immutable RFC ETag — opaque validator selected representation; Last-Modified участвует в validation и может быть weak. Validator не является релизной версией и не доказывает продуктовую семантику.
W3C VC Data Model 2.0 W3C Recommendation, 15.05.2025, dated immutable publication Verification credential не означает evaluation truth encoded claims. Целостность/авторство объекта не заменяют прямой evidence для вывода.

Источники использованы только в этих узких пределах. Никакая статья не обещает, что pin, подпись, validator или журнал автоматически делают факт истинным, совместимым либо безопасным для production.

Проход 1 — редактура проблемы, механики, таблиц и языка

Проверены первые два абзаца каждой статьи: в них есть наблюдаемая проблема, цена и действие. Практика строит карточку журнала и порядок проверки; механизм объясняет четыре уровня evidence и статусную модель; поле ведёт hand-off и обновление после нового материала. Общего развёрнутого вступления нет.

Статья Самостоятельный вопрос Свой артефакт Цена ошибки
practice Как превратить ссылку в ограниченный claim? лестница evidence и карточка журнала решение привязано к изменившейся странице
mechanism Почему версия, validator и подпись не равны semantic fact? матрица статусов и переходов неявная предпосылка в архитектурном решении
field Как передать проверку дальше без пересказа? петля research log и очередь repair повторный поиск и исправление не той причины

Тон М8: короткая техническая речь, symptom → cause → check → action; без рекламной риторики и универсальных обещаний. Термины раскрыты контекстом, основной текст не содержит общих оценок вместо наблюдаемых условий.

Вердикт: пройдено.

Проход 2 — факты, временная граница и воспроизводимость

  • createFixedResearchRecord возвращает только named fixed literals; произвольный объект получает stop-unknown-fixed-record.
  • assessFixedResearchRecord отделяет запись с version pin от versionless note, marketing promise и семантического overreach поверх valid signature.
  • createFixedResearchLog сохраняет sourcePin, sourceVersion, locator, observed artifact, scope, status и next action; положительный status означает только evidence-ready-for-synthetic-hand-off.
  • compareFixedResearchRecords останавливает сравнение, если второй synthetic record не имеет version pin.
  • Все snippets статей импортируют исключительно public exports и вручную выполнены: положительный record выдаёт rfc-9110-june-2022 и ETag: "fixed-v4"; signature overreach даёт hold-claim; comparison даёт stop-before-comparison.

Фактологический self-check подтверждён первичными источниками: RFC 9110 определяет ETag как opaque validator selected representation; W3C PROV-DM задаёт entity/activity; W3C VC Data Model прямо исключает вывод truth claim из verification. Все references имеют visible version/date в article sourceList.

Вердикт: пройдено.

Проход 3 — release-quality, уникальность, визуал и команды

Статья Основной текст без списка источников Диаграмма Ключевой visual outcome
practice 8 128 знаков evidence ladder видны пять ступеней и отдельный repair-route
mechanism 9 169 знаков claim-status matrix после корректировки нет обрезанного заголовка на 375 px
field 9 150 знаков research-log loop читабелен полный цикл question → card → pin → status → hand-off

Cross-article check по body без блока источников: 0 одинаковых абзацев от 160 знаков и 0 общих последовательностей из 12 слов во всех трёх парах. Проверка повторов показывает, что каждая статья раскрывает тему своим способом, а не делит общий вводный блок.

Команды и результаты:

  • node --check web/scripts/upgrade-2025-11.mjs — PASS.
  • node web/scripts/upgrade-2025-11.mjs --verify-fixture — PASS, 11/11 assertions.
  • npm run audit:draft -- scripts/upgrade-2025-11.mjs — PASS: 8 128 / 9 169 / 9 150; диапазон 5–15 тыс., table, figure, alt/caption, code, ordered sequence, минимум два source, problem/cost.
  • xmllint --noout для трёх SVG — PASS.
  • Safety scan — PASS: отсутствуют script, foreignObject, javascript:, data:image и inline event handlers.
  • Sharp render всех трёх SVG на 375 px — PASS, визуально просмотрен; матрица была исправлена после первого mobile просмотра.
  • git diff --check — PASS.

Overlay намеренно не интегрирован, не добавлен в registry, README не менялся, Git-коммита и push нет. Интеграция и production build остаются за независимым редактором.

Независимый выпускной проход — 31.07.2026

Три первоисточника перепроверены на закреплённых датированных публикациях. PROV-DM подтверждает различие entity/activity; RFC 9110 — ETag как opaque validator selected representation; W3C VC Data Model 2.0 прямо отделяет verification от truth encoded claims. В статьи не добавлен ни один claim об автоматической истинности, совместимости или production effect.

При строгой независимой cross-article проверке найдено два общих 12-словных фрагмента между practice и field — они находились в повторённом code snippet. Чтобы правило не имело технических исключений, field переведён на отдельный публичный createFixedResearchLogById; после этого полная проверка HTML-body, включая code, даёт 0 одинаковых абзацев от 160 знаков и 0 общих 12-словных фрагментов. Snippet буквально выполнен, fixture остаётся 11/11. Полевая статья после правки — 9 150 знаков.

Все тексты прочитаны целиком, три SVG повторно отрендерены Sharp на 375 px и читаемы. Финальный выпускной прогон:

node --check scripts/upgrade-2025-11.mjs
PASS

node scripts/upgrade-2025-11.mjs --verify-fixture
PASS fixture: 11/11 assertions

npm run audit:draft -- scripts/upgrade-2025-11.mjs
PASS: 8128 / 9169 / 9150 body chars

npm run audit:articles -- <3 November slugs>
PASS: each article has 1 table, 1 code example and 1 figure

После независимой приёмки overlay подключён в editorial-revisions.mjs после October 2025. Журнал и все examples остаются fixed in-memory models: они не создают сетевого исследования, не проверяют настоящие подписи и не принимают production решение.