Skip to main content

Documentation Index

Fetch the complete documentation index at: https://village-docs.villagelabs.com/llms.txt

Use this file to discover all available pages before exploring further.

Overview

PlanRules define the stable, legal framework of the ESOP as specified in the plan document. These rules change infrequently and require plan amendments.
See Design Principles for the distinction between PlanRules and OperatingAssumptions.

Schema

{
  "plan_name": "string",
  "plan_year_end": "MM/DD",
  "vesting_schedule": {
    "type": "graded" | "cliff",
    "schedule": [0, 0, 20, 40, 60, 80, 100]
  },
  "distribution_policy": {
    "timing": "immediate" | "termination_plus_1_year",
    "form": "lump_sum" | "installments"
  },
  "cash_usage_policy": ["source1", "source2", "source3"],
  "diversification_rules": { }
}

Example

plan_rules = PlanRules(
    plan_name="Acme Corp ESOP",
    plan_year_end="12/31",
    vesting_schedule=VestingSchedule(type="graded"),
    distribution_policy=DistributionPolicy(timing="termination_plus_1_year"),
    cash_usage_policy=["unallocated_company_contributions", "unallocated_forfeiture_cash"]
)