Add expectation tokens to the eleven anchors the pre-commit gate named in the P12 prompt
This commit is contained in:
parent
a1aadbae92
commit
e3975858cc
1 changed files with 9 additions and 9 deletions
|
|
@ -45,14 +45,14 @@ D39.165 §1) · эскроу П-18 · перф-строки `PD-412`/`PD-413`.
|
|||
|
||||
### 3.1 `PD-425` — обрыв клиента теряет запись о правке банка навсегда (деньги, делай РОВНО так по классу)
|
||||
|
||||
Дверь коррекций пишет пост-verb факт (`RecordBankMove`) на контексте ЗАПРОСА (`internal/httpapi/bank.go:149`):
|
||||
Дверь коррекций пишет пост-verb факт (`RecordBankMove`) на контексте ЗАПРОСА (`internal/httpapi/bank.go:149`=`ApplyBankCorrections`):
|
||||
клиент закрыл вкладку до ответа — запись не легла, `bank_moved_at` NULL навсегда, второго писателя и
|
||||
свипа нет; дальше обычный прогон допускается без `--resnapshot` и умирает на снапшот-гарде движка ПОСЛЕ
|
||||
взятия холда. Средство «503, пере-шли документ» недостижимо — клиента уже нет. **Класс лечения зона
|
||||
назвала сама и уже дважды применила:** `WithTimeout(WithoutCancel(ctx), …)` —
|
||||
`platform/internal/httpapi/idempotency.go:151`=`WithoutCancel` (`settleCtx`; комментарий `:147-149` — дословно
|
||||
про обрыв клиента) и `internal/books/books.go:205,215` (`writeCtx`, тело — `internal/books/parse.go:271-272`).
|
||||
⚠ Тело `PD-425` в регистре несёт БИТЫЙ якорь `pgstore/idempotency.go:150` (там чтение ключа, detach нет) —
|
||||
про обрыв клиента) и `internal/books/books.go:205,215`=`writeCtx` (тело — `internal/books/parse.go:271-272`=`WithoutCancel`).
|
||||
⚠ Тело `PD-425` в регистре несёт БИТЫЙ якорь `pgstore/idempotency.go:150`=`Location` (там чтение ключа, detach нет) —
|
||||
пере-нацель его той же правкой регистра (гигиена §3.9). Делай тем же классом; деталь (таймаут, что именно
|
||||
накрывается) — реши сам и аргументируй. Пины свои: посадка «контекст отменён между verb и записью» обязана
|
||||
красить дефект и зеленеть с фиксом.
|
||||
|
|
@ -93,7 +93,7 @@ D39.165 §1) · эскроу П-18 · перф-строки `PD-412`/`PD-413`.
|
|||
Write-гард уже закрыт (F12, `ErrNotResumable`, пин `TestAnOlderRunCannotBeResumedOverANewerOne`);
|
||||
осталась read-половина: `lastRun` берёт `order by started_at desc` — живой прогон обязан иметь приоритет
|
||||
над финишировавшим в карточке/полосе. ⚠ У `lastRun` ДЕСЯТЬ мест склейки на 30.08 (десятое —
|
||||
`pgstore/runs.go:132`, добавлено 28.08 ПОСЛЕ счёта «девять» из PD-44; пере-сочти сам грепом паттерна
|
||||
`pgstore/runs.go:132`=`lastRun`, добавлено 28.08 ПОСЛЕ счёта «девять» из PD-44; пере-сочти сам грепом паттерна
|
||||
склейки, не голым словом — голое ловит комментарии) и он в ⛔-зоне sqlc — правка судится СВОИМИ тестами
|
||||
по каждому месту, не «зеленью батареи».
|
||||
|
||||
|
|
@ -119,7 +119,7 @@ Write-гард уже закрыт (F12, `ErrNotResumable`, пин `TestAnOlderR
|
|||
|
||||
### 3.6 `PD-431` + `PD-432` — честность носителей (делай РОВНО так)
|
||||
|
||||
- `PD-431`: `Touch` (`internal/pgstore/sessions.go:49`) выбрасывает `RowsAffected` — апдейт в ноль строк
|
||||
- `PD-431`: `Touch` (`internal/pgstore/sessions.go:49`=`func (s *Store) Touch`) выбрасывает `RowsAffected` — апдейт в ноль строк
|
||||
неотличим от успеха, скольжение окна бездействия не проверяет ни один живой тест. **Слово
|
||||
оркестратора: поведение НЕ менять** (ноль строк — законная гонка с отзывом); лечение — честность
|
||||
проверки: запинить скольжение окна СКВОЗНЫМ тестом через `auth.Authenticator` с живым
|
||||
|
|
@ -144,8 +144,8 @@ migrate` по каждой стендовой книге зоны → сними
|
|||
|
||||
**Состав снятия — по пингу №21, он ШИРЕ спавна:** (а) особый случай в спавне —
|
||||
`platform/internal/runs/spawn.go:170`=`!l.BankReleased` — снять РОВНО; (б) писатель `LiftBankStop`
|
||||
(`internal/runs/reconcile.go:1304`, `pgstore/runs.go:1180`) и (в) колонка `bank_released` с читателями
|
||||
полосы (`pgstore/readmodel.go:393,498,961`) — реши сам, этим ли паком: снос = НОВАЯ миграция (00016 не
|
||||
(`internal/runs/reconcile.go:1304`=`LiftBankStop`, `pgstore/runs.go:1180`=`bank_released`) и (в) колонка `bank_released` с читателями
|
||||
полосы (`pgstore/readmodel.go:393,498,961`=`bank_released`) — реши сам, этим ли паком: снос = НОВАЯ миграция (00016 не
|
||||
править) + пере-вывод сегмента полосы; (б)/(в) сцеплены — снять писателя, оставив колонку, значит
|
||||
заморозить `bank_released=false` и врать полосой (ось §5); не этим паком — диспозиция строкой, как у
|
||||
`PD-411`. ⚠ **Снимаемое поведение ЗАПИНЕНО:** `TestAResumedRunIsSpawnedWithoutTheSigningStop`
|
||||
|
|
@ -161,7 +161,7 @@ l.VerifyBank unconditionally», т.е. ровно заказанная прав
|
|||
`books/bk_WIUSGBQTIGWE4ZBY`; бинари в `bin/`, `tmctl` — `~/.local/bin/tmctl`); `W=~/tmstand-work` в
|
||||
рецепте — шаблон. Живой `tmplatformd` — демон ЗАКРЫТОЙ сессии оркестратора №19: убей по PID (⚠ не
|
||||
`pkill -f` — инцидент P11) и подними свой свежесобранный. Для живого пробоя $0-пары подними СВОЮ
|
||||
заглушку на `127.0.0.1:11434` (образец — `platform/internal/runner/translate_resnapshot_live_test.go:41`;
|
||||
заглушку на `127.0.0.1:11434` (образец — `platform/internal/runner/translate_resnapshot_live_test.go:41`=`Listen`;
|
||||
ollama на хосте нет) и ⚠ гаси её на время `make check`: тест второго гейта при занятом порту скипается,
|
||||
а требование — скипов 0.
|
||||
|
||||
|
|
@ -180,7 +180,7 @@ ollama на хосте нет) и ⚠ гаси её на время `make check`
|
|||
Закрыть `PD-427` (комментарий уже исправлен 29.08 — акт закрытия) и `PD-203` («предложено закрыть» ещё
|
||||
P8-REVIEW; проверь предикат и закрой либо оспорь) · перенести `PD-380` и `PD-44` (обе fixed) из-под
|
||||
чужих заголовков «Открытые» · завести строку на НЕПОКРЫТУЮ гоночную ветку `errIdentityRace`
|
||||
(`pgstore/identity.go:99-113` — ретрай при `on conflict … do nothing`, гонка двух первых логинов одной
|
||||
(`pgstore/identity.go:99-113`=`race` — ретрай при `on conflict … do nothing`, гонка двух первых логинов одной
|
||||
новой identity; ни один тест её не касается, все тестовые вызовы последовательные) с диспозицией:
|
||||
запинить конкурентным тестом ЛИБО доказать недостижимость; ⛔ снос — только с доказательством: ветка
|
||||
обслуживает ЛЕГИТИМНУЮ гонку логина, её снос = 500 на легитимном пути (класс §3.5) · `PD-422` НЕ
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue