Bug czy nowa praca¶
W fazie utrzymania (maj–sierpień 2026) wykonawca naprawia bugi za pakiet 3 750 zł / mc (50 % stawki rozwojowej). Nowa praca — nowe funkcje, nowe integracje, nowe rynki — jest poza zakresem tej umowy i wymaga osobnej wyceny.
Ta strona definiuje granicę. Test jest jeden zdaniem:
Bug = system nie robi tego, co dokumentacja
docs.aiofactory.plopisuje jako działające.Nowa praca = wszystko, czego dokumentacja nie obiecuje.
Granica oparta o dokumentację
To jest świadoma decyzja architektoniczna: dokumentacja jest kompletnym i zamkniętym opisem dostarczonego systemu. Funkcje nieopisane = niedostarczone. Brak „domyślnych oczekiwań" — jeśli czegoś nie ma w docs, nie zostało dostarczone i wycena dotyczy nowej pracy.
Tekst oferty (wiążący)¶
Z Oferty AIOFactory z 13.01.2026, str. 7:
„Faza utrzymania (maj–sierpień 2026), 50 % stawki — 3 750 zł/mc. Zakres: monitorowanie serwerów i usług 24/7, naprawa błędów (bugfixing), reagowanie na awarie. Poza zakresem: wdrażanie nowych dużych funkcjonalności."
Zapis odzwierciedlony też w Podsumowaniu Prac.
Test trzech pytań¶
Każde zgłoszenie przechodzi przez taki triage:
- Czy dokumentacja
docs.aiofactory.plopisuje to zachowanie jako działające? - Tak → czytaj dalej.
- Nie → to nowa praca (poza zakresem fazy utrzymania).
- Czy zachowanie w produkcji jest zgodne z dokumentacją?
- Tak → to pytanie / nieporozumienie — odpowiedź w docs lub komentarzu.
- Nie → czytaj dalej.
- Czy dotyczy to elementu objętego ofertą, a nie np. wsparcia dla WordPressa?
- Tak → to bug — naprawa w fazie utrzymania.
- Nie → poza zakresem oferty od początku (patrz wyłączenia).
Konkretne przykłady¶
✅ Bug — naprawiamy w fazie utrzymania¶
| Zgłoszenie | Dlaczego bug |
|---|---|
| „Panel nie pokazuje wysłanych emaili w wątku" | Sekcja Obsługa Klienta — #6 opisuje to jako działające. |
| „Allegro listing dla SKU X znika po 24h" | Listings → Allegro opisuje synchronizację jako stabilną. |
| „Filtr »Moje« w Obsłudze Klienta nie filtruje po opiekunach" | Sekcja Obsługa Klienta — #9 opisuje filtr jako działający. |
| „Bramka SMS przestała wysyłać po 3 dniach" | Sekcja Poczta — Bramka SMS opisuje TextBee jako stabilną. |
| „Backup BaseLinker pokazuje datę sprzed tygodnia" | Sekcja Monitoring — backupy gwarantuje codzienny snapshot z alarmem >25h. |
| „WooCommerce listing dla X02A wraca z 500 z buyspace.pl" | Wystawianie do Woo opisane w Listings → WooCommerce jako działające. |
| „Pole »opiekun« w przypisaniu wątków przestaje działać dla nowych skrzynek" | Reguły przydziału w Obsługa Klienta mają to być automatyczne. |
❌ Nowa praca — poza zakresem fazy utrzymania¶
| Zgłoszenie | Dlaczego nie bug |
|---|---|
| „Dodaj integrację z TikTok Shop / Shopee / Bol.com" | Lista zintegrowanych platform tu zamknięta na 7. Inne — nowa praca. |
| „Dodaj możliwość importu produktów z pliku CSV" | Funkcja nieopisana w docs — poza zakresem. |
| „Postaw sklep na rynku DE / FR" | FAQ #26 — poza zakresem oferty (str. 4 wyłączenie WP/Woo). |
| „Dodaj nowe role uprawnień" | Trzy role (superadmin / operator / pracownik) opisane w Pierwsze kroki. Zmiana = nowa praca. |
| „Postaw drugą instancję panelu na nowym hoście" | Zakres oferty = jedna instancja produkcyjna. |
| „Zintegruj Subiekt Nexo Pro v57+" | Oferta str. 4 — odroczone do migracji właściciela. Nowa praca po fazie utrzymania. |
| „Dodaj LLM do automatycznego tłumaczenia ofert" | Funkcja nieopisana w docs. |
| „Pole »kolor« w formularzu wystawiania powinno być rozwijane, nie tekstowe" | UX-improvement nieopisany jako bug — feature request. |
⚪ Pytanie / nieporozumienie — odpowiedź bez kodowania¶
| Zgłoszenie | Odpowiedź |
|---|---|
| „Po co Beszel?" | Monitoring — Beszel lub FAQ #25. |
| „Czy panel sam wysyła SMS-y do klientów?" | Poczta — Bramka SMS — wysyła z poziomu scenariuszy CS, nie automatycznie. |
| „Dlaczego host-son ma 20 % wykorzystania?" | FAQ #12 — to status docelowy dla rezerwy. |
| „Dlaczego nie ma N8N?" | FAQ #11 — zastąpione przez Windmill. |
Wyłączenia z oferty¶
Następujące elementy są wyłączone z zakresu od momentu podpisania oferty (13.01.2026, nie tylko z fazy utrzymania). Wymagają osobnej wyceny zawsze:
| Element | Tekst oferty | Powód |
|---|---|---|
| Wsparcie WordPress / WooCommerce (szablony, wtyczki, treści) | Str. 4 — „nie świadczę supportu dla samego WordPressa/WooCommerce" | Granica oferty. ROOTACCESS stawia sklep i integruje z systemem; wszystko po stronie CMS-a (motyw, treść, plugin) jest po stronie właściciela lub firmy zewnętrznej. |
| Subiekt finalizacja przed Nexo Pro v57+ | Str. 4 — „sugeruję finalizację po przejściu na Subiekt Nexo Pro v57+" | Świadome odroczenie — chcemy uniknąć przepisywania konektora dwukrotnie. |
| Amazon poza PL (DE / FR / IT / UK / inne) | Polityka Amazona — osobne konta sprzedawcy per kraj | FAQ #20. Po założeniu konta przez właściciela podpięcie standardowe. |
| Nowe sklepy DE / FR (postawienie WP) | Str. 4 — wyłączenie WP support | FAQ #26. |
| Mark-as-read na wszystkich platformach | Brak publicznego API u 6 z 7 platform | FAQ #24. |
Co się dzieje z każdą klasą zgłoszeń¶
| Klasa | Etykieta Forgejo | Status | Co my robimy | Co Ty robisz |
|---|---|---|---|---|
| Bug | bug |
open → in-progress → fixed | Naprawa w bieżącym lub następnym sprincie weekendowym. | Czekasz na sprint-summary email w niedzielę wieczór; weryfikujesz fix w produkcji. |
| Feature request | feature-request |
open (akumuluje się) | Polski 1-linijkowy ack: „Oznaczone jako nowy pomysł — nie pracujemy nad tym w fazie utrzymania." Bez Backlog task. | Akumulujesz w głowie listę „chcę po fazie"; po sierpniu 2026 → osobna wycena. |
| Pytanie | (bez etykiety) | open → closed-as-question | Odpowiedź w komentarzu z linkiem do sekcji docs.aiofactory.pl. |
Czytasz docs i zamykasz issue (lub my zamykamy z linkiem). |
| Outage P0 | bug + priority/P0 |
hotfix mid-week | Reakcja w <2h, hotfix poza weekendem (linia już stoi → mid-week dozwolone, oncall.md). | Wysyłasz email [P0] + opcjonalnie SMS przez TextBee. |
Granica „bug-fix mode": co NIE jest bugiem mimo że irytuje¶
Lista kontrintuicyjnych przypadków — to jest niefajne, ale nie bug:
- „Strona ładuje się 4 sekundy, mogłaby 1" — performance-tuning bez konkretnego SLA-a w dokumentacji. Nowa praca.
- „Layout strony X jest nieoptymalny" — UX-improvement. Nowa praca.
- „Brakuje przycisku Y dla wygody" — feature request. Nowa praca.
- „Tłumaczenie polskie X jest nieidealne" — i18n-poprawka, chyba że w dokumentacji X jest opisane jako po polsku — wtedy bug.
- „Czemu używamy biblioteki A zamiast B" — decyzja architektoniczna spoza zakresu wsparcia. Patrz decyzje w backlogu.
W wątpliwych przypadkach: zgłoś jako issue Forgejo — przy triage'u zaklasyfikujemy. Nic nie kosztuje, a daje pewność.
Powiązane¶
- Czas reakcji i tryby — co się dzieje po zaklasyfikowaniu jako
bugvs.feature-request. - Bug-fix mode — SOP — jak wygląda standardowy tryb pracy.
- Podsumowanie Prac → Faza utrzymania — finałowy zapis kontraktowy.
- Roadmap — punkt 6 „Co poza zakresem oferty" — tabelaryczne wyłączenia.