space ocr update #1
Small one, and it is already live.
You can now mark a field as required in a schema. If a read finishes and that field comes back empty, or does not come back at all, the response records it in the review summary with the reason "missing", and in the sheet view the cell is drawn as an explicitly empty cell instead of just blank space.
The reason I built this is that absence is the one thing my verification could never see. The whole design is two independent reads of the same image with a character level comparison between them, and a value that was never returned has nothing to disagree with. Every other failure leaves two versions to compare. This one leaves zero. So the check has to come from you, in the form of a declaration: this document always prints this value, and if it is not in the result, say so.
One decision worth explaining: the required mark is never shown to the model. Telling a model that a field is required is quietly an instruction to produce something for it, and that contradicts the more important instruction not to infer values that are not printed. So extraction behaves exactly as before, and the flag only changes what the response admits afterward.
The one piece of advice that comes with it: mark only values the document always prints. A required flag on a field that is legitimately absent sometimes, like a total that only appears on the last page of a multi page invoice, does not add safety. It buries the signal.
The bigger thing I am working on stays the same: row level extraction across multi page documents. I will post it here either way.
Replies