Background
Identical PDFs are regenerated on every request. Cache output keyed by a hash of the input.
Files to modify (2-3)
src/services/pdf-generation.ts
src/services/certificate-service.ts
Acceptance Criteria
Implemented across the listed files
Unit/integration tests added or updated and passing
No regression; follows project coding standards
Background
Identical PDFs are regenerated on every request. Cache output keyed by a hash of the input.
Files to modify (2-3)
src/services/pdf-generation.ts
src/services/certificate-service.ts
Acceptance Criteria
Implemented across the listed files
Unit/integration tests added or updated and passing
No regression; follows project coding standards