On-call i ścieżka eskalacji¶
System przekazany 2026-05 — następne 3 miesiące (maj–sierpień 2026) to faza utrzymania bug-fix mode. Tutaj jest jak skontaktować się z zespołem developerskim, jakie są klasy incydentów i czego się spodziewać.
Krótko
- Sprint cadence — weekendowy. Coding + deploys tylko Sob/Nd. Pn–Pt brak ingerencji w produkcję poza krytycznymi P0.
- Forgejo (
git.aiofactory.pl) — kanał zgłoszeń nie-pilnych. Email — eskalacja P0/P1. - Owner notification — jeden batch raz w sprincie (niedziela wieczór). NIE oczekuj odpowiedzi punkt-po-punkcie w trakcie sprintu.
Sprint cadence — weekendowy bug-fix mode¶
Konwencja od 2026-05-01 (doc-085 w backlogu).
| Faza | Kiedy | Co się dzieje |
|---|---|---|
| Triage | Pt wieczór | Pull aktualnych issue'ów z Forgejo, cross-ref backlog, decyzja co wchodzi w sprint |
| Plan | Pt wieczór | Brainstorm + tasków pod-tasków pod Epic. Owner sign-off na design (Backlog notes, jeszcze bez kodu) |
| Build + Deploy | Sob/Nd | Implementacja, sub-agent dispatch, walidacja per-domena. Push do mastera + auto-deploy na prod wielokrotnie — testowanie poprawek na realnym ruchu prod jest celowe (linia produkcyjna stoi w weekend) |
| Verify | Nd po południu | Prod-on-dev verify queries, draft Forgejo „naprawione" replies w Sprint N — reply notes doc |
| Ship-the-message | Nd wieczór (lub kiedy sprint skończony) | Wszystkie Forgejo replies w jednym batchu. Owner dostaje jeden sprint-summary email |
| Quiet | Pn–Pt | ZERO kodowania, ZERO prod deploys. Owner pracuje bez ingerencji. Nowe Forgejo issue'y kolejkują się do następnego sprintu |
Powód: firma produkcyjna pracuje Pn–Pt; prod-issue spowodowany zmianą kodu w godzinach pracy = halt linii produkcyjnej. Eliminujemy blast-radius przez batchowanie zmian na weekend.
Wyjątki — mid-week tylko gdy:
- Realny outage produkcji wymaga hotfixa (linia już stoi).
- Owner explicitly prosi o mid-week zmianę.
W innych przypadkach: zgłoś do Forgejo → kolejka do następnego sprintu.
Klasy incydentów — P0 / P1 / P2 / P3¶
| Klasa | Definicja | Czas reakcji | Kanał |
|---|---|---|---|
| P0 | Pełny outage prod — panel nieosiągalny / Mailcow nie wysyła / sklep buyspace.pl 500 / utrata dostępu do hosta |
<2 h (mid-week) | Email properties:critical do dewelopera + SMS przez Bramkę (TextBee) jeśli skonfigurowana |
| P1 | Krytyczna funkcja zepsuta ale workaround istnieje (np. jeden marketplace fetch nie działa, manual publish pracuje) | Następny sprint (max 7 dni) | Forgejo issue z labelem bug + komentarz @-mention |
| P2 | Bug, który dotyka pojedynczych operacji ale nie blokuje pracy (UI glitch, źle sformatowany komunikat, niepełny log) | Backlog kolejki, 2–4 sprinty | Forgejo issue z labelem bug |
| P3 | Feature request / pomysł / pytanie | Brak SLA — owner akumuluje, wybiera priorytety | Forgejo issue (label: feature-request) lub bez labela jeśli pytanie |
Kryterium — czy to P0?¶
P0 wymaga wszystkich trzech:
- Skala: dotyka >50 % operatorów lub blokuje krytyczny proces (np. wszystkie publikacje na Allegro).
- Czas: trwa >15 min i nie samo-naprawia się.
- Brak workaroundu: nie ma alternatywnej ścieżki, żeby kontynuować pracę.
Pojedynczy zepsuty scenariusz CS dla jednego konta = P1, nie P0. Cały moduł CS down = P0.
Kontakt z zespołem developerskim¶
Bieżący kontakt (faza maintenance maj–sierpień 2026)¶
- Email:
dev@aiofactory.pl— eskalacja P0/P1 (krytyczne / pilne). - Forgejo:
git.aiofactory.pl/aio/panel/issues— wszystkie inne klasy. - SMS (Bramka TextBee, jeśli skonfigurowana w panelu): tylko P0.
Owner-decyzja: NIE komentujemy ani nie zamykamy Forgejo issue'ów po stronie zespołu dev
Konwencja od 2026-05: ship fix → zaktualizuj backlog task → owner sam reviewuje zmiany w prod, sam komentuje "naprawione" + sam zamyka issue na własnym timingu. Zespół dev podaje status w sprint-summary email do ownera, nie w Forgejo. Memory: feedback_no_forgejo_replies.md.
Po fazie maintenance (po 2026-08)¶
Konkretne ustalenia z ownerem — TBD. Domyślne założenie: brak SLA, owner sam zatrudnia dewelopera spot do bugów / nowych funkcji.
Co składać do Forgejo vs. co eskalować emailem¶
Forgejo issue (git.aiofactory.pl)¶
Skutecznie:
- Konkretny bug z reprodukcją (URL strony + kroki + screenshot).
- Pomysł na nową funkcję (label
feature-request). - Pytanie „jak to działa" (bez labela — odpowiemy w dokumentacji za docs-site).
- Drobne UI/UX glitche.
- Pojedyncze marketplace'y działają niepoprawnie (jedna platforma, nie wszystkie).
Wzorzec dobrego issue'a:
**Co miało się stać:**
Po kliknięciu „Wystaw" w Marketplace → Oferty na produkcie XYZ powinno powstać 7 wystawień (Allegro/Amazon/eBay/...).
**Co się stało:**
Tylko 4 wystawienia, eBay/Erli/Joom missing. Modal zamknął się bez błędu.
**Kroki:**
1. Otwarcie panelu jako operator `anna@aiofactory.pl`
2. Marketplace → Oferty → Filter: Aktywne → produkt SKU `BUZ-HSK-M-RED`
3. Kliknij „Wystaw" → modal → Wybierz wszystkie platformy → potwierdź
**Kiedy:** 2026-05-02 14:32
**Logi (jeśli wiadomo):**
panel.aiofactory.pl/marketplace/history → przebieg flow `marketplace/publish_group_*`,
job UUID: `019dcdd4-...`
Issue z UUID jobu skraca debug do <5 min (wmill job get <uuid> + wmill job logs <uuid>).
Email (dev@aiofactory.pl) — eskalacja P0/P1¶
Subject prefix:
[P0] panel.aiofactory.pl down — outage od 14:00[P1] Allegro publish broken na wszystkich kontach
Treść: jak Forgejo, plus:
- Co zostało już sprawdzone (Beszel? Backrest? restart kontenera?).
- Wpływ na biznes (ile zamówień / wiadomości w kolejce; czy blokuje pracę dziś).
Co zrobić, zanim eskalujesz¶
Self-help dla operatora (P2/P3 może rozwiązać sam)¶
- Restart przeglądarki — 30 % „panel działa źle" to cache.
- Wyczyść cache + cookie dla
panel.aiofactory.pl. - Sprawdź Beszel — czy któryś host/kontener czerwony. Jeśli tak — eskaluj P0/P1.
- Reset operacji w panelu — np. Wystaw → Anuluj → spróbuj jeszcze raz.
Self-help dla developera (P1/P2 możesz fixnąć sam jeśli masz dostęp)¶
- Sprawdź Beszel + Backrest — czy backupy są świeże, czy któryś host stoi.
- Logi Windmilla:
wmill job list --failed --limit 30z lokalnej stacji (just wmill-failures). - Logi kontenera dashboard:
ssh aio-dad sudo incus exec panel -- docker compose logs --tail=200 panel. - Pełne procedury awarii: Restart i recovery.
- Restore z backupu: Backupy.
- Hotfix deploy (P0 mid-week): poprawa →
just check→just deploy-<domain>→ smoke test → email do ownera „naprawione, deployed at HH:MM".
Sprint summary — co dostaje owner co tydzień¶
Niedzielna wieczorna wiadomość — jedyne przypomnienie o pracach w sprincie. Format:
Subject: AIO Factory — Sprint 4 (2026-W18) podsumowanie
Cześć,
W tym sprincie zamknęliśmy 5 issue'ów + dorzuciliśmy 2 docelowe naprawy:
- ✅ #45 Allegro: brak GPSR safety_text dla rodzin z 0 produktami → naprawione (TASK-321.06)
- ✅ #47 Bramka SMS: timeout connection po 10s zamiast 30s → naprawione (TASK-318)
- ⏭️ #48 Erli: brak shippingTemplates w nowych kategoriach → odroczone (czekamy na vendor)
Prod deploys: Sob 16:00 + Nd 11:30 + Nd 19:00.
Backupy świeże, host-mom RAM 67%, host-dad CPU 20%.
Następny sprint planujemy: PT 2026-05-09 wieczór.
— Tomek
Powiązane¶
- Sprint convention — pełen opis konwencji weekendowej w backlogu (
backlog/docs/doc-085 - Weekend-Sprint-convention-...). - Restart i recovery — kroki self-help przed eskalacją.
- Forgejo — kanał zgłoszeń.
- Pierwsze kroki → Forgejo — krótka definicja Forgejo dla operatora.