Most AI products for documents put the model in the path of the file: it reads, decides and hands back a new document. A language model is excellent at interpreting and poor at guaranteeing. SazAI Corpus splits the two, and the rest of this site follows from that.
The two layers
One understands what you want; the other opens the file by the format's rules
The talking layer is a language model: it understands the request, chooses the operation and explains the result. The layer that touches the file is a deterministic engine: it opens the document by its format’s rules, changes the authorized elements, records which ones, and writes it back. It does not interpret intent.
So a misread request stays a conversation error: if the model misreads you, the wrong operation shows up in the receipt, named and versioned, and the file’s structure does not come back silently damaged.
The document comes out of a specification
What executes is an operation on a known structure
On entry, the document is read whole and broken into its elements: text, shapes, tables, cells, pages, relations, properties. That map is recorded. A change is a specification executed against it: authorized elements change, the rest stays, and the result is checked against the source structure. More in your documents.
Where the model's text enters
In translation the boundary is checked, and a mismatch fails the step
Where the model’s own text goes into the file, as in translation, the boundary is checked, not assumed. Each passage goes out between markers, and the markers that come back are counted against those that left. If the model dropped one, invented one, or wrote something that looks like one, the step fails.
A model that drops or invents a passage produces an operation that did not complete, not a document damaged in silence. The count checks that every passage came back, not what it says: whether the translation is right is still read by a person. How far this holds per format is on translate.
The language model is a choice, not a dependency
The deterministic layer stays when the model changes
The model that talks and the model that translates are chosen separately and replaced by configuration; an installed client points at the model it contracted. The deterministic layer does not move when the model changes, and sovereignty rests on it.
What this split enables: the channels in interfaces, and the operations in capabilities.