From c20606762356eced1ba008f6b289ee2bb6a0086f Mon Sep 17 00:00:00 2001 From: heaven Date: Sun, 6 Sep 2026 07:30:23 +0300 Subject: [PATCH] Re-point the frontend journal's anchor onto the refusal vocabulary the contract moved --- frontend/docs/frontend-PROGRESS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/docs/frontend-PROGRESS.md b/frontend/docs/frontend-PROGRESS.md index 639fd52f..2a451ad1 100644 --- a/frontend/docs/frontend-PROGRESS.md +++ b/frontend/docs/frontend-PROGRESS.md @@ -159,7 +159,7 @@ | В-8 | **Какое слово о состоянии книги стоит в дереве.** Замечание 23 потребовало бейджу ФИКС-место, и оно сделано; но две метки словаря в него не помещаются и усекаются с тултипом — «остановлена: лимиты» (19 знаков) и ветка неизвестного «неизвестное состояние» (21). Укоротить их сессия НЕ вправе: фраза паузы зарезервирована за владельцем (прежний В-6 снят с листа 02.09 как ЗАКРЫТЫЙ; носитель — `docs/architecture/14-api-contract/README.md:1054`=`не различает две беды`, закрыт D39.132 п.2а), и первый заход S3.5 её укоротил и был откачен собственным ревью. Варианты: (а) оставить усечение с тултипом, (б) владелец даёт короткое слово для дерева, а полная фраза остаётся в статус-полосе, (в) расширить колонку бейджа за счёт названия книги. ⚠ Сверить с D39.176 п.4 (30.08): фразы, которые видит пользователь, ДЕЛЕГИРОВАНЫ проекту — вопрос к владельцу может сузиться до раскладки (а)/(в) | продуктовая формулировка, которую видит пользователь | | В-7 | **Физический масштаб интерфейса на мониторе.** Замечание 1 говорит «масштабы великоваты, особенно на 27″ 2K, на 24″ терпимее». Замер при вьюпорте референса расхождения с Fleet не нашёл (§5.5 плана): промежутки, ширины панелей, шаг строки и высота вкладки совпадают. Значит речь про физический размер на конкретном экране, а он зависит от масштабирования ОС, и «просто уменьшить токены» означало бы уехать от референса, который владелец принял. Правильное лекарство — ручка «плотность интерфейса» в настройках (3 ступени), но она требует перевода ВСЕХ размерных токенов в rem и пере-замера, то есть отдельного прохода (Ф-36). Вопрос: нужна ли ручка, и какой масштаб ОС стоит на 27″ 2K — по нему видно, во сколько раз расходится физика | продуктовое решение и цена отдельного пакета | | В-9 | **Какие языки интерфейса продукт обещает.** Механизм переводимости построен (S3.7; устройство и границы — `STACK_DECISIONS.md` §1, числа — строка Ф-35). Чего фронт сделать не может и не должен: решить, какие языки продукт обещает, и выдумать сами переводы. Пока список из одного значения (`ru`), и каркасный пункт настроек честно говорит «сейчас интерфейс только русский» | продуктовое решение и обещание пользователю | -| В-11 | **Фразы отказа книги (PD-173) — на утверждение.** Машинную причину несёт контракт, слова пишет клиент. ⚠ **Словарь с тех пор сменился, фразы ниже собраны на 0.2.3 и при разморозке пере-собираются:** канон даёт ЧЕТЫРЕ причины — `parser_unavailable` переименован в `processing_failed`, добавлен `content_refused` (`docs/architecture/14-api-contract/openapi.yaml:1577`=`enum: [source_unreadable, not_configured, processing_failed, content_refused]`), а карта «код → фраза» живёт приложением А компаньона. Фразы сочинила сессия S4 по слову владельца 14.08 и они ждут его «да»: «Файл не удалось разобрать на разделы» / «Проверьте файл — возможно, это не текст книги — и добавьте её заново»; «Сервис пока не готов принять эту книгу» / «Файл здесь ни при чём: повторная загрузка поможет не раньше, чем мы это наладим»; «Не удалось обработать файл на нашей стороне» / «Файл здесь ни при чём: попробуйте добавить книгу позже»; неизвестная причина — «Книгу не удалось принять» / «Причина не названа. Попробуйте добавить книгу заново или позже» | продуктовая формулировка, которую видит пользователь | +| В-11 | **Фразы отказа книги (PD-173) — на утверждение.** Машинную причину несёт контракт, слова пишет клиент. ⚠ **Словарь с тех пор сменился, фразы ниже собраны на 0.2.3 и при разморозке пере-собираются:** канон даёт ЧЕТЫРЕ причины — `parser_unavailable` переименован в `processing_failed`, добавлен `content_refused` (`docs/architecture/14-api-contract/openapi.yaml:1606`=`enum: [source_unreadable, not_configured, processing_failed, content_refused]`), а карта «код → фраза» живёт приложением А компаньона. Фразы сочинила сессия S4 по слову владельца 14.08 и они ждут его «да»: «Файл не удалось разобрать на разделы» / «Проверьте файл — возможно, это не текст книги — и добавьте её заново»; «Сервис пока не готов принять эту книгу» / «Файл здесь ни при чём: повторная загрузка поможет не раньше, чем мы это наладим»; «Не удалось обработать файл на нашей стороне» / «Файл здесь ни при чём: попробуйте добавить книгу позже»; неизвестная причина — «Книгу не удалось принять» / «Причина не названа. Попробуйте добавить книгу заново или позже» | продуктовая формулировка, которую видит пользователь | | В-2 | **Авторское право на текст фикстур.** Витрина использует короткую выдержку из настоящего прогона (蛊真人). Правило проекта уже есть: `eval/.gitignore:4` держит копирайтные тексты вне git. Сейчас взят объём под проверку плотности и не больше; нужно ли убрать совсем и заменить синтетикой — решать владельцу | юридика | | В-4 | **Чем подписывать главу в дереве, если заголовок — ровно «Глава N».** Титул движок рендерит детерминистически из шаблона пары (`configs/langpacks/zh-ru/heading.txt`: `template Глава {n}`), а подзаголовок остаётся телом текста и названием НЕ является. На 2284 разделах это дерево из 2284 одинаковых по форме строк. Оставить так, показывать номер иначе или просить у контракта что-то ещё — продуктовое решение. Артефакт §1.4 и К-3 | продуктовая формулировка, которую видит пользователь |