Record that the find in this environment rejects relative newermt timestamps and returns a silent zero, and that a control counting output lines confirmed the broken instrument

This commit is contained in:
heaven 2026-09-18 02:52:47 +03:00
parent da7c813c1e
commit 77f379141e

View file

@ -507,3 +507,31 @@ HTTP-код, количество, номер строки кода. Никак
ради которого оно нужно**; «сессия была внимательна» не переносится на следующую смену, условие в коде
переносится. ⚠ Практическое следствие для промтов: строка «построй прибор» дефектна, годная называет,
ЧТО прибор обязан отказаться засчитывать.
## ⛔ ТРЕТЬЕ СВОЙСТВО СРЕДЫ, ДАЮЩЕЕ ТИХИЙ ЛОЖНЫЙ НОЛЬ: `find` здесь — bfs, и `-newermt` он не понимает (18.09)
Два уже записаны в каноне — обёртка `grep` чтит `.gitignore` и не видит `books/`; `sqlite3` как CLI нет.
Третье поймано сегодня и стоило двух неверных выводов подряд.
**Замер.** `find <путь> -newermt '-10 minutes' -type f 2>/dev/null` печатает **ноль строк**. Не потому, что
файлов нет: `find` в этой среде — `bfs`, и он отвечает `bfs: error: Invalid timestamp.` с кодом **141**.
Стандартное `2>/dev/null` глушит диагностику, и остаётся чистый ноль, неотличимый от результата поиска.
Тот же каталог через `-mmin -15` даёт **7 файлов**, через `-mmin -60`**15**.
⇒ Цена конкретна: я дважды прочитал этот ноль как «зона не трогала дерево» и на этом основании собрался
запускать мутационную кампанию. Дерево в этот момент правилось активно — побайтовое сравнение копии с
источником поймало файл, разошедшийся ВО ВРЕМЯ `tar`, а каталог мутаций вырос 535/324 → 537/326.
Кампания на таком дереве измерила бы не тот предмет, и числа выглядели бы нормально.
⛔ **И вторая половина, которая хуже первой: мой КОНТРОЛЬ тоже был дефектным и подтвердил негодный прибор.**
Я проверял три формы записи времени строкой `n=$(find … 2>&1 | wc -l)` и считал успехом `n ≥ 1`. Все три
формы напечатали по **десять строк ошибки**, и все три получили галочку «✓ находит заведомо свежий файл».
⇒ **контроль, считающий СТРОКИ ВЫВОДА вместо СОВПАДЕНИЙ, подтверждает что угодно, включая собственную
поломку**; `2>&1` в контроле превращает диагностику в «результат». Годный контроль сравнивает с ИМЕНЕМ
ожидаемого файла и печатает код возврата первого звена — `код возврата: 141` виден сразу, «10» не виден
никогда.
**Практика:** относительное время в `find` — только `-mmin`/`-mtime`; рядом с любым нулём печатать
`PIPESTATUS`/код возврата; контроль прибора строить на ОЖИДАЕМОМ СОДЕРЖИМОМ, а не на количестве строк.
⚠ Родня записанного выше класса «обёртка вокруг встроенной команды даёт 127, а счётчик печатает 0» —
механизм тот же, программа другая: **ненулевой код молчит, когда его вывод отправлен в `/dev/null`.**