Give the nine bare anchors in both prompts their expectation tokens, so the executor sessions can verify content and not just line numbers
This commit is contained in:
parent
7f19ee48b1
commit
09a7d12130
2 changed files with 9 additions and 9 deletions
|
|
@ -50,9 +50,9 @@
|
|||
⚠ **Пункт 4 — это правка ТЕКСТА в двух живых местах, и оба надо снять, иначе ФЧ-5 придётся
|
||||
переоткрывать** (класс «текст обещает больше числа» — ровно тот, ради которого заведён фикс-лист):
|
||||
|
||||
- `backend/internal/pipeline/status.go:217` — «…so status can never quote a different number than the
|
||||
- `backend/internal/pipeline/status.go:217`=`can never quote a different number` — «…so status can never quote a different number than the
|
||||
one translate enforces» (`grep -n 'can never quote a different number' backend/internal/pipeline/status.go` → `217`);
|
||||
- `backend/internal/pipeline/reprice.go:24` — шапка файла: «NOT projected (like the content axis in
|
||||
- `backend/internal/pipeline/reprice.go:24`=`NOT projected (like the content axis` — шапка файла: «NOT projected (like the content axis in
|
||||
rebill.go): **ROUTING**. A row is priced by the model that ANSWERED, not by the one its stage resolves
|
||||
to now» (`grep -n 'NOT projected (like the content axis' backend/internal/pipeline/reprice.go` → `24`).
|
||||
Это заявление становится ЛОЖНЫМ ровно в тот момент, когда ты исполнишь пункт 1.
|
||||
|
|
@ -148,7 +148,7 @@
|
|||
ни денежные pipeline-тесты (`grep -n 'func (s \*Store) CheckpointUsageForBook' backend/internal/store/ledger.go`
|
||||
→ `367`, сам фильтр — `371`). Единственная защита от того, чтобы деньги ЧУЖОЙ книги вошли в число
|
||||
согласия. **Воспроизведено оркестратором ЛИЧНО.** Существующий тест
|
||||
(`internal/store/ledger_test.go:10` `TestCheckpointUsageForBookReturnsInsertionOrder`) пинит только
|
||||
(`internal/store/ledger_test.go:10`=`func TestCheckpointUsageForBookReturnsInsertionOrder`) пинит только
|
||||
порядок вставки.
|
||||
2. **Ключ ячейки можно лишить `chunk_idx`** — обход начнёт съедать деньги соседнего чанка (во всех
|
||||
фикстурах глава = один чанк, поэтому никто не краснеет).
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ cd platform && grep -n 'Pricing' internal/runs/reconcile.go
|
|||
|
||||
Вызывающих у `reopen` двое: свиповый `restart` (`:1224`, вызов `:1244`, `fromALiveRun`) и контрактный
|
||||
`Resume` (`:1481`, вызов `:1548`, `fromAFinishedRun`). Смена `TM_PLATFORM_USD_PER_CHAPTER`
|
||||
(`internal/config/config.go:485`) между покупкой и продолжением молча пере-оценивает уже оплаченный
|
||||
(`internal/config/config.go:485`=`TM_PLATFORM_USD_PER_CHAPTER`) между покупкой и продолжением молча пере-оценивает уже оплаченный
|
||||
прогон в обе стороны; при удвоении ставки на тонком счёте он становится невозобновляемым. Носитель —
|
||||
`PD-168` (стоит `minor`, вес занижен; замер ряда: холд `5.500000` вместо `2.500000`).
|
||||
|
||||
|
|
@ -161,11 +161,11 @@ cd platform && grep -n 'ceiling_micro_usd' internal/pgstore/migrations/*.sql
|
|||
`internal/ingest/tail.go`, функция `apply` (`:145`). Четыре отказа стоят выше ветки, решающей
|
||||
принадлежность: `:150` декод payload · `:153` `checkVersion` · `:156` пустой `EngineRunID` · `:162`
|
||||
`Seq != 1`. Ошибка любого из них терминальна для проекции: `quarantines()`
|
||||
(`internal/runs/reconcile.go:770-781`) пропускает только `context.Canceled/DeadlineExceeded` и
|
||||
(`internal/runs/reconcile.go:770-781`=`func quarantines(err error) bool`) пропускает только `context.Canceled/DeadlineExceeded` и
|
||||
`pgstore.IsTransient`, всё прочее едет в `Store.Quarantine`. Снятия карантина в дереве НЕТ
|
||||
(`grep -rniE 'unquarantine|clearquarantine|quarantine_reason *= *null|dequarantine'` по `.go`/`.sql`
|
||||
— пусто при живом положительном контроле `internal/pgstore/runs.go:1470 func (s *Store) Quarantine`),
|
||||
операторской ручки нет, а гейдж `tm_platform_quarantined_attempts` (`internal/metrics/metrics.go:80`)
|
||||
— пусто при живом положительном контроле `internal/pgstore/runs.go:1470`=`func (s *Store) Quarantine`),
|
||||
операторской ручки нет, а гейдж `tm_platform_quarantined_attempts` (`internal/metrics/metrics.go:80`=`Name: "quarantined_attempts"`)
|
||||
это видит и молчит о том, что делать.
|
||||
|
||||
⚠ **ПОСЫЛКА, КОТОРУЮ НАДО ЗНАТЬ ТОЧНО — иначе живая проба будет искать несуществующее.**
|
||||
|
|
@ -180,7 +180,7 @@ cd platform && go test ./internal/ingest/ -count=1 -run TestAnotherAttemptsStrea
|
|||
|
||||
Карантинит **чужая ИЛИ БИТАЯ** hello-строка, и условий ровно четыре — они же перечислены в `PD-214`
|
||||
(«ручной `tmctl` оператора в каталоге книги, старый мажор, баг чужой сборки»):
|
||||
другой **МАЖОР** потока (`checkVersion` сравнивает ТОЛЬКО мажор, `internal/ingest/events.go:196-208`;
|
||||
другой **МАЖОР** потока (`checkVersion` сравнивает ТОЛЬКО мажор, `internal/ingest/events.go:196-208`=`func checkVersion(got string) error`;
|
||||
у платформы `StreamVersion = "1.1"`, у движка `"1.2"` — обе стороны на мажоре 1, поэтому сегодня
|
||||
проходит) · пустой `engine_run_id` · `seq != 1` · нераспарсиваемый payload.
|
||||
⚠ Формулировка `PD-426` («попасть можно по чужому ЗАКОННОМУ handshake'у») — переупрощение, ряд
|
||||
|
|
@ -192,7 +192,7 @@ cd platform && go test ./internal/ingest/ -count=1 -run TestAnotherAttemptsStrea
|
|||
Что это значит по букве, чтобы ты не внёс дефект буквальным исполнением:
|
||||
|
||||
- ⚠ **Отказ по ДЕКОДУ (`:150`) остаётся ВЫШЕ и не двигается.** `EngineRunID` живёт ВНУТРИ payload
|
||||
`Hello` (`internal/ingest/events.go:82-92`), в `Envelope` (`:71-79`) его нет — значит без успешного
|
||||
`Hello` (`internal/ingest/events.go:82-92`=`EngineRunID string`), в `Envelope` (`:71-79`) его нет — значит без успешного
|
||||
декода принадлежность просто НЕИЗВЕСТНА. Переставляемы только три отказа, не четыре.
|
||||
- Понижаются **только** `checkVersion`, пустой `EngineRunID` и `Seq != 1` — **и ТОЛЬКО в ветке, где
|
||||
`want` уже известен** (`want != ""`): там принадлежность решается сравнением `h.EngineRunID == want`,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue