Analysis¶
Deterministic analysis of extracted contracts: no model calls. See Contract analysis.
RiskAnalyzer¶
RiskAnalyzer ¶
Evaluate a Playbook against an extraction result.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
playbook | Playbook | A Playbook instance (NDA, SaaS, or custom YAML-loaded). | required |
analyze(result: object) -> list[RiskFlag] ¶
Run all playbook rules against result and return a list of RiskFlags.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
result | object | Any object with a .clauses attribute (Contract, ExtractionResult, or a list of Clause objects). | required |
Returns:
| Type | Description |
|---|---|
list[RiskFlag] | list[RiskFlag] โ one entry per rule that fired. |
missing_clauses(result: object) -> list[str] ¶
Return a list of required CUAD clause types that are absent from result.
This is separate from the per-rule flag_if_missing checks โ it compares the full set of required_clauses in the playbook against what was extracted.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
result | object | Any object with a .clauses attribute. | required |
Returns:
| Type | Description |
|---|---|
list[str] | list[str] โ CUAD clause type identifiers that are missing. |
RiskFlag¶
RiskFlag dataclass ¶
A risk identified by a playbook rule.
ObligationTimeline¶
ObligationTimeline ¶
Resolve and manage obligation deadlines from contract extraction output.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
obligations | list | List of obligation objects (from extraction result). Accepts objects with .obligor, .action, .deadline, .source_section attributes, or dicts with the same keys. | required |
effective_date | str | date | The contract effective date as "YYYY-MM-DD" or a date object. | required |
upcoming(days: int = 30, reference: date | None = None) -> list[ObligationEntry] ¶
Return obligations due within the next days calendar days.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
days | int | Look-ahead window in calendar days. | 30 |
reference | date | None | Reference date (default: today). | None |
Returns:
| Type | Description |
|---|---|
list[ObligationEntry] | List of ObligationEntry sorted by resolved_date ascending. |
all_resolved() -> list[ObligationEntry] ¶
All entries with successfully resolved absolute dates, sorted by date.
unresolved() -> list[ObligationEntry] ¶
Entries where deadline could not be resolved to an absolute date.
to_ical(calendar_name: str = 'Contract Obligations') -> str ¶
Export resolved obligations as an iCalendar (.ics) string.
Returns:
| Type | Description |
|---|---|
str | A standards-compliant iCalendar string suitable for import |
str | into any calendar application (Google Calendar, Outlook, etc.). |
ObligationEntry¶
ObligationEntry dataclass ¶
An obligation with a resolved absolute deadline.
compare¶
compare(result_v1: object, result_v2: object, similarity_threshold: float = 0.85) -> ContractDiff ¶
Compare two contract extraction results.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
result_v1 | object | First extraction result (or list of clauses). | required |
result_v2 | object | Second extraction result (or list of clauses). | required |
similarity_threshold | float | Clauses with text similarity above this value are considered "same clause, minor edit" rather than "removed + added". Default 0.85. | 0.85 |
Returns:
| Type | Description |
|---|---|
ContractDiff | ContractDiff with added, removed, and modified clauses. |
ContractDiff¶
ContractDiff dataclass ¶
The result of comparing two contract extraction results.