open-agreements 0.7.5 → 0.7.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.de.md +300 -255
- package/README.es.md +301 -254
- package/README.md +389 -95
- package/README.pt-br.md +301 -254
- package/README.template.md +333 -0
- package/README.zh.md +300 -253
- package/SECURITY.md +34 -0
- package/content/recipes/nvca-stock-purchase-agreement/README.md +39 -0
- package/content/recipes/nvca-voting-agreement/README.md +43 -0
- package/content/templates/bonterms-mutual-nda/README.md +2 -2
- package/content/templates/bonterms-mutual-nda/metadata.yaml +5 -11
- package/content/templates/bonterms-professional-services-agreement/README.md +2 -2
- package/content/templates/bonterms-professional-services-agreement/metadata.yaml +2 -2
- package/content/templates/closing-checklist/template.docx +0 -0
- package/content/templates/closing-checklist/template.md +30 -0
- package/content/templates/common-paper-ai-addendum/template.docx +0 -0
- package/content/templates/common-paper-ai-addendum-in-app/template.docx +0 -0
- package/content/templates/common-paper-csa-with-ai/template.docx +0 -0
- package/content/templates/common-paper-independent-contractor-agreement/template.docx +0 -0
- package/content/templates/common-paper-mutual-nda/README.md +28 -0
- package/content/templates/common-paper-one-way-nda/metadata.yaml +1 -1
- package/content/templates/common-paper-term-sheet/template.docx +0 -0
- package/content/templates/openagreements-board-consent-safe/.template.generated.json +74 -0
- package/content/templates/openagreements-board-consent-safe/README.md +61 -0
- package/content/templates/openagreements-board-consent-safe/metadata.yaml +53 -0
- package/content/templates/openagreements-board-consent-safe/reference-source.docx +0 -0
- package/content/templates/openagreements-board-consent-safe/template.docx +0 -0
- package/content/templates/openagreements-board-consent-safe/template.md +66 -0
- package/content/templates/openagreements-due-diligence-request-list/README.md +68 -0
- package/content/templates/openagreements-due-diligence-request-list/metadata.yaml +300 -0
- package/content/templates/openagreements-due-diligence-request-list/template.docx +0 -0
- package/content/templates/openagreements-due-diligence-request-list/template.md +318 -0
- package/content/templates/openagreements-employee-ip-inventions-assignment/.template.generated.json +230 -0
- package/content/templates/openagreements-employee-ip-inventions-assignment/metadata.yaml +1 -1
- package/content/templates/openagreements-employee-ip-inventions-assignment/template.docx +0 -0
- package/content/templates/openagreements-employee-ip-inventions-assignment/template.md +96 -35
- package/content/templates/openagreements-employment-confidentiality-acknowledgement/README.md +1 -1
- package/content/templates/openagreements-employment-confidentiality-acknowledgement/metadata.yaml +2 -2
- package/content/templates/openagreements-employment-confidentiality-acknowledgement/template.docx +0 -0
- package/content/templates/openagreements-employment-confidentiality-acknowledgement/template.json +75 -0
- package/content/templates/openagreements-employment-confidentiality-acknowledgement/template.md +8 -4
- package/content/templates/openagreements-employment-offer-letter/.template.generated.json +224 -0
- package/content/templates/openagreements-employment-offer-letter/README.md +65 -1
- package/content/templates/openagreements-employment-offer-letter/metadata.yaml +1 -1
- package/content/templates/openagreements-employment-offer-letter/template.docx +0 -0
- package/content/templates/openagreements-employment-offer-letter/template.md +70 -30
- package/content/templates/openagreements-restrictive-covenant-florida/.template.generated.json +456 -0
- package/content/templates/openagreements-restrictive-covenant-florida/README.md +141 -0
- package/content/templates/openagreements-restrictive-covenant-florida/metadata.yaml +419 -0
- package/content/templates/openagreements-restrictive-covenant-florida/template.docx +0 -0
- package/content/templates/openagreements-restrictive-covenant-florida/template.md +233 -0
- package/content/templates/openagreements-restrictive-covenant-wyoming/.template.generated.json +399 -0
- package/content/templates/openagreements-restrictive-covenant-wyoming/metadata.yaml +69 -12
- package/content/templates/openagreements-restrictive-covenant-wyoming/template.docx +0 -0
- package/content/templates/openagreements-restrictive-covenant-wyoming/template.md +110 -59
- package/content/templates/openagreements-stockholder-consent-safe/.template.generated.json +74 -0
- package/content/templates/openagreements-stockholder-consent-safe/README.md +62 -0
- package/content/templates/openagreements-stockholder-consent-safe/metadata.yaml +53 -0
- package/content/templates/openagreements-stockholder-consent-safe/reference-source.docx +0 -0
- package/content/templates/openagreements-stockholder-consent-safe/template.docx +0 -0
- package/content/templates/openagreements-stockholder-consent-safe/template.md +62 -0
- package/content/templates/working-group-list/template.docx +0 -0
- package/content/templates/working-group-list/template.md +18 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/fill.d.ts +1 -1
- package/dist/commands/fill.d.ts.map +1 -1
- package/dist/commands/fill.js +4 -1
- package/dist/commands/fill.js.map +1 -1
- package/dist/commands/list.js +10 -0
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/recipe.js.map +1 -1
- package/dist/core/employment/jurisdiction-rules.js +2 -2
- package/dist/core/employment/jurisdiction-rules.js.map +1 -1
- package/dist/core/employment/memo.d.ts +1 -1
- package/dist/core/employment/memo.d.ts.map +1 -1
- package/dist/core/employment/memo.js +14 -6
- package/dist/core/employment/memo.js.map +1 -1
- package/dist/core/engine.d.ts.map +1 -1
- package/dist/core/engine.js +28 -0
- package/dist/core/engine.js.map +1 -1
- package/dist/core/fill-pipeline.d.ts +30 -5
- package/dist/core/fill-pipeline.d.ts.map +1 -1
- package/dist/core/fill-pipeline.js +165 -9
- package/dist/core/fill-pipeline.js.map +1 -1
- package/dist/core/humanize-docx.d.ts +21 -0
- package/dist/core/humanize-docx.d.ts.map +1 -0
- package/dist/core/humanize-docx.js +492 -0
- package/dist/core/humanize-docx.js.map +1 -0
- package/dist/core/metadata.d.ts +118 -65
- package/dist/core/metadata.d.ts.map +1 -1
- package/dist/core/metadata.js +268 -13
- package/dist/core/metadata.js.map +1 -1
- package/dist/core/recipe/bracket-normalizer.d.ts +1 -1
- package/dist/core/recipe/bracket-normalizer.d.ts.map +1 -1
- package/dist/core/recipe/bracket-normalizer.js +3 -0
- package/dist/core/recipe/bracket-normalizer.js.map +1 -1
- package/dist/core/recipe/computed.d.ts +1 -1
- package/dist/core/recipe/computed.d.ts.map +1 -1
- package/dist/core/recipe/index.d.ts.map +1 -1
- package/dist/core/recipe/index.js +22 -4
- package/dist/core/recipe/index.js.map +1 -1
- package/dist/core/recipe/types.d.ts +1 -1
- package/dist/core/recipe/types.d.ts.map +1 -1
- package/dist/core/template-listing.d.ts +6 -8
- package/dist/core/template-listing.d.ts.map +1 -1
- package/dist/core/template-listing.js +24 -0
- package/dist/core/template-listing.js.map +1 -1
- package/dist/core/unified-pipeline.d.ts +2 -0
- package/dist/core/unified-pipeline.d.ts.map +1 -1
- package/dist/core/unified-pipeline.js +17 -1
- package/dist/core/unified-pipeline.js.map +1 -1
- package/dist/core/validation/template.d.ts +32 -0
- package/dist/core/validation/template.d.ts.map +1 -1
- package/dist/core/validation/template.js +163 -3
- package/dist/core/validation/template.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/gemini-extension.json +1 -1
- package/package.json +26 -12
- package/skills/canonical-markdown-authoring/CONNECTORS.md +67 -0
- package/skills/canonical-markdown-authoring/SKILL.md +565 -0
- package/skills/client-email/SKILL.md +10 -6
- package/skills/cloud-service-agreement/CONNECTORS.md +2 -2
- package/skills/cloud-service-agreement/SKILL.md +38 -1
- package/skills/cloud-service-agreement/template-filling-execution.md +2 -2
- package/skills/data-privacy-agreement/CONNECTORS.md +2 -2
- package/skills/data-privacy-agreement/SKILL.md +2 -0
- package/skills/delaware-franchise-tax/SKILL.md +2 -0
- package/skills/edit-docx-agreement/SKILL.md +2 -0
- package/skills/employment-contract/CONNECTORS.md +2 -2
- package/skills/employment-contract/SKILL.md +25 -6
- package/skills/iso-27001-evidence-collection/SKILL.md +2 -0
- package/skills/iso-27001-internal-audit/SKILL.md +2 -0
- package/skills/nda/CONNECTORS.md +2 -2
- package/skills/nda/SKILL.md +45 -1
- package/skills/nda/template-filling-execution.md +12 -6
- package/skills/non-compete-contract-explainer/SKILL.md +107 -0
- package/skills/non-compete-contract-explainer/content/alabama.md +251 -0
- package/skills/non-compete-contract-explainer/content/alaska.md +160 -0
- package/skills/non-compete-contract-explainer/content/american-samoa.md +187 -0
- package/skills/non-compete-contract-explainer/content/arizona.md +293 -0
- package/skills/non-compete-contract-explainer/content/arkansas.md +235 -0
- package/skills/non-compete-contract-explainer/content/california.md +270 -0
- package/skills/non-compete-contract-explainer/content/cnmi.md +168 -0
- package/skills/non-compete-contract-explainer/content/colorado.md +277 -0
- package/skills/non-compete-contract-explainer/content/connecticut.md +220 -0
- package/skills/non-compete-contract-explainer/content/delaware.md +222 -0
- package/skills/non-compete-contract-explainer/content/district-of-columbia.md +263 -0
- package/skills/non-compete-contract-explainer/content/florida.md +267 -0
- package/skills/non-compete-contract-explainer/content/georgia.md +323 -0
- package/skills/non-compete-contract-explainer/content/guam.md +180 -0
- package/skills/non-compete-contract-explainer/content/hawaii.md +236 -0
- package/skills/non-compete-contract-explainer/content/idaho.md +258 -0
- package/skills/non-compete-contract-explainer/content/illinois.md +266 -0
- package/skills/non-compete-contract-explainer/content/india.md +269 -0
- package/skills/non-compete-contract-explainer/content/indiana.md +253 -0
- package/skills/non-compete-contract-explainer/content/iowa.md +232 -0
- package/skills/non-compete-contract-explainer/content/kansas.md +227 -0
- package/skills/non-compete-contract-explainer/content/kentucky.md +201 -0
- package/skills/non-compete-contract-explainer/content/louisiana.md +272 -0
- package/skills/non-compete-contract-explainer/content/maine.md +178 -0
- package/skills/non-compete-contract-explainer/content/maryland.md +244 -0
- package/skills/non-compete-contract-explainer/content/massachusetts.md +272 -0
- package/skills/non-compete-contract-explainer/content/michigan.md +222 -0
- package/skills/non-compete-contract-explainer/content/minnesota.md +171 -0
- package/skills/non-compete-contract-explainer/content/mississippi.md +237 -0
- package/skills/non-compete-contract-explainer/content/missouri.md +219 -0
- package/skills/non-compete-contract-explainer/content/montana.md +202 -0
- package/skills/non-compete-contract-explainer/content/nebraska.md +206 -0
- package/skills/non-compete-contract-explainer/content/nevada.md +278 -0
- package/skills/non-compete-contract-explainer/content/new-hampshire.md +233 -0
- package/skills/non-compete-contract-explainer/content/new-jersey.md +277 -0
- package/skills/non-compete-contract-explainer/content/new-mexico.md +244 -0
- package/skills/non-compete-contract-explainer/content/new-york.md +226 -0
- package/skills/non-compete-contract-explainer/content/north-carolina.md +346 -0
- package/skills/non-compete-contract-explainer/content/north-dakota.md +187 -0
- package/skills/non-compete-contract-explainer/content/ohio.md +207 -0
- package/skills/non-compete-contract-explainer/content/oklahoma.md +196 -0
- package/skills/non-compete-contract-explainer/content/oregon.md +359 -0
- package/skills/non-compete-contract-explainer/content/pennsylvania.md +254 -0
- package/skills/non-compete-contract-explainer/content/philippines.md +211 -0
- package/skills/non-compete-contract-explainer/content/puerto-rico.md +163 -0
- package/skills/non-compete-contract-explainer/content/rhode-island.md +171 -0
- package/skills/non-compete-contract-explainer/content/singapore.md +229 -0
- package/skills/non-compete-contract-explainer/content/south-carolina.md +226 -0
- package/skills/non-compete-contract-explainer/content/south-dakota.md +222 -0
- package/skills/non-compete-contract-explainer/content/tennessee.md +251 -0
- package/skills/non-compete-contract-explainer/content/texas.md +297 -0
- package/skills/non-compete-contract-explainer/content/us-virgin-islands.md +193 -0
- package/skills/non-compete-contract-explainer/content/utah.md +250 -0
- package/skills/non-compete-contract-explainer/content/vermont.md +193 -0
- package/skills/non-compete-contract-explainer/content/virginia.md +213 -0
- package/skills/non-compete-contract-explainer/content/washington.md +296 -0
- package/skills/non-compete-contract-explainer/content/west-virginia.md +187 -0
- package/skills/non-compete-contract-explainer/content/wisconsin.md +293 -0
- package/skills/non-compete-contract-explainer/content/wyoming.md +296 -0
- package/skills/non-compete-contract-explainer/manifest.json +540 -0
- package/skills/open-agreements/CONNECTORS.md +2 -2
- package/skills/open-agreements/SKILL.md +165 -67
- package/skills/open-agreements/template-filling-execution.md +2 -2
- package/skills/recipe-quality-audit/SKILL.md +2 -0
- package/skills/safe/CONNECTORS.md +2 -2
- package/skills/safe/SKILL.md +38 -1
- package/skills/safe/template-filling-execution.md +2 -2
- package/skills/services-agreement/CONNECTORS.md +2 -2
- package/skills/services-agreement/SKILL.md +40 -1
- package/skills/services-agreement/template-filling-execution.md +81 -0
- package/skills/shared/template-filling-execution.md +2 -2
- package/skills/soc2-readiness/SKILL.md +2 -0
- package/skills/unit-test-philosophy/SKILL.md +3 -0
- package/skills/venture-financing/CONNECTORS.md +2 -2
- package/skills/venture-financing/SKILL.md +2 -0
- package/content/templates/openagreements-restrictive-covenant-wyoming/practice-note.md +0 -103
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# OpenAgreements Legal Due Diligence Request List
|
|
2
|
+
|
|
3
|
+
A modular legal due-diligence request list (DDRL) for corporate transactions.
|
|
4
|
+
Free to use under CC BY 4.0.
|
|
5
|
+
|
|
6
|
+
## Structure
|
|
7
|
+
|
|
8
|
+
The template ships a base form covering the core categories that appear in
|
|
9
|
+
90%+ of public-source DDRLs (corporate organization, capitalization,
|
|
10
|
+
subsidiaries, financial/tax, debt, material contracts, property, IP,
|
|
11
|
+
privacy/cybersecurity, employment, litigation, compliance, insurance,
|
|
12
|
+
related-party). Four optional industry riders gate via boolean toggles in
|
|
13
|
+
`metadata.yaml`:
|
|
14
|
+
|
|
15
|
+
| Section | Rider | Toggle field | When to enable |
|
|
16
|
+
|---------|-------|--------------|----------------|
|
|
17
|
+
| O | Tech / SaaS | `tech_rider_enabled` | Software, SaaS, marketplace, or data-heavy targets |
|
|
18
|
+
| P | Life Sciences | `life_sciences_rider_enabled` | Biotech, pharma, medtech, diagnostics targets with FDA-regulated pipelines |
|
|
19
|
+
| Q | Healthcare Provider | `healthcare_provider_rider_enabled` | Clinics, hospitals, physician groups, telehealth providers with payer-reimbursement exposure |
|
|
20
|
+
| R | Cross-Border / Trade Compliance | `cross_border_rider_enabled` | Foreign subsidiaries, foreign customers, government customers, controlled-jurisdiction exposure |
|
|
21
|
+
|
|
22
|
+
Each rider is rendered in `template.docx` inside its own `{IF rider_enabled}…{END-IF}` sub-table so the docx-templates "one IF per row" constraint is honored.
|
|
23
|
+
|
|
24
|
+
## AI augmentation
|
|
25
|
+
|
|
26
|
+
Each rider has a paired `additional_questions_<rider>` array field. AI
|
|
27
|
+
workflows (or human drafters) populate these arrays with target-specific
|
|
28
|
+
custom questions; the DOCX renders them via `{FOR q IN <array>}` loops at
|
|
29
|
+
the end of the matching section. A separate `additional_questions_general`
|
|
30
|
+
array covers cross-cutting questions that don't belong to any rider.
|
|
31
|
+
|
|
32
|
+
The arrays are independent because the OA validator's `SAFE_TAG_RE` forbids
|
|
33
|
+
inline filtering of a shared array (see `validation/template.ts:252`). When
|
|
34
|
+
a future renderer extension lifts that constraint, the arrays can be merged
|
|
35
|
+
into a single shared array filtered by section.
|
|
36
|
+
|
|
37
|
+
## Materiality and lookback
|
|
38
|
+
|
|
39
|
+
The cover sheet specifies a global dollar threshold (`materiality_threshold_usd`,
|
|
40
|
+
default `$100,000`), a relative-revenue threshold
|
|
41
|
+
(`materiality_threshold_revenue_pct`, default `5%`), and a default lookback
|
|
42
|
+
(`lookback_years`, default `3`). Three optional override fields
|
|
43
|
+
(`litigation_lookback_years`, `tax_lookback_years`, `compliance_lookback_years`)
|
|
44
|
+
let drafters extend specific sections without changing the global default.
|
|
45
|
+
|
|
46
|
+
The dollar-threshold fields are stored as pre-formatted strings (e.g.,
|
|
47
|
+
`"$100,000"`) because the OA fill engine has no currency formatter. When a
|
|
48
|
+
formatter is added, these can become `type: number`.
|
|
49
|
+
|
|
50
|
+
## Sources and attribution
|
|
51
|
+
|
|
52
|
+
The category structure is drawn from public-source consensus across 15 Am
|
|
53
|
+
Law firm, bar association, and legal publisher DDRLs (Cooley, Skadden,
|
|
54
|
+
Morgan Lewis, Gunderson Dettmer, Lowenstein Sandler, Holland & Knight,
|
|
55
|
+
Foley & Lardner, Software Equity Group, the International Bar Association,
|
|
56
|
+
the American Bar Association, Bass Berry & Sims, and Carta). All language
|
|
57
|
+
is original; no source language was reused.
|
|
58
|
+
|
|
59
|
+
## Files
|
|
60
|
+
|
|
61
|
+
- `metadata.yaml` — field definitions and template metadata.
|
|
62
|
+
- `template.docx` — fillable Word document with `{field}` placeholders and `{IF}` rider gates.
|
|
63
|
+
- `template.md` — flat human-readable mirror of the document body.
|
|
64
|
+
- `README.md` — this file.
|
|
65
|
+
|
|
66
|
+
## License
|
|
67
|
+
|
|
68
|
+
CC BY 4.0. Attribute "OpenAgreements contributors."
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
name: OpenAgreements Legal Due Diligence Request List
|
|
2
|
+
category: deals-partnerships
|
|
3
|
+
description: >-
|
|
4
|
+
Modular legal due diligence request list (DDRL) for corporate transactions.
|
|
5
|
+
Ships a base form covering organization, capitalization, contracts, IP,
|
|
6
|
+
employment, litigation, compliance, tax, insurance, debt, property, and
|
|
7
|
+
privacy/cybersecurity. Four optional industry riders gate via boolean
|
|
8
|
+
toggles: tech / SaaS, life sciences, healthcare provider, and cross-border
|
|
9
|
+
/ trade compliance. Drafted clean-room from public-source consensus across
|
|
10
|
+
15 Am Law firm, bar association, and legal publisher DDRLs; no public
|
|
11
|
+
source language is reused. Includes per-section AI-augmentable arrays so
|
|
12
|
+
AI workflows can append target-specific custom questions to any rider.
|
|
13
|
+
source_url: https://github.com/open-agreements/open-agreements/tree/main/content/templates/openagreements-due-diligence-request-list
|
|
14
|
+
version: '1.0'
|
|
15
|
+
license: CC-BY-4.0
|
|
16
|
+
allow_derivatives: true
|
|
17
|
+
attribution_text: >-
|
|
18
|
+
Authored by OpenAgreements contributors. Category structure and consensus
|
|
19
|
+
framing informed by publicly available DDRLs and commentary from Cooley,
|
|
20
|
+
Skadden, Morgan Lewis, Gunderson Dettmer, Lowenstein Sandler, Holland &
|
|
21
|
+
Knight, Foley & Lardner, Software Equity Group, the International Bar
|
|
22
|
+
Association, the American Bar Association, Bass Berry & Sims, and Carta.
|
|
23
|
+
See practice note for sources. Drafted clean-room; no source language was
|
|
24
|
+
reused. Licensed under CC BY 4.0.
|
|
25
|
+
|
|
26
|
+
priority_fields:
|
|
27
|
+
- target_company_name
|
|
28
|
+
- requesting_firm_name
|
|
29
|
+
- deal_type
|
|
30
|
+
- transaction_stage
|
|
31
|
+
- tech_rider_enabled
|
|
32
|
+
- life_sciences_rider_enabled
|
|
33
|
+
- healthcare_provider_rider_enabled
|
|
34
|
+
- cross_border_rider_enabled
|
|
35
|
+
- materiality_threshold_usd
|
|
36
|
+
- lookback_years
|
|
37
|
+
|
|
38
|
+
fields:
|
|
39
|
+
# --- Cover Sheet (always rendered) ---
|
|
40
|
+
- name: requesting_firm_name
|
|
41
|
+
type: string
|
|
42
|
+
description: Legal name of the buyer's law firm sending the request
|
|
43
|
+
section: Cover Sheet
|
|
44
|
+
- name: target_company_name
|
|
45
|
+
type: string
|
|
46
|
+
description: Legal name of the target company receiving the request
|
|
47
|
+
section: Cover Sheet
|
|
48
|
+
- name: project_code_name
|
|
49
|
+
type: string
|
|
50
|
+
description: Project code name or pseudonym used to refer to the transaction
|
|
51
|
+
default: ''
|
|
52
|
+
section: Cover Sheet
|
|
53
|
+
- name: request_date
|
|
54
|
+
type: date
|
|
55
|
+
description: Date the request list is delivered to the target
|
|
56
|
+
section: Cover Sheet
|
|
57
|
+
- name: response_due_date
|
|
58
|
+
type: date
|
|
59
|
+
description: Date by which the target's first-round response is due
|
|
60
|
+
section: Cover Sheet
|
|
61
|
+
- name: lead_buyer_counsel_name
|
|
62
|
+
type: string
|
|
63
|
+
description: Name of the lead attorney at the requesting firm
|
|
64
|
+
section: Cover Sheet
|
|
65
|
+
- name: lead_buyer_counsel_email
|
|
66
|
+
type: string
|
|
67
|
+
description: Email of the lead attorney at the requesting firm
|
|
68
|
+
section: Cover Sheet
|
|
69
|
+
- name: primary_target_contact_name
|
|
70
|
+
type: string
|
|
71
|
+
description: Name of the target's primary point of contact for diligence responses
|
|
72
|
+
section: Cover Sheet
|
|
73
|
+
- name: currency
|
|
74
|
+
type: enum
|
|
75
|
+
description: Currency for materiality and financial threshold inputs
|
|
76
|
+
options:
|
|
77
|
+
- USD
|
|
78
|
+
- EUR
|
|
79
|
+
- GBP
|
|
80
|
+
- CAD
|
|
81
|
+
- Other
|
|
82
|
+
default: USD
|
|
83
|
+
section: Cover Sheet
|
|
84
|
+
- name: data_room_url
|
|
85
|
+
type: string
|
|
86
|
+
description: URL of the virtual data room (optional; included in cover-sheet instructions if provided)
|
|
87
|
+
default: ''
|
|
88
|
+
section: Cover Sheet
|
|
89
|
+
|
|
90
|
+
# --- Materiality and Lookback ---
|
|
91
|
+
- name: materiality_threshold_usd
|
|
92
|
+
type: string
|
|
93
|
+
description: >-
|
|
94
|
+
Dollar floor for material-contracts requests. Stored as a pre-formatted
|
|
95
|
+
string (e.g., "$100,000") because the fill engine has no currency
|
|
96
|
+
formatter. Adjust upward for larger deals, downward for early-stage
|
|
97
|
+
targets.
|
|
98
|
+
default: '$100,000'
|
|
99
|
+
default_value_rationale: >-
|
|
100
|
+
$100,000 is the consensus dollar floor for mid-market deals across
|
|
101
|
+
public DDRLs (Cooley, Skadden, Bloomberg). Tune up for larger targets
|
|
102
|
+
(e.g., "$1,000,000" for $100M+ deals) or down for early-stage.
|
|
103
|
+
section: Materiality and Lookback
|
|
104
|
+
- name: materiality_threshold_revenue_pct
|
|
105
|
+
type: string
|
|
106
|
+
description: >-
|
|
107
|
+
Relative materiality threshold expressed as a percentage of gross
|
|
108
|
+
revenue. The lower of dollar floor and revenue percentage governs.
|
|
109
|
+
Stored as a pre-formatted string for consistency with the dollar
|
|
110
|
+
threshold.
|
|
111
|
+
default: '5%'
|
|
112
|
+
default_value_rationale: >-
|
|
113
|
+
5% of gross revenue is the consensus relative-materiality qualifier
|
|
114
|
+
in BigLaw practice. Tune down for asset-light targets where individual
|
|
115
|
+
contract size is small but each one is operationally critical.
|
|
116
|
+
section: Materiality and Lookback
|
|
117
|
+
- name: lookback_years
|
|
118
|
+
type: number
|
|
119
|
+
description: >-
|
|
120
|
+
Default lookback window in years for litigation, compliance, and
|
|
121
|
+
operational history. Per-category overrides may extend specific
|
|
122
|
+
sections.
|
|
123
|
+
default: '3'
|
|
124
|
+
default_value_rationale: >-
|
|
125
|
+
3 years is consensus baseline for litigation, compliance, and
|
|
126
|
+
operational history. Tax often warrants 6+ to mirror IRS statute of
|
|
127
|
+
limitations; regulatory correspondence is conventionally open-ended.
|
|
128
|
+
section: Materiality and Lookback
|
|
129
|
+
- name: litigation_lookback_years
|
|
130
|
+
type: number
|
|
131
|
+
description: >-
|
|
132
|
+
Optional per-category override for the litigation lookback window.
|
|
133
|
+
If blank, falls through to lookback_years. 5 years is appropriate for
|
|
134
|
+
regulated targets or where prior litigation revealed systemic process
|
|
135
|
+
failures.
|
|
136
|
+
default: ''
|
|
137
|
+
section: Materiality and Lookback
|
|
138
|
+
- name: tax_lookback_years
|
|
139
|
+
type: number
|
|
140
|
+
description: >-
|
|
141
|
+
Optional per-category override for the tax lookback window. If blank,
|
|
142
|
+
falls through to lookback_years. 6 years mirrors the IRS substantial-
|
|
143
|
+
omission statute of limitations and is the safe default for most deals.
|
|
144
|
+
default: ''
|
|
145
|
+
section: Materiality and Lookback
|
|
146
|
+
- name: compliance_lookback_years
|
|
147
|
+
type: number
|
|
148
|
+
description: >-
|
|
149
|
+
Optional per-category override for routine compliance certifications.
|
|
150
|
+
Regulatory correspondence regarding investigations, settlements, and
|
|
151
|
+
consent decrees should be requested open-ended regardless of this value.
|
|
152
|
+
default: ''
|
|
153
|
+
section: Materiality and Lookback
|
|
154
|
+
|
|
155
|
+
# --- Deal Type ---
|
|
156
|
+
- name: deal_type
|
|
157
|
+
type: enum
|
|
158
|
+
description: Type of transaction the DDRL supports
|
|
159
|
+
options:
|
|
160
|
+
- private_ma_stock_purchase
|
|
161
|
+
- private_ma_asset_purchase
|
|
162
|
+
- venture_financing
|
|
163
|
+
- private_equity_buyout
|
|
164
|
+
- ipo_preparation
|
|
165
|
+
- public_ma
|
|
166
|
+
- cross_border_ma
|
|
167
|
+
section: Deal Type
|
|
168
|
+
- name: transaction_stage
|
|
169
|
+
type: enum
|
|
170
|
+
description: >-
|
|
171
|
+
Stage of the transaction. Pre-LOI uses lighter scope; post-LOI uses
|
|
172
|
+
the full base form plus all triggered riders.
|
|
173
|
+
options:
|
|
174
|
+
- pre_loi
|
|
175
|
+
- post_loi_pre_signing
|
|
176
|
+
- signing_to_closing
|
|
177
|
+
- post_closing_review
|
|
178
|
+
default: post_loi_pre_signing
|
|
179
|
+
section: Deal Type
|
|
180
|
+
|
|
181
|
+
# --- Industry Riders (boolean toggles; each gates a {IF}…{END-IF} sub-table in the DOCX) ---
|
|
182
|
+
- name: tech_rider_enabled
|
|
183
|
+
type: boolean
|
|
184
|
+
description: >-
|
|
185
|
+
Enable Section O (Tech / SaaS rider) covering OSS schedules with
|
|
186
|
+
copyleft flagging, source-code escrow, hosted-services agreements,
|
|
187
|
+
SOC 2 / ISO 27001 audits, data-flow architecture, SLAs, security-
|
|
188
|
+
incident history, and cloud-agreement change-of-control. Recommended
|
|
189
|
+
on for software, SaaS, platform, marketplace, or data-heavy targets.
|
|
190
|
+
default: 'false'
|
|
191
|
+
section: Industry Riders
|
|
192
|
+
- name: life_sciences_rider_enabled
|
|
193
|
+
type: boolean
|
|
194
|
+
description: >-
|
|
195
|
+
Enable Section P (Life Sciences rider) covering FDA correspondence,
|
|
196
|
+
clinical trials, CRO agreements, Form 483s, Warning Letters, CIA,
|
|
197
|
+
and controlled-substance registrations. Recommended on for biotech,
|
|
198
|
+
pharma, medical-device, and diagnostics targets with FDA-regulated
|
|
199
|
+
pipelines.
|
|
200
|
+
default: 'false'
|
|
201
|
+
section: Industry Riders
|
|
202
|
+
- name: healthcare_provider_rider_enabled
|
|
203
|
+
type: boolean
|
|
204
|
+
description: >-
|
|
205
|
+
Enable Section Q (Healthcare Provider rider) covering HIPAA breach
|
|
206
|
+
logs, billing/coding compliance, payer audits, malpractice claims,
|
|
207
|
+
and Anti-Kickback / Stark / Sunshine Act compliance. Recommended on
|
|
208
|
+
for clinics, hospitals, physician groups, and telehealth providers
|
|
209
|
+
with payer-reimbursement exposure.
|
|
210
|
+
default: 'false'
|
|
211
|
+
section: Industry Riders
|
|
212
|
+
- name: cross_border_rider_enabled
|
|
213
|
+
type: boolean
|
|
214
|
+
description: >-
|
|
215
|
+
Enable Section R (Cross-Border / Trade Compliance rider) covering
|
|
216
|
+
sanctions/OFAC screening, export-control classifications, AML/KYC,
|
|
217
|
+
FCPA compliance, government-customer exposure, and foreign-investment-
|
|
218
|
+
screening filings. Recommended on whenever the target has foreign
|
|
219
|
+
subsidiaries, foreign customers, government customers, or sensitive-
|
|
220
|
+
jurisdiction exposure. Increasingly mandatory after the 2023 DOJ
|
|
221
|
+
M&A Safe Harbor Policy.
|
|
222
|
+
default: 'false'
|
|
223
|
+
section: Industry Riders
|
|
224
|
+
|
|
225
|
+
# --- Cross-border specifics (rendered inside Section R when cross_border_rider_enabled) ---
|
|
226
|
+
- name: countries_of_operation
|
|
227
|
+
type: string
|
|
228
|
+
description: >-
|
|
229
|
+
Comma-separated list of countries where the target operates, sells,
|
|
230
|
+
or has employees. Optional; populated when the cross-border rider is
|
|
231
|
+
enabled to focus the request on specific jurisdictions.
|
|
232
|
+
default: ''
|
|
233
|
+
section: Cross-Border Specifics
|
|
234
|
+
# --- AI-augmentable per-rider question arrays ---
|
|
235
|
+
# Each array holds {question: string} items. The DOCX uses
|
|
236
|
+
# {FOR q IN <array>}{$q.question}{END-FOR q} loops at the end of the
|
|
237
|
+
# matching section to render any AI-generated or human-authored
|
|
238
|
+
# target-specific additions. Arrays are independent per rider because
|
|
239
|
+
# the validator's SAFE_TAG_RE forbids inline filtering of a single
|
|
240
|
+
# shared array (see plan Track D follow-up).
|
|
241
|
+
- name: additional_questions_tech
|
|
242
|
+
type: array
|
|
243
|
+
description: >-
|
|
244
|
+
AI-augmentable list of target-specific custom questions appended to
|
|
245
|
+
the Tech / SaaS rider. Each item is an object with a `question` field.
|
|
246
|
+
Empty by default. Renders only when tech_rider_enabled is true.
|
|
247
|
+
default: '[]'
|
|
248
|
+
section: AI Augmentation
|
|
249
|
+
items:
|
|
250
|
+
- name: question
|
|
251
|
+
type: string
|
|
252
|
+
description: The custom question text to render in Section O
|
|
253
|
+
- name: additional_questions_life_sciences
|
|
254
|
+
type: array
|
|
255
|
+
description: >-
|
|
256
|
+
AI-augmentable list of target-specific custom questions appended to
|
|
257
|
+
the Life Sciences rider. Empty by default. Renders only when
|
|
258
|
+
life_sciences_rider_enabled is true.
|
|
259
|
+
default: '[]'
|
|
260
|
+
section: AI Augmentation
|
|
261
|
+
items:
|
|
262
|
+
- name: question
|
|
263
|
+
type: string
|
|
264
|
+
description: The custom question text to render in Section P
|
|
265
|
+
- name: additional_questions_healthcare_provider
|
|
266
|
+
type: array
|
|
267
|
+
description: >-
|
|
268
|
+
AI-augmentable list of target-specific custom questions appended to
|
|
269
|
+
the Healthcare Provider rider. Empty by default. Renders only when
|
|
270
|
+
healthcare_provider_rider_enabled is true.
|
|
271
|
+
default: '[]'
|
|
272
|
+
section: AI Augmentation
|
|
273
|
+
items:
|
|
274
|
+
- name: question
|
|
275
|
+
type: string
|
|
276
|
+
description: The custom question text to render in Section Q
|
|
277
|
+
- name: additional_questions_cross_border
|
|
278
|
+
type: array
|
|
279
|
+
description: >-
|
|
280
|
+
AI-augmentable list of target-specific custom questions appended to
|
|
281
|
+
the Cross-Border / Trade Compliance rider. Empty by default. Renders
|
|
282
|
+
only when cross_border_rider_enabled is true.
|
|
283
|
+
default: '[]'
|
|
284
|
+
section: AI Augmentation
|
|
285
|
+
items:
|
|
286
|
+
- name: question
|
|
287
|
+
type: string
|
|
288
|
+
description: The custom question text to render in Section R
|
|
289
|
+
- name: additional_questions_general
|
|
290
|
+
type: array
|
|
291
|
+
description: >-
|
|
292
|
+
AI-augmentable list of cross-cutting custom questions that do not
|
|
293
|
+
belong to any specific rider. Renders at the end of the closing
|
|
294
|
+
Response Protocol section. Empty by default.
|
|
295
|
+
default: '[]'
|
|
296
|
+
section: AI Augmentation
|
|
297
|
+
items:
|
|
298
|
+
- name: question
|
|
299
|
+
type: string
|
|
300
|
+
description: The custom question text to render at end of document
|