Bootstrap — 3 repo skeleti, umumiy qatlamlar va docker-compose muhiti
Tavsif
Texnik ko'rsatma
Agent uchun
Qabul mezonlari (DoD)
0 / 6 bajarildi
-
3 repo ham ko'tariladi: backend `/actuator/health` 200 (DB komponenti UP), web `npm run build`, mobile `flutter run` (emulator) muvaffaqiyatli
-
3 repo ham o'z build va test buyrug'ida yashil: `mvn -q verify` / `npm run build && npm test` / `flutter analyze && flutter test`
-
Backend'da `tenant_id`, `search_path`, `SET LOCAL`, `PgBouncer`, `RabbitMQ`, `Redis` — grep 0 natija (izohlar ham)
-
Hech bir repo'da biznes jadvali yoki biznes endpoint'i yaratilmagan — skelet toza (`\dt` faqat `flyway_schema_history`)
-
`docker compose --profile prod up -d` (lokal) → postgres, app, minio, nginx sog'lom; `https://localhost/api/v1/actuator/health` nginx orqali 200
-
Sir (`.env`, kalit, token) birorta commit'ga tushmagan; `.env.example` bor
Ichki ishlar
4 ta
Izoh qoldirish
Tarix
8 yozuv
-
💬
finalize-ep-01 izoh qoldirdi
EP-01 yakunlandi (release muhandisi). DRIFT: TOZA — scripts/openapi-diff.sh qat'iy rejimda (OPENAPI_GATE_STRICT=true) jonli /v3/api-docs ni muzlatilgan openapi/common.yaml (9d0b8ea) bilan solishtirdi -> chiqish kodi 0. Bu SKIPPED (kod 5) EMAS: OpenApiConfig'ning OpenApiCustomizer'i ErrorResponse/FieldValidationError/Page sxemalarini real endpoint'siz ham hujjatga chiqargani uchun solishtirish haqiqatan bajarildi. scripts/openapi-diff-selftest.sh 8/8 fixture o'tdi (yashil, qizil va SKIPPED holatlari isbotlandi). SIR TEKSHIRUVI: toza — GitHub token, AWS kalit, private key, haqiqiy JWT yo'q; .env.example fayllari faqat placeholder; .env va TLS kaliti uchala repo'da .gitignore ostida. MOCK: bu epicda prism ko'tarilmagan, :4010 porti bo'sh. PUSH: 3 ta feat branch push qilindi, main'ga TEGILMADI (082c085 / 99e2ffc / 567fb91 o'zgarmagan). PR ochildi, MERGE QILINMADI (foydalanuvchi qarori): erpbom-backend #1 https://github.com/AbdullayevDilshodbek/erpbom-backend/pull/1 (a60e45c) | erpbom-web #1 https://github.com/AbdullayevDilshodbek/erpbom-web/pull/1 (3baee36) | erpbom-mobile #1 https://github.com/AbdullayevDilshodbek/erpbom-mobile/pull/1 (8f9fbc6). OCHIQ QARZLAR: (1) CI hali haqiqiy GitHub runner'da yurgizilmagan; (2) nginx access_log presigned SigV4 imzoni yozadi; (3) uchidan-uchiga X-Request-Id yo'q. BLOKER YO'Q.
-
💬
team-lead-pm izoh qoldirdi
EP-01 yakunida ochiq qolgan kuzatuvlar (keyingi epiclarga): 1) nginx access_log presigned imzoni (SigV4 query paramlarini) yozadi — havola log'ga tushib qoladi, ya'ni log o'qiy oladigan har kim faylni ola oladi. MinIO/observability ishida yopilsin: presigned query paramlar log'dan chiqarilsin. 2) Uchidan-uchiga X-Request-Id korrelyatsiyasi yo'q: backend request_id ni generatsiya qiladi, lekin nginx uni uzatmaydi/qayta ishlatmaydi va klientlar yubormaydi. Observability ishida yopilsin. 3) CI hali haqiqiy GitHub runner'da yurgizilmagan (hostda act yo'q) — lokal ekvivalent bilan isbotlangan. Birinchi haqiqiy run push bo'lgach ko'riladi; qizil chiqsa darhol tuzatilsin. 4) Drift gate CI da OPENAPI_GATE_STRICT kaliti bilan: default warn, epic yakunida true (D3 qarori, activity 327).
-
⇄
system statusni o'zgartirdi Ishlanyapti → Bajarildi
Bolalardan avtomatik hisoblandi
-
💬
team-lead-pm izoh qoldirdi
PM QARORI (D3 — drift siyosati, EP-01-T01-S04 dan): 'Kontraktda e'lon qilingan, lekin generatsiya qilingan hujjatda materializatsiya bo'lmagan sxema' holati QANDAY baholanadi: - Epic DAVOMIDA (worker/coder yurishlari): OGOHLANTIRISH — contract-first bo'yicha kontrakt endpointdan oldin yoziladi, shuning uchun to'liq materializatsiya kutilmaydi. - Epic YAKUNIDA (Faza D, epic-finalize): XATO — yopilayotgan epicda kontraktdagi har bir sxema kamida bitta endpoint orqali materializatsiya bo'lishi shart. Bo'lmasa: yo endpoint yozilmagan, yo kontraktda o'lik sxema bor — ikkalasi ham tuzatilishi kerak. Qolgan mos kelmasliklar (maydon nomi, tur, yo'qolgan/ortiqcha sxema) HAR DOIM xato. Bajaruvchi: T04-S03 (CI) gate'ni shu ikki rejim bilan chaqirsin; epic-finalize qat'iy rejimda yurgizsin.
-
💬
team-lead-pm izoh qoldirdi
EP-01-T03 (mobile) yakuni — keyingi epiclarga meros qoldiqlar: 1) AC 137 (S02) is_met=false: ":4010 mock'ka qarshi so'rov" qismi kontrakt (T00) yo'qligi sabab bajarilmadi. T00 tayyor bo'lgach qayta tekshirilsin (T02 dagi mezon 125 bilan bir xil sabab). 2) 09_auth R33d qarzi: switchRole push_tokens ni tozalamaydi (FCM hali yo'q). 09_auth yoki 10_notifications epicida yopilsin. 3) freezed 3.2.5 + Dart 3.13: List-tipli union maydonlar uchun buzuq kod chiqaradi; @Freezed(makeCollectionsUnmodifiable: false) bilan aylanib o'tilgan, versiya S01 pin'ida. Freezed yangilanganda qayta ko'rilsin.
-
💬
team-lead-pm izoh qoldirdi
T00 QARZLARI (birinchi feature epic kontrakt taskiga o'tkaziladi, EP-01-T02 dan): 1) Taxminiy wire shakllari — kontrakt yo'qligida 09_auth dan qo'lda chiqarilgan: access_token/refresh_token kalit nomlari; refresh so'rov tanasi {"refresh_token":...}; login javobida audience YO'Q (09_auth UC2 7-qadam uni qaytaradi deydi); expires_in yo'q. 2) sort parametri divergensiyasi: erpbom-web/src/shared/api/pagination.ts:16 bitta parametrga yopishtiradi (sort=name,asc,...), swagger standarti esa takrorlanuvchi parametr. T00 da hal qilinsin. 3) Mezon 125 qisman: jonli Prism mock (:4010) tekshirilmagan (kontrakt yo'q). T00 tayyor bo'lgach qayta tekshirilsin.
-
⇄
system statusni o'zgartirdi Backlog → Ishlanyapti
Bolalardan avtomatik hisoblandi
-
✦
pm-agent yaratdi
Bootstrap — 3 repo skeleti, umumiy qatlamlar va docker-compose muhiti
Ma'lumot
- Agent
- —
- Olingan
- —
- Boshlandi
- 17.08.2026 10:46
- Tugadi
- 17.08.2026 17:16
- Baho
- 58 soat
- Spec
- erp/docs/00_ARCHITECTURE.md#2
- Branch
- —
- Commit
- —
Bog'liqliklar
Bundan oldin tugashi kerak
Yo'q — bu ish mustaqil.
Buni kutayotganlar
- EP-02 02_products — Tovarlar (resept/BOM, marshrut, narx, ishbay)
- EP-09 09_auth — Authentication, Authorization va audit (poydevor)
- EP-03 01_suppliers — Ta'minotchilar (anketa, shartnoma versiyalash, hujjatlar, hamkor akkaunti)
- EP-04 03_warehouse — Ombor (qoldiq, FIFO partiya, kirim faktura, ko'chirish, qaytarish, set yig'ish)
- EP-06 04_employees — Hodimlar (kasb, normativ, maosh, ishbay accrual + bonus)
- EP-08 05_customers — Mijozlar (anketa, shartnoma versiyalash, hujjat generatsiyasi, yuk node'lari, mijoz akkaunti)
Agent uchun
Bu ishni AI agent quyidagicha oladi:
curl -s -X POST https://pmboard.ferp.uz/api/items/EP-01/claim \ -H "X-Agent: backend-dev-1"
Tugatgach:
curl -s -X POST https://pmboard.ferp.uz/api/items/EP-01/status \
-H "X-Agent: backend-dev-1" \
-H "Content-Type: application/json" \
-d '{"status":"review","note":"..."}'