


Тут зберігаються резервні копії сайту, включно з повним deep-архівом для нового бота/оператора.
Якщо основний Vercel-сайт тимчасово не відкривається, використовуйте резервну статичну копію на GitHub Pages.
Відкрити резервне дзеркало Аварійна інструкція
Основне резервне дзеркало Cloudflare Pages уже працює для перегляду графіків. GitHub Pages-дубль також підготовлений у гілці gh-pages, але може потребувати одноразового ввімкнення в Settings → Pages. Публікація змін через редактор працює на основному Vercel-сайті; офлайн-зміни можна зберегти пакетом JSON.
Найповніший ZIP: сайт, дані, скрипти, MACHINE_OPERATING_MANUAL, RESTORE_HANDOFF, LAST_KNOWN_STATE і agent-knowledge з алгоритмами. Потрібен, якщо зміниться бот/оператор або треба почати з цього місця заново.
Стан: 28.08.2026 15:10, 4.0 МБ
⬇️ Скачати повний deep-архівОсновна резервна копія поточного стабільного сайту для швидкого відновлення.
Стан: 08.09.2026 19:20, 5.2 МБ
⬇️ Скачати головний архівОновлюється не частіше ніж раз на тиждень.
Стан: 09.09.2026 12:26, 12.6 МБ
⬇️ Скачати тижневий архівПерезаписується щодня автоматично.
Стан: 09.09.2026 12:26, 12.6 МБ
⬇️ Скачати щоденний архівЯк працювати, щоб не затирати дані крону. Обов'язковий до виконання контракт між серверним Hermes (Linux) і десктопним Hermes (Windows).
| Файл / папка | Хто пише | Коли |
|---|---|---|
tickets/*.html, tickets/YYYY-MM.html | Серверний cron | 06:00 + 30-хв fetch |
stt/*.html | Серверний cron | 06:00 + 30-хв fetch |
assets/data/controller-tickets.json | Серверний cron | 06:00 |
assets/stt-reports/* | Серверний cron | 30-хв fetch |
assets/archives/*.zip, archive-manifest.txt | Серверний cron | 18:00 + нд 18:10 |
index.html, daily.html, daily/DD.MM.YY.html | Десктопний (ти) | будь-коли |
districts.html, districts/YYYY-MM.html, months/YYYY-MM.html | Десктопний (ти) | будь-коли |
problems.html, vacations.html, tab.html, tab/ | Десктопний (ти) | будь-коли |
service-worker.js (бамп CACHE_NAME) | Десктопний (ти) | при кожному push |
Це правило вирішує ВСІ конфлікти раз і назавжди. Воно усуває race-condition: серверний крон о 06:00 пушить нові tickets/ та stt/ в main, а якщо десктоп зробить git pull між 06:00 і 09:00, його локальна копія старіша за main, і rebase виглядає ніби крон затирає desktop-зміни, хоча насправді це desktop затирає дані крону.
curl https://chets-schedule.vercel.app/service-worker.js | Select-String "CACHE_NAME"
# Запам'ятай: v756 — це поточна версія на VercelЦя команда показує, що зараз на production-сайті. Vercel бере з main. master — це legacy, туди не пушимо.
cd C:\Users\St_Lv\hermes-server\vercel-project
git checkout main
git pull origin mainЯкщо в консолі CONFLICT (...) in tickets/... або in stt/...:
git checkout --theirs tickets/ stt/
git add tickets/ stt/
git rebase --continuegit statusM tickets/... або M stt/... — НЕ редагуй ці файли! Це означає, що крон оновив їх поки ти не працював, і rebase прийняв твою старішу версію. Відкоти: git checkout -- tickets/ stt/index.html: $vercelIndex = (Invoke-WebRequest "https://chets-schedule.vercel.app/index.html" -UseBasicParsing).Content
git diff .vercel-baseline-index.html index.html
# Якщо diff порожній — у тебе та сама версія що й на Vercel, можна редагуватиindex.html, daily/, districts/, months/, problems.html, vacations.html, tab.html, service-worker.js.service-worker.js, збільш число на 1:const CACHE_NAME = 'chets-schedule-v757'; // було 756git statusM index.html, M daily.html, M service-worker.js, ...M tickets/..., M stt/..., M assets/data/..., M assets/archives/... — це зона крону!Якщо побачив заборонені — негайно git checkout -- tickets/ stt/ assets/data/ assets/archives/
git add -A
git commit -m "Короткий опис зміни"
git push origin mainStart-Sleep -Seconds 45
curl https://chets-schedule.vercel.app/service-worker.js | Select-String "CACHE_NAME"Має показати нову версію (на 1 більше). Якщо ні — .\vercel-deploy.ps1
tickets/ (вся папка) — пише серверний cronstt/ (вся папка) — пише серверний cronassets/data/controller-tickets.jsonassets/stt-reports/assets/archives/*.zipassets/archives/archive-manifest.txtЯкщо тобі треба побачити дані крону — просто читай з Vercel через curl або в браузері.
git push origin master # ЗАБОРОНЕНОmaster — це legacy гілка. Vercel бере тільки main. (Серверний Hermes на цій машині іноді тригерить deploy на main, але master не має жодних deploy hooks.)
git push --force без дозволу:git push origin main --force # ЗАБОРОНЕНОForce-push стирає всі комміти включно з тими, що поклав крон.
D:\ВЕРСЕЛ ЧЕТС АРХИВ\:cd C:\Users\St_Lv\hermes-server\vercel-project
git checkout main
git pull origin main
notepad daily\10.09.26.html
# Відкрий service-worker.js, v756 → v757
git add -A
git commit -m "daily 10.09: додав пару 4 Битко+Ніколіч"
git push origin main
# Зачекай 45 сек, перевір Vercelcd C:\Users\St_Lv\hermes-server\vercel-project
git checkout main
git pull origin main
notepad index.html
# Відкрий service-worker.js, v756 → v757
git add -A
git commit -m "index: додав ДН-кнопку"
git push origin main
# Зачекай 45 сек, перевір Vercelcd C:\Users\St_Lv\hermes-server\vercel-project
git checkout main
git pull origin main
notepad districts\2026-09.html
# Відкрий service-worker.js, v756 → v757
git add -A
git commit -m "districts 09: додав Іваненко"
git push origin main
# Зачекай 45 сек, перевір VercelНе змішуй правки в одному коміті:
daily 10.09: додав пару 4 (тільки daily + SW)оновив все (коли там і index, і daily, і districts)Чому: якщо один коміт зламає сайт, можна git revert тільки його, не зачіпаючи інше.
sync-desktop.ps1 — це спрощений скрипт для рутинних комітів. Він має параметр -CheckVercel:
.\sync-desktop.ps1 -CheckVercel "daily 10.09: додав пару 4"Що робить скрипт з -CheckVercel:
.vercel-baseline-*.html--theirsgit status — якщо в M з'явились tickets/stt/assets → автоматично відкочуєgit add -A → якщо -A додало заборонені → автоматично прибирає і зупиняєтьсяСкрипт фізично не може затерти дані крону — навіть якщо правило забуте.
-CheckVercel — це спрощений режим. Використовуй тільки коли точно знаєш, що в tickets/stt нічого нового немає (наприклад, щойно пушив і нікуди не відходив).# 1. Перевір чи push дійсно був
git log --oneline -3
# 2. Зачекай 60 сек (Vercel іноді тупить)
Start-Sleep -Seconds 60
# 3. Перевір знову
curl https://chets-schedule.vercel.app/service-worker.js | Select-String "CACHE_NAME"
# 4. Якщо все ще старий — backup deploy
.\vercel-deploy.ps1Це крон оновив файли поки ти працював. Завжди бери THEIR:
git checkout --theirs tickets/ stt/
git add tickets/ stt/
git rebase --continue
# Якщо rebase каже "nothing to commit":
git rebase --skipНе панікуй. GitHub зберігає історію. Знайди останній коміт крону і відкоти:
# Знайди коміт крону (шукай в історії 'tickets+STT sync' або 'stt/')
git log --all --oneline | Select-String "tickets"
# Наприклад знайшов: 35a1a9c tickets/09.09.2026
# Відкоти файли з того коміту:
git checkout 35a1a9c -- tickets/ stt/
# Закоміть як відновлення:
git add tickets/ stt/
git commit -m "RESTORE: повернув дані крону з 35a1a9c після випадкового затирання"
git push origin mainАбо швидко: напиши в Telegram серверному Hermes: "я затер tickets/stt, відкоти".
Vercel деплоїть тільки ті файли, що закомічені в main. Перевір:
git ls-files | Select-String "11.09"
# Має показати daily/11.09.26.html якщо ти його додавC:\Users\St_Lv\hermes-server\vercel-project\
├── index.html # ГОЛОВНА (вересень 2026) — ТВІЙ
├── daily.html, districts.html, problems.html, stt.html
├── vacations.html, tab.html, needs.html, editor.html
├── months/2026-XX.html # місячні графіки — ТВІЙ
├── daily/DD.MM.YY.html # щоденні графіки — ТВІЙ
├── districts/YYYY-MM.html # дільниці — ТВІЙ
├── tickets/ # ⚠️ КРОНУ, не редагуй
├── stt/ # ⚠️ КРОНУ, не редагуй
├── tab/ # табель — ТВІЙ
├── assets/
│ ├── month-redirect.js # авто-підсвічування місяця
│ ├── problems-auto-month.js
│ ├── vacations-auto-month.js
│ ├── data/ # ⚠️ КРОНУ (controller-tickets.json)
│ ├── stt-reports/ # ⚠️ КРОНУ
│ └── archives/ # ⚠️ КРОНУ
├── service-worker.js # CACHE_NAME — ЗАВЖДИ бампати
├── sync-desktop.ps1 # pull+commit+push+verify
├── vercel-deploy.ps1 # backup deploy
├── backup-hermes.ps1 # backup to D:\
├── restore-hermes.ps1 # restore from backup
├── install-scheduled-task.ps1
├── MACHINE_OPERATING_MANUAL_LOCAL.md
├── SURVIVAL_GUIDE.md
└── INSTALL_SYNC.md/opt/data/vercel-project/, керує cron-амиC:\Users\St_Lv\hermes-server\vercel-project\, редагує HTML🎓 ЗОЛОТЕ ПРАВИЛО: Vercel — правда. GitHub main — її дзеркало. Локально — твій чорновик.