cert_public

Notes

  • 2026-08-18: unlikely.report canonical /{ref}/{permit} now serves the frozen screen-mode cert HTML with a print-hidden Download PDF bar; sealed PDF moved to /{ref}/{permit}.pdf (attachment, route_type=‘cert_pdf’, migration 041). Saved HTML is a true screen render (jurisdiction form images inline) stamped with an up-public-cert:v1 marker — unmarked pre-flow HTML keeps serving inline PDF until regenerated. URLs mint from display project_id (customer numbers retired); legacy customer-number/bc-job URLs still resolve. Images via /cert-public/_asset and /_file passthroughs. entirely-api 4ceb23a, entirely-portal ab2ca22 (certUrl.ts mirrors minting). Rationale (Dustin): HTML delivery exists so no heavy PDF moves through email.
  • 2026-09-30: “no certs can be generated” (Jacob) was the reviewer link, not generation. Since dc5ff38 (9/27) unlikely.report serves only the last SENT version, so every draft’s “View Certification Package” link 404ed; MAN-9241 additionally 500ed because a hand-uploaded PDF named with em-dashes was the served file and the hand-built Content-Disposition header could not be latin-1 encoded. Fix (entirely-api f57ceb5): one _pdf_response() helper passes filename= to FileResponse (RFC 5987 filename*=utf-8” for non-ASCII names) on all three serve paths; regression tests in test_cert_public_versions.py. Portal (entirely-portal 91001a5): buildCertReviewUrl opens /api/cert-gen/pdf/{record_id} while a cert is unsent, the public page once sent.