AI Contract Analysis
Human → AIAI extracts clauses and compares against templates; legal team annotates and returns.
5 nodes · 5 edgeslegal
agenthumansystem
Visual
Upload Contracthuman
Legal team uploads incoming contract for review.
↓sequential→ AI Clause Extraction
AI Clause Extractionagent
Parse contract into structured clauses with type labels.
↓sequential→ Compare to Templates
Compare to Templatessystem
Diff extracted clauses against approved standard templates.
↓sequential→ Legal Team Review
Legal Team Reviewhuman
Attorneys review deviations and mark accept, reject, or negotiate.
↓sequential→ Annotate & Return
↓fallback→ AI Clause Extraction
Annotate & Returnapi
Send annotated contract with comments back to counterparty.
uc-contract-analysis.osop.yaml
osop_version: "1.0"
id: "ai-contract-analysis"
name: "AI Contract Analysis"
description: "AI extracts clauses and compares against templates; legal team annotates and returns."
nodes:
- id: "upload"
type: "human"
subtype: "input"
name: "Upload Contract"
description: "Legal team uploads incoming contract for review."
- id: "clause_extract"
type: "agent"
subtype: "llm"
name: "AI Clause Extraction"
description: "Parse contract into structured clauses with type labels."
security:
risk_level: "medium"
- id: "template_compare"
type: "system"
name: "Compare to Templates"
description: "Diff extracted clauses against approved standard templates."
- id: "legal_review"
type: "human"
subtype: "review"
name: "Legal Team Review"
description: "Attorneys review deviations and mark accept, reject, or negotiate."
security:
approval_gate: true
- id: "annotate_return"
type: "api"
subtype: "rest"
name: "Annotate & Return"
description: "Send annotated contract with comments back to counterparty."
edges:
- from: "upload"
to: "clause_extract"
mode: "sequential"
- from: "clause_extract"
to: "template_compare"
mode: "sequential"
- from: "template_compare"
to: "legal_review"
mode: "sequential"
- from: "legal_review"
to: "annotate_return"
mode: "sequential"
- from: "legal_review"
to: "clause_extract"
mode: "fallback"
label: "Re-extract with additional context"