9b85e55cd4
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
2026-07-21 14:39:40 +02:00
d72d41ec2d
test(integration): Add 10 integration tests for annotation endpoints + update docs
...
Integration tests:
- 5 happy path tests (TextMarkup, FreeText, StickyNote, Circle, Square) with multipart + Base64 mix
- 5 validation error tests (invalid Base64, page number, missing content/style, invalid color)
- All existing 7 merge tests retained (now 17 total in PdfOperationsControllerTests)
Documentation updates (AGENTS.md):
- Update test count: 82 -> 101 passed, 7 skipped
- Update PdfOperationsController status: 1/N -> 2/3 endpoints (merge + annotate DONE, stamp TODO)
- Add test breakdown by feature (6 features listed)
- Update 'Run tests' section with Feature 6 mention
Test results: 101 PASSED, 7 SKIPPED, 0 FAILED
2026-07-21 12:28:59 +02:00
aafe46a738
docs: Update AGENTS.md for Feature 5 (PDF Merge) completion
...
- Update test count: 82 passed, 7 skipped (was 62 passed)
- Update PdfOperationsController status: Partial (1/N endpoints), 7 tests
- Add PdfOperationsController Status section with merge endpoint details
- Mark merge endpoint as DONE (Phase 1, Priority 5)
- List remaining Phase 2 endpoints: stamp, annotate
2026-07-21 10:22:04 +02:00
cb552e54e7
docs: Update AGENTS.md - PdfAttachmentController 2/3 endpoints, 62 tests
2026-07-21 09:27:14 +02:00
f7433111a7
test: Add PDF/A validation tests and manual testing guide
...
- Add unit tests for ValidatePdfAQueryHandler (4 tests)
- Add integration tests for PDF/A validation endpoint (6 tests)
- Fix FluentValidation: Add Base64 format validation to ValidatePdfAQueryValidator
- Update AGENTS.md: Document 3-folder test structure rationale and test count (30 tests)
- Add DocumentOperator.API/README.md: 16 manual test scenarios for all endpoints
Test coverage:
- Unit: ValidatePdfAQueryHandler (compliant, non-compliant, encrypted, exceptions)
- Integration: PDF/A endpoint (multipart + Base64, validation, error handling)
- Manual: Step-by-step Swagger UI testing guide for all features
All 30 automated tests passing.
2026-07-09 14:01:57 +02:00
dc0af68d26
docs: Update API specification based on Marvin/Marlon feedback
...
CONTROLLER_ENDPOINTS.md changes:
- Binary stream output for all operations (NO outputPath, NO base64)
- PDF Operations: merge, stamp, annotate → return application/pdf stream
- PDF Conversion: to-pdfa, from-pdfa → return application/pdf stream
- Attachment Extraction: extract → return application/zip stream
- Add Attachment endpoint (Phase 2): embed files in PDF/PDF/A-3
- Swiss QR Code endpoint documented (already implemented)
- PdfRenderController REMOVED (moved to .NET client library)
AGENTS.md changes:
- Current Status: SwissQrCodeController ✅ DONE (2 tests)
- Current Status: PdfValidationController ✅ Partial (4 tests)
- Phase reorganization:
- Phase 1: validate, validate-pdfa, check, extract (SwissQR), extract (attachments), merge
- Phase 2: stamp, annotate, add-attachment
- Phase 3: to-pdfa, from-pdfa
- Removed PdfRenderController from all phases
Design decisions (team consensus):
- Server endpoints stay granular (validate, check, extract separate)
- Combined operations (validateANDextract) → .NET client library
- Binary streams avoid filesystem dependencies
- No base64 overhead (~33%), client library handles conversions
Result: Clean API spec, memory-based operations, client convenience layer
2026-07-08 15:46:10 +02:00
f8690b9417
docs: Add AGENTS.md architecture guidance for AI agents
...
Comprehensive architecture documentation including:
- Clean Architecture with Controller-based API (NOT Minimal API)
- Vertical slice architecture pattern
- Exception-based error handling (no Result<T>)
- Feature-driven development approach
- Primary constructor coding standards
- Git commit guidelines
- Swiss QR Bill backward compatibility decisions
Key decisions documented:
- Windows-only targeting (no Linux support needed)
- Support BOTH multipart/form-data AND Base64 JSON
- Separate endpoints for Combined Address (K-Type) legacy support
- Multi-tenancy deferred until after all sync features complete
2026-07-07 19:00:12 +02:00