schema: spec-driven context: | Сервис: GoToSocial (федиверсная нода ActivityPub) на bigbox в Docker. Домен: social.dedinit.ru (A → 87.242.100.206 = vps02), split-domain: account-domain=dedinit.ru (юзеры @user@dedinit.ru), .well-known/webfinger·nodeinfo·host-meta редиректы на apex (Jino, доступ к файлам есть). Хостинг: bigbox (10.8.0.2, WG 10.8.0.0/24) — сам сервис; vps02 (87.242.100.206, Caddy 2, host net) — реверс-прокси; рестарт сервисов — только извне (SSH sudo). SSH: vps02 = estorozhenko@87.242.100.206, ключ /mnt/yandex-disk/.ssh_box/cloudruVPS; bigbox = локально. База: SQLite (файл /opt/gotosocial/data/sqlite.db). Медиа: локально /opt/gotosocial/data/storage, монтируется в контейнер. SMTP: smtp.jino.ru:587 STARTTLS, логин social@dedinit.ru, аутентификация — для писем GtS. Секреты: .env в /opt/gotosocial (в git исключён). Конфиг GtS: config.yaml. Бэкап: SQLite consistent (VACUUM INTO / sqlite3 .backup) + медиа; локально 7 дней + Яндекс.Диск (mount /mnt/yandex-disk/backup/gotosocial-backups/) 30 дней. Мониторинг: Prometheus на bigbox (127.0.0.1:9090, host net), Grafana :3001 (grafana.nixg.ru), Loki :3100 + promtail; метрики GtS: metrics-enabled + OTEL prometheus; логи: log-format json → promtail job. Git: источник истины gitverse.ru (kpa39l), gitea.nixg.ru — pull-mirror (8h). Коммиты — маленькие, по изменениям. Версии: последний стабильный релиз GtS, фиксированный тег в compose, обновление вручную. rules: proposal: - Указывать затронутые сервисы и порты - Включать план отката (rollback) specs: - Требования в формате MUST/SHOULD/MAY - Сценарии проверки: GIVEN/WHEN/THEN с конкретными командами верификации (systemctl status, curl, docker ps) design: - Указывать конкретные файлы конфигов и юнитов - Включать команды применения и проверки tasks: - Каждая задача — проверяемый шаг с командой верификации