mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-29 03:09:36 +00:00
SPEC-REVIEW-403-r2 объявил материал раунда на `HEAD = 83005c3c`, и тот же SHA независимо назвал автор ТЗ в комментарии issue. Разбор подтвердил находку и уточнил её: коммит существовал, но к моменту публикации был осиротевшим. Ветку перебазировали за пятнадцать минут ДО публикации документа — спец-коммит переехал в94502d3dс тем же сообщением и тем же содержимым (блоб ТЗ у обоих56a92e12). Через раунд команда `git diff 83005c3c..HEAD` из §2.10 буквально не работала, и r3 восстанавливал коммит по содержимому диффа руками. Гейт судит только объявление материала в шапке документа, а не каждое шестнадцатеричное слово: в прозе SHA упоминаются исторически, и обещания воспроизводимости на них нет. Границы кандидата подобраны по корпусу — 7–40 знаков, хотя бы одна буква, не после `#`, не внутри длинного хеша; это отсекает sha256, цвета и номера прогонов. Достижимость считается от refs/remotes/origin, а не от локальных ссылок. Разница не теоретическая: осиротевший 83005c3c до сих пор достижим в клоне автора из необновлённой локальной ветки — локальная проверка сказала бы «всё в порядке» ровно на той машине, где ошибку и совершили. Шаг стоит ПОСЛЕ публикации и ДО перестановки метки. Артефакт ревью терялся здесь трижды (#171, #220), и «вердикт без документа» дороже мёртвой ссылки: документ сначала спасается, потом судится. Инвариант «метка не сменилась = прогон упал» при этом сохраняется. Проверено на настоящих документах: SPEC-REVIEW-403-r2 отказ, CODE-REVIEW-390-r1 проходит, документ без объявления материала не судится. Issue: #413 User-Visible: no