Ratify that a zero in the order count belongs to a re-pass alone, after a whole-book order over a finished book could have worn the same shape
This commit is contained in:
parent
c206067623
commit
93f098c815
3 changed files with 22 additions and 3 deletions
File diff suppressed because one or more lines are too long
|
|
@ -1,4 +1,4 @@
|
|||
# Реестр D-нот — карта актуальности v2 (D1–D39.211; титул — носитель головы, бампать при каждом аппенде)
|
||||
# Реестр D-нот — карта актуальности v2 (D1–D39.212; титул — носитель головы, бампать при каждом аппенде)
|
||||
|
||||
> ⚠ **Колонку «тело» `counts.py --check` НЕ сторожит по устройству:** он сверяет полноту НОМЕРОВ, а не
|
||||
> место тела, поэтому колонка держится дисциплиной лендинга. Не нашёл тело по колонке — иди в слайсы,
|
||||
|
|
@ -270,3 +270,4 @@
|
|||
| D39.209 | 06.09 | **Замер «ДО» без замера «ПОСЛЕ» ничего не доказывает: дефект, предъявленный экземпляром ВНЕ батареи, регресс-сетки не имеет по построению.** В батарее репродуцер работает сам; разрыв — там, где экземпляр за симлинком, в платном прогоне, в стенд-конфиге, в живом сценарии, в полном каталоге. Исполнимая форма: таблица «дефект → экземпляр → пере-мерен после: да/нет + КОМАНДА» в отчёте каждого пака; пропуск указывается ПОИМЁННО. Основание — ПЯТЬ экземпляров из ТРЁХ зон за неделю, ни один не пойман процессом | ✅ |
|
||||
| D39.210 | 06.09 | **АКТ: движковый пак «форматы и честный словарь» ПРИНЯТ С ДОФИКСОМ** (`2f65d1d`, 29 путей; канон не бампался — пак аддитивен). EPUB читается по `nav`/NCX, словарь получил `delimited`, пути разреза txt КОНКУРИРУЮТ; гейт 8/8 байт-в-байт, текст не потерян на девяти книгах, каталог 211. ⭐ **Норма D39.209 окупилась ДВАЖДЫ в день ратификации** — пере-замер поймал неточность отчёта и ВТОРОЙ регресс, оба экземпляром, а не тестом. ⚠ Цена на книге владельца замерена: 2187 рун оглавления внутри главы; 64 из 71 главы короче 200 знаков | ✅ |
|
||||
| D39.211 | 06.09 | **АКТ: второй круг платформенного пака** (`6ceb133` + канон `3e40c36`, `0.12.0`): заказ по размеру больше не притворяется заказом в главах — `ordered_chapters` нуллабелен, рядом `ordered_units`. ⛔ **Три лжи в каноне 0.11.0 написал Я**, и гейт не покраснил ни на одной — он сверяет ЧИСЛА, а не ФОРМЫ (строка 309). ⭐ Лечение: авторство утверждений о ЗНАЧЕНИИ отдаётся зоне с пином + порождённые примеры. ⚠ Условие Fable отклонено зоной и проверено мной по типам — буквальное исполнение было бы дефектом в деньгах | ✅ |
|
||||
| D39.212 | 06.09 | **ДОФИКС КАНОНА ЗОНОЙ ИЗ ПИНОВ** (`33b896b`, `1cae0ac`, `f05795e`, `c206067`): норма авторства исполнена первый раз и окупилась ВОПРОСОМ «а точно ли ничто иное?» — нашлась вторая форма, дающая `ceiling_chapters = 0` и неотличимая от ре-прохода на проводе; гвард стоял, но его не держал ни один тест. Плюс: `stage` как различитель отклонён (открытый словарь) · нижняя граница `0` оставлена ПОЛОМ · зеркальное расщепление в `OrderOptions.structure` · номер строки из чужого письма протухает и переносить надо ТОКЕН | ✅ |
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# Журнал решений оркестратора — контракт D1–D39.211 (живой файл: карта · эрраты · живые тела · голова D39.124+ (подрезка D39.139); тела закрытых эр — в слайсах `docs/archive/architecture/`, указатель ниже; реестр всех нот — `05-decisions-index.md`)
|
||||
# Журнал решений оркестратора — контракт D1–D39.212 (живой файл: карта · эрраты · живые тела · голова D39.124+ (подрезка D39.139); тела закрытых эр — в слайсах `docs/archive/architecture/`, указатель ниже; реестр всех нот — `05-decisions-index.md`)
|
||||
|
||||
> **⟶ КАРТА АКТУАЛЬНОСТИ (ревизия D31, продлена до D38.2 [12.07]; исторические записи ниже НЕ переписываются — дисциплина D23.3).** Работая с контрактом (греп номера: живой файл → слайсы, целиком НЕ читать — D39.125), держи под рукой, что чем перекрыто:
|
||||
> ⚠ **Эррата 09.08 (D39.125):** D39.111 п.1 предписывал промту S3 «максимум = баланс МИНУС открытые холды» — формула ОШИБОЧНА (вычитание дважды), исправлена D39.115 п.2(а): максимум = Balance КАК ЕСТЬ; тело D39.111 — в слайсе `../archive/architecture/05-decisions-D39-106-123.md` (испр. 05.09: прежнее «живёт ниже в этом файле» протухло подрезкой D39.139) (голова D39.106+).
|
||||
|
|
@ -2626,3 +2626,21 @@ $2.00» не мерил никто), **а утверждение о ПРОШЛО
|
|||
**8. Замер, опровергший собственное опасение зоны.** Она весь пак называла неснятым план запроса и предупреждала о «тысячах проб на каждый поллинг». `EXPLAIN (ANALYZE, BUFFERS)` на 6000 юнитов: планировщик переписывает коррелированный `not exists` в **HASH ANTI JOIN**, 9.6 мс, с диска ноль. **Тысяч проб не существует ни при каком размере книги.** ⚠ Граница названа ею: проба на ПУСТОМ соседстве, на боевом форма плана может отличаться. ⭐ И её вывод дороже замера: опасение было СВЯЗНЫМ и потому читалось как знание; это единственный случай за пак, где замер лёг РАНЬШЕ, чем утверждение процитировали, — то есть единственный, который ничего не стоил.
|
||||
|
||||
**9. Что осталось НЕ построенным и названо** (в отчёте зоны и здесь, не в составе минора): денежный ползунок объявлен на проводе, но отправить его нечем, и оценки под ВЫБРАННЫЙ заказ нет · «упрощение резюма» не сделано · **число ЗНАКОВ, которое ввёл человек, нигде не хранится** — экран вернёт «5 единиц», а не «4500 знаков»: вопрос ВЛАДЕЛЬЦА о продукте, цена — одна колонка · коэффициент холда `k` по-прежнему **ВЫВЕДЕН, а не измерен** (строка 281, полигон).
|
||||
|
||||
## D39.212 — ДОФИКС КАНОНА ЗОНОЙ ИЗ ПИНОВ: норма авторства окупилась не правкой моего текста, а вопросом, который она заставила задать (06.09) ✅
|
||||
|
||||
**1. Что заландено.** `33b896b` (платформа: два пина + зонный журнал) · `1cae0ac` (канон) · `f05795e` + `c206067` (пере-наводка трёх якорей, сдвинутых правкой канона). Обе лжи, названные в эррате 06.09-в, сняты; `minimum: 0` возвращён, абзац `Progress` переписан на порядок проверок.
|
||||
|
||||
**2. ⭐ ГЛАВНОЕ — НЕ ПРАВКА, А ДЫРА, КОТОРУЮ ОТКРЫЛ ВОПРОС «А ТОЧНО ЛИ НИЧТО ИНОЕ?».** Записав «ноль в `ordered_chapters` ⇒ ре-проход», зона пошла проверять ЭКСКЛЮЗИВНОСТЬ и нашла вторую форму, дающую тот же ноль: `pricing.Quote` клампит заказ всей книги к остатку, поэтому над ПОЛНОСТЬЮ ДОСТАВЛЕННОЙ книгой квотит **ноль глав**, а допуск стора отвергает ноль только при `Resnapshot == false`, которое любое продолжение над сдвинутым банком ставит в `true`. Такой прогон лёг бы с `ceiling_chapters = 0` и был бы **НЕОТЛИЧИМ от ре-прохода на проводе** — полоса `0/1`, `stage: re_pass`, `delivered_chapters: 0`: покупателю показали бы чужую форму работы. ⚠ **Дверь стояла закрытой** — гвард `quote.Chapters == 0` в `runs.Start` (`platform/internal/runs/runs.go:451`=`if quote.Chapters == 0`), после ветви ре-прохода и до взятия холда, — **но его не держал НИ ОДИН тест: снятие гварда проходило батарею зелёной.** Заведён `runs.TestABookWithNothingLeftIsRefusedRatherThanSoldAsAZeroChapterRun`. ⭐ **Проверено мной исполнением, а не отчётом:** мутировал гвард в `if false` — пин КРАСНЕЕТ (`FAIL`, 0.40 с), файл восстановлен байт-в-байт по sha256. Это не гейт, защищающий дефект (`D39.202`).
|
||||
|
||||
**3. Норма авторства (`D39.211` п.3а) исполнена ПЕРВЫЙ РАЗ, и её польза оказалась не той, что ожидалась.** Ожидалась защита от лжи в моём тексте; фактически она заставила зону проверить утверждение, которое **мы оба считали очевидным**, и там нашлась дыра п.2. ⇒ ценность нормы — не в редактуре, а в том, что утверждение о ЗНАЧЕНИИ обязано пройти через того, у кого есть прогон, и он спрашивает «а полон ли перечень», чего автор прозы не спрашивает.
|
||||
|
||||
**4. ⛔ УСЛОВИЕ МОЁ, ОТКЛОНЁННОЕ ЗОНОЙ, — И ОТКЛОНЕНО ВЕРНО (ратифицирую).** Я предложил различать ре-проход по `ordered_chapters: 0` **либо `stage: re_pass`**. Вторая половина негодна: `stage` — ОТКРЫТЫЙ словарь, новые значения версию не двигают, и клиент обязан ему ДЕГРАДИРОВАТЬ, а не принимать по нему решения. В канон вписано «corroborates; it does not discriminate». **Признак, верный для человека, не обязан быть веткой кода** — различение обязано опираться на то, что версионируется.
|
||||
|
||||
**5. Нижняя граница НЕ снята, и довод зоны сильнее моего.** Я предлагал рассмотреть снятие («раз `null` уже отдельный случай»). Зона отказалась: **ноль — это ПОЛ, а не сегодняшнее наименьшее**; отрицательное отвергает сам допуск стора, и схема теперь говорит вслух то, что сервис и так гарантирует. Снять границу значило бы разрешить в контракте то, чего сервис не примет.
|
||||
|
||||
**6. То же расщепление в соседних полях — искано МЕХАНИЧЕСКИ, а не глазами.** Сканер зоны по **193** свойствам схем канона, три правила (граница `> 0` при прозе о нуле · проза обещает `null`, тип не допускает · тип допускает `null`, проза молчит): семь флагов, шесть — ложные срабатывания эвристики, настоящих два. **(а)** `OrderOptions.structure` — **зеркало моего случая**: тип допускает `null`, а проза не говорила, когда он бывает и что значит, — генератор знал, человек нет. Смысл дописан из пина (`httpapi.TestABookWhoseCutCannotBeSoldAgainstOffersCharactersAndSaysSo`, `platform/internal/httpapi/v0.go:308`=`Structure *string`): **`null` — не четвёртый вид разреза**; `none` — книга, на которую движок посмотрел и нашёл одну главу, `null` — книга, которую ещё не спрашивали. **(б)** `Chapter.number` — уже объявлено эрратой 05.09 в самом поле; зона сверила, что довод эрраты ЖИВ (`ingest.Whole()` по-прежнему отвергает `c.Number < 1`), и не трогала.
|
||||
|
||||
**7. ⚠ НАХОДКА О СПОСОБЕ ПЕРЕДАЧИ, отданная зоной мне и записываемая здесь: НОМЕР СТРОКИ, ПОСЛАННЫЙ СООБЩЕНИЕМ, ПРОТУХАЕТ ОТ СЛЕДУЮЩЕЙ ПРАВКИ ТОГО ЖЕ ФАЙЛА И НИЧЕМ НЕ СТОРОЖИТСЯ.** Замерено на себе: зона прислала три номера для чужих якорей, потом дописала в канон два блока — и все три уехали ровно на четыре строки. **Я поймал это только потому, что пере-считал сам**, а не взял из письма; зона поймала одновременно и прислала поправку. ⇒ **правило: номер строки из чужого письма НЕ переносится в док — переносится ТОКЕН, а номер пере-считывается линтом в момент правки.** Это тот же класс, что «замер, снятый до правки» (`D39.209`): цифра верна на момент отправки и лжёт на момент применения, и ничто в форме сообщения об этом не сигналит.
|
||||
|
||||
**8. Числа приёмки — сняты МНОЙ и ПОСЛЕ последней правки** (`make check`, стенд 55433): **MAKE-EXIT=0**, 21 пакет, **ноль красных**, линтер `0 issues`, `gofmt`/`go vet`/`sqlc diff` чисты, `ALARM PD-count: 12 (baseline 12)`; `pgstore` 213.7 с и `runs` 178.3 с — работа с живой БД, а не скипы. Пять названных пинов прогнаны отдельно: все PASS, 0.5–0.6 с каждый. ⚠ **Мой прогон СЛАБЕЕ зонного, и это named, а не спрятано:** скипов у меня **семь** против пяти у зоны, потому что из пяти гейтов стенда (`TM_PLATFORM_TEST_DSN` · `_ENGINE_BIN` · `_BOOK_TEMPLATE` · `_PGDUMP` · `_PGRESTORE`) я поднял только первый. ⚠ И первый мой заход батареи был ЛОЖНО-ЗЕЛЁНЫМ по форме отчёта: `make` умер на `tools-check` (`sqlc` не в PATH оболочки), а харнесс отчитался кодом `0` — это код завершающего `echo`, а не `make`. Поймано чтением лога; **код возврата составной команды отвечает на свой вопрос, а не на твой** (`D39.202`).
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue