This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Производство редакционных партий
|
||||
|
||||
На 31 июля 2026 года строгий аудит проходит 283 из 358 созданных материалов. Остальные 75 не считаются «почти готовыми»: их нужно заменить, а не косметически удлинить.
|
||||
На 31 июля 2026 года строгий аудит проходит 286 из 358 созданных материалов. Остальные 72 не считаются «почти готовыми»: их нужно заменить, а не косметически удлинить.
|
||||
|
||||
## Одна партия
|
||||
|
||||
|
||||
@@ -0,0 +1,134 @@
|
||||
# P94 · Декабрь 2025 · Синтез инженерного года
|
||||
|
||||
Пакет намеренно остаётся изолированным. Он заменяет только содержимое трёх
|
||||
декабрьских overlay-ревизий и не подключён к registry, README, очереди,
|
||||
<code>articles.json</code>, app-файлам или Git.
|
||||
|
||||
## Проход 1 — проблема, структура и техническая речь
|
||||
|
||||
- Прочитаны все три тела без списка источников. У практической статьи свой
|
||||
вопрос: как собрать timeline, в котором не исчезают варианты и цена.
|
||||
Механизм разбирает, почему порядок «decision → observation» не доказывает
|
||||
причинность. Полевая статья строит короткий counterfactual review и маршрут
|
||||
repair request. Тексты не являются разрезанным общим введением.
|
||||
- Первые два абзаца каждой статьи содержат symptom и cost. Practice называет
|
||||
цену витрины успехов — повторную работу на основании памяти. Mechanism
|
||||
называет стоимость ложного эффекта — продолжение дорогого пути без основания.
|
||||
Field называет цену гладкой истории — следующий цикл повторяет уже любимое
|
||||
объяснение вместо выбора по записи.
|
||||
- Каркас у каждой статьи самостоятельный: отдельные figure, table,
|
||||
executable snippet, ordered sequence, границы и следующий шаг. Практика
|
||||
развивает контракт timeline и различие окна решения с окном observation;
|
||||
механизм — типы ложного causal claim и условия метода сравнения; поле —
|
||||
правила repair request, два вида несогласия и цену самого review.
|
||||
- Язык соответствует уровню M8: короткая цепочка «симптом → причина →
|
||||
проверка → действие», явный trade-off, спокойная граница утверждения.
|
||||
Английские слова используются как названия полей fixed модели и раскрыты
|
||||
рядом русским смыслом. Удалены обещания универсального эффекта, реальные
|
||||
кейсы, организации, команды, люди, идентификаторы и интеграции.
|
||||
- Финальные размеры основного текста после удаления HTML и source list:
|
||||
practice — **9 262**, mechanism — **9 398**, field — **9 349** знаков.
|
||||
Все тексты находятся в обязательном диапазоне 5 000–15 000 и целевом
|
||||
диапазоне 9–10 тыс. без искусственного растягивания.
|
||||
|
||||
## Проход 2 — источники, историческая граница и исполняемый код
|
||||
|
||||
- Историческая граница пакета — **2025-12-31**. Все три источника первичные,
|
||||
официальные и доступны до этой даты:
|
||||
|
||||
| Источник | Pin / версия | Проверенный узкий факт | Граница использования |
|
||||
| --- | --- | --- | --- |
|
||||
| RFC 3339 | July 2002, immutable RFC text; SHA-256 <code>9ab2b8864a85dca73a88f49b0927bc7bc85f596926e4fd1890905777924e700a</code> | Раздел 5.6 задаёт составной <code>date-time</code> с датой, <code>T</code>, временем и offset. | Использован только для синтаксиса fixed UTC timestamp; не задаёт причинность. |
|
||||
| RFC 7282 | June 2014, immutable RFC text; SHA-256 <code>d060ec156f5d0699e2c0afd50ea6678293059feb84f1293c2db7ac67f482ae8d</code> | Документ прямо называет trade-off частью инженерного выбора. | Не переносит процедуру IETF в другую среду и не валидирует решение. |
|
||||
| NIST SP 800-61r3 | April 2025, immutable published PDF; SHA-256 <code>e5593d6bb85daecec7e8d9549400c7b3473bcc3f06e469c82218073afa7fba2d</code> | Lessons learned анализируются, приоритизируются и возвращаются в Improvement. | Это пример направления цикла из cybersecurity incident response, не доказательство causal effect и не шаблон ADR. |
|
||||
|
||||
- Все URL прочитаны прямым <code>curl -L --fail</code>; PDF дополнительно
|
||||
проверен через <code>pdfinfo</code> и <code>pdftotext</code>. В article
|
||||
source list у каждой ссылки видны version/date и boundary; аудит нашёл
|
||||
**3 HTTPS source и 3 visible version** в каждой из трёх статей.
|
||||
Изменяемые live docs без pin не используются.
|
||||
- <code>FIXED_YEAR_SYNTHESIS</code> содержит только frozen JavaScript literals
|
||||
в памяти. У каждого timeline item есть <code>at</code>, <code>decision</code>,
|
||||
две alternatives, cost, observation, unknown, comparisonBoundary и запрет
|
||||
effect claim. Нет файлов, сети, clock, telemetry, Git, CI, production data,
|
||||
user data, реальных организаций, команд, людей, идентификаторов или
|
||||
интеграций.
|
||||
- Проверка fail-closed. Неполная traceability, неверный timestamp,
|
||||
отсутствующие alternative/cost/observation/unknown/boundary и
|
||||
<code>effect-established</code> блокируют hand-off. Произвольный объект
|
||||
получает <code>unknown-fixed-input</code>. Положительная ветка возвращает
|
||||
только <code>synthetic-review-hand-off-only</code> с
|
||||
<code>productionEffect: not-attempted</code>.
|
||||
- Видимые snippets буквально запущены через публичные exports
|
||||
<code>createFixedYearSynthesisInput</code>,
|
||||
<code>inspectYearSynthesis</code> и
|
||||
<code>prepareSyntheticYearReviewHandOff</code>. Practice вернул безопасный
|
||||
synthetic hand-off; mechanism вернул ровно <code>missing-cost</code>,
|
||||
<code>missing-unknown</code>, <code>missing-comparison-boundary</code>,
|
||||
<code>effect-claim-not-allowed</code>; field сохранил
|
||||
<code>stop-and-repair-boundary</code> на обоих шагах.
|
||||
|
||||
## Проход 3 — figure, mobile, uniqueness и выпускной контроль
|
||||
|
||||
- Каждая статья содержит отдельную безопасную SVG: decision timeline,
|
||||
decision/cost/observation matrix и counterfactual review loop. Все XML
|
||||
прошли <code>xmllint --noout</code>. Safety scan не нашёл
|
||||
<code>script</code>, <code>foreignObject</code>, <code>javascript:</code>,
|
||||
<code>data:image</code> или inline event handlers.
|
||||
- Все три схемы отрендерены Sharp на ширине 375 px и просмотрены вручную.
|
||||
При первом просмотре две нижние подписи вышли за край canvas; они были
|
||||
сокращены, центрированы и повторно проверены. Финальные mobile-версии
|
||||
сохраняют читаемый порядок блоков и видимые stop/hand-off границы.
|
||||
- Cross-article scan исключал code и source list, нормализовал основной текст
|
||||
и сравнивал каждую пару. Результат: **0** одинаковых абзацев длиной от
|
||||
160 знаков и **0** общих последовательностей из 12 слов во всех трёх парах.
|
||||
- Выполнены проверки:
|
||||
|
||||
~~~text
|
||||
node --check scripts/upgrade-2025-12.mjs
|
||||
PASS
|
||||
|
||||
node scripts/upgrade-2025-12.mjs --verify-fixture
|
||||
PASS fixture: 16/16 assertions
|
||||
|
||||
npm run audit:draft -- scripts/upgrade-2025-12.mjs
|
||||
PASS: 9262 / 9398 / 9349 body chars
|
||||
|
||||
xmllint --noout <3 P94 SVG>
|
||||
PASS
|
||||
|
||||
SVG safety scan
|
||||
PASS: 0 forbidden constructs
|
||||
|
||||
Sharp 375 px render + manual inspection
|
||||
PASS after caption correction
|
||||
|
||||
git diff --check
|
||||
PASS
|
||||
~~~
|
||||
|
||||
- Пакет не интегрирован, не staged, не committed и не published. Для
|
||||
подключения требуется отдельная независимая приёмка, audit целевых статей
|
||||
после registry и только затем отдельное решение о Git.
|
||||
|
||||
## Независимый выпускной проход — 31.07.2026
|
||||
|
||||
Три source pin проверены повторно через прямой HTTPS fetch: SHA-256 RFC 3339, RFC 7282 и NIST SP 800-61r3 совпали с зафиксированными в этом review. Тексты источников подтвердили только заявленные факты: формулу RFC 3339 date-time, инженерные trade-off в RFC 7282 и путь lessons learned → analysis/prioritization → Improvement у NIST. Границы статей не расширены до causal или production claim.
|
||||
|
||||
Practice, mechanism и field прочитаны целиком. Попарная проверка полного HTML-body, включая code blocks, дала 0 одинаковых абзацев от 160 знаков и 0 общих 12-словных фрагментов. Все три snippets выполнены через public exports: valid case возвращает `synthetic-review-hand-off-only`; correlation-only — четыре точные stop reasons; incomplete case сохраняет `stop-and-repair-boundary`. Три SVG повторно отрендерены Sharp на 375 px и читаемы.
|
||||
|
||||
~~~text
|
||||
node --check scripts/upgrade-2025-12.mjs
|
||||
PASS
|
||||
|
||||
node scripts/upgrade-2025-12.mjs --verify-fixture
|
||||
PASS fixture: 16/16 assertions
|
||||
|
||||
npm run audit:draft -- scripts/upgrade-2025-12.mjs
|
||||
PASS: 9262 / 9398 / 9349 body chars
|
||||
|
||||
npm run audit:articles -- <3 December slugs>
|
||||
PASS: each article has 1 table, 1 code example and 1 figure
|
||||
~~~
|
||||
|
||||
После приёмки overlay подключён в `editorial-revisions.mjs` после November 2025. Все решения, timeline, alternatives, costs и observations по-прежнему fixed synthetic literals и не являются историей реального года или основанием для production decision.
|
||||
Reference in New Issue
Block a user