docs(policy-ocr): vigencia/agente/prima are keyed in by hand on the PVL layout
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:
+16
-2
@@ -171,8 +171,22 @@ Three things about the especificación are worth knowing before touching it:
|
||||
above it (`efectuados.`, `Y CADA PÉRDIDA.`), and without it coverages get
|
||||
named after the last word of the preceding prose.
|
||||
- **Vigencia, agente and prima are absent by design**, not unread. The parser
|
||||
says so in a note, so a reviewer seeing four empty fields does not read it
|
||||
as a broken parse. The caratula is the document that carries them.
|
||||
says so in a note, so a reviewer seeing three empty fields does not read it
|
||||
as a broken parse.
|
||||
|
||||
**These three are keyed in by hand** — confirmed 2026-08-14 with Luz, who
|
||||
handles GMX policies at the office. The review screen already has editable
|
||||
inputs for all three, and `postPremium` enables off the *typed* premium, so
|
||||
a hand-entered prima posts to the ledger exactly like a parsed one. No code
|
||||
change was needed to support this; it is a process decision, recorded here
|
||||
because the parser's own note now instructs the reviewer accordingly.
|
||||
|
||||
> **A blank vigencia is silently permanent.** `Policy.policyTo` is nullable
|
||||
> and the renewals window query filters `policyTo: { gte, lte }`
|
||||
> (`renewals.service.ts`), so a policy confirmed without one **never matches
|
||||
> and never gets a renewal notice** — no error, no warning, and nothing
|
||||
> later notices. This is why the parser's note names the consequence instead
|
||||
> of just listing the missing fields.
|
||||
|
||||
An excluded catastrophic risk is recorded as excluded **in the risk label**
|
||||
(`Terremoto o erupción volcánica — Sección Edificio: EXCLUIDO`) with a null
|
||||
|
||||
Reference in New Issue
Block a user