Most form validation libraries answer one question: is this field valid?

Document-generation products need to answer a harder question: is this file safe to export, and if it is technically exportable, does a human still need to review something?

We ran into this problem while building a print-oriented web app. The inputs included structured facts, free-form text, photos, template choices, and page-format decisions. A green check beside every form field did not guarantee a usable PDF.

The model that worked for us has three states:

type CheckerStatus = "pass" | "needs_review" | "cannot_export";