This commit is contained in:
Kulvir Singh
2026-02-05 22:58:27 +05:30
parent b92b43c4bc
commit 5c68e171ba
3 changed files with 313 additions and 0 deletions

6
03-file-less-coi.md Normal file
View File

@@ -0,0 +1,6 @@
### API that might create issues
<!-- - `contracts/change-contract-type` -->
- DEPRECATE `get-contract-date`
- **DISABLE**: `checklists/analyze`
- **DISABLE**: ``

278
SYSTEM_DESIGN.md Normal file
View File

@@ -0,0 +1,278 @@
# Contract Analysis Platform - System Design
## High-Level Architecture
```
┌─────────────────────────────────────────────────────────────────────────┐
│ INGESTION LAYER │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌─────────────┐ │
│ │ Email Inbox │ │ Web Upload │ │ Bulk Import │ │ Integrations│ │
│ │ (Graph API) │ │ │ │ (CSV/ZIP) │ │ (ERP/CRM) │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────────┐
│ PROCESSING LAYER │
│ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────────┐ │
│ │ Document Parser │ │ Contract Classifier││ Chunking Engine │ │
│ │ (PDF/DOCX/Image) │ │ (Type Detection) ││ (Clause Extraction) │ │
│ └──────────────────┘ └──────────────────┘ └──────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────────┐
│ ANALYSIS LAYER │
│ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────────┐ │
│ │ Key Term Analysis│ │ Playbook Engine │ │ Checklist Engine │ │
│ │ (AI Extraction) │ │ (Risk/Deviation) │ │ (Compliance Check) │ │
│ └──────────────────┘ └──────────────────┘ └──────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────────────┐
│ OUTPUT LAYER │
│ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────────┐ │
│ │ Dashboard Views │ │ Reports/Exports │ │ Notifications │ │
│ │ (Type-specific) │ │ (PDF/Excel) │ │ (Email/Webhook) │ │
│ └──────────────────┘ └──────────────────┘ └──────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────┘
```
---
## Core Entities
### 1. Contract Type Hierarchy
```
ContractType
├── MSA (Master Service Agreement)
├── NDA (Non-Disclosure Agreement)
├── SOW (Statement of Work)
├── SLA (Service Level Agreement)
└── COI (Certificate of Insurance)
├── Commercial (Retail, Office)
├── Residential (Apartment, Condo)
├── Contractor (General, Sub)
└── Vendor
```
### 2. Entity Relationship Diagram
```
Organization (1)
├── Team (N) ─────────────────┐
│ │ │
│ └── User (N) │
│ │
├── Contract (N) ◄────────────┤
│ │ │
│ ├── ContractType │
│ │ └── SubType │
│ │ │
│ ├── AnalysisResult (N)│
│ │ ├── KeyTerms │
│ │ ├── Risks │
│ │ └── Scores │
│ │ │
│ └── Obligation (N) │
│ ├── DueDate │
│ └── Status │
│ │
├── Playbook (N) ─────────────┤
│ └── PlaybookClause (N)│
│ │
├── Checklist (N) ────────────┤
│ └── ChecklistItem (N) │
│ │
├── KeyTermTemplate (N) │
│ └── by ContractType │
│ │
└── Counterparty (N)
└── Contract (N)
```
---
## Entity Definitions
### Organization
| Field | Purpose |
|-------|---------|
| id | Primary identifier |
| name | Organization name |
| settings | JSON config (integrations, email templates, reminder settings) |
| subscription_tier | Plan level (affects limits & features) |
### Contract
| Field | Purpose |
|-------|---------|
| id | Primary identifier |
| organization_id | Tenant isolation |
| type | MSA/NDA/SOW/COI/SLA |
| subtype | Type-specific subtype (e.g., Commercial COI) |
| status | Draft/Active/Expired/Terminated |
| counterparty_id | Link to counterparty |
| effective_date | Start date |
| expiry_date | End date |
| source | Upload/Email/Integration |
| metadata | Type-specific extracted data (JSON) |
### Counterparty
| Field | Purpose |
|-------|---------|
| id | Primary identifier |
| organization_id | Tenant isolation |
| name | Company/Individual name |
| type | Vendor/Tenant/Partner/Client |
| contact_info | Primary contact details |
| compliance_status | Overall compliance state |
### KeyTermTemplate
| Field | Purpose |
|-------|---------|
| id | Primary identifier |
| contract_type | Which contract type this applies to |
| subtype | Optional subtype filter |
| key | Term name (e.g., "Liability Limit") |
| question | AI extraction prompt |
| category | Grouping (Coverage, Dates, Parties) |
| is_required | Mandatory for compliance |
| validation_rules | JSON rules for checking values |
### Playbook
| Field | Purpose |
|-------|---------|
| id | Primary identifier |
| organization_id | Tenant isolation |
| name | Playbook name |
| contract_type | Applicable contract type |
| is_default | System default vs custom |
### PlaybookClause
| Field | Purpose |
|-------|---------|
| id | Primary identifier |
| playbook_id | Parent playbook |
| key | Clause/term name |
| standard_language | Expected/acceptable language |
| risk_guidance | What to flag as risky |
| negotiation_tips | Suggested alternatives |
### Checklist (COI-specific)
| Field | Purpose |
|-------|---------|
| id | Primary identifier |
| organization_id | Tenant isolation |
| name | Checklist name |
| subtype | COI subtype (Commercial/Residential/Contractor) |
| items | Required coverage items with thresholds |
### Obligation
| Field | Purpose |
|-------|---------|
| id | Primary identifier |
| contract_id | Parent contract |
| type | Renewal/Payment/Deliverable/Review |
| due_date | When due |
| status | Pending/Completed/Overdue |
| assigned_to | User responsible |
| reminder_settings | When to notify |
---
## Contract Type Specifics
### COI Subtypes & Data Points
| Subtype | Key Data Points | Dashboard Focus |
|---------|-----------------|-----------------|
| **Commercial** | GL Limits, Property, Workers Comp, Umbrella, Additional Insured, Lease Requirements | Tenant compliance grid, Expiry calendar |
| **Residential** | Renters Insurance, Personal Property, Liability, Loss of Use | Unit-level tracking, Renewal alerts |
| **Contractor** | GL, Workers Comp, Auto, Umbrella, Waiver of Subrogation, Per-Project endorsements | Project compliance, Active job tracking |
| **Vendor** | GL, Professional Liability, Cyber, Product Liability | Vendor scorecards, Risk tiering |
### MSA/NDA/SOW Key Analysis Points
| Type | Key Terms | Risk Areas |
|------|-----------|------------|
| **MSA** | Payment terms, IP ownership, Liability caps, Termination, Governing law | Unlimited liability, Auto-renewal, Broad indemnity |
| **NDA** | Definition of confidential, Duration, Exclusions, Return/Destroy | Perpetual terms, Broad definitions, Missing carve-outs |
| **SOW** | Scope, Deliverables, Timeline, Acceptance criteria, Change process | Scope creep, Vague acceptance, Missing milestones |
---
## Dashboard Views
### 1. Portfolio Overview (All Users)
- Contract count by type and status
- Upcoming expirations (30/60/90 days)
- Compliance score trend
- Recent activity feed
### 2. COI Dashboard (Insurance-focused)
- Compliance grid: Counterparty × Coverage status
- Expiry heatmap calendar
- Non-compliant items requiring action
- Automated reminder status
### 3. Contract Analysis View
- Side-by-side: Document ↔ Extracted data
- Risk flags with severity
- Deviation from playbook
- Suggested redlines
### 4. Counterparty View
- All contracts with counterparty
- Compliance history
- Communication log
- Document timeline
---
## Analysis Workflows
### 1. COI Analysis Flow
```
Upload/Email → Type Detection → Subtype Classification
→ Checklist Selection (by subtype)
→ Key Term Extraction → Compliance Check
→ Generate Report → Notify Counterparty (if non-compliant)
```
### 2. MSA/SOW/NDA Analysis Flow
```
Upload → Type Detection → Clause Chunking
→ Playbook Selection → Risk Identification
→ Deviation Scoring → Redline Suggestions
```
---
## Data Model Summary
```sql
-- Core hierarchy
organizations (1) teams (N) users (N)
-- Contract management
organizations (1) counterparties (N)
organizations (1) contracts (N) contract_type + subtype
contracts (1) analysis_results (N)
contracts (1) obligations (N)
contracts (1) activity_log (N)
-- Analysis configuration
organizations (1) playbooks (N) playbook_clauses (N)
organizations (1) checklists (N) checklist_items (N)
contract_types (1) key_term_templates (N)
-- Results
contracts (1) key_term_values (N) -- extracted values
contracts (1) risk_flags (N) -- identified issues
contracts (1) checklist_results (N) -- compliance status
```
---

29
wfo.md Normal file
View File

@@ -0,0 +1,29 @@
## Why WFO!?
- Legalgraph is ready to pay house rents.
- Legalgraph is ready to pay for the food.
## But We will be living in a PG!! :sob:
- if apes are together strong thennnn
- rent a 2BHK and live good.
- rent will be splitted b/w 2, hence not much to pay for.
## So much LIFE!!!
- good places to eat
- laughter clubs
- good cafes
- anytime blinkit anything because of GGN
- delhi just 1hr metro good stuff to do on weekends too
- concerts
- clubs
## But in out timing of office might be noted
- can do stuff at office too, order food and stuff!!
- mehh!! we will be leaving my 8 or 9 anyways!!!
- **there could be better interns at office for reviews.**
- ofc, backend team at office ez collab
- **Also other company ppl in GGN, we might bump into a guy who can refer us :sob:**