textmachine/docs/ORDER_FORM_SESSION_PROMPT.md

9.7 KiB
Raw Blame History

Промт пака: ФОРМА ЗАКАЗА ПЕРЕВОДА — деньги, объём и вердикт ДО клика

Пак на ДВЕ зоны. Половины независимы по коду и делаются РАЗНЫМИ сессиями: платформа (platform/) и контракт (канон docs/architecture/14-api-contract/ правит ТОЛЬКО оркестратор — зона предъявляет состав минора отчётом). Никто не коммитит: деревья готовятся и передаются оркестратору textmachine-main-27. Соседний worktree /home/ubuntu/projects/textmachine не трогать. .env не читать никогда.

КАРТА ЧТЕНИЯ — ЗАКОН, пять позиций

  1. CLAUDE.md — цели, зоны, гардрейлы.
  2. ^## D39.196 — решение владельца о форме заказа. Читать ВМЕСТЕ с эрратой 05.09-д в шапке журнала (греп Эррата 05.09-д): её пункт 5 велит «движковую половину первой» — она УЖЕ ПОСТРОЕНА.
  3. ^## D39.203 — владелец разрешил движку говорить «сколько добавить»; поле ПЕРЕИМЕНОВЫВАЕТСЯ.
  4. Строки бэклога 276 · 279 · 280 · 281 · 282 · 283 (греп ^| 276 | и так далее).
  5. docs/architecture/15-money-path.md — путь денег от гранта до расчёта, целиком. ⚠ Голову журнала целиком НЕ читать; подномер собственного тела не имеет — грепай родителя.

ЗАЧЕМ ЭТОТ ПАК

Сегодня человек не может внятно КУПИТЬ перевод. Владелец 05.09 назвал форму: на аккаунте баланс в ДЕНЬГАХ и он виден; потолок тянется ползунком в деньгах; рядом — ответ на настоящий вопрос покупателя: хватает ли на всю книгу; второй ползунок — ОБЪЁМ (главы, если структура распозналась; знаки, если нет, и о нераспознавании говорим ЯВНО); отдельная кнопка «книга целиком»; вердикт ДО клика, старт = холд.

ЧТО УЖЕ ПОСТРОЕНО — НЕ ЗАКАЗЫВАТЬ ЗАНОВО

Строки 277 и 278 ЗАКРЫТЫ лендингом 81a89e9 (акт D39.206) и сняты из таблицы: · отказ резервации защёлкивает волну, а не роняет книгу; обязательный вызов ЖДЁТ, когда ожидание может помочь; · движок публикует проекцию ценыexpected_usd по главам, book_once_usd, step_max_usd, а также source_chars по юниту и structure: detected|declared|none — всё в manifest --json/status --json, аддитивно, версию манифеста не двигая. ⇒ Платформа этих чисел СЕГОДНЯ НЕ ЧИТАЕТ (git grep -lE "StepMax|step_max" -- platform/ → пусто). Взять их — половина работы этого пака.

ЖИВАЯ ПРОБЛЕМА, КОТОРУЮ ПАК ОБЯЗАН СНЯТЬ, И ОНА НЕ ТА, ЧТО В СТАРЫХ ДОКАХ

Стена «книга короче десяти глав не переводится» СНЯТА движком. Остался ПОЛ: прирост потолка считается chaptersLeft × $0.03, и даже при одном воркере 2 × $0.03 = $0.06 меньше одной редакторской резервации (~$0.07) ⇒ последние ~2 главы ЛЮБОЙ книги не покупаются. Это и есть живая половина PD-440. Снимается строкой 280 — потолок ДЕНЬГАМИ вместо «глав × ставка». ⚠ Пол ВЫВЕДЕН, не замерен (платного прогона не было): подтвердить замером — часть работы.

СОСТАВ — ЧЕТЫРЕ ПОЗИЦИИ

(1) Контракт, минор (строка 279). Заказ ОБЪЁМОМ: ceiling_chapterschapters со смыслом объёма (null = вся книга); CeilingBoundsOrderOptions{chapters_left, affordable_chapters, verdict: covers_all|covers_part|covers_none, blocked}; баланс и холд выходят ДЕНЬГАМИ. Поле недостачи в событии ceiling НЕ зеркалить под нынешним именем: владелец выбрал форму «сколько добавить», значит shortfall_micro_usd станет ЛОЖНЫМ именем — величина max(shortfall, step_max headroom), кандидат top_up_micro_usd, StreamVersion 1.3→1.4 (строка 294, D39.203). Зеркалить приговорённое имя — значит покупать второй минор. (2) Платформа (строка 280). Заказ живёт на КНИГЕ (ordered_through_chapter, null = вся книга), холд считается ОТ ПРОЕКЦИИ движка, --max-units наконец едет в argv. (3) Честность числа знаков (строка 282). Подпись «Знаков» сегодня лжёт для EPUB — считаются руны ZIP-архива. Источник построен: source_chars в манифесте. ⚠ Форму признака точности владелец ратифицировал: признак РЯДОМ с числом, а НЕ смена семантики nullnull уже значит «ещё грузится». (4) Замер (строка 281). Сколько наших денег стоит тысяча ПЛОТНЫХ и тысяча РАЗРЕЖЁННЫХ знаков по стадиям. ⚠ Цель — НЕ константа (это прямо запрещено), а дисперсия проекции: коэффициент для холда и честность вердикта «хватает / не хватает».

ЧТО В ПАК НЕ ВХОДИТ

· Строка 283 (структура глав для не-CJK и EPUB) — свой пак, окно пере-снапшота. · Правка канона своей рукой · включение гейта глоссария · переименование поля недостачи (это движковая работа строки 294) · решение, ЧТО печатать на титуле (закрыто D39.205: копия без пометки = книга без единого пропуска, пропущенный КУСОК главы критичен).

ОБЯЗАТЕЛЬНЫЕ НОРМЫ СДАЧИ

  1. Ревью ИСПОЛНЕНИЕМ своего кода и результатов; «проверено» без команды и её вывода — не утверждение.
  2. Адверсариальный проход по своей работе. Уязвимое место названо: вердикт «хватает», выданный по проекции, которая врёт. Атакуй его короткой книгой, книгой без структуры и книгой с дырами.
  3. NAMED-АРТЕФАКТ: посадка OF-verdict-lies — предъявить КРАСНОЙ (вердикт «хватает» при недостаточном балансе).
  4. Своё воркфлоу-ревью — часть сдачи. Fable 5 — ОДИН-ДВА агента, модель задавать явно.
  5. Сверить промт с заказанным и НАЗВАТЬ расхождения, а не исполнять молча.
  6. Состав контрактного минора — ОТЧЁТОМ, канон своей рукой не трогать. ⚠ Ратификация, порождающая обязанность в зоне, выдаётся зоне ЯВНО и тем же актом — иначе минор сутки живёт ложным на проводе (это уже стоило дня, эррата 04.09-в).
  7. Нормы смены — ^## D39.202, прочесть целиком. Особенно: прибор отвечает на СВОЙ вопрос, а читают его как ответ на твой; и четыре вида одинаково зелёного отчёта.
  8. Деньги. Платный прогон — только по санкции оркестратора, с названной суммой ДО запуска.

ПРИЁМКА

Два верификатора: №1 судит заказ и дифф не читая отчёт, №2 ищет ВНЕ карты отчёта; каждой находке — скептик с заданием СНЯТЬ её. Верификаторам выдаётся ГОТОВЫЙ ПУТЬ отдельного рабочего дерева. Отчёт — в зонный журнал platform/docs/platform-PROGRESS.md (платформа в docs/PROGRESS.md не пишет). ⚠ Канал сессий — /tmp/textmachine-channel, адрес сверять ListAgents.