From 260a625396e4396661bbd05443532be6b686e49d Mon Sep 17 00:00:00 2001 From: heaven Date: Fri, 4 Sep 2026 21:24:29 +0300 Subject: [PATCH] Replace the ceiling analysis with what was measured and what the owner settled: ten chapters is a threshold, and the run limit cannot be set in money at all --- docs/architecture/15-money-path.md | 42 +++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/docs/architecture/15-money-path.md b/docs/architecture/15-money-path.md index d8a04127..d33d956f 100644 --- a/docs/architecture/15-money-path.md +++ b/docs/architecture/15-money-path.md @@ -105,8 +105,20 @@ даже при ОДНОМ воркере `2 × $0.03 = $0.06 < $0.07` одного вызова, то есть **последние две главы недостижимы в принципе**, независимо от параллельности. Второе — инвариантный пол, первое — сегодняшняя конфигурация. -⚠ **Предсказание зоны платформы, ЗАМЕР ЗАКАЗАН, на момент записи НЕ подтверждён:** книга из ≤9 глав может -не переводиться вообще никогда. Проверяется за $0 на пятиглавой книге. До подтверждения — предсказание. +⚠ **ПРЕДСКАЗАНИЕ ПОДТВЕРЖДЕНО ЗАМЕРОМ 04.09 — это больше не предсказание, а ПОРОГ.** Замер за $0 (книга +`bk_P5UCXKHDO4HFWSH3` заведена настоящим интейком, баланс не двинулся): `run-options` отдаёт +`max_chapters: 5`, то есть максимум покупки пятиглавой книге — **$0.15 при стоимости волны $0.277633**. +Наблюдённая волна снята из отказа самого движка (`book USD ceiling reached ($0.548319) +(committed=$0.278319 reserved=$0.207805, denied estimate=$0.069828, ch5/chunk0/edit)`): три реальных +резерва $0.207805 + отказанный $0.069828. ⚠ Произведение `4 × $0.069828 = $0.279312` — ВЕРХНЯЯ оценка, а +не наблюдение: вызовы волны не равны (отношение 2.976, промпты чанков разной длины), и счёт «три» +ВЫВЕДЕН из `waves.workers: 4` минус отказанный, движок напечатал сумму, а не количество. +**Порог одинаков по обоим числам: 9.25 и 9.31 ⇒ книга проходит только с ДЕСЯТИ непереведённых глав.** +Последнее возражение («у короткой книги куски мельче») снято замером: разрезка совпала побайтно +(`2·1·1·2·1` против первых пяти глав длинной), то есть короткая книга содержит ровно тот чанк, чей +резерв движок и назвал. ⇒ **Сегодня сервис не может перевести книгу короче десяти глав — не «дорого», а +невозможно при любых деньгах на счету.** ⚠ Сама пятиглавая книга НЕ запускалась: заказ был на $0 и +исполнен за $0; живой прогон добавил бы лишь наблюдение, на какой волне она встанет. **ЧЕТВЁРТОЕ, ЧЕГО НЕ БЫЛО В ИСХОДНОМ ДИАГНОЗЕ (зона движка).** Резерв завышен ПО ПОСТРОЕНИЮ: оценка считается по потолку выдачи. Под нынешним поведением он никогда не превращается в факт — его отпускают, @@ -146,13 +158,25 @@ Diameter Credit-Control (RFC 4006/8506) с `Final-Unit-Indication`: «это п наших провайдеров вопрос обязан быть закрыт вендор-докой по правилу `experiments/00-provider-quirks.md`, а не рассуждением. -**РАЗВИЛКА ВЛАДЕЛЬЦА — ОДНА, И ЕГО ПРЕДЛОЖЕНИЕ ЕЁ РЕШАЕТ, А НЕ ОБХОДИТ.** Предложение владельца -(«называть примерную цену и останавливаться, когда деньги кончились») означает, что потолком становится -БАЛАНС. Тогда холд берёт весь баланс вперёд, и вторая книга не стартует, пока не рассчитается первая. -Это ровно та развилка, которую код уже держит открытой и помечает вопросом к владельцу: -`platform/internal/pricing/pricing.go`, греп `which fraction is a product question`. ⚠ Отдельный выбор -того же разговора: платят вызовом за ЮНИТ, а человек видит и выбирает ГЛАВЫ, и ставка за главу сама -признаёт слабость (греп `chapters differ in length`); `units_total` известен платформе до всякой оплаты. +**⚠ РАЗВИЛКА, КОТОРУЮ ОРКЕСТРАТОР НАЗВАЛ РАЗВИЛКОЙ, ЕЮ НЕ ЯВЛЯЕТСЯ — снято словом владельца 04.09.** +Формулировалось так: «потолок = баланс ⇒ холд берёт весь баланс ⇒ вторая книга не стартует, пока не +рассчитается первая», и выносилось владельцу на решение. Владелец: это не решение, а то, как деньги +работают — выделил книге сумму, она занята, на занятые вторую не стартуешь; управляется тем, сколько +выделил. **Механика, поданная как вопрос к владельцу, — дефект оркестратора, а не открытый пункт.** + +**ЧТО ПОД НЕЙ ЛЕЖАЛО НА САМОМ ДЕЛЕ И ОКАЗАЛОСЬ ХУЖЕ: выделить деньги СЕГОДНЯ НЕЛЬЗЯ.** Шкала прогона — +в ГЛАВАХ, и канон говорит это прямо: `14-api-contract/openapi.yaml`, схема `CeilingBounds`, греп +`Bounds of the run-limit scale, in CHAPTERS` — «перевод в деньги живёт на платформе и наружу не +отдаётся ни в каком виде». Человек двигает главы; сумму он не видит и выбрать не может. Ограничение при +этом ДЕНЕЖНОЕ, перевод между единицами делает сломанная ставка — отсюда и наблюдаемая нелепость: +пятиглавой книге шкала честно предлагает `max_chapters: 5`, а купить это не может ничего. +⇒ **Единица выбора и единица ограничения не совпадают, и это корень, а не следствие.** Направление, +объявленное владельцу 04.09: человек выделяет книге ДЕНЬГИ (по умолчанию — на всю книгу, ограничено +балансом), рядом показывается оценка «хватит примерно на N глав» именно как оценка, прогон тратит +выделенное и ГОВОРИТ, когда кончилось, а «после этого на другие книги останется ноль» показывается в +момент выделения. Порог десяти глав при этом исчезает по построению: считать «остаток глав × ставку» +становится негде. Цена — контрактный минор в месте, где сегодня записано «деньги наружу не отдаются», и +пере-рисовка ручки фронтом (зона заморожена, первое касание — синк с каноном, момент удобен). **ЧТО СЧИТАЕТСЯ ЗАКРЫТЫМ И БОЛЬШЕ НЕ ОБСУЖДАЕТСЯ:** уже проданные прогоны смену ставки переживают без миграции — продолжение оценивается по тому, за что прогон был ПРОДАН, бюджет читается обратно из холда