docs(sprint4): чек-лист — POS Sync API + Prometheus

3 пункта (WPF UI вынесен на Windows-этап).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
nns 2026-05-28 12:00:25 +05:00
parent 879e6b8cee
commit d5d185cba3

28
docs/sprint4-progress.md Normal file
View file

@ -0,0 +1,28 @@
# Спринт 4 (частичный) — POS Sync API + observability
Автономная работа. WPF/POS-UI (`food-market.pos`, net8.0-windows) на Linux
не собирается — пропускаем. Здесь только API-сторона синхронизации
и метрики.
После каждого пункта: `dotnet build` (SDK 8.0.126), unit + integration
тесты, коммит порцией, отметка `[x]`, коммит прогресса.
## Чек-лист
1. [ ] **P1-12a Контракты POS в food-market.shared** — DTO `ProductSyncDto`,
`PriceSyncDto`, `StockSyncDto`, `CounterpartySyncDto`, `PosSaleBatchDto`
(с idempotency-key). Версионирование через namespace v1.
2. [ ] **P1-12b POS Sync API**`GET /api/pos/sync?since={iso8601}` возвращает
изменения после ts (товары, цены, остатки, контрагенты). `POST /api/pos/sales`
принимает батч продаж с idempotency-key (повторный запрос возвращает прежний
результат без дублей). Multi-tenant: POS-токен ↔ один магазин.
3. [ ] **P1-17 Метрики Prometheus**`prometheus-net.AspNetCore`, `/metrics`.
`http_requests_total`, `http_request_duration_seconds`,
`db_query_duration_seconds` (через EF interceptor), бизнес:
`sales_posted_total`, `supplies_posted_total`, `documents_error_total`.
`docs/observability.md` с образцом Grafana dashboard.
## Лог
- Каждый пункт: build + тесты + коммит порцией + отметка [x] + коммит прогресса.
- Все правки на `main` (origin Forgejo), без коммита `global.json`.