docs(policy-ocr): vigencia/agente/prima are keyed in by hand on the PVL layout
Build and Push Images / Build jorgecuadros-web (push) Successful in 3m4s
Build and Push Images / Build jorgecuadros-api (push) Successful in 3m14s

Confirmed with Luz, who handles GMX policies at the office: the three
fields the especificación does not carry are entered manually. The review
screen already supports it — all three are editable and `postPremium`
enables off the typed premium, so no code change was needed.

The parser's note said "esos datos están en la carátula de la póliza",
which now sends the reviewer looking for the wrong document. It says
"captúrelos a mano" instead, and names the consequence of leaving the
vigencia blank: `Policy.policyTo` is nullable and the renewals window
filters `policyTo: { gte, lte }`, so a policy confirmed without one never
matches and never gets a renewal notice — silently, permanently, with
nothing downstream erroring.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-15 00:20:09 -07:00
co-authored by Claude Opus 5
parent 45be0ad77d
commit 14c4d44acb
3 changed files with 31 additions and 5 deletions
@@ -603,9 +603,15 @@ function parseGmxEspecificacion(page: OcrPage): ParsedPolicy {
const { coverages, currency } = parseEspecificacionCoverages(lines, notes);
// These are absent by design on this document, not failures to read. Say so
// explicitly, or the reviewer reads four empty fields as a broken parse.
// explicitly, or the reviewer reads three empty fields as a broken parse.
//
// The renewal consequence is spelled out rather than left implied: a Policy
// confirmed with a null `policyTo` never matches the renewals window query
// (`renewals.service.ts`, `policyTo: { gte, lte }`), so it drops out of the
// renewal notices silently and stays out. Nothing downstream errors.
notes.push(
"la especificación PVL no trae vigencia, agente ni prima; esos datos están en la carátula de la póliza",
"la especificación PVL no trae vigencia, agente ni prima; captúrelos a mano " +
"(sin vigencia la póliza no entra en los avisos de renovación)",
);
return {