Your extraction tool pulls product information from supplier catalogs. The schema includes a discontinued_date field — but for products that aren't discontinued, the date doesn't exist in the source document.
The model is fabricating dates like "2099-12-31" or "N/A" or "unknown" to populate the field.
What's the right schema-level fix?
Why did you pick that answer? Two or three sentences. The act of articulating it is what builds the judgment — not the click that follows.
When a field may not exist in source documents, the schema should make that explicit by allowing null. The model then has a legitimate way to indicate absence and stops needing to fabricate values. This is one of the most common schema design mistakes — treating every field as required forces the model to invent content when the source is silent. Optional/nullable fields are not a weakness in the schema; they're an honest reflection of what data is and isn't available.
If the schema requires the field, the model has to produce something. "Only fill it in when the date appears" contradicts the schema's requirement, and the model defaults to producing some value to satisfy the structure. Schema and prompt have to agree.
Removing structured fields and replacing them with free-form notes destroys downstream parseability. You'd be solving a fabrication problem by abandoning structure entirely.
Sentinel dates like 1900-01-01 are a classic anti-pattern. Every downstream consumer has to know about the convention, missed conversions cause bugs (the system thinks a product was discontinued in 1900), and you've created a domain-specific magic value where null would have been universally understood.