Source: https://guthlabs.ai/docs/instruments/cap-table-dilution-simple/

instrument / verified-clean

# Cap Table Dilution (Simple)

The current ledger marks this instrument verified clean within the source-bound verification corpus.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Inspectable records

[01**Overview**Purpose and lifecycle](<https://guthlabs.ai/docs/instruments/cap-table-dilution-simple/>)[02**Mechanism**Method and assumptions](<https://guthlabs.ai/docs/instruments/cap-table-dilution-simple/mechanism/>)[03**Implementation**Binding and validation](<https://guthlabs.ai/docs/instruments/cap-table-dilution-simple/implementation/>)[04**Qualification**Evidence and errata](<https://guthlabs.ai/docs/instruments/cap-table-dilution-simple/qualification/>)

## Ledger state

The current ledger marks this instrument verified clean within the source-bound verification corpus.

**Area**: Finance, Economics & Business (educational only — never individualized investment, tax, or legal advice)

**Tranche**: tranche-5

**Evidence ID**: t5-019

**Ledger rows**: 1

No ledger note is attached.

## Review findings

NEEDS_REVIEW because the exact option-pool convention, price-per-share share-count basis, and dilution definition are not specified. The fourth vector intentionally identifies an inconsistency in the supplied formula/model: adding pool shares to the denominator while leaving existing holders' share counts unchanged causes the listed Employees ownership to rise from 70% to 63% only when the pre-round ownership is correctly computed as 70%; the original expected values of 54% and 36% were arithmetically invalid. The implementation should explicitly model whether the new pool is created from pre-money shares, post-money shares, or an existing pool top-up.

### Formula and scope findings

- The price-per-share formula is not stated; under the usual convention it is pre-money valuation divided by total pre-round fully diluted shares, but the treatment of existing option shares is unspecified.

- The input is a new option pool percentage, while the formula requires option_pool_shares. The conversion is ambiguous: a target percentage of post-round fully diluted shares requires solving option_pool_shares = pool_pct × (pre_shares + new_shares + option_pool_shares), whereas a percentage of pre-round shares uses a different calculation.

- The dilution % formula is missing. It must define whether dilution means the percentage-point decrease in ownership or the relative decrease from pre-round ownership.

- The formula does not explicitly define the investor and option-pool rows required for the stated post-money cap table output.

### Unit assumptions

- All share counts are shares, not percentages, and all monetary inputs use the same currency.

- Pre-money valuation is divided by total pre-round fully diluted shares to calculate price_per_share.

- For these test vectors, new option pool % means the option pool's percentage of post-round fully diluted shares; therefore option_pool_shares = pool_pct × (pre_shares + new_shares + option_pool_shares).

- Dilution is reported both as percentage-point decrease and relative decrease from pre-round ownership: relative dilution = (pre% - post%) / pre%.

- Ownership percentages are calculated using the post-round denominator pre_shares + new_shares + option_pool_shares.

## Boundary hardening

**BREAK_CLAIMED** · SELF_FLAGGED

A zero pre-money valuation makes price_per_share equal to zero, so new_shares requires division by zero and the specification provides no explicit validation behavior. The option-pool percentage also has a material convention ambiguity: treating it as a post-money fully diluted target differs from treating it as a percentage of pre-round shares.

## Errata and corrections

No applied erratum is attached to this unique-name record.

## Inspectable example

4 review vectors are recorded. One source-bound sample is shown below.

````
{
  "inputs": {
    "pre_round_cap_table": {
      "Alice": 600000,
      "Bob": 400000
    },
    "raise_amount_usd": 1000000,
    "pre_money_valuation_usd": 5000000,
    "new_option_pool_pct_post_round": 0.1
  },
  "expected_outputs": {
    "price_per_share_usd": 5,
    "new_shares": 200000,
    "option_pool_shares": 133333.333333,
    "post_round_cap_table_pct": {
      "Alice": 45,
      "Bob": 30,
      "New investor": 15,
      "Option pool": 10
    },
    "dilution_pct_points": {
      "Alice": 15,
      "Bob": 10
    },
    "relative_dilution_pct": {
      "Alice": 25,
      "Bob": 25
    }
  },
  "working": "Pre-round shares = 600,000 + 400,000 = 1,000,000. Price/share = $5,000,000 / 1,000,000 = $5. New shares = $1,000,000 / $5 = 200,000. Let pool shares = x. 10% = x / (1,000,000 + 200,000 + x). Therefore x = 0.10 × (1,200,000 + x); x = 120,000 + 0.10x; 0.90x = 120,000; x = 133,333.333333. Total post-round shares = 1,000,000 + 200,000 + 133,333.333333 = 1,333,333.333333. Alice = 600,000 / 1,333,333.333333 = 45%. Bob = 400,000 / 1,333,333.333333 = 30%. Investor = 200,000 / 1,333,333.333333 = 15%. Pool = 133,333.333333 / 1,333,333.333333 = 10%. Alice dilution = 60% - 45% = 15 percentage points; relative dilution = 15% / 60% = 25%. Bob dilution = 40% - 30% = 10 percentage points; relative dilution = 10% / 40% = 25%."
}
````

## Related workflows

No source-defined multi-instrument workflow membership is recorded.

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json · VERIFIED_CLEAN`

- `evidence-tranche5/tranche5-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
