# ADR-0007: Дом разработки — свой Gitea, GitHub — зеркало

Принято: 2026-07-29
Статус: accepted

## Решение

Активную разработку — код, issues, PR, ревью — ведём в собственном Gitea
(`git.dementev.space`). Он остаётся домом независимо от того, чем закончится
история с блокировкой GitHub-аккаунта. GitHub держим как **публичное зеркало**
кода: туда уходит `main`, чтобы у менти и внешнего читателя была привычная
публичная ссылка.

## Контекст

Поводом стала блокировка аккаунта `dementev-dev` (2026-07-26): работа встала,
пока не подняли Gitea. Но решение принято не «назло» блокировке — своя площадка
выигрывает и по существу:

- **Свой API — без лимитов.** Агентские скиллы (wayfinder, триаж, конвейер)
  дёргают трекер интенсивно. На чужом хостинге это упирается в квоты, на своём —
  нет.
- **Ещё одна резервная копия.** Репозиторий физически лежит на своём железе, а
  не только у поставщика услуги.
- **Ролевые игры с менти.** Форк репозитория, ветка, PR, ревью, обсуждение в
  issue — весь учебный цикл «как в настоящей команде» Gitea даёт целиком, и
  удобнее GitLab. Заводить менти учебные аккаунты на своём хосте можно свободно.

Против Gitea был один довод: публичность ссылок и привычность GitHub в резюме
менти. Зеркало его снимает.

## Последствия

- **Трекер один — Gitea.** Контракт уже переписан на `tea`
  (`docs/agents/issue-tracker.md`). Зеркало на GitHub — только код; issues туда
  не едут, и это не потеря: issue — вещь короткоживущая, а всё, что должно
  пережить задачу, лежит в самом репозитории — спеки (`docs/specs/`), ADR и
  история коммитов. Зеркало кода несёт эту часть целиком.
- **Зеркало настраиваем встроенным push-mirror Gitea**, направление одно:
  Gitea → GitHub. Обратной синхронизации нет, чтобы не было двух источников
  истины. Настройка отложена до разблокировки аккаунта.
- **Репозиторий v2** (кандидат имени `clickstream-data-platform`) создаём сразу
  в Gitea, с тем же зеркалированием.
- В ADR-0001 GitHub Issues значится как отклонённый вариант — это запись своего
  времени (тогда поток держали файлами в `.scratch/`), переписывать её не нужно.
