Task EP-04-T00 Kritik 03_warehouse erpbom-backend api

OpenAPI kontrakt — 03_warehouse (muzlatish)

Bajarildi
Status:

Tavsif

Kontrakt agenti (contract-freeze) yozadi: `openapi/v1/warehouse.yaml`. Qamrov: * **Ombor katalogi** — `warehouses` ro'yxat/kartochka/yaratish/tahrir (`organization_id` faqat yaratishda — immutable, PATCH'da YO'Q). * **Qoldiq o'qish** — qoldiq ro'yxati (filtr: ombor, variant, condition, `only_low` kam qoldiq), variant partiyalari (`stock_batches`), harakat kartochkasi (`stock_movements`, sana oralig'i + sahifalash), in-transit qiymat. * **Ombor×variant sozlamasi** — `min_qty` o'qish/yozish. * **Kirim faktura** — ro'yxat (filtr: holat, ta'minotchi, ombor, sana oralig'i), kartochka, `draft` CRUD + qatorlar, holat amallari: `submit` (→`pending_supplier` yoki avto-`confirmed`), `confirm`, `dispute`, `cancel` (har biri alohida yo'l — status'ni PATCH bilan o'zgartirish YO'Q). * **Hamkor (mobil, `audience='supplier'`) tomoni** — "mening fakturalarim" ro'yxati + tasdiq/rad yo'llari. * **Ko'chirish** — ro'yxat/kartochka/`draft` CRUD + `ship` / `receive` / `cancel`. * **Qaytarish** (`stock_returns`), **utilizatsiya** (`stock_write_offs`), **ta'minotchiga qaytarish** (`supplier_returns`) — har biri ro'yxat/kartochka/`draft` CRUD + `confirm` (+ `supplier_returns` uchun `cancel`). * **Set yig'ish** — dry-run oldindan ko'rish (kerakli komponentlar + maksimal set soni), yig'ish (`assemble`), bekor (`reverse`). * **Yordamchi lookup'lar** — valyuta kursi (`currency` + `date` → `rate`), variant oxirgi kirim narxi. `common.yaml` (Page/ErrorResponse/bearerAuth/`sort`) EP-01 da muzlatilgan — qayta yaratilmaydi, shunga havola qilinadi. ⛔ Kontraktda BO'LMAYDI: `sale_out`/rezerv yo'llari (06_orders), ishlab chiqarish posting (07_tasks), `adjustment`/inventarizatsiya (Q10 deferred), kurs kiritish/tahrir (08_finance), notification (10_notifications), analitik hisobotlar (11_reports).

Qabul mezonlari (DoD)

0 / 6 bajarildi

  • openapi/v1/warehouse.yaml mavjud, oasdiff strukturaviy tekshiruvidan o'tadi

  • Har hujjat uchun holat o'tishi ALOHIDA yo'l bilan (submit/confirm/dispute/cancel/ship/receive/reverse) — `status` maydonini PATCH qiladigan yo'l yo'q

  • Barcha miqdor va pul maydonlari string decimal (wire format qoidasi); `warehouse_type`/`condition`/`status`/`movement_type`/`direction`/`source_type`/`return_source` — named enum

  • Xato javoblari: qoldiq yetmasligi (`insufficient_stock`, yetishmagan variant+kerak+mavjud bilan), qulf to'qnashuvi (`409 stock_busy`), kurs topilmasligi (ogohlantirish) kontraktda aniq

  • Kontraktda 06_orders/07_tasks/08_finance/10_notifications ga tegishli birorta yo'l yo'q

  • Mock server (:4010) kontrakt asosida ko'tariladi

Izoh qoldirish

Tarix

6 yozuv

  • ✎

    finalize-ep-04 yangiladi

    Yangilandi: branch, commit_sha, pr_url

  • ⇄

    unknown-agent statusni o'zgartirdi Review → Bajarildi

    Kontrakt muzlatildi: openapi/v1/warehouse.yaml — 37 yo'l / 53 endpoint / 72 sxema, mock :4010 ishlayapti. Team lead diffni tasdiqladi.

  • ⇄

    contract-ep-04 statusni o'zgartirdi Ishlanyapti → Review

  • ⇄

    contract-ep-04 statusni o'zgartirdi Backlog → Ishlanyapti

    Agent ishni boshladi

  • ⚑

    contract-ep-04 ishga oldi

  • ✦

    pm-agent yaratdi

    OpenAPI kontrakt — 03_warehouse (muzlatish)

Ma'lumot

Agent
contract-ep-04
Olingan
1 о аввал
Boshlandi
20.08.2026 08:55
Tugadi
20.08.2026 09:20
Baho
7 soat
Spec
erp/docs/modules/03_warehouse.md
Branch
feat/EP-04-erpbom-backend
Commit
b6685d9b9b72

Bog'liqliklar

Bundan oldin tugashi kerak

Yo'q — bu ish mustaqil.

Agent uchun

Bu ishni AI agent quyidagicha oladi:

curl -s -X POST https://pmboard.ferp.uz/api/items/EP-04-T00/claim \
  -H "X-Agent: backend-dev-1"

Tugatgach:

curl -s -X POST https://pmboard.ferp.uz/api/items/EP-04-T00/status \
  -H "X-Agent: backend-dev-1" \
  -H "Content-Type: application/json" \
  -d '{"status":"review","note":"..."}'