From b3b6bacbdd49e82cd1ec28aa59cac137d19b2633 Mon Sep 17 00:00:00 2001 From: heaven Date: Tue, 8 Sep 2026 17:52:09 +0300 Subject: [PATCH] Say that a cancelled chunk carries its own reason rather than no mark at all, and that a row number is an identifier, not a file line --- docs/BACKEND_CUT_CALLS_SESSION_PROMPT.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/BACKEND_CUT_CALLS_SESSION_PROMPT.md b/docs/BACKEND_CUT_CALLS_SESSION_PROMPT.md index 87dc5164..fd75126d 100644 --- a/docs/BACKEND_CUT_CALLS_SESSION_PROMPT.md +++ b/docs/BACKEND_CUT_CALLS_SESSION_PROMPT.md @@ -36,7 +36,7 @@ ## 3. Карта чтения — ЗАКОН, дальше только по её ссылкам -1. `docs/BACKLOG.md` — строки **360** (несёт СОШЕДШУЮСЯ конструкцию лечения целиком), **369** (ось +1. `docs/BACKLOG.md` — строки (⚠ «строка N» здесь — **ID в первой колонке, а не номер строки файла**: `sed -n '360p'` даст пустоту, греп `^| 360 |` — нужный ряд) **360** (несёт СОШЕДШУЮСЯ конструкцию лечения целиком), **369** (ось эскалации), **78** (движковая половина `PD-441`: публикация оценочных строк). Греп `^| 360 |`. 2. `docs/experiments/00-provider-quirks.md` — **канон велит читать ПЕРЕД правкой адаптеров и вызовов.** ⚠ Класса, который ты чинишь, там НЕТ (замер: `early-200`/«empty lines»/«10 minutes» — 0 хитов) — это @@ -117,7 +117,7 @@ построению: остаётся как сегодня (retryable, на исчерпании освобождение резерва, инфра-пауза). - ⛔ **ОТМЕНА РОДИТЕЛЕМ доставленного вызова** (стоп прогона, Ctrl-C) — **это тот самый случай, с которого начался заказ (строка 331), и диспозиция у него ДРУГАЯ.** Деньги — та же `settleUSDForCutCall` (ровно то, что просит - `PD-441` — по-русски: «сеттлить оценку и при отмене вызова, который успел уйти, различая по ФАКТУ ухода»), но чанк **НЕ флагуется**: вызов был здоров, остановил его ЧЕЛОВЕК. ⛔ **И резюм обязан пере-делать + `PD-441` — по-русски: «сеттлить оценку и при отмене вызова, который успел уйти, различая по ФАКТУ ухода»), но чанк получает **СВОЮ причину `cancelled`, а не общий флаг «нужен человек»**: вызов был здоров, остановил его ЧЕЛОВЕК. ⛔ **Это НЕ «флага нет».** Дыры без пометки не должно быть ни в один момент: пока прогон не резюмирован, диспозиция чанка не `ok`, и экспорт показывает `flagged(cancelled)` — читается как «остановлено, резюм пере-сделает», а не как «нужен человек». Флаг, врущий о ПРИЧИНЕ, запрещён отдельно (`D39.93` п.2); невидимая дыра запрещена тем более. ⛔ **И резюм обязан пере-делать его на ТОМ ЖЕ `max_tokens`** — `maxTokensForAttempt` удваивает бюджет по оси попыток (`disposition.go:393-401`, `base << uint(attempt)`; петля берёт его из НОМЕРА попытки, `stagerun.go:147`), и здесь это ловушка: удвоение купит вдвое больший вызов за здоровье, которого никто