Przejdź do treści

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.pl opisuje 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:

  1. Czy dokumentacja docs.aiofactory.pl opisuje to zachowanie jako działające?
  2. Tak → czytaj dalej.
  3. Nie → to nowa praca (poza zakresem fazy utrzymania).
  4. Czy zachowanie w produkcji jest zgodne z dokumentacją?
  5. Tak → to pytanie / nieporozumienie — odpowiedź w docs lub komentarzu.
  6. Nie → czytaj dalej.
  7. Czy dotyczy to elementu objętego ofertą, a nie np. wsparcia dla WordPressa?
  8. Tak → to bug — naprawa w fazie utrzymania.
  9. 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