Recipe 4: select fields and validate them
Separate candidate selection from parsing, arithmetic and validation.
Split extraction into two jobs
An email may contain an order date, shipment date and requested arrival date. You need the requested arrival date, not simply any date.
First, code or a separate parser finds candidates and preserves source locations. Then Jev selects the candidate matching your definition, or signals insufficient evidence through an explicit option.
Traceable candidates instead of invented values
{
"text": "Ordered on September 10. Please deliver by September 25.",
"candidates": {
"date_1": {"raw": "September 10", "context": "order date"},
"date_2": {"raw": "September 25", "context": "requested arrival"},
"none": {"raw": "insufficient evidence"}
}
}
Ask which candidate represents the customer's requested arrival date. Choice returns a label. This does not authorize the application to invent a year, timezone or contractual commitment.
Let code finish the job
Parse formats, confirm year and timezone, validate ranges and perform arithmetic. Retain provenance. Review ambiguous candidates instead of relying on Jev for precise date comparisons or calculations.
Documents need preprocessing
Hosted Jev accepts text. Scanned PDFs, images and audio/video need separate extraction or perception tools. OCR mistakes can propagate into the decision. Evaluate candidate quality and decision quality separately.
Acceptance criteria
Include missing values, similar candidates, malformed values and unspecified years. Success does not mean every record gets a value: uncertainty should trigger review, and chosen values should map back to source text.
Sources and verification boundary
Reviewed September 19, 2026. Documentation-based guidance, not a live API or business-performance test.
TypeSafe · Pre-parsed value extraction →TypeSafe · Choice →TypeSafe · Jev 1.13 limitations →
