Why we didn't build this on a large language model
A contract's current position is not something to guess at, however well. It is something to prove, the same way, every time it is asked.
Most of the work isn't AI at all
Consolidation is largely a structural problem: matching an amendment to the clause it changes, resolving which of two conflicting dates governs, tracing a defined term back to where it was first defined. Rules-based logic does this reliably, and does it the same way twice. Reaching for a general-purpose model to do work that deterministic logic already does well would trade a reliable answer for a plausible one.
Where AI comes in, and where it stops
A model earns its place only where genuine language understanding is required: reading free text that describes what a clause does, or matching wording that means the same thing but is not phrased identically across two documents. Even there, the model's output is checked against the document it came from before it is presented as an answer. Nothing is asserted that cannot be traced back to a source clause.
Why this runs in a private cloud, not an API call
Sending a client's contracts to a shared, general-purpose model over a public API means the documents leave the client's control and land somewhere the client cannot see. Consolidocs runs extraction in a private cloud environment dedicated to the client's own data, and nothing is used to train any model, for that client's account or anyone else's.
The narrow model is the point, not the compromise
A small language model (SLM), purpose-built for contract structure, is not a lesser version of a large language model doing the same job. It is a different tool for a job that rewards precision over range: deterministic, auditable, and narrow enough to prove. The same document produces the same answer every time.