simbiot-harness/docs/digests/day-2026-10-05.md

6.5 KiB
Raw Blame History

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 докопался до корня:

  1. 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.
  2. Топология деплоя задокументирована (её никто не знал): прод = 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-деплоя лендинга не существует.
  3. Деплой-кит (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-комментарий с текстом «