Наблюдение и вывод — разные объекты, передавать надо первое
Формулировка координатора тиражируется вниз без перепроверки: её читают пять исполнителей и заводят по ней задачи. Поэтому у передаваемого факта два обязательных поля — чем получен и что именно не проверялось.
| Как ушло | Как надо было |
|---|---|
| «Домен не куплен» | «Сайт не отвечает, запрос вернул 000; куплен ли домен — не проверял» |
| «Дедлайн у платформы — 30.09» | «Слышал про 30.09, источник не найден» (в официальном прайсе такой даты нет) |
Разница видна на письме и почти не ощущается в момент написания: вывод звучит компетентнее, наблюдение — осторожнее. Проверка простая: из сообщения должно быть видно, какой командой получен факт. Не видно — значит передан вывод.
Передаточный документ — снимок, а не состояние
Приём роли по хендоффу выглядит как чтение инструкции, а на деле это чтение списка гипотез с приоритетом. Особенно быстро протухает всё, что описывает среду: процессы, память, диск, расписания. Здесь хватило получаса.
| Пункт хендоффа | Свой замер |
|---|---|
| «Автозапуски плодят сессии» | Обе задачи расписания отключены — источник дублей уже перекрыт |
| «22 процесса агента — накопленный мусор» | Все 35 процессов стартовали в течение 30 минут после перезапуска приложения: зомби нет, это цена 12–16 одновременных живых чатов |
| «42 процесса браузера — непогашенные превью» | Командная строка показала обычный профиль: это личный браузер человека, а не наши проверки |
| «178 мёртвых копий / 106 ГБ» и «202 каталога / 115 ГБ» — рост | Разные замеры (мёртвые против всех), сравнивать их как одну величину нельзя |
Опасность не в неточности, а в подсказанном действии. Все четыре пункта звучали как факты и предлагали очевидный шаг: «убить зомби», «погасить браузеры», «остановить расписания». Три из четырёх шагов были бы вредительством. Перед первым действием по унаследованному пункту — свой замер той же величины, и в отчёт идёт замер, а не цитата предшественника.
Проверяется дисциплина одним признаком: если сводка преемника дословно повторяет хендофф, перепроверки не было. У каждого унаследованного пункта стоит либо своя команда замера, либо честное «не проверял».
Отказ от собственного утверждения — тоже утверждение
Самый неочевидный случай заезда. Координатор передал исполнителю значение из канона цен. Исполнитель возразил: по его памяти эта строка прайса удалена. Координатор согласился в тот же ход, признал ошибку и вдобавок поручил поправить карточку задачи, чтобы следующий не повторил.
Проверка по общей ветке дала обратное: карточка была точна. Возражение относилось к другой строке прайса, у которой случайно совпала сумма. Ошибочным оказалось не исходное утверждение, а отказ от него, — и поручение «поправить карточку» испортило бы корректные данные, а следующий прочитал бы уже настоящую ошибку.
Отдельный маркер этого класса — совпадение чисел: одна сумма в двух строках прайса, одинаковый счётчик у двух разных величин. Прежде чем сводить их в одну, стоит убедиться, что это одна величина, а не совпадение. И ещё одно наблюдение про доверие: серия верных поправок от одного человека создаёт кредит, и следующая проходит без проверки — именно она и оказывается неверной.
«Инструмента нет» и «так нельзя» — утверждения с тем же сроком годности
Аудитор заезда вынес в отчёт: навыка, на который ссылается инструкция, не существует — в каталоге его нет, роль держится на памяти. Проверка на следующем ходу: навык есть в общей ветке и полон — 123 строки, четыре коммита истории. Не хватало его только в том рабочем каталоге, откуда смотрели.
Зеркальный случай дал тот же заезд. Инструкция самого навыка утверждала: закрыть чаты программно нельзя, реестр их не видит, закрывает человек руками. Аудитор закрыл 52 чата программно за один заход. Утверждение было верным когда-то и молча устарело, а стоило оно человеку ручного клика на каждом закрытии.
Правило для запретов в собственных инструкциях. Формулировка «нельзя» без пометки «проверено такого-то числа таким-то вызовом» превращается в вечный запрет: его никто не перепроверяет именно потому, что он записан в правилах. Ограничение платформы — не канон, возможности инструментов меняются между заездами. Один пробный вызов дешевле, чем заезд, выстроенный вокруг обхода несуществующего запрета.
Что делать у себя
- Передавать наблюдение с командой. Формат «сделал то-то, получил то-то, вывод такой, не проверял вот это» длиннее на строку и снимает второй круг уточнений.
- Метить статус каждого факта. Проверено (чем) · частично · не проверено. Отсутствие метки читается как «проверено» — так и тиражируется.
- Раздавая работу, отдавать и свои замеры — так, чтобы получатель мог их опровергнуть. Замер без возможности проверки живёт дальше как факт.
- Проверять возражения так же, как утверждения. Согласие без проверки — вежливость, а не работа.