Skip to main content

Cross-document consistency

What this page is — the capability that walks a document's family tree and flags real conflicts between it and its relatives, telling deliberate overrides apart from genuine clashes.

What it is for — because an SOW quietly setting Net-60 against an MSA that says Net-30 is a dispute waiting to happen, and nothing about either document, read alone, reveals it.

The problem it solves — a conflict between a statement of work and its master agreement stays invisible until the parties disagree about which one governs.

Route: /org/papers/documents/<document>/ai → Comply → Cross-document consistency · Permission: Use AI drafting/extraction/Q&A for documents. · Utility: papers_consistency_wf · Cost: 600 credits estimated, 2,400 maximum — higher than most, because it reads several documents.


1. What it is​

Contract families drift. An SOW sets different payment terms from its MSA; an amendment changes a definition an addendum still relies on; two documents name different governing law.

This walks the family tree — parent, amendments, renewals, addenda, sibling SOWs — and compares.

The judgement that makes it usable is the second output:

OutputContains
conflicts[]Genuine clashes needing resolution
deliberate_differencesDifferences judged to be legitimate overrides

An amendment is supposed to change things. Without that distinction the capability would report every amendment as a conflict with its parent and be useless. Read deliberate_differences to check its judgement — an override you did not intend appears there, not in conflicts[].

Compares against
Cross-document consistencyThe document's own contract family
Cross-validateThe platform's order record
Blind spotsYour finalised corpus of similar documents
Version diffPrior versions of the same document
Advisory only — verify both sides

It never edits anything. Check the flagged clause on both documents before acting; a conflict is a claim about two texts, and both can be misread.


2. Why you would use it​

The family conflict is the most expensive error in contract management because it is invisible from inside either document. Both are internally consistent. Both were properly reviewed. They contradict each other.

  • It catches the SOW that overreached. Delivery teams draft SOWs; the MSA constrains what an SOW may change. Nobody re-reads the MSA when drafting the fortieth SOW under it.
  • It finds the orphaned definition. An amendment redefines a term; an addendum written earlier still uses the old meaning. Both remain in force.
  • It resolves the "which governs?" argument before it starts. A conflict found now is a correction; found during a dispute it is leverage for the other side.
  • recommendation names the resolution direction. Align the child, or amend the parent — a decision, not just a flag.
  • It is the only check that reads more than one document. Everything else in the module reads one at a time.

3. What you provide​

Nothing. It is a one-press capability with no parameters.

InputRequiredNotes
——The family tree is walked automatically
It can only compare what is linked

The check follows family relations — amend, renew, addendum, parent. A document that is conceptually under an MSA but has no relation recorded is invisible to it, and the run will come back clean.

Linking your documents is the prerequisite. See Amend, renew, supersede.

There is a hard limit worth knowing: up to 5 family documents per run, with long ones truncated — and it says so when that happens. A family larger than five is not fully compared in one run.


4. What it reads automatically​

ReadUsed for
This document — full rendered textOne side of every comparison
The family tree — parent, amendments, renewals, addenda, siblingsWhich documents to compare against
Each relative's text — up to 5 family documents per run, long ones truncatedThe other side

The truncation notice appears in the result. Do not read a clean result from a large family as proof of consistency without checking whether truncation occurred.


5. What you get back​

conflicts[] — each clash.

FieldMeans
topicWhat the conflict is about — "Payment terms"
this_documentWhat this document says, with clause ref
related_documentWhat the related document says, with clause ref and its name
severityHow material the clash is
why it conflictsThe reasoning
recommendationThe concrete resolution

Plus deliberate_differences — differences judged legitimate overrides rather than clashes. And overall_assessment — whether the family is consistent, and the most material clash. And disclaimer.

Both sides carry a clause reference, which is what makes a conflict checkable in two lookups rather than two re-reads.


6. Worked example​

A delivery lead runs the check on a new SOW before it goes out under an existing master agreement.

Input: none — the SOW is linked to its parent MSA.

One entry from conflicts[]:

topic: "Payment terms" — HIGH this document (SOW §4): "Net-60" "Acme MSA" (§9.2): "Net-30, SOWs may not extend" recommendation: "Align the SOW to Net-30 or amend the MSA"

What makes this finding sharp. The MSA does not merely say Net-30 — it says SOWs may not extend it. So this is not an ambiguity to be resolved by interpretation; the SOW is drafting something it has no authority to draft. Reading either document alone would not show that.

What the lead does. Two options, both named in the recommendation. Aligning the SOW to Net-30 is a one-line change made before it is sent. Amending the MSA is a negotiation. The SOW is corrected.

deliberate_differences on the same run listed the SOW's own service description and its distinct term dates as legitimate — which they are, and which a naive comparison would have flagged.


7. Running it​

  1. Open a document that has family relations — parent, amendment, renewal or addendum.
  2. Open the AI Assistant drawer, or go to the document's AI workspace.
  3. Choose Cross-document consistency under Comply.
  4. Review the conflicts; the result is saved to the document.
Results are cached against this document's content

If a related document changed since the last run, the cached result does not know — this document is unchanged, so nothing invalidates the cache. Use Re-run after any relative changes.

This is the one caching behaviour in the module that can quietly mislead you, because the usual signal (my document changed) does not fire.

Cross-document consistency cannot be set to run automatically. It is one of four capabilities absent from the type's AI Config tab — it reads up to five related documents per run at 600 credits a time, which is not a cost to incur on every lifecycle event. Run it by hand before an SOW goes out. See the capabilities reference for the other three.


8. The admin contract​

Must be trueWhereWhat happens if it is not
Your role holds Use AI drafting/extraction/Q&A for documents.Role editorThe AI Assistant button does not appear
The papers_consistency_wf utility is activeOrbit AI Flow → utilities"This utility is currently disabled"
The utility is enabled for your organisation/org/ai-utilitiesAbsent from Comply, with no error
papers.ai_monthly_credit_cap not yet reachedSystem Config"monthly AI credit cap reached: n of n credits used this month" — this capability costs 600, so it exhausts a cap faster
Family relations are recorded on documentsAmend, renew, supersedeThe tree is empty and every run comes back clean. The most consequential prerequisite in this module
You can read the related documentsProject scope and permissionsA relative outside your scope cannot be compared, and its absence is not announced as a permission problem
Confidential documents: automatic runs are blocked, manual runs are not

For a confidential document, auto-run is default-denied — a platform administrator must set papers.ai_confidential_cloud to the literal allow, and the block appears only in the server log. A manual press still works, and where a local model key is configured the run is forced on-prem and audited on the timeline as ai_local_routed.


9. Don't confuse this with…​

Version diffCompares versions of the same document. This compares different documents
Cross-validateReconciles against an order record. This compares against contract relatives
Blind spotsBenchmarks against your corpus generally. This compares against this document's own family
Amend, renew, supersedeWhere relations are recorded. This reads them

10. Troubleshooting​

SymptomCause
It found nothing on a family I know conflictsThe relations are not recorded, so the tree is empty (§3)
An amendment is reported as a conflictCheck deliberate_differences first — legitimate overrides are separated there (§1)
A large family seems only partly checkedIt reads up to 5 family documents per run, truncating long ones — and says so (§4)
The result is stale after a relative changedCaching is against this document's content, not its relatives'. Re-run (§7)
A related document is missing from the comparisonIt may be outside your project scope or permissions (§8)
It costs more than other capabilities600 / 2,400 credits, because it reads several documents
The capability is missing from ComplyRole lacks Use AI drafting/extraction/Q&A for documents., or the utility is off for the organisation (§8). The document type does not gate it — AI Config controls auto-run only