Asosiy kafolat
«Bajarildi» — bu dalil emas. Dalil — VERIFIED.
Ko'pchilik platformalar model ishini tugatganini xabar qiladi. Davirix esa effekt haqiqatan sodir bo'lganini — manba tizimda tasdiqlangan holda — xabar qiladi. Bular ikki xil savol va aynan ularni chalkashtirish bir to'lovni ikki marta yuborishga olib keladi.
Eng muhim qoida
status: completed ≠ bajarildi
Bitta ijro ikkita mustaqil faktni tashiydi: agent ishlov berishni tugatdimi va tashqi effekt sodir bo'ldimi. Davirix ularni alohida maydonlarda saqlaydi, shunda kodingiz birini ikkinchisi bilan hech qachon chalkashtirmaydi.
Ikki maydon — ikki savol
Agent ishlov berishni tugatdimi?
status
Tashqi effekt sodir bo'ldimi?
operations[].status
Operatsiyaning besh holati
Agent yaratadigan har bir yon effekt — SMS, to'lov, reyestrga yozuv — aynan shulardan biriga keladi.
Manbadan tasdiqlangan. Yagona haqiqiy «bajarildi».
Davom eting.
Konnektor so'rovni qabul qildi. Faqat transport — natija emas.
Tasdiqni kuting.
Natija haqiqatan noma'lum.
Hech qachon qayta urinmang. Solishtirishni kuting.
Operatsiya inson qarorini talab qiladi.
Konsolda hal qiling.
Aniq muvaffaqiyatsizlik. Hech narsa sodir bo'lmadi.
Qayta urinish xavfsiz.
Xato va uning yechimi
if n.status == "completed":
send_receipt() # ⛔ to'lov umuman bo'lmagan bo'lishi mumkinif n.verified:
send_receipt() # ✅ manbadan tasdiqlangan
elif n.unknown:
hold_for_reconciliation() # ⚠ bu yerda qayta urinish mumkin emasNima uchun bu dublikatlarning oldini oladi
Jim yutilgan UNKNOWN — aynan dublikat effekt manbai. Agar kod noaniqlikni xatolik deb qabul qilib qayta urinsa, mijozdan ikki marta pul yechiladi. Davirix noaniq holatni oshkor qiladi va sukut bo'yicha qayta urinib bo'lmaydigan qiladi — shunday qilib xavfsiz yo'l sukut bo'yicha yo'lga aylanadi.
Audit jurnalini qimmatli qiladigan narsa — verifikatsiya
Faqat niyatni qayd etadigan jurnal hech narsani isbotlamaydi. Har bir operatsiya manbadan tasdiqlangan holatni tashigani uchun Davirix audit jurnali haqiqatan sodir bo'lgan narsani qayd etadi — regulyatorlar va risk qo'mitalari aynan shu versiyani so'raydi.
Qoidani hujjatlarda o'qing
To'liq spetsifikatsiya, jumladan solishtirish xatti-harakati va idempotentlik kalitlari hujjatlarda.