From 6fd3f560bc2e315ba7efb39bf8f0dff3d053a804 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9?= Date: Fri, 7 Aug 2026 10:39:40 +0300 Subject: [PATCH] =?UTF-8?q?chore(=D1=83=D1=82=D0=B5=D1=87=D0=BA=D0=B8):=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D1=89=D0=B5=D0=BD=D1=8B=20=D0=B4=D0=B2=D0=B5?= =?UTF-8?q?=20=D0=B2=D1=8B=D0=B4=D1=83=D0=BC=D0=B0=D0=BD=D0=BD=D1=8B=D0=B5?= =?UTF-8?q?=20=D0=BD=D0=B0=D1=85=D0=BE=D0=B4=D0=BA=D0=B8=20=D0=B8=D0=B7=20?= =?UTF-8?q?=D1=87=D1=83=D0=B6=D0=BE=D0=B3=D0=BE=20=D0=BA=D0=BE=D0=BC=D0=BC?= =?UTF-8?q?=D0=B8=D1=82=D0=B0=20=E2=80=94=20=D1=81=D1=82=D0=B5=D0=BD=D0=B0?= =?UTF-8?q?=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B4=20=D0=B2=D1=8B=D0=BA=D0=BB?= =?UTF-8?q?=D0=B0=D0=B4=D0=BA=D0=BE=D0=B9=20=D1=81=D0=BD=D1=8F=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Копия затеи не выкладывалась на наш сервер с 29-й смены. Сторож утечек `gitleaks-full-history` не пускал push и называл причину поимённо: коммит a4ff69aea от 07.08.2026 (чужая параллельная сессия), файл приёмочного отчёта стройки 6, правило `ru-phone-unmasked`, два попадания. 🔴 Поправка к тому, что было записано в передаче смены 30. Там сказано «замаскировать телефон в чужом файле». Перемерено: сторож ругается на ИСТОРИЮ коммитов, а не на сегодняшний файл. Маскировка сегодня номер из старого коммита не убирает, а историю коммитов мы не переписываем — то есть тот путь не работал вовсе. Проверено чтением файла на том коммите: номера ВЫДУМАННЫЕ — образец из диапазона 999 000-00-0X. В бумаге разбирается, почему знак задания от «+7 999 000-00-01» и от «7999000001» получался разный. Ничьих живых данных в файле нет. Это ровно тот класс, который в доме уже прощали шесть раз, и один раз — в точности такой же («пример формата, не ПДн и не чей-то номер», ContactCapture.php, 12.07.2026). Порядок соблюдён: две строки отпечатков плюс объяснение с датой и причиной. Решение владельца 07.08.2026: прощаем. 🟢 ПРИЁМКА СТОРОЖА СДЕЛАНА ВЫРЕЗАНИЕМ, А НЕ ОБЕЩАНИЕМ. Подложен файл с настоящими по виду незамаскированными номерами — сторож покраснел, два попадания. Значит прощение точечное: прощены ровно две выдуманные находки, живые номера ловятся по-прежнему. Подложка лежала вне репозитория и затёрта. Полный скан после правки: 7962 коммита, утечек НЕТ, код 0. Co-Authored-By: Claude Opus 5 --- .gitleaksignore | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.gitleaksignore b/.gitleaksignore index 328e1cd9..ac6b1c05 100644 --- a/.gitleaksignore +++ b/.gitleaksignore @@ -55,3 +55,13 @@ da4ab729df08ded7aa7d2523ef6c81efeacc1849:docs/superpowers/specs/2026-05-25-suppl # В рабочем коде пример уже замаскирован (+7 9XX XXX-XX-XX), но коммит остался в истории, # и full-history скан блокировал push. Настоящие номера сторож по-прежнему ловит. 6f72367b0f63154a7d9a5e3b9534a5e8a2911f99:app/app/Services/Bot/ContactCapture.php:ru-phone-unmasked:10 + +# 07.08.2026 — приёмочный отчёт стройки 6 (чужая параллельная сессия, коммит a4ff69aea): +# в бумаге разбирается, почему знак задания от «+7 999 000-00-01» и от «7999000001» +# получался разный. Номера ВЫДУМАННЫЕ — образец из диапазона 999 000-00-0X, ничьих живых +# данных в файле нет; проверено чтением файла на том коммите. Маскировать сегодня +# бесполезно: номера остались в старом коммите, а историю коммитов мы не переписываем. +# Из-за этих двух попаданий копия затеи не выкладывалась на наш сервер с 29-й смены +# (решение 133). Прощено по слову владельца 07.08.2026. Настоящие номера сторож ловит. +a4ff69aea36b6b361e7358cd8bc331712f602ab8:docs/superpowers/priyomka/stroyka-6/otchyot-pomoshchnika-znak-tela-2026-08-07.md:ru-phone-unmasked:45 +a4ff69aea36b6b361e7358cd8bc331712f602ab8:docs/superpowers/priyomka/stroyka-6/otchyot-pomoshchnika-znak-tela-2026-08-07.md:ru-phone-unmasked:216