07 Uji, gagalkan, dan perbaiki
Suntikkan fault yang diketahui, diagnosis lewat ClickStack, terapkan perbaikan, dan buktikan pemulihannya.
Hasil
Dalam sekitar 20 menit, Anda akan menjalankan satu insiden dari kegagalan hingga pemulihan yang terverifikasi. Ini berlanjut langsung dari Modul 06 dan memakai ClickStack MCP yang dikonfigurasi di Modul 00.
Langkah 1 — Pilih satu fault
Mulailah dengan Fault 01. Fault 02 adalah latihan singkat kedua; Fault 03 memerlukan dataset yang lebih besar agar gagal secara konsisten.
| Branch | Kegagalan yang diharapkan | Bangun ulang |
|---|---|---|
fault/01-map-not-loading | Poligon peta hilang; kartu lain berfungsi | frontend |
fault/02-zone-stats-500 | Data peta zona gagal dengan HTTP 500 | backend |
fault/03-slow-dashboard | Permintaan tren timeout; pakai hanya dengan data lintas bulan | backend |
Langkah 2 — Suntikkan dan reproduksi
Contoh berikut menyuntikkan Fault 01 sambil mempertahankan pekerjaan lokal apa pun:
cd "$(git rev-parse --show-toplevel)"
git stash push --include-untracked -m "before-module-07"
git switch build-workshop-v1
git switch fault/01-map-not-loading
cd workshops/build_workshop/app
docker compose --env-file .env.workshop \
-f docker-compose.workshop.yml \
-f docker-compose.otel.yml \
up -d --build frontendBuka sesi browser yang baru di localhost:8080. Peta yang kosong memang diharapkan sekarang; kegagalan di tempat lain bukan bagian dari skenario ini.
Langkah 3 — Diagnosis dari bukti
Berikan gejalanya kepada agent, bukan jawabannya:
Using the clickstack MCP, investigate the current workshop failure.
Correlate frontend and backend telemetry, identify the root cause, and cite the exact
events, request, response content type, or trace that supports the conclusion.
Do not edit code yet.Untuk Fault 01, periksa juga ClickStack → Client Sessions. Bukti yang berguna adalah error frontend dan kegagalan parse resource; trace backend yang sehat juga merupakan bukti karena mempersempit radius dampaknya.

Sebelum memperbaiki apa pun, tuliskan:
- komponen yang gagal;
- bukti yang membuktikannya; dan
- satu pemeriksaan pemulihan yang akan gagal sebelum perbaikan dan lulus setelahnya.
Langkah 4 — Perbaiki dan bangun ulang
Minta agent membuat perubahan terkecil yang mengatasi penyebab yang sudah terbukti, lalu bangun ulang layanan yang terdampak. Untuk Fault 01:
docker compose --env-file .env.workshop \
-f docker-compose.workshop.yml \
-f docker-compose.otel.yml \
up -d --build frontendUntuk Fault 02 atau 03, ganti frontend dengan backend.
Buka sesi browser baru. Gejala aslinya harus hilang, dan ClickStack harus tidak menampilkan error baru yang cocok. Peristiwa insiden lama tetap ada di rentang waktu yang dipilih; bandingkan timestamp-nya ketimbang mengharapkan riwayatnya menghilang.
Langkah 5 — Kembali ke baseline yang bersih
Pertahankan perbaikan yang Anda coba, kembalikan build-workshop-v1, dan bangun ulang kedua layanan aplikasi:
cd "$(git rev-parse --show-toplevel)"
git stash push --include-untracked -m "module-07-fix"
git switch build-workshop-v1
cd workshops/build_workshop/app
docker compose --env-file .env.workshop \
-f docker-compose.workshop.yml \
-f docker-compose.otel.yml \
up -d --build frontend backendPemeriksaan penyelesaian
- Gejala yang disuntikkan muncul sebelum perbaikan.
- Agent mengutip telemetri yang membuktikan akar penyebabnya.
- Pemeriksaan pemulihan yang sama lulus setelah perbaikan.
- Sesi yang baru tidak menciptakan error baru yang cocok.
git branch --show-currentmengembalikanbuild-workshop-v1.
Lanjutkan ke 08 Chat dan Langfuse.