diff --git a/KNOWN_ISSUES.md b/KNOWN_ISSUES.md index 0690e49..72567c5 100644 --- a/KNOWN_ISSUES.md +++ b/KNOWN_ISSUES.md @@ -4,6 +4,23 @@ > Формат: дата | что было | статус | fix --- +## 2026-10-03 — `negative_controls_runner`: bash резолвился только через PATH (Fixed) + +- **Симптом:** pre-commit → `NEGATIVE CONTROLS: FAILED (broken=1, unproven=0)`; `drift_gate` + помечен `[BROKEN]` с пояснением «bash недоступен (нет GitBash; System32\bash.exe — WSL-шим)». + **Все 11 гейтов хука блокировали любой коммит.** +- **Root cause:** `_resolve_bash()` брал только `shutil.which("bash")`. Из агентской оболочки + (PowerShell) каталог Git в PATH отсутствует, поэтому `which` возвращал WSL-шим + `C:\WINDOWS\system32\bash.exe`, который функция справедливо отбраковывала → `None`. + GitBash при этом **установлен** (`C:\Program Files\Git\bin\bash.exe`). Тот же класс, что + «Гейт был непригоден вне папки одного разработчика»: гейт жил только в оболочке автора. +- **Fix:** резолвер дополнительно обходит типовые корни установки Git + (`ProgramFiles/Git/{bin,usr/bin}`) и корень, выведенный из `git` на PATH; WSL-шим + по-прежнему отбрасывается. +- **Guard:** `drift_gate` переходит `[BROKEN]` → `[PROVEN]`, инвентарь даёт + `ALL PROVEN (3)`, rc=0; полный хук — `All pre-commit checks passed`. +- **Класс:** P-022 (состояние, зависящее от контекста запуска: путь, заданный оболочкой автора). + ## 2026-10-03 — Параллельные сессии без границ: 3 инцидента за один день (Open, P1) - **Инцидент 1 (каталог-призрак).** `tools/knowledge/` (15 файлов, включая замороженный тред и referent отрицательного результата D-05) появился в общем дереве, через ~2 минуты