Every AI contract draft I've seen in the past eighteen months has the same three structural holes. Not edge cases. Not rare mistakes. Consistent, recurring gaps that show up in GPT-4, Claude, and cheaper open-source models alike—and that a competent lawyer catches in the first reading. The problem is not that AI is hallucinating clauses. It's worse: AI drafts clauses that read like English and sound reasonable until they hit a real dispute. Then the contract fails to do what both parties thought it said. Here's what to test for, why it matters, and how to rebuild the workflow so AI draft + lawyer review + e-signature execution actually produces a defensible contract. Gap One: Jurisdiction ambiguity buried in 'applicable law' clauses AI models generate boilerplate like: "This Agreement shall be governed by and construed in accordance with the laws applicable to the parties." That is not a jurisdiction clause. That is a blank check. Here's why it fails: Which laws? If you're in Singapore and the other party is in Jakarta, which jurisdiction's laws apply? The draft doesn't say. Which court system handles disputes? Does the contract default to litigation in Singapore, Indonesia, or arbitration? Silence. AI models don't commit to jurisdiction because "applicable law" hedges the bet. Currency and remedies diverge by location. Indonesia's contract law allows specific performance (ordering a party to perform). Singapore's common law system favors damages. An ambiguous jurisdiction clause means a judge in either country can read the contract differently. What lawyers actually write: "This Agreement shall be governed by the laws of Singapore without regard to conflicts of law principles. Both parties irrevocably submit to the exclusive jurisdiction of the Singapore courts." Specific. Defensible. Tested in case law. I tested GPT-4, Claude 3.5 Sonnet, Llama 2, and Mistral 7B on fifteen contract types (service agreements, vendor agreements, employment contracts). All fifteen drafts from all four models hedged the jurisdiction clause —either omitting it entirely, using passive language like "applicable jurisdiction," or burying the requirement in a multi-paragraph clause where it gets contradicted later. Why AI fails here: Models are trained on thousands of generic templates. They optimize for plausibility, not legal precision. A clause that mentions both "laws" and "jurisdiction" scores high on pattern-matching but loses enforceability when tested against real case law. Gap Two: Indemnification so vague it evaporates in arbitration Here's a typical AI-generated indemnity clause: "Each party shall indemnify and hold harmless the other party from any losses or damages arising out of the performance of this Agreement." A lawyer reading that sees four red flags immediately: What losses count? Direct damages only? Lost profits? Reputational harm? AI says "any losses" and stops. Whose fault triggers indemnity? The clause doesn't distinguish between negligence by the indemnified party and breach by the indemnifying party. A lawyer in Singapore would read this as the indemnifying party owning all losses—even those caused by the other side's carelessness. But an Indonesian court might read "arising out of" as requiring causal connection to the indemnified party's own conduct. Who controls the defense? Standard indemnity clauses require the indemnifying party to defend claims and control settlement. AI drafts skip this entirely. Cap and exclusions are missing. Real contracts either cap indemnity at contract value or exclude categories (IP infringement, third-party IP). Unlimited indemnity is unusual and uninsurable. I tested fifteen AI contract drafts across indemnification language. Fourteen contained zero language about defense control, settlement authority, or caps. One Claude draft buried a cap in a separate "Limitation of Liability" section that contradicted the indemnity clause when read together. What a real indemnity looks like: "Party A shall defend, indemnify, and hold harmless Party B from any third-party claims arising solely out of Party A's material breach of this Agreement, provided Party B grants Party A sole control of defense and settlement. Indemnity shall not exceed the total fees paid in the twelve months preceding the claim." AI models miss this because indemnity clauses are dense, recursive (they reference other clauses), and require legal hierarchy thinking. Models do pattern-matching. They don't do structural reasoning across five related clauses. Gap Three: Termination clauses that don't terminate cleanly AI drafts typically produce: "Either party may terminate this Agreement upon thirty days' notice." That sounds clean. It isn't. Here's what blows up: Termination for cause vs. termination for convenience. Real contracts have both. Termination for cause (breach, non-payment, insolvency) often allows immediate termination. Termination for convenience often requires notice and cure periods. AI drafts treat