docs: Update AGENTS.md for Feature 7 completion + Serilog.UI

Updates:
- Mark stamp endpoint as DONE in Current Status table
- Add Serilog.UI packages to Key Libraries table
- Update test count (Feature 7 instead of Feature 6)
- Add Serilog UI URL to Build/Run section
- Document log viewer access at /serilog-ui
This commit is contained in:
2026-07-21 14:39:40 +02:00
parent 536413bafe
commit 9b85e55cd4

View File

@@ -188,7 +188,7 @@ After completing all Phase 1-3 controllers (PdfValidation, PdfAttachment, SwissQ
dotnet build
```
**Run tests (101 passed, 7 skipped as of Feature 6 - PDF Annotation):**
**Run tests (101 passed, 7 skipped as of Feature 7 - PDF Stamp):**
```powershell
dotnet test
```
@@ -197,7 +197,8 @@ dotnet test
```powershell
dotnet run --project DocumentOperator.API
```
Swagger UI: `https://localhost:<port>/swagger`
Swagger UI: `https://localhost:7186/swagger`
Serilog UI: `https://localhost:7186/serilog-ui` (Web-based log viewer)
**Target framework:** .NET 8.0
**SDK required:** 8.0.412 or later (repo has 8.0.41210.0.203 available)
@@ -214,6 +215,8 @@ Swagger UI: `https://localhost:<port>/swagger`
| **MediatR** (14.1.0) | CQRS: 1 handler per feature | Application layer |
| **FluentValidation** (12.1.1) | Request validation (runs via ValidationBehavior before handlers) | Application layer |
| **Serilog.AspNetCore** (10.0.0) | Structured logging | API layer |
| **Serilog.Sinks.SQLite** (7.0.0) | SQLite log persistence | API layer |
| **Serilog.UI** (3.2.0) + **Serilog.UI.SqliteProvider** (1.1.0) | Web-based log viewer UI | API layer |
**Critical:** DevExpress requires a license. All PDF operations use `DevExpress.Pdf.PdfDocumentProcessor`.
@@ -276,7 +279,7 @@ Do NOT add `if (result.IsSuccess)` checks. Throw exceptions for errors. The midd
| **PdfValidationController** | ✅ DONE | 13 (7 validate + 6 validate-pdfa) |
| **SwissQrCodeController** | ✅ DONE | 2 |
| **PdfAttachmentController** | ⏳ Partial (2/3 endpoints) | 10 (4 check + 6 extract) |
| **PdfOperationsController** | ⏳ Partial (2/3 endpoints) | 29 (7 merge + 22 annotate: 12 unit + 10 integration) |
| **PdfOperationsController** | ⏳ Partial (3/3 endpoints, integration tests pending) | 29 (7 merge + 22 annotate: 12 unit + 10 integration) |
| **PdfConversionController** | ⏳ Pending | 0 |
**PdfAttachmentController Status:**
@@ -287,7 +290,7 @@ Do NOT add `if (result.IsSuccess)` checks. Throw exceptions for errors. The midd
**PdfOperationsController Status:**
-`POST /api/pdf/operations/merge` - DONE (Phase 1, Priority 5) - Merges multiple PDFs with optional page ranges (multipart + Base64)
-`POST /api/pdf/operations/annotate` - DONE (Phase 2, Priority 6) - Adds annotations (TextMarkup/FreeText/StickyNote/Circle/Square) with multipart + Base64 support
- `POST /api/pdf/operations/stamp` - TODO (Phase 2, Priority 6)
- `POST /api/pdf/operations/stamp` - DONE (Phase 2, Priority 6) - Adds text/image/predefined stamps (multipart + Base64 support, origin/rotation/opacity/placement)
**Note:** PdfRenderController removed - moved to .NET client library.