Guth
NewsDocs
Page actions
View as Markdown ↗
Explore MCP tools ↗

instrument mechanism / verified-clean

Cap Table Dilution (Simple) mechanism

The inspectable method record for Cap Table Dilution (Simple), kept separate from implementation and qualification.

Status: VERIFIED_CLEANLifecycle: verified-clean

Model scope

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.

  • 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.

Units and conventions

  • 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.

Inspectable vector

One of 4 source-bound review vectors:

{
  "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%."
}

Failure boundary

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.

Other records

Sources and evidence

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

  • VERIFIED_LEDGER.json
  • evidence-tranche5/tranche5-results.json
  • BOUNDARY_HAZARD_CATALOG.json