verification bloki
Ishlaydi
Nima qiladi
heading.anchorLabelYozgandan keyin platforma manbadan qayta o’qiydi va e’lon qilingan predikatni qo’llaydi:
yozuv → javob (id) → read-back(id) → predikat → VERIFIED | FAILED | UNKNOWNShakli
heading.anchorLabel{ "name": "crm.create_deal", "direction": "write", "verification": { "operation": "crm.get_deal", "business_key": "id", "expect": { "field": "closed", "equals": "N" }, "max_wait_ms": 15000, "on_missing": "UNKNOWN", "version_field": "resource_version" }}| Maydon | Majburiy | Ma’nosi |
|---|---|---|
operation |
✅ | Read-back amali nomi — u mavjud va direction: read bo’lishi shart |
expect |
✅ | Muvaffaqiyat predikati — deklarativ, erkin matn emas |
business_key |
— | Read-back’ga uzatiladigan kalit nomi |
max_wait_ms |
— | Manba yozuvi ko’rinishini kutish (max 10 daqiqa) |
on_missing |
— | Topilmaganda: UNKNOWN (standart) yoki FAILED |
version_field |
— | Berilsa eski replikadan o’qish aniqlanadi |
⚠ business_key — ikki vazifa bajaradi
heading.anchorLabelBu eng ko’p xato qilinadigan joy:
| 1️⃣ | Yozuv javobidagi maydon nomi — resurs id’si shundan olinadi |
| 2️⃣ | Read-back argumenti nomi — o’sha qiymat shu nom bilan uzatiladi |
Ya’ni ikkalasi bir xil bo’lishi shart:
// crm.create_deal javobi: {"id": "10001", "created": true}// crm.get_deal kirishi: {"id": "10001"}"business_key": "id" // ✅ ikkalasiga mosexpect — predikat
heading.anchorLabelAynan bittasi: in yoki equals.
"expect": { "field": "status", "in": ["DELIVERED", "delivered"] }"expect": { "field": "closed", "equals": "N" }⚠ Provayder taksonomiyasi manifestda, kodda emas. Provayder holat nomlarini o’zgartirsa — manifest qatori o’zgaradi, kod emas.
on_missing — nega standart UNKNOWN
heading.anchorLabelmanbada yozuv topilmadi ≠ amal bajarilmadiIndeks kechikishi yoki eventual consistency yozuvni vaqtincha
yashirishi mumkin. FAILED ni standart qilish amalni noto’g’ri yopardi.
FAILED ni faqat manba darhol-izchil (read-after-write) bo’lsa
tanlang.
Predikat maydonini har doim qaytaring
heading.anchorLabelRead-back javobida predikat maydoni bo’lmasa verifier field_missing
bilan UNKNOWN beradi — ya’ni tasdiq jim ishlamaydi.
// ✅ To'g'ri: maydon har doim bor, qiymati bo'sh bo'lsa hamout["closed"] = closed // "" bo'lishi mumkin
// ⛔ Noto'g'ri: bo'sh bo'lsa maydon umuman qo'yilmaydiif closed != "" { out["closed"] = closed }Read-back yo’q bo’lsa nima bo’ladi
heading.anchorLabelBu normal holat — provayderning API’si shunday. Unda:
- amal
ACKNOWLEDGEDda qoladi; - konnektor L2 darajada qoladi (sertifikatsiya);
- bu kamchilik emas, halol javob.
Keyingi qadam
heading.anchorLabel- Sertifikatsiya darajalari
- Muvofiqlik to’plami — C9–C11 aynan shu blokni sinaydi