MODUŁ 3 // JAKOŚĆ
Jakość w 10x Workflow: pięć lekcji o tym, jak chronić najgroźniejsze scenariusze testem, którego asercja realnie pada - plan testów, wyrocznia i mutacja, warstwy hooków, przelot E2E i debugowanie z dowodów. Zielony test, który nie pada po zepsuciu, niczego nie pilnuje.
MAPA RYZYK POD TARCZĄ // KLIKNIJ OBSZAR, BY DOLECIEĆ DO SEKCJI
Skrót modułu · pięć lekcji w 30 sekund
Co zabija projekt najpierw? Najgroźniejsze scenariusze chronione najpierw.
LEKCJA 02Skąd test wie, co jest poprawne? Asercja, która realnie pada na zepsutym kodzie.
LEKCJA 03Co łapie błąd, zanim go zobaczysz? Dryf wykryty sekundy po powstaniu.
LEKCJA 04Czy całość naprawdę leci? Przelot tam, gdzie unit by skłamał.
LEKCJA 05Co mówią wszystkie przyrządy naraz? Diagnoza z dowodów, nie z przeczucia.
„Najpierw ryzyka, nie pliki - chroń najgroźniejsze scenariusze testem, którego asercja realnie pada."
- fundament 10x Workflow„Pustynia zabija w znanej kolejności: najpierw pragnienie, potem burza, na końcu czerw. Kto wychodzi z siczy bez tej mapy, nie wraca."
- nauka Fremenów, przed wyjściem z siczyFremeni nie wychodzą z siczy z listą rzeczy do zrobienia - wychodzą z mapą tego, co zabija. Pustynia jest przewidywalna w swojej wrogości: każde zagrożenie ma znaną wagę i znaną częstość. Plan testów przenosi ten rygor na projekt: zamiast pokrywać pliki po kolei, mapuje ryzyka na osi wpływ × prawdopodobieństwo, a każde ryzyko opisuje jako awarię u usera - „koszyk gubi pozycje przy odświeżeniu", nie „brak testów w cart.ts".
Wejście: działający produkt i PRD. Wyjście: context/foundation/test-plan.md - mapa ryzyk pocięta na fazy rolloutu, od najgroźniejszych scenariuszy w dół. Mechanizm: /10x-test-plan orkiestruje dowiezienie testów, nie pisze ich sam - każdą fazę prowadzi przez łańcuch (research → plan → implement), a ponowne uruchomienie wznawia od następnej fazy zamiast zaczynać od zera.
kluczowy, zanim powstanie pierwszy test - kolejność pisania testów wyznacza mapa ryzyk, nie struktura katalogów.
„Nie pytaj teorii, czy ma rację. Zepsuj układ i patrz, czy przyrząd krzyknie - pomiar rozstrzyga, nie wiara."
- protokół eksperymentu, dziennik zespołu badawczegoW „Problemie trzech ciał" spory rozstrzyga eksperyment: teoria, której nie da się zmierzyć, jest tylko opinią. Test ma tę samą naturę - to, co poprawne, musi znać z wyroczni zbudowanej z wymagań i researchu, nie z kodu, który sprawdza. Test odczytujący oczekiwaną wartość z implementacji tylko ją mirroruje - przyklepie każdy bug, który już tam mieszka. Stąd anti-patterny do wytępienia: asercje spisane z kodu, snapshoty bez zrozumienia, mocki testujące mocki.
Wejście: jedno ryzyko z test-plan.md. Wyjście: test, którego asercja realnie pada na zepsutym kodzie. Mechanizm: mutation check - zepsuj chronione zachowanie celowo i potwierdź czerwień; jeśli przyrząd nie krzyczy po sabotażu, niczego nie mierzy. /10x-tdd wymusza tę kolejność od początku: czerwony test przed kodem, zieleń jako dowód, refactor na osłoniętym gruncie.
kluczowy przy każdym teście pisanym przez agenta - wyrocznia pochodzi z wymagań, a dowodem jakości testu jest jego czerwień na zepsutym kodzie.
„Najpierw pracuje tania osłona zewnętrzna, potem deflektory, na końcu pancerz. Ogień, który dochodzi do kadłuba, to porażka wszystkich warstw."
- oficer sekcji tarcz, odprawa przed bitwąKrążownik nie przyjmuje ognia na pancerz kadłuba - od tego są tarcze deflektorowe, warstwa za warstwą, od najtańszej na zewnątrz po najdroższą przy poszyciu. Obrona jakości działa tak samo i jest uporządkowana według kosztu: per-edit (lint i typecheck sekundy po zapisie) → pre-commit → pre-push. Im dalej błąd doleci, tym drożej kosztuje jego zestrzelenie.
Wejście: reguły jakości projektu - lint, typecheck, szybkie testy. Wyjście: hooki zapięte na zdarzenia - per-edit, pre-commit i pre-push, każdy z własnym budżetem czasu. Mechanizm: self-checking pipeline - dryf jest wykrywany sekundy po powstaniu, w tle, bez udziału człowieka; do końca fazy dolatuje już tylko to, czego żadna warstwa nie mogła złapać wcześniej.
kluczowy przy pracy z agentem, który generuje kod szybciej, niż czytasz - błąd ma zgasnąć na najtańszej warstwie, zanim dotknie historii gita.
„Makieta w doku nie powie ci, czy statek leci. Wyprowadź go, odpal silniki i czytaj przyrządy w locie."
- mechanik pokładowy, przed lotem testowymRocinante nie dowiodła, że lata, na schematach w doku - dowiodła tego lotem testowym: silniki, nawigacja, kadłub i załoga naraz, w próżni. Test E2E to ten sam manewr: przelot przez wszystkie moduły naraz - UI, API, dane - dokładnie tam, gdzie mock by skłamał. Obowiązuje zasada najtańszego testu dającego sygnał: jeśli unit wystarcza, E2E jest przepychem; jeśli unit kłamie, E2E jest jedynym uczciwym pomiarem. Coverage nie jest celem - celem jest sygnał.
Wejście: działająca aplikacja i ryzyko z planu, którego nie pokryje nic tańszego. Wyjście: testy Playwright + seed test przygotowujący dane pod przelot. Mechanizm: /10x-e2e prowadzi ryzyko przez plan → generate → review → verify na uruchomionej aplikacji, multimodalnie - agent czyta DOM i patrzy na zrzuty ekranu jednocześnie, więc widzi też to, czego selektor nie złapie.
kluczowy dla ścieżek krytycznych - logowanie, płatność, zapis danych - E2E tylko tam, gdzie mock by skłamał, nie do gonienia coverage.
„Każdy z nas niesie inną opowieść i żadna z osobna niczego nie wyjaśnia. Prawda leży tam, gdzie opowieści się przecinają."
- zasada pielgrzymów, w drodze do Grobowców CzasuPielgrzymi w drodze do Grobowców Czasu docierają do prawdy tylko dlatego, że każdy opowiada własną historię - żadna z osobna niczego nie wyjaśnia, wszystkie naraz wskazują to samo miejsce. Debugowanie z agentem działa identycznie: synteza dowodów z wielu źródeł - Sentry z produkcji, wrangler logs z backendu, konsola i network z Playwrighta - zamiast mistrzostwa w jednym narzędziu.
Wejście: objaw - błąd u usera, czerwony test, alert. Wyjście: diagnoza poparta dowodami i naprawa przypięta testem, żeby regresja nie wróciła. Mechanizm: zbierz odczyty wszystkich przyrządów naraz i szukaj przecięcia opowieści; po drodze wytęp połykanie błędów - try/catch zwracający 200 to zamiatanie dowodów (OWASP A10:2025), przez które następna diagnoza zaczyna od zera.
kluczowy, gdy objaw i przyczyna mieszkają w różnych warstwach - diagnozę stawia przecięcie źródeł, nie pierwsze podejrzenie.
Jakość domyka blok 10xBuilder. Fundament stawia rampę, łańcuch lata jednostkami pracy, skalowanie podnosi rygor i autonomię, a jakość pilnuje, żeby to, co lata, nie spadało.
Dalej gra toczy się w cudzym kodzie: 10xArchitect otwiera moduł o legacy - zastane systemy, brak testów, archeologia decyzji. Wszystko, czego jakość nauczyła na własnym kodzie, wraca tam ze zdwojoną stawką.
„Blok 10xBuilder domknięty: rampa, łańcuch, tarcza. Dalej lata się w cudzym kodzie."
- fundament 10x Workflow