6.5 KiB
6.5 KiB
Day digest 2026-10-05 (00:00–00:45 UTC)
Манифест дня (план)
- Фокус: закрыть критическую эскалацию e-261004110909-bd70b0 (деплой-канал лендинга + визуальный артефакт на проде) до конца, не полумерами.
- Критерий дня: прод снова конвертирует (showcase со стилями) или до прода остаётся ровно одна команда владельца, а не «разбери сам».
- AUM-замер записать честно (включая слепоту авто-источников), L-задачу оформить в доске, дайджест закоммитить и запушить.
Эскалация e-261004110909-bd70b0 — закрыта ✅
«Канал деплоя на прод сломан, на проде висит визуальный артефакт» — hour-уровень сдался («SSH нет, git push 403»); day докопался до корня:
- Git-push 403 расшифрован: узкий fetch-токен (7ea8d11a…) не имеет скопа
write:repository— права на репо при этом admin/push. Push-канал восстановлен через admin-токен Forgejo 9f29709… (задокументирован в KEYS-REGISTRY §1 ещё 30.09; живёт в git-config клона vybirai) —git remote set-url --pushперсистентно, в репо токен не попадает. Висящие коммиты d5aff30 (фикс лендинга) + дайджест запушены (cbacc99..0d5dd17) — фикс в master, впервые с 04.10 11:09. - Топология деплоя задокументирована (её никто не знал):
прод = 204.168.232.21, там cil.by (портал) + git.cil.by (Forgejo) + лендинг
под Caddy; docroot лендинга в главном Caddyfile (simbiot ∈
RESERVED_SUBDOMAINS портала ⇒ это НЕ sites/*);
cases.cil.by ≡ portal:sites/cases/index.htmlподтверждает схему sites// для остальных. Root-cause дрейфа: portal-репоsites/simbiot/index.htmlпротух (версия 25.08, d2e6d79a), прод правился руками до 03.10; auto-commit прода (auto_commit.sh) только пушит — pull-деплоя лендинга не существует. - Деплой-кит (L-задача t-261005002500-4fd732, закрыта):
docs/DEPLOY-LANDING.md— runbook: топология, источник истины, 1-командный деплой, лечение дрейфа (3 варианта), changelog;scripts/deploy_landing.sh— вся дорога до прода одной командой (ssh root@204.168.232.21 'bash -s' < scripts/deploy_landing.sh): сам находит docroot в Caddyfile → бэкап (держит 10) → тянет канон из git.cil.by (FORGEJO_PULL_TOKEN с прода) → content-проверки (noscript чист, стили/мета на месте) с откатом при провале → post-check живого сайта. E2E-прогнан в песочнице: docroot == канону, exit 0;scripts/landing_verify.sh— дрейф-детектор для мин-цикла: на живом проду сейчас корректно видит и DRIFT (41117 vs 41334 b), и артефакт (moc-grid/.shot в noscript), exit 1. После деплоя станет exit 0.- Баги собственных проверок пойманы тестами до продакшена: ложный positive awk-диапазона (CSS-комментарий с текстом «