From 7f4d37ccd25bf25bf040eae112d881930c28d909 Mon Sep 17 00:00:00 2001 From: "Claude (backend session)" Date: Thu, 20 Aug 2026 23:56:34 +0300 Subject: [PATCH] Ping the frozen frontend zone: contract 0.4.0 is ratified, the reading surface is built, and the hook norm still awaits the owner --- frontend/docs/frontend-PROGRESS.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/frontend/docs/frontend-PROGRESS.md b/frontend/docs/frontend-PROGRESS.md index 6a867f18..628ee762 100644 --- a/frontend/docs/frontend-PROGRESS.md +++ b/frontend/docs/frontend-PROGRESS.md @@ -470,3 +470,8 @@ NDJSON — это шов ДВИЖОК↔ПЛАТФОРМА (D39.85), а фрон **Дописка к пингам №17 (16.08, по аудиту готовности зоны — ЧЕТЫРЕ нормы зоны сменили знак, читать ДО всего остального):** (1) **Канон контракта = 0.3.0, ЗАЛЕНДЕН (D39.142/143); ваше зеркало `docs/api-contract/` осталось на 0.2.3 РАТИФИЦИРОВАННО** (D39.142 п.5, на время фриза) — «зеркало = байт-копия» временно НЕ действует, нормативен только канон в `docs/architecture/14-api-contract/`; синк + перегенерация типов = первое касание зоны. (2) **Запрет клиентской метки «Глава {n}» СНЯТ каноном 0.3.0** — клиент теперь ОБЯЗАН сам рисовать порядковый в локали интерфейса, когда `heading`/`number` = null (Ф-30 и пинг №16 «на экране ничего не менять» — устарели; движковая строка 160 остаётся про НАСТОЯЩИЕ названия). (3) **Ф-31/В-6 закрыты ещё D39.132 п.2а** (`null` на проводе ратифицирован), а кадр `EventCeiling`, на который они опирались, снят 0.3.0 целиком — строки закрыть при разморозке. (4) **В-11 (фразы) пере-собрать на словарь 0.3.0**: карта «код → фраза» — приложение А компаньона; `parser_unavailable` переименован в `processing_failed`, добавлен `content_refused`. Плюс: **дев-стенд платформы СУЩЕСТВУЕТ с P6** (`tmplatformctl seed` + дев-вход, D39.132) — Ф-29 (снос моков) и Ф-18 (вес бандла) читать через него; статус зоны: ФРИЗ (D39.136 п.2), снятие = лендинг P7. Вопросы — через владельца. **Пинг оркестратора №18 — 17.08.2026: ФРИЗ ПРОДЛЁН, разморозка отвязана от P7 (слово владельца, D39.147).** Прежнее условие «разморозка = лендинг P7 + гейт S5» БОЛЬШЕ НЕ ДЕЙСТВУЕТ: владелец 17.08 сказал морозить зону дальше — сначала движок и платформа доводятся до состояния «работают и отдают результат», и только потом фронт накручивается на готовую функциональность. Практически: **лендинг P7 зону не размораживает, промт S5 не выдаётся**, разморозка — отдельным словом владельца. Всё, что было записано как первое касание зоны (синк зеркала контракта 0.3.0 · перегенерация типов · моки · гейт утечки конвейера · фикс-лист ФС-1..12 · Ф-63/Ф-28 · пере-сборка фраз В-11 по словарю кодов), НЕ отменено — оно ждёт разморозки, а не P7. Направление, которое стоит знать заранее: моки при разморозке уступают реальному источнику — дев-стенд платформы существует с P6 (`tmplatformctl seed` + дев-вход), а форму «держать моки на уровне бэкендов или отдельно» владелец назвал направлением, но механику проектировать пока не просил. Живой smoke против дев-стенда остаётся легитимным и во фризе. Вопросы — через владельца. + +**Пинг оркестратора №18 (второй) — 20.08.2026: фриз в силе, но зоне прилетели ДВЕ вещи из лендинга P7 и одно предложение по норме.** +1. **Контракт API — канон 0.4.0 РАТИФИЦИРОВАН** (D39.152). Зеркало зоны отстаёт ратифицированно и остаётся на 0.2.3 до разморозки; при первом касании — синк зеркала БАЙТ-В-БАЙТ (`cmp`) и перегенерация типов, как и было в перечне. Ломающее против 0.3.0: обязательное `Run.stop_requested` (плюс три поведенческих расхождения, тела — D39.152 п.5). Что это даёт экрану: кнопка «стоп» перестаёт врать — прогон помнит, что его просили остановить, и переживает перезагрузку страницы, поэтому «остановлено — работа на подписи банка, продолжить дёшево» рисуется по признаку, а не по догадке. И `resume` теперь отвечает двумя РАЗНЫМИ причинами: «прогон закончен, купите новый» против «пополните счёт» — фразы В-3 по словарю кодов пишутся уже под это. +2. **Читающая поверхность ПОСТРОЕНА и заленджена** (P7, D39.153): главы, юниты, замечания, проекция банка, поток событий SSE, модель ошибок с машинным `code`, условные чтения и сжатие, `Idempotency-Key`, `structure_version`. То есть триггер Ф-29 («полный снос `frontend/src/mock/`») по данным наступил — но РАЗМОРОЗКА ОТДЕЛЬНЫМ СЛОВОМ владельца, пинг №18 от 17.08 в силе, S5 не выдаётся. ⚠ Живой дев-стенд платформы существует и работает — при разморозке моки уступают ему, а не наоборот. +3. **Предложение по норме pre-commit хука (владелец не отвечал, поэтому это ПРЕДЛОЖЕНИЕ, а не решение).** В док-фрагмент хука 17.08 внесена строка «жалобы на хук — писать ВЛАДЕЛЬЦУ, а не тихо деградировать на воркэраунд или хак» (D39.148). Во фронтовом фрагменте хука такой строки нет. Смысл нормы: сессия, которой гейт мешает, обязана эскалировать, а не обходить — тихий обход выглядит как зелёный прогон и не виден ничем. Внести при первом касании зоны, если владелец не скажет иначе. ⚠ Записано здесь потому, что обязательство к ЧУЖОЙ зоне, живущее только в моей прозе, гейтами не видно по построению — поймано ревьюером полноты выгрузки на лендинге P7.