Give every anchor in the new prompt a verifiable token, so none of its addresses can rot unnoticed
This commit is contained in:
parent
31f8ee6f14
commit
7fc24eeb89
1 changed files with 11 additions and 11 deletions
|
|
@ -89,7 +89,7 @@
|
|||
|
||||
**Поэтому базис подставляет ответ** — передачу, тип, род — там, где роль не спрашивали. Перечисли в записке
|
||||
ВСЕХ читателей ответа и покажи в отчёте, что каждый получил своё; начни с `attachConsolidatedDst`,
|
||||
`attachClassifiedGender` (`backend/internal/pipeline/terminologist.go:1306`), их соседа по типу, `consolidatedRows`, строк стоп-таблицы и
|
||||
`attachClassifiedGender` (`backend/internal/pipeline/terminologist.go:1306`=`attachClassifiedGender stamps`), их соседа по типу, `consolidatedRows`, строк стоп-таблицы и
|
||||
проекции консолидации.
|
||||
|
||||
⛔ **И ДВА читателя, которых докблок фильтра называет ПРИЧИНОЙ своей двух-условности — мой первый список их упускал,
|
||||
|
|
@ -114,7 +114,7 @@
|
|||
|
||||
Базис пишет ПРОГОН на своих выходных границах, и границ **две**:
|
||||
- `run-finished` — `backend/internal/pipeline/bookrun.go:258`=`r.exportBank(ctx, "run-finished")`, и она стоит
|
||||
под `if err == nil` (`backend/internal/pipeline/bookrun.go:254`);
|
||||
под `if err == nil` (`backend/internal/pipeline/bookrun.go:254`=`if err == nil {`);
|
||||
- `bank-mining/signature-stop` — `backend/internal/pipeline/mining.go:270`=`bank-mining/signature-stop`.
|
||||
|
||||
Одной мало не по вкусу, а по коду: сигнатурная остановка возвращается ЗНАЧЕНИЕМ-ОШИБКОЙ —
|
||||
|
|
@ -137,7 +137,7 @@
|
|||
КРИЧАТЬ** — она означает, что резюм пере-спросит роли, то есть это денежное событие, а не строка бухгалтерии.
|
||||
|
||||
⚠ **Писатель ОДИН — прогон; границ у него две.** Формулируй именно так. Онтология судит носитель с двумя
|
||||
писателями так же строго, как проекцию без читателя (`docs/architecture/18-bank-ontology.md:70-72`), и
|
||||
писателями так же строго, как проекцию без читателя (`docs/architecture/18-bank-ontology.md:70-72`=`Отсюда правило таблицы выше`), и
|
||||
консилиум на этом уже спотыкался.
|
||||
|
||||
### 4.4. Форма отпечатка — РЕШИ САМА, но развилку знай: от неё зависит, переживёт ли пак следующую работу
|
||||
|
|
@ -145,7 +145,7 @@
|
|||
Отпечаток — хеш того, что читает роль. Консилиум пишет «строки `ctx`». ⛔ **Так делать опасно**, и вот почему:
|
||||
`ctx` — это окна KWIC, а их отбор, число и ширина управляются тремя независимыми ручками
|
||||
(`AttachKWIC`, `backend/internal/terminology/terminology.go:340`=`func AttachKWIC`; вызов
|
||||
`backend/internal/pipeline/terminologist.go:310`; ключи `kwic_per_term`/`kwic_width` — пар-данные). Любая из них молча обнулит набор
|
||||
`backend/internal/pipeline/terminologist.go:310`=`terminology.AttachKWIC(cands, chunks`; ключи `kwic_per_term`/`kwic_width` — пар-данные). Любая из них молча обнулит набор
|
||||
решённых у КАЖДОЙ книги: отпечатки не совпадут ни у одного кандидата, и книга потратит остаток пожизненного
|
||||
потолка на пере-консолидацию.
|
||||
|
||||
|
|
@ -159,7 +159,7 @@
|
|||
единственной шириной и была бы пар-слепой по случайности, причём на ДЕНЕЖНОМ предикате. ⇒ ширина — пар-данное с
|
||||
движковым умолчанием, и в отчёте ответь на ревью-вопрос канона: заработает ли пара, которой в репозитории нет, без
|
||||
правки Go. Инвариантность достигается тем, что отпечаток не читает ОТОБРАННЫЕ окна, а не тем, что ширина зашита. Якорь канона бери **по кандидату**, не по
|
||||
батчу: `CanonFor` принимает батч (`backend/internal/terminology/terminology.go:856`), и отпечаток по батчу вернул бы зависимость от состава,
|
||||
батчу: `CanonFor` принимает батч (`backend/internal/terminology/terminology.go:856`=`func CanonFor(batch []Candidate`), и отпечаток по батчу вернул бы зависимость от состава,
|
||||
от которой пак как раз уходит. В отпечатке НЕТ вариантов черновиков, `freq` и `since_ch`.
|
||||
|
||||
⚠ **Посылка «исходник книги приходит целиком» — ОТКРЫТЫЙ вопрос владельцу от 17.09, а не допущение пака**, и это
|
||||
|
|
@ -182,7 +182,7 @@
|
|||
завтра скачком двинет набор решённых, то есть деньги.
|
||||
|
||||
⚠ **И про «юнит целиком» знай ограничение.** Семьи и серии детектируются НАД `paid`, то есть ПОСЛЕ фильтра
|
||||
(`backend/internal/pipeline/terminologist.go:483-487`), и комментарий `:481-482` объясняет причину: детектировать над полным набором
|
||||
(`backend/internal/pipeline/terminologist.go:486`=`terminology.DetectFamilies(paid, fp)`, блок 483–487), и комментарий `:481-482` объясняет причину: детектировать над полным набором
|
||||
значит рассогласовать юниты с батчами, из них построенными. ⇒ это развилка, а не приказ: либо юнит для
|
||||
предиката считается отдельным проходом, не трогая батчер, либо «семья целиком» сужается и это называется.
|
||||
Решение — в записку-план.
|
||||
|
|
@ -203,12 +203,12 @@
|
|||
его строят и называют ценой, а не наследуют.
|
||||
|
||||
Назови выбор и довод в записке-плане. ⛔ Отпечаток в СТРОКЕ авто-банка — мёртвая форма: `writeAutoBank` в
|
||||
продакшне зовётся ровно один раз, внутри ветки «не останавливаемся» (`backend/internal/pipeline/mining.go:242` под `if !stopping` на
|
||||
продакшне зовётся ровно один раз, внутри ветки «не останавливаемся» (`backend/internal/pipeline/mining.go:242`=`r.writeAutoBank(ctx, mined, proposals` под `if !stopping` на
|
||||
`:235`), то есть на стопе подписи ему негде лечь.
|
||||
|
||||
### 4.7. Что пак задевает наружу — поле контракта
|
||||
|
||||
Сегодня `never_asked` в проекции равно числу снятых банком (`backend/internal/pipeline/bankexport.go:118`) и
|
||||
Сегодня `never_asked` в проекции равно числу снятых банком (`backend/internal/pipeline/bankexport.go:118`=`NeverAsked: t.BankSettled`) и
|
||||
означает «сид держит поверхность и все черновики согласны». Поле живёт в каноне
|
||||
(`docs/architecture/14-api-contract/openapi.yaml`) и читается платформой в десятке мест. ⇒ строки, решённые
|
||||
базисом, в это поле класть НЕЛЬЗЯ без смены смысла: заводи **аддитивное** поле, это минор контракта, и назови
|
||||
|
|
@ -237,7 +237,7 @@
|
|||
`backend/internal/pipeline/terminologist.go:541`=`This is a ONE-TIME cost; every later run replays for $0` (он в хвосте длинной строки —
|
||||
я обрезал вывод по ширине и прочёл обрезок как факт). Устарел только адрес ряда (`:498`). **Носителей ТРИ:** сама
|
||||
строка · голден каталога операторских сообщений `backend/internal/pipeline/testdata/operator-messages.txt:136`=`terminology: this book had already paid`,
|
||||
который гейтит отдельный тест · два пина `backend/internal/pipeline/banksettled_test.go:193` (резюм: ноль обращений к провайдеру, $0,
|
||||
который гейтит отдельный тест · два пина `backend/internal/pipeline/banksettled_test.go:193`=`func TestAResumeFindsItsCheckpointsAfterTheFilter` (резюм: ноль обращений к провайдеру, $0,
|
||||
и вдобавок ОТСУТСТВИЕ ключа `reconsolidated=true` в логе) и `:417` (обе половины: молчать на свежем прогоне,
|
||||
сработать в описанном случае). ⇒ пере-формулировка обязана обновить И голден: это не подгонка под зелень, а
|
||||
обслуживание заказанной смены поведения (`D39.183`), и она ОБЪЯВЛЯЕТСЯ в отчёте.
|
||||
|
|
@ -355,8 +355,8 @@
|
|||
|
||||
⛔ **Две ноты 17.09 — условия работы твоего пака, и обе про деньги ровно тех ролей, которые он фильтрует.**
|
||||
`D39.264` вынес петлю повторной попытки в общий контур и подключил банк-роли к вердикту; `D39.259` включил
|
||||
`gates.terminology.regenerate: 1` во ВСЕХ трёх боевых конвейерах (`backend/configs/pipeline-c1.yaml:193`,
|
||||
`backend/configs/pipeline-arm-glm.yaml:72`, `backend/configs/pipeline-arm-mistral.yaml:79`). ⇒ на батч возможна ВТОРАЯ платная ступень, и
|
||||
`gates.terminology.regenerate: 1` во ВСЕХ трёх боевых конвейерах (`backend/configs/pipeline-c1.yaml:193`=`regenerate: 1`,
|
||||
`backend/configs/pipeline-arm-glm.yaml:72`=`regenerate: 1`, `backend/configs/pipeline-arm-mistral.yaml:79`=`regenerate: 1`). ⇒ на батч возможна ВТОРАЯ платная ступень, и
|
||||
промт обязывает тебя назвать: **чей ответ ложится в базис, если батч куплен лестницей** (ответ выигравшей ступени, не
|
||||
первой) · не ломает ли базис посылку пина `backend/internal/pipeline/bankladder_test.go:111`=`func TestAHealthyBankTableIsNeverAskedAgain`
|
||||
(«здоровая таблица покупается ровно раз»), чья посылка утверждается отдельной строкой —
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue