docs(передача): промт смене 19 — вторая ночь закрыла три пункта из трёх; журнал М-364-368, правила 177-188
This commit is contained in:
@@ -9429,3 +9429,96 @@ psql -c 'select 1' -c 'delete from leads'
|
||||
⇒ **Правило 183. 🔑 ВОРОТА РАЗВОДИ ПО МОМЕНТУ, В КОТОРЫЙ БУМАГА СРАБОТАЕТ, А НЕ ПО ЕЁ
|
||||
ТЕМЕ.** «Что читает человек вечером» и «по чему судят утром» — два разных читателя одной
|
||||
затеи, и пересечения находок между ними близки к нулю.
|
||||
|
||||
---
|
||||
|
||||
# 🟢🟢🟢 ВТОРАЯ НОЧЬ СОСТОЯЛАСЬ И ПРИНЯТА ЦЕЛИКОМ (05.08.2026, 20:09 → 20:48)
|
||||
|
||||
**Трое работников, три пункта, все три закрыты и проверены не по их словам.**
|
||||
Запуск — печать и рука владельца, разовым ключом. Забрана в ветку коммитом `1e1fda8a`.
|
||||
|
||||
## М-364. 🟢 ГЛАВНОЕ ЧИСЛО: 2692 → 2729, РОВНО КАК ПРЕДСКАЗАНО
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| Запуск / конец | 20:09 → **20:48**, тридцать девять минут |
|
||||
| Рождение всех троих | **13 минут** (20:09 · 20:16 · 20:22) вместо обещанных 45 |
|
||||
| Прожили | w-1 36 мин · w-2 18 мин · w-3 26 мин |
|
||||
| Цена | **$17,01** (7,32 + 4,78 + 4,91), 534 хода. Порог листа был 20 |
|
||||
| Вопросов задали | **ноль** |
|
||||
| Погасли | **все трое сами**, «дело сделано» |
|
||||
|
||||
🔑 **Приёмка прошла ПО ЗАРАНЕЕ НАПИСАННЫМ ЧИСЛАМ, и это главное достижение метода.**
|
||||
Лист, написанный до запуска, называл: утверждений 16 · 9 · 7; красных при вырезании
|
||||
8 · 2 · 5; проверок после работы 2692 + 32. Вышло: **16 · 9 · 12**, красных **8 · 2 · 6**,
|
||||
проверок **2729**. Ни одно число не подгонялось утром — подгонять было нечего.
|
||||
|
||||
🔑 **Вырезание показало ровно те красные, что предписаны поимённо** — шесть человеческих
|
||||
форм, телефон в имени поля, склейка ключей. Не «краснеет вообще», а краснеет **то самое**.
|
||||
|
||||
## М-365. 🔑 ЧТО РАБОТНИКИ СДЕЛАЛИ ЛУЧШЕ, ЧЕМ ОТ НИХ ТРЕБОВАЛИ
|
||||
|
||||
· **w-1 закрыл склейку ключей** — беду, которую сутки назад не ловила **ни одна** из 19
|
||||
проверок листа и которую задание прежде велело лишь «назвать словами в бумаге».
|
||||
Живой вызов: два разных телефона-ключа → **оба значения на месте**.
|
||||
· **w-2 не стал писать третий сворачиватель путей**, а объяснил конкретной причиной,
|
||||
почему готовый не годится (`path.resolve` превращает путь во что-то другое). Ровно то,
|
||||
чего требовал П-Б, и ровно в той форме, которая принимается.
|
||||
· **w-3 написал в заголовке коммита «починен ОДИН из них»** — не приписал себе второго
|
||||
сторожа. И положил в бумагу разбор соседнего прибора, которого никто не просил.
|
||||
· **Ни один не переписал себе разрешения**: шесть файлов настроек в трёх углах — один
|
||||
и тот же отпечаток, совпадающий с пересчётом из кода.
|
||||
|
||||
⇒ **Правило 184. 🔑 ЕСЛИ ЛИСТ НАПИСАН ЗАРАНЕЕ И ЧИСЛАМИ, ПРИЁМКА ЗАНИМАЕТ ЧАС И НЕ
|
||||
ТРЕБУЕТ СПОРА.** Спорить не о чем: либо сошлось, либо нет. Весь торг переносится на
|
||||
день, когда лист пишется, — и там ему место.
|
||||
|
||||
## М-366. 🔴 ПРИБОР ШАГА 0 СОЛГАЛ ЖИВЬЁМ: «РАЗОДРАНО 0» ПРИ МЁРТВОМ СТОРОЖЕ
|
||||
|
||||
Утром прибор шага 0 ответил «957 пакетов, **разодрано 0**». Вечером коммит не прошёл:
|
||||
сторож орфографии падал с «модуль не найден». Замерено: у пакета
|
||||
`@cspell/cspell-resolver` в углу лежал **один файл из шести**, а всего в наборе `@cspell`
|
||||
недоставало **31 файла из 471**. Пакет **был на месте и был пуст внутри**.
|
||||
|
||||
🔴 Прибор считает наличие `package.json` — этого мало, и это было **записано как известная
|
||||
дыра** (хвост 6 передачи 18). Дыра из «известной» стала «купленной»: она молчала ровно
|
||||
до того часа, когда понадобилось сохранить работу троих.
|
||||
|
||||
🪤 И вторая половина: хук напечатал «**cspell нашёл слова, отсутствующие в словаре**».
|
||||
Это неправда — cspell не нашёл ничего, он **упал**. Ненулевой код возврата хук объяснил
|
||||
своей догадкой, и догадка увела бы чинить словарь вместо пакета.
|
||||
|
||||
⇒ **Правило 185. 🔴🔴 «ПРОГРАММА ОТВЕТИЛА ПЛОХО» И «ПРОГРАММА УПАЛА» — РАЗНЫЕ СОБЫТИЯ,
|
||||
И СТОРОЖ ОБЯЗАН ИХ РАЗЛИЧАТЬ.** Объяснять ненулевой код возврата своей догадкой —
|
||||
значит рассылать ложные обвинения. Признак: текст отказа называет причину, которой
|
||||
проверявший не видел.
|
||||
|
||||
⇒ **Правило 186. 🔴 ЦЕЛОСТЬ ХОЗЯЙСТВА МЕРЯЕТСЯ ЧИСЛОМ ФАЙЛОВ ВНУТРИ, А НЕ НАЛИЧИЕМ
|
||||
ПАПКИ.** Дешёвый достаточный датчик найден: **сравнить число файлов набора с целой
|
||||
копией** (471 против 440 — видно сразу, без запуска).
|
||||
|
||||
## М-367. 🪤 СВОДКА ЛОЖИТСЯ НЕ В МИНУТУ КОНЦА, А ЧЕРЕЗ ТРИ
|
||||
|
||||
Прогон закрылся 20:48, бумага легла **20:51**. Между ними затея снимает библиотеки
|
||||
из трёх углов. Надзиратель, проверивший в 20:49, объявил владельцу «сводки нет» —
|
||||
и был неправ.
|
||||
|
||||
⇒ **Правило 187. 🔑 У КОНЦА РАБОТЫ ЕСТЬ ХВОСТ. ПРЕЖДЕ ЧЕМ ОБЪЯВЛЯТЬ ПРОПАЖУ, СПРОСИ,
|
||||
ЧТО ЕЩЁ ДЕЛАЕТСЯ ПОСЛЕ «КОНЦА».**
|
||||
|
||||
## М-368. 🔴 ОШИБКА НАДЗИРАТЕЛЯ №20: ПЕРЕДАЛ ВЛАДЕЛЬЦУ ЧУЖОЕ УТВЕРЖДЕНИЕ НЕПРОВЕРЕННЫМ
|
||||
|
||||
Сторож денег сказал владельцу: «доля прогона 14,3 % — **НЕ ваше решение**, этих слов
|
||||
в протоколе нет вовсе». Надзиратель **повторил это владельцу как факт**.
|
||||
|
||||
Проверено после: в протоколе есть **решение 35 от 06.08** — «решение 31 отменено,
|
||||
доля остаётся», и есть **правило 142**: «решение владельца ищется по смыслу, а не по
|
||||
имени настройки». Более того, отменённое решение 31 было принято владельцем **по той же
|
||||
самой ложной посылке**, принесённой надзирателем тремя днями раньше.
|
||||
|
||||
⇒ Тот же класс ошибки, против которого правило уже написано, повторился **через три дня**
|
||||
и прошёл через надзирателя во второй раз.
|
||||
|
||||
⇒ **Правило 188. 🔴🔴🔴 СЛОВА ПРИБОРА О ТОМ, ЧТО ВЛАДЕЛЕЦ ЧЕГО-ТО НЕ РЕШАЛ, ПРОВЕРЯЙ
|
||||
ПО ПРОТОКОЛУ ДО ТОГО, КАК ПЕРЕСКАЖЕШЬ ИХ ВЛАДЕЛЬЦУ.** Прибор ищет по имени настройки —
|
||||
человек решает по смыслу. Цена ошибки замерена: одно отменённое решение владельца.
|
||||
|
||||
@@ -0,0 +1,269 @@
|
||||
# ПРОМТ девятнадцатой смены: две ночи подряд удались, метод работает
|
||||
|
||||
**Дата:** 11.08.2026, писалась ПО ХОДУ смены 18. Затея «дело идёт без владельца» —
|
||||
работники трудятся без человека, утром владелец читает сводку.
|
||||
|
||||
> ## 🟢🟢🟢 ГЛАВНОЕ: ВТОРАЯ НОЧЬ ЗАКРЫЛА ТРИ ПУНКТА ИЗ ТРЁХ
|
||||
>
|
||||
> **05.08.2026, 20:09 → 20:48. Трое работников, три пункта, все закрыты и ПРИНЯТЫ.**
|
||||
> Цена **$17,01**. Вопросов не задал никто, погасли все трое сами.
|
||||
>
|
||||
> 🔑 **Приёмка прошла по числам, написанным ДО запуска.** Лист обещал: утверждений
|
||||
> 16 · 9 · 7, красных при вырезании 8 · 2 · 5, проверок 2692 + 32. Вышло: **16 · 9 · 12**,
|
||||
> красных **8 · 2 · 6**, проверок **2729**. Подгонять было нечего.
|
||||
>
|
||||
> ⇒ Вопросы «работает ли» и «держит ли троих» — **закрыты оба**.
|
||||
> Смена 19 отвечает на новый: **что дать ночи делать дальше.**
|
||||
|
||||
> ## 🟢 С ЧЕГО НАЧАТЬ — ПЕРВЫЕ ПЯТЬ ДЕЙСТВИЙ, ПО ПОРЯДКУ
|
||||
>
|
||||
> **Ты надзиратель.** Своей рукой кода не пишешь: пишешь задания помощникам, приборы,
|
||||
> приговоры и бумаги. Работаешь в углу
|
||||
> `c:\моя\проекты\портал crm\Документация\.claude\worktrees\night1`, ветка
|
||||
> `feat/night-dispatcher-part1`. Между кругами не останавливаешься.
|
||||
>
|
||||
> 1. 🔴🔴🔴 **ПРОЧТИ ПЕРЕДАЧУ СМЕНЫ 15 ЦЕЛИКОМ** —
|
||||
> `docs/superpowers/zamer/2026-08-07-PROMT-smena-15-prodolzhaem.md`.
|
||||
> **В ней свод правил 1–144, и он в силе ЦЕЛИКОМ.** Затем смены 16 (145–150),
|
||||
> 17 (151–159) и 18 (`2026-08-10-PROMT-smena-18-prodolzhaem.md`, правила 160–176).
|
||||
> Здесь только правила **177–188** и новое состояние.
|
||||
> 2. 🔴 **Прочти ОБА протокола решений владельца** (166 решений).
|
||||
> · `docs/grilling/2026-07-28-avtonomnaya-rabota-dispetcher.md` — **128**, устройство ночи;
|
||||
> · `docs/grilling/2026-08-02-nastroyki-nochi-i-ramka-deneg.md` — **38**, настройки и деньги.
|
||||
> 🪤 Раздел «Решили» первого обрывается на 77 — это **не обрубок**: 78–128 записаны ниже.
|
||||
> 🪤 Тот же файл лежит в **двух** местах: настоящий в `docs/grilling/` (109 КБ), обрубок
|
||||
> в `docs/superpowers/zamer/grilling/` (19 КБ).
|
||||
> 3. **Шаг 0 — пять приборов** (врезка ниже). Расхождение разбирать ДО первой задачи.
|
||||
> 4. 🔴 **Заведи ВОРОТА ВСЛЕПУЮ первым действием** (правило 87). Двое, порознь, **без права
|
||||
> читать код**. Стоит ноль. Смена 18: **девятый раз подряд крупнейший улов** — 28 находок,
|
||||
> 13 смертельных, и первая же из них отменила бы вечер.
|
||||
> 5. 🔴 **Заведи СУДЬЮ сразу после первых находок** (правило 51). В смене 18 он нашёл
|
||||
> БОЛЬШЕ, чем обвиняли: снос библиотек, ложный образец в задании, источник неверного порога.
|
||||
|
||||
> 🔴🔴🔴 **ШАГ 0 — ПЯТЬ ПРИБОРОВ.**
|
||||
>
|
||||
> **1. Цело ли хозяйство:**
|
||||
> ```sh
|
||||
> M=node_modules; miss=0; tot=0
|
||||
> for d in $M/*/; do n=$(basename "$d"); case "$n" in @*) continue;; esac
|
||||
> tot=$((tot+1)); [ -f "$d/package.json" ] || miss=$((miss+1)); done
|
||||
> for d in $M/@*/*/; do tot=$((tot+1)); [ -f "$d/package.json" ] || miss=$((miss+1)); done
|
||||
> echo "пакетов: $tot, разодрано: $miss"
|
||||
> ```
|
||||
> Годный ответ: **957 пакетов, разодрано 0**.
|
||||
> 🔴🔴 **ЭТОТ ПРИБОР СОЛГАЛ ЖИВЬЁМ 05.08 — правило 186.** Он сказал «разодрано 0», а сторож
|
||||
> орфографии был мёртв: у пакета лежал **один файл из шести**. Считает наличие `package.json`,
|
||||
> а не содержимое. **Дешёвый достаточный датчик — сравнить ЧИСЛО ФАЙЛОВ с целой копией:**
|
||||
> ```sh
|
||||
> echo "@cspell главная: $(find ../../../node_modules/@cspell -type f | wc -l)"
|
||||
> echo "@cspell угол: $(find node_modules/@cspell -type f | wc -l)"
|
||||
> ```
|
||||
> Годно: **471 и 471**. Меньше — дополнить `cp -rn` из главной папки.
|
||||
>
|
||||
> **2. Полный прогон:** `npm run test:tools` **из корня угла**.
|
||||
> 🔴 **КОД ВОЗВРАТА ЧЕСТНО:** `npm run test:tools >/dev/null 2>&1; echo $?`.
|
||||
> 🔴 **Сверяй ЧИСЛО ПРОВЕРОК, а не число файлов.** Годно: **2729 в 99 файлах, код 0**.
|
||||
>
|
||||
> **3. Узкий на мигание:** упавшее прогнать в одиночку трижды.
|
||||
> 🔴 **Для СЕБЯ:** `cd app && npx vitest run --config vitest.config.tools.mjs <имя>`.
|
||||
> 🔴🔴 **Для РАБОТНИКА эта команда ЗАПРЕЩЕНА** — `cd` нет в его разрешениях.
|
||||
> Ему только: `npm run test:tools -- <файл>` (правило 161).
|
||||
>
|
||||
> **4. «А оно запускается?»** `node tools/night/cli.mjs` — обязана ответить подсказкой.
|
||||
>
|
||||
> **5. Ворота без денег:** `node tools/night/vorota-bez-deneg.mjs <план> --priyomka <лист>
|
||||
> --spec <замысел>` — что ночь видит в плане, **не тратя ни копейки**. Звать перед каждым запуском.
|
||||
>
|
||||
> 🪤 **Первой строкой любой проверочной команды печатай, ГДЕ ты** (`git rev-parse --show-toplevel`).
|
||||
|
||||
---
|
||||
|
||||
# 🔴🔴🔴 ПЕРВОЕ ДЕЙСТВИЕ СМЕНЫ 19 — ВЗЯТЬ У ВЛАДЕЛЬЦА РАБОТУ ДЛЯ ТРЕТЬЕЙ НОЧИ
|
||||
|
||||
**Механика доказана дважды. Кончился не метод — кончились задачи.**
|
||||
|
||||
Две ночи закрыли шесть дыр в сторожах. Список сторожевых дыр, найденных прежними сменами,
|
||||
**исчерпан**. Прежде чем запускать третью ночь, надо ответить на вопрос владельца, который
|
||||
он отложил 05.08 словами «пока не решать, вернуться после первой ночи»:
|
||||
|
||||
🔴 **Ночь не может достраивать саму себя** — папка `tools/night/` ей запрещена. Пока запрет
|
||||
стоит, фронт работ для ночи — только то, что лежит **вне** затеи. Владельцу нести
|
||||
**решение**: снимать ли эту строку, и если нет — какую работу ночи давать.
|
||||
|
||||
**Три готовых ответа, чтобы владельцу было из чего выбирать:**
|
||||
1. **Снять запрет частично** — пустить ночь в `tools/night/`, но не в `run.mjs`/`supervisor.mjs`
|
||||
(сердце затеи). Тогда ночь чинит саму себя, и хвосты ниже закрываются ею, а не днём.
|
||||
2. **Дать ночи продуктовую работу** — не сторожей, а сам портал Лидерры (`app/**`).
|
||||
🔴 Упирается в границу «`app/**` не править ни знаком» — тоже решение владельца.
|
||||
3. **Оставить как есть** и копить сторожевые дыры до следующей находки. Ночь будет
|
||||
простаивать, зато ничего не сломает.
|
||||
|
||||
---
|
||||
|
||||
# 🟢 ГЛАВНОЕ ЗА СМЕНУ 18
|
||||
|
||||
## 1. ВТОРАЯ НОЧЬ — ЧИСЛА
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| Запуск / конец | 20:09 → **20:48**, 39 минут |
|
||||
| Рождение всех троих | **13 минут** (20:09 · 20:16 · 20:22) вместо обещанных 45 |
|
||||
| Прожили | w-1 36 мин · w-2 18 мин · w-3 26 мин |
|
||||
| Цена | **$17,01** (7,32 + 4,78 + 4,91), 534 хода |
|
||||
| Вопросов | **ноль** · погасли **все трое сами** |
|
||||
| Проверок стало | 2692 → **2729** (+16 +9 +12) |
|
||||
| Вырезание | красных **8 · 2 · 6** при порогах 8 · 2 · 5 |
|
||||
| Живой вызов приборов | **26 проверок надзирателя — все сошлись** |
|
||||
| Работа забрана | коммит **`1e1fda8a`** |
|
||||
|
||||
🔑 **Работники сделали больше, чем требовали:** w-1 закрыл **склейку ключей** (беду,
|
||||
которую сутки назад не ловила ни одна проверка); w-2 **не стал** писать третий сворачиватель
|
||||
и назвал конкретную причину; w-3 написал «починен **один** из них» — не приписал лишнего.
|
||||
Никто не переписал себе разрешения: шесть файлов настроек — один отпечаток.
|
||||
|
||||
## 2. 🔴 ГОТОВНОСТЬ БЫЛА МНИМОЙ — 28 НАХОДОК ДО ЗАПУСКА
|
||||
|
||||
Смена началась со слов передачи «осталась только печать владельца». Это было неправдой:
|
||||
|
||||
· **бумага вечера была про ПЕРВУЮ ночь** — другой план, «Работников: 1», тишина 15 минут,
|
||||
потолок 20 долларов. Владелец подписал бы **не тот план**. Ошибка надзирателя №19;
|
||||
· **главную проверку утра нельзя было снять**: не сказано откуда, а в углу работника
|
||||
надзиратель сносит библиотеки в конце ночи;
|
||||
· **в задании лежал случай, уже закрытый** — работник написал бы зелёную проверку по нашему приказу;
|
||||
· **порог утверждений остался от старой редакции** (11 вместо 15) — можно было выбросить
|
||||
четыре анти-жадных сторожа и «пройти»;
|
||||
· **склейку ключей задание велело „назвать словами"** вместо проверки — потеря данных
|
||||
была описана, признана и пропущена.
|
||||
|
||||
## 3. 🔴 ОШИБКИ НАДЗИРАТЕЛЯ — ДВЕ
|
||||
|
||||
19. 🔴🔴🔴 **Объявил бумагу владельцу готовой, не перечитав её.** Она была про прошлую ночь.
|
||||
⇒ правило 177.
|
||||
20. 🔴🔴🔴 **Передал владельцу слова прибора как факт.** Прибор сказал «доля прогона —
|
||||
не ваше решение»; в протоколе есть **решение 35**: «доля остаётся», и **правило 142**:
|
||||
решение ищется по смыслу, а не по имени настройки. Тот же класс уже стоил владельцу
|
||||
отменённого решения 31 — и прошёл через надзирателя **второй раз за три дня**.
|
||||
⇒ правило 188.
|
||||
|
||||
---
|
||||
|
||||
## 🔴🔴 ПРАВИЛА, ДОБЫТЫЕ СМЕНОЙ 18 (177–188)
|
||||
|
||||
**177. 🔴🔴🔴 «ГОТОВО» ПРО БУМАГУ ЗНАЧИТ «ПЕРЕЧИТАНО ПОД СЕГОДНЯШНЮЮ ЗАДАЧУ», А НЕ
|
||||
«ЛЕЖИТ НА МЕСТЕ».** Бумага под прошлый опыт опаснее отсутствующей: отсутствующую пишут
|
||||
заново, эту берут и исполняют.
|
||||
|
||||
**178. 🔴🔴 У ГЛАВНОЙ ПРОВЕРКИ СПРОСИ НЕ «ЧТО ОНА МЕРИТ», А «ГДЕ И ЧЕМ Я ЕЁ СНИМУ» —
|
||||
И ПРОЙДИ ЭТОТ ПУТЬ ЗАРАНЕЕ.**
|
||||
|
||||
**179. 🔴🔴🔴 КАЖДЫЙ ОБРАЗЕЦ БЕДЫ В ЗАДАНИИ ПОЗОВИ ЖИВЬЁМ И УБЕДИСЬ, ЧТО ОН ВПРАВДУ БОЛИТ.**
|
||||
🪤 Особенно опасна приписка «не потеряй третий случай»: она делает непроверенное обязательным.
|
||||
|
||||
**180. 🔴🔴 РАСШИРИЛ ПЕРЕЧЕНЬ — ПЕРЕСЧИТАЙ ПОРОГ ТУТ ЖЕ.** 🔑 Писать порог **арифметикой**
|
||||
(«8 + 1 + 1 + 6 = 16»), а не итогом.
|
||||
|
||||
**181. 🔴🔴 САМООТЧЁТ ИСПОЛНИТЕЛЯ — НЕ ЗАМЕР.** «Назови в бумаге» годится для того, что
|
||||
нельзя измерить. Признак беды: в задании про опасность есть, в листе приёмки — ни строки.
|
||||
|
||||
**182. 🔴🔴 ПРОЩАЙ СЛУЖЕБНОЕ ПО СОДЕРЖИМОМУ, А НЕ ПО ИМЕНИ.** 🔑 И спутник: прежде чем
|
||||
заводить обряд снятия слепков заранее, спроси, **не считается ли образец из кода** в любой момент.
|
||||
|
||||
**183. 🔑 ВОРОТА РАЗВОДИ ПО МОМЕНТУ, В КОТОРЫЙ БУМАГА СРАБОТАЕТ, А НЕ ПО ТЕМЕ.**
|
||||
«Что читает человек вечером» и «по чему судят утром» — два читателя, пересечение находок ноль.
|
||||
|
||||
**184. 🔑 ЕСЛИ ЛИСТ НАПИСАН ЗАРАНЕЕ И ЧИСЛАМИ, ПРИЁМКА ЗАНИМАЕТ ЧАС И НЕ ТРЕБУЕТ СПОРА.**
|
||||
|
||||
**185. 🔴🔴 «ПРОГРАММА ОТВЕТИЛА ПЛОХО» И «ПРОГРАММА УПАЛА» — РАЗНЫЕ СОБЫТИЯ.** Объяснять
|
||||
ненулевой код возврата своей догадкой — рассылать ложные обвинения.
|
||||
|
||||
**186. 🔴 ЦЕЛОСТЬ ХОЗЯЙСТВА МЕРЯЕТСЯ ЧИСЛОМ ФАЙЛОВ ВНУТРИ, А НЕ НАЛИЧИЕМ ПАПКИ.**
|
||||
|
||||
**187. 🔑 У КОНЦА РАБОТЫ ЕСТЬ ХВОСТ.** Сводка легла через **три минуты** после конца прогона.
|
||||
|
||||
**188. 🔴🔴🔴 СЛОВА ПРИБОРА О ТОМ, ЧТО ВЛАДЕЛЕЦ ЧЕГО-ТО НЕ РЕШАЛ, ПРОВЕРЯЙ ПО ПРОТОКОЛУ
|
||||
ДО ТОГО, КАК ПЕРЕСКАЖЕШЬ ИХ ВЛАДЕЛЬЦУ.** Прибор ищет по имени настройки — человек решает
|
||||
по смыслу.
|
||||
|
||||
---
|
||||
|
||||
## ГРАНИЦЫ (не двигать без слова владельца)
|
||||
|
||||
🔴 **Выписаны поимённо, а не ссылкой — правило 153.**
|
||||
|
||||
· боевой **liderra.ru** — живые клиенты и деньги; не трогать, база только чтение;
|
||||
· 🔴 **`ANTHROPIC_API_KEY` не выставлять НИКОГДА.** Режим `--bare` закрыт навсегда;
|
||||
· 🔴 **проверки кода живым платным помощником — нельзя НИКОГДА** (решение 11);
|
||||
· 🔴 **замеров остатка — не больше 30 за смену** (решение 1);
|
||||
· 🔴 **живых рождений без владельца — 5–6 за смену** (решение 16), предел **20** (решение 9а);
|
||||
· 🔴 **работников СЕМЕРО ВСЕГО** (решение 24), `max_tasks_at_once: 1`.
|
||||
🔑 Замерено дважды: **на плане из N пунктов родится ровно N работников**;
|
||||
· 🔴 **доля прогона `run_share` = 14,3 % ОСТАЁТСЯ** — решение 35 здесь и решение 95
|
||||
диспетчерского протокола. 🪤 Прибор говорит «это не ваше решение» — **это неправда**,
|
||||
см. правило 188 и правило 142;
|
||||
· порог запаса **0,99**, тумблер `bez_doli_ne_zapuskat` — **ВЫКЛ** (решения 18, 19);
|
||||
· 🔴 **углы погашенных работников уборка НЕ ТРОГАЕТ** до слова владельца (решение 126);
|
||||
«удалять по-прежнему ничего не будем» (решение 22); углы лежат **вечно** (решение 33);
|
||||
· 🟢 **утренний будильник `Liderra-Night-Summary` ВКЛЮЧЁН**. 🔴 Вечерний
|
||||
`Liderra-Night-Start` — **выключен и включать нельзя**;
|
||||
· 🔴 `app/**` — не править ни знаком (кроме решения 14). Исключение: `app/vitest.config.tools.mjs`;
|
||||
· бумага-замысел `docs/superpowers/specs/2026-07-29-dispetcher-tri-kuska-chto-i-zachem.md`
|
||||
**ЗАМОРОЖЕНА**;
|
||||
· не пушить, не сливать в главную, не выкатывать; историю коммитов **не трогать вообще**;
|
||||
🟢 исключение: **двигать вперёд `feat/noch-proba-1`** — обязательный шаг перед КАЖДОЙ
|
||||
ночью (решение 25), последним действием перед печатью;
|
||||
· ветки `feat/client-sms-broadcast` и `feat/client-telegram-ads` — не трогать;
|
||||
· 🔴 в репозитории работают ПАРАЛЛЕЛЬНЫЕ СЕССИИ. Коммитить только в углу и поимённо;
|
||||
🪤 `docs/observer/STATUS.md` снимать из индекса после КАЖДОГО коммита;
|
||||
· 🔴 `.night/` — оплаченные живыми деньгами улики. Помощникам: **только чтение**;
|
||||
· 🔴 **никого не убивать на машине** без слова владельца;
|
||||
· 🔴 **вопросы владельцу КОПЯТСЯ и несутся ПАКЕТОМ** (решения 97, 98).
|
||||
|
||||
**СТИЛЬ:** простой русский, без программистских слов — владелец не программист.
|
||||
Не называть сделанным непроверенное. Не останавливаться между кругами.
|
||||
|
||||
---
|
||||
|
||||
## ⏳ ЧИСЛА НА КОНЕЦ СМЕНЫ 18
|
||||
|
||||
🔴 Собери их заново на входе (правило 45).
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| Проверок | **2729 в 99 файлах**, ноль красных |
|
||||
| Голова ветки | `1e1fda8ab` |
|
||||
| Коммитов за смену | **4** |
|
||||
| Отставание базы | **1** коммит — двинуть перед следующей ночью |
|
||||
| Хозяйство угла | 957 пакетов · @cspell **471 файл** (было 440, дополнено) |
|
||||
| Кругов помощников | ворота вслепую ×2 + судья ×1 |
|
||||
| Новых правил | **177 … 188** (12), свод вырос до **188** |
|
||||
| Находок метода | **М-357 … М-368** |
|
||||
| 🔴 Ошибок надзирателя | **две** (19, 20) |
|
||||
| Живых ночей | **две**, обе удались. $4,14 + $17,01 |
|
||||
| 🟢 Пунктов, закрытых работниками | **ЧЕТЫРЕ** (1 + 3) |
|
||||
|
||||
### 🔴 Что осталось незакрытым — по убыванию важности
|
||||
|
||||
0. 🔴🔴🔴 **ФРОНТА РАБОТ ДЛЯ НОЧИ НЕТ.** Сторожевые дыры кончились. Нести владельцу
|
||||
решение (три ответа выше). **Работа номер один.**
|
||||
1. 🔴🔴 **Затея пачкает угол работника пятью служебными файлами и сама же откладывает суд.**
|
||||
Замерено трижды за ночь — у всех троих. Работе не мешает (все пункты закрыты), но приговор
|
||||
мутнеет. 🔑 Починка известна и проверена судьёй: прощать **по содержимому** (пересчёт
|
||||
`buildWorkerSettings()` + `git hash-object`), а не по имени — правило 182.
|
||||
2. 🔴🔴 **Прибор шага 0 не ловит разодранный пакет** — купленный хвост, правило 186.
|
||||
Датчик найден (число файлов), в прибор **не врезан**.
|
||||
3. 🔴🔴 **Сторож денег говорит владельцу неправду** — «это не ваше решение» про то, что
|
||||
решено (решение 35). Врать перестанет только правкой текста сторожа.
|
||||
4. 🔴 **Пара настроек не сходится:** 99 % + 14,3 % = 113 %. Замерено 02.08, владелец решал
|
||||
**зная об этом**. Сегодня ни на что не влияет — тормоза и так молчат.
|
||||
5. 🔴 **«20 рождений за смену» выведено из ночи в 14 работников**, а их семеро — основание
|
||||
уехало. Вопрос владельцу, не срочный.
|
||||
6. **Сторож боевой базы читает ТЕКСТ команды** — имя базы не названо, связь из окружения:
|
||||
пропустит. 🪤 Живьём 05.08 он **сработал на поиск слова** в чужом файле — ложная тревога
|
||||
на чтение. Закрыть можно только запретом на класс: решение владельца, не принято.
|
||||
7. **Ночные тормоза по деньгам мертвы**, пока система не пришлёт число.
|
||||
8. **Уборка оборванных насмерть ночей** — углы лежат вечно (решение 126).
|
||||
9. **Прибор потерь никем не зовётся.** · 10. **Второй светофор `overageStatus`** — до кода не доведён.
|
||||
11. **Решения владельца 12 (свой судья у ночи) и 14** — одиннадцать смен.
|
||||
12. **Затея живёт в углу, а угол сносится одной командой** (правило 123).
|
||||
13. **Телеграма нет вовсе; панели и бота нет вовсе** (часть 3).
|
||||
14. **Две двери из девяти — заглушки** («отклик владельца», «от прошлого никого»).
|
||||
Reference in New Issue
Block a user