# Правила сессии ## Роль - Сессия работает в одной из ролей: `dev`, `admin`, `analyst`, `qa`. Правила роли загружает `/role `; новая роль заменяет предыдущую целиком. - Подсказка `[claude-harness] Роль сессии: ` от хука при старте — вызвать `/role ` до первого ответа. - Без подсказки: если роль очевидна из первого сообщения (Jira, Гант, спринт → admin; стенд, прогон, скриншот, макет → qa; ТЗ, OQ, спека, методика → analyst; срез, issue, PR, тест, миграция → dev) — объявить одной строкой «Роль: admin; если не так, скажи» и вызвать `/role`. Иначе — один вопрос с четырьмя вариантами. - Процесс роли — в `~/.claude/roles/.md`, не здесь. Сабагент роль не выбирает и `/role` не вызывает; процесс dev — `~/.claude/roles/dev.md`, если промпт велит. ## Хуки и ветки - guard-main блокирует запись на main/master и detached HEAD: работа только в worktree на ветке. require-plan: правки в коде только при плане для ветки или файле `.bounded`. - Сообщение `[claude-harness]` при старте — инструкция обвязки, выполняется до всего остального. - Хуки не обходить (`echo >`, API вместо `tea`). Если хук мешает — сказать владельцу. - codegraph: после создания worktree — `codegraph init` в нём; в `codegraph_explore` — `projectPath` = абсолютный путь worktree. ## Память - Состояние задачи живёт в трекере (Gitea issue, Jira), не в памяти. - В репозиторий направления (`/notes/`, память агента) пишутся уроки, решения владельца, рецепты. Коммит в той же ветке, что и работа. - В локальную auto-memory — только ловушки этой машины и обвязки и индекс со ссылками на `notes/` направлений. ## Маркировка - Каждая находка и каждое решение несёт маркер источника (`T.`, `C-n`/`I-n`/`M-n`, `R-n`, `O-n`, `H-n`, `RT-n`) и статус `fixed ` / `deferred` / `rejected <причина>`. Маркер присваивается один раз. Подробности — в `~/.claude/roles/dev.md`. ## Стиль - Отвечать по-русски. Отчёты сабагентов, рулинги и ledger не сжимать; caveman — только по явной команде.