# 🔴 ФАЙЛЫ: СОХРАНЯЕМ ИЕРАРХИЮ И СОБРАННОСТЬ (не раскидывать куски)

Директива пользователя (2026-06-07):
> «при работе с файлами, если есть система хранения, надо сохранять иерархии и собранность —
> а то по разным местам куски, неудобно.»

## Правило
При создании/перемещении/сохранении ЛЮБОГО файла:

1. **Сначала спроси: где это МЕСТО в существующей структуре?** Если у проекта/системы есть
   установленная иерархия (репозиторий, knowledge base, `docs/layers/`, `datasets/`, папка
   проекта, registry) — клади файл В НЕЁ, в правильное место. НЕ в случайный/временный путь.
2. **Связанное — вместе (cohesion).** Все артефакты одной задачи/фичи/прогона живут в ОДНОЙ
   папке (или одной ветке дерева), а не размазаны по `/tmp`, корню home, Desktop, Downloads и
   трём разным каталогам. Кусок тут, кусок там = плохо.
3. **Зеркаль существующие конвенции.** Если рядом есть структура (`scripts/`, `references/`,
   `handoffs/`, `memory/`, `feat-NNN-*.md`) — продолжай её, а не изобретай новое место.
4. **Scratch только для реально одноразового.** Временные дампы/логи можно в temp — но любой
   durable-артефакт (код, доки, конфиг, дата, заметка, результат) → в постоянный дом сразу,
   а не «потом разложу».
5. **Перед завершением — собранность.** Если в ходе работы наплодил файлов в разных местах —
   собери их в правильную иерархию до конца задачи (не оставляй «по кусочкам»).

## Почему
Раскиданные файлы = их не найти (ни мне в следующей сессии, ни пользователю). Это нарушает
agent-legibility («что агент не может найти/достать — для него не существует») и
codified-context (структура = инфраструктура). Собранная иерархия = находимость, бэкап одним
куском, переносимость, понятность.

## Применение (и к локальной машине, и к удалённым серверам)
- Локально: проект → его папка/репо; знание → `knowledge/memory|handoffs`; не сыпать в корень
  home-директории (`~`), на Desktop, в Downloads.
- На серверах: рабочие скрипты прогона → каталог проекта/прогона (напр. рядом с данными),
  а не врассыпную по `/tmp` отдельными кусками; если уж `/tmp` для оперативного — то одной
  папкой `/tmp/<task>/`, а durable — в `/workspace/<project>/`.
- Дампы/отчёты для анализа → в папку задачи, с понятным именем, рядом с остальным по теме.

## Механически
- Хук `file-cohesion-guard.py` (PreToolUse `Write|Edit`) — **advisory** (не блок): напоминает,
  когда durable-файл пишется в «рассыпную»/scratch-локацию (корень home, Desktop, Downloads,
  temp), спросить «есть ли для этого место в структуре».
- Хук — мягкий (judgment, не жёсткое правило); решение за мной, но напоминание срабатывает.

## Связано
- `principles/28-feature-layer-architecture.md` — где что хранить (tiers, kb-skeleton).
- `git-source-of-truth.md` — durable → в git, в правильном месте.
- CLAUDE.md «Codified Context», «Agent-Legible Environment» — структура = инфраструктура,
  находимость обязательна.
