Files
admin/NEXT-SESSION-PROMPT.md
vitya acb1c8e126 chore(.tasks): iis-on-host-migration -> paused after rollback
Status: done (false) -> paused (true). Миграция была сделана,
сломала prod (Docker port-loop), откатили. Артефакты на хосте
остались inert для следующей попытки.

- STATUS: 🟢 done -> 🟡 paused с детальным where-I-stopped
- iis-on-host-migration: Phase 9 rollback задокументирован, что
  НЕ делать в следующей попытке (cross-ref на post-mortem)
- NEXT-SESSION-PROMPT: переписан для retry-сценария — обязательное
  чтение post-mortem перед началом, recipe из 5 пунктов

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 15:08:17 +03:00

4.5 KiB
Raw Blame History

Prompt для следующей сессии

Скопируй этот блок и вставь как первое сообщение:


Привет! Возвращаемся к iis-on-host-migration. Перед началом обязательно прочти:

  1. .wiki/concepts/iis-migration-2026-05-19-postmortem.md — почему предыдущая попытка сломала prod
  2. .wiki/sources/iis-host-migration-2026-05-19.md (Phase 9 в конце — про rollback)
  3. .wiki/concepts/recovery-architecture-snapshot.md (актуальный VM-chain)

Кратко где мы сейчас (после rollback):

  • Prod снова через VM snolla-recovery (как было до session 2026-05-19). 11 main routes + 2 stayer routes в traefik → host.docker.internal:18080/18180/18181 → VM IIS.
  • На хосте есть inert артефакты предыдущей попытки миграции — НЕ удалять без явного решения:
    • C:\sites\{snolla, stostayer, stostayer.old, snolla-identity-manager} — Web.config'и уже patched (sitePath, conn-strings).
    • IIS sites/pools snolla, stostayer, stostayer.old готовы (.NET v4.0 Integrated, ApplicationPoolIdentity, ACL).
    • Traefik backup-stamps *.bak-phase3-2026-05-19, *.bak-stayer-switch-2026-05-19, *.bak-hostip-2026-05-19.

Цель повторной попытки — выполнить миграцию по recipe из post-mortem, без повторения 10 ошибок:

  1. Backend port — НЕ :80. Использовать :18080 на хосте (старый VM NAT port forward, теперь свободен после unregistervm или после остановки VM). Или другой свободный (НЕ совпадающий с traefik publish-ports :8000, :4443, :8080). Это избегает Docker NAT loop.
  2. Smoke test с -MaximumRedirection 0 / --max-redirs 0 + read first response. Если Location == request URL или близко → loop, fail fast.
  3. Тест из НЕ-LAN сети (телефон через мобильный интернет, VPS curl) до commit'a — не доверять local smoke.
  4. Параллельный run VM x 24h+НЕ savestate'ить VM на следующий же день. Держать как hot fallback хотя бы сутки реального трафика.
  5. Atomic revert plan ДО старта — backup всех traefik yml, написать "если что — paste this" revert-команду заранее.

Не делай без моего "да":

  • Любые traefik patches (меняет prod-трафик).
  • Любые destructive операции на C:\sites\, C:\nas-recovery\vm-sites\, snolla.ova.
  • Глушить VM до подтверждённой 24h+ стабильности host'а.
  • Push в git (gitea пока на мёртвой синке, и autopush не разрешён в любом случае).

Контекстные пароли (в Web.config / .env, не в чате):

  • MSSQL SA: C:\Users\vitya\projects\docker\diskstation\mssql\.env
  • snolla CMS conn: user snolla, password в C:\sites\snolla\Web.config (fXkH4@8O%3pc)
  • stostayer (новый): user stayer_site, password в C:\sites\stostayer\Web.config (^I9D)LB)DK)8J#xBDG$t}W&amp;_ioaT!M!LF, XML-escape!)
  • VM SSH: ~/.ssh/id_ed25519_snolla_vmvitya@127.0.0.1:8022 (NAT-forward)
  • VM admin password: Pryakhin9

Поехали — но сначала прочти post-mortem полностью.


Что почитать AI-агенту перед началом (для самопроверки контекста)

  • .wiki/overview.md — точки входа
  • .wiki/concepts/iis-migration-2026-05-19-postmortem.md ← critical (10 ошибок + recipe)
  • .wiki/sources/iis-host-migration-2026-05-19.md (включая Phase 9 в конце)
  • .wiki/sources/nas-recovery-session-2026-05-18.md — почему вообще этот хост
  • .wiki/concepts/recovery-architecture-snapshot.md — актуальный VM-chain
  • .wiki/entities/snolla-recovery-vm.md — VM active prod
  • .wiki/entities/windows-recovery-host.md — host inert artifacts
  • .wiki/concepts/cms-config-rewrite-pattern.md — UTF-8 BOM
  • .wiki/concepts/webconfig-password-xml-escape.md&&amp; в conn-string
  • .tasks/STATUS.md
  • .tasks/iis-on-host-migration.md — Phase 1-9 история
  • Это сообщение