pdf task-h

This commit is contained in:
phaichayon
2026-06-19 15:09:58 +07:00
parent a85d24235c
commit fd01ebf7c7
35 changed files with 3905 additions and 133 deletions

View File

@@ -0,0 +1,49 @@
# ADR 0013: PDF Visual Parity Strategy
## Status
Accepted
## Context
The quotation PDF flow now includes:
- production PDFME templates per organization
- DB-backed mapping registry
- dynamic topic expansion
- approval signature resolution
- approved snapshot persistence
What was missing was a repeatable audit strategy proving that template schema, mappings, runtime payload, and approved snapshot content remain synchronized over time.
## Decision
- freeze a documented PDF mapping registry in `docs/business/pdf-mapping-registry.md`
- keep a human-readable parity checklist in `docs/implementation/pdf-parity-checklist.md`
- add an audit suite:
- `audit-pdf-template-inventory`
- `audit-pdf-mapping-coverage`
- `audit-pdf-runtime-payload`
- `generate-pdf-audit-report`
- expose the suite through `npm run audit:pdf`
- prefer the stable fixture quotation code `QT-H5-AUDIT` for repeatable audits when available
- compare preview runtime content against approved snapshot content for business-field consistency
## Visual Parity Rules
- allowed differences:
- watermark state
- generated timestamp
- artifact metadata
- disallowed differences:
- customer identity
- quotation commercial values
- topic content
- signature identity
- mapped table content
## Consequences
- regressions in template coverage become detectable without opening every PDF manually
- mapping ownership is explicit and reviewable
- future PDF changes must update both runtime logic and the registry/checklist when business content changes