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.

VERIFIED

Manbadan tasdiqlangan. Yagona haqiqiy «bajarildi».

Davom eting.

ACKNOWLEDGED

Konnektor so'rovni qabul qildi. Faqat transport — natija emas.

Tasdiqni kuting.

UNKNOWN

Natija haqiqatan noma'lum.

Hech qachon qayta urinmang. Solishtirishni kuting.

MANUAL_REVIEW

Operatsiya inson qarorini talab qiladi.

Konsolda hal qiling.

FAILED

Aniq muvaffaqiyatsizlik. Hech narsa sodir bo'lmadi.

Qayta urinish xavfsiz.

Xato va uning yechimi

Noto'g'ri — eng ko'p uchraydigan xato
if n.status == "completed":
    send_receipt()   # ⛔ to'lov umuman bo'lmagan bo'lishi mumkin
To'g'ri
if n.verified:
    send_receipt()               # ✅ manbadan tasdiqlangan
elif n.unknown:
    hold_for_reconciliation()    # ⚠ bu yerda qayta urinish mumkin emas

Nima 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.