diff --git a/platform/docs/platform-PROGRESS.md b/platform/docs/platform-PROGRESS.md index b5eed161..8a2607d4 100644 --- a/platform/docs/platform-PROGRESS.md +++ b/platform/docs/platform-PROGRESS.md @@ -40,7 +40,7 @@ ⛔ **ИСПРАВЛЕНО ПЯТЫМ ЗАХОДОМ 06.09, И ЭТО БЫЛА МОЯ ЛОЖЬ О СВОЁМ ЖЕ КОДЕ.** Здесь стояло «полоса при этом осталась в ГЛАВАХ ⇒ перевод её в юниты это отдельная семантика, которой в составе минора нет». -**Неверно.** `runDone`/`runTotal` (`internal/pgstore/readmodel.go:632,636`) первой же ветвью — `when +**Неверно.** `runDone`/`runTotal` (`internal/pgstore/readmodel.go:632,636`=`caption stuck on drafting`) первой же ветвью — `when r.ordered_units is not null then` — считают полосу в ЮНИТАХ, и это намеренно и пиньнуто (`runs.TestACharacterOrdersBarIsCountedInWhatItActuallyBought`, страж обратной стороны — `TestAChapterOrderKeepsTheBarItAlwaysHad`). Абзац остался от редакции ДО того, как юнитовая ветка была @@ -179,6 +179,47 @@ r.ordered_units is not null then` — считают полосу в ЮНИТА УТВЕРЖДЕНИЙ О КОДЕ, и ни один гейт их поймать не мог по построению. Это тот же класс, который `D39.202` п.9 называет главным: сторожат поведение и форму, а не то, что код и отчёт о себе ГОВОРЯТ. +### ⛔ ПЯТЫЙ ЗАХОД — 06.09, ПОСЛЕ ЛЕНДИНГА, ПО ЗАКАЗУ ВЛАДЕЛЬЦА «проконтролируй, что оркестратор их закрыл» + +Заход начинался как КОНТРОЛЬ ЗАКРЫТИЯ чужой рукой и нашёл четыре вещи, три из которых мои. + +1. ⛔⛔ **ЛОЖЬ НА ПРОВОДЕ В УЖЕ ЗАЛЕНДЁННОМ КАНОНЕ 0.11.0, И ЗАВЕЛ ЕЁ ЭТОТ ОТЧЁТ.** Здесь стояло + «полоса осталась в ГЛАВАХ ⇒ перевод её в юниты это семантика, которой в составе минора нет». + Фраза ложна: `runDone`/`runTotal` ПЕРВОЙ ветвью считают в юнитах (`readmodel.go:632,636`), и это + пиньнуто (`TestACharacterOrdersBarIsCountedInWhatItActuallyBought`). Абзац остался от редакции ДО + юнитовой полосы — той самой, про которую я же написала «добавлена последней и проверена тоньше + остального». **Не пере-читала.** На этой фразе состав минора уехал без третьего случая `Progress`, + и канон залендился со словами «in chapters» там, где сборка шлёт юниты. Исправлено в составе, + написано оркестратору. ⚠ Это ровно тот отказ, который промт называет «связность вместо истинности»: + абзац был СВЯЗЕН с прежней редакцией пака и потому читался верным. +2. ⛔ **МОЯ ЖЕ ПОЧИНКА ИЗ ЧЕТВЁРТОГО ЗАХОДА (п.3) ЗАВЕЛА ВТОРОЙ НОСИТЕЛЬ ОДНОГО ЧИСЛА** — и уронила + соседний тест, `TestTheEnginesCharacterCountReachesTheLibraryRowBesideItsAccuracy` + («the engine's rune count did not land: »). Развязав `source_chars` от цены, я добавила + `pgstore.Structure.SourceChars` РЯДОМ с `Structure.Price.SourceChars` (тип `Price` был проводной + `ingest.BookPrice`) — то есть одно число в двух полях одного значения, и заполнить можно было + любое. **Починено структурно, а не подгонкой фикстуры:** у `pgstore` теперь свой тип `Projection` + с ТРЕМЯ денежными членами и БЕЗ счёта знаков, так что второе поле физически негде заполнить. + Радиус правки — три места. ⚠ Урок против моего же четвёртого захода: развязывание двух фактов + доделано наполовину — я добавила носитель, но не сняла старый, и получила ту самую энтропию, + про которую фикстура `priced()` двумя строками ниже сама предупреждает («a second carrier free to + drift»). +3. ⛔ **ТРИ КОММЕНТАРИЯ НАЗЫВАЛИ ИМЯ, КОТОРОГО НЕ СУЩЕСТВУЕТ:** `DeliveredUnits` / поле провода + `delivered_units` (`pgstore/readmodel.go:650`, `pgstore/books.go:819`, `runs/order_test.go:95` — + там настоящее имя `SpawnOrder.Delivered`). Ни в Go, ни на проводе, ни в каноне такого нет. Это + класс строки бэклога **299**, и второй из трёх ВРАЛ ПРО КОНТРАКТ, обещая читателю несуществующее + поле рядом с `delivered_chapters`. Переписаны на правду. ⚠ Замечание к самой 299, отдано + оркестратору: греп по `Test…` этого класса не ловит — имена были полевые и wire-овые. +4. ⛔ **ТРИ ФАЙЛА ЭТОГО ПАКА НЕ ЗАЛЕНДИЛИСЬ** и лежали в дереве как ` M`: `pgstore/readmodel.go` · + `readmodel/readmodel.go` · `pgstore/price_test.go` — вся починка п.3 четвёртого захода вместе с её + пином. В `HEAD` их нет; оркестратору сказано. + +✅ **ЧТО ПРОВЕРЕНО КАК ЗАКРЫТОЕ ОРКЕСТРАТОРОМ** (по его дереву, а не со слов): канон `info.version: +0.11.0` · `delivered_chapters` нуллабелен и объяснён · `ordered_chapters: minimum 0` с объяснением +нуля · `ceiling_chapters` deprecated + «REFUSED 400» · `run_limit_reached` пере-формулирован ТОЧНЕЕ +моего («спустил проданный заказ», а не «доставил всё») · строка 297 уже несёт form feed · строка 301 +(`--max-units` и carried) заведена · строка 304 (NULLABLE денежные колонки, с историей ложной причины) +заведена · строка 280 закрыта с НАЗВАННОЙ непостроенной половиной. + ### ⛔ ТРЕТИЙ КРУГ — ДВЕ ЛИНЗЫ ПРИЁМКИ ОРКЕСТРАТОРА, и они нашли ЦЕНТРАЛЬНОЕ **Пак научился читать у движка цену, но не научился считать в его ЕДИНИЦАХ.** Заказ, холд и