diff --git a/docs/sprint6-progress.md b/docs/sprint6-progress.md index 9a2a793..5d508ab 100644 --- a/docs/sprint6-progress.md +++ b/docs/sprint6-progress.md @@ -23,9 +23,13 @@ unit + integration тесты, коммит порцией, отметка `[x]` рекомендация: `AddValidatorsFromAssemblyContaining()` + кастомный `ValidationFilter` (IAsyncActionFilter). На неуспех → 400 ValidationProblemDetails. 5 validator'ов, 16 unit-тестов, 70 integration зелёных без регрессий. -3. [ ] **TD-4 Структурные log-fields в Serilog** — `LogContext.PushProperty` +3. [x] **TD-4 Структурные log-fields в Serilog** — `LogContext.PushProperty` в middleware: OrgId, UserId, CorrelationId. Бизнес-логи (Supply.Post, Sale.Post) — структурно. `docs/logging.md`. + ✅ `LogEnrichmentMiddleware` после Authentication. CorrelationId из заголовка + `X-Correlation-ID` или генерируется. Business-логи на Supply.Post / + RetailSale.Post с именованными плейсхолдерами. `docs/logging.md` + с паттерном + анти-паттернами (string interpolation, PII в логах). 4. [ ] **TD-1 CQRS partial (MediatR)** — `CreateSupplyCommand`, `PostRetailSaleCommand`, `GetSalesReportQuery`. Показать паттерн, не полный рефакторинг. Тесты на handlers.