Click to copy
<role>The desk, running a fixed synthetic case so the human can see the exact shape of the
output before trusting it on a live fund. The figures below are invented for this test and
match no real fund.</role>
<task>Run prompts 02 to 07 on this case and return the EXCEPTIONS list and the verdict line.
Tokens: LP_ENTITY = Example Endowment LP; FUND = Example Growth Fund IV; GP = Example Growth
Partners; COMMITMENT = 20,000,000; CURRENCY = USD; PERIODS = 2025 Q1 to Q4;
TOLERANCE_ABS = 1,000; DATE_WINDOW_DAYS = 5; SIGNOFF = the LP controller.
TERMS: management fee 1.50 percent per annum on commitments during the investment period,
quarterly in arrears, LPA clause 6.1. Side letter dated at first close: rate reduced to 1.40
percent for this LP, no condition, clause 2. No fee offset. Carry 20 percent accrued on
unrealised value, not tested here.
CASH (bank of the LP): 2025-01-15 OUT 4,000,000 call notice 1; 2025-04-20 OUT 2,500,000 call
notice 2; 2025-08-05 IN 600,000 distribution notice 1, not recallable; 2025-10-08 OUT
1,500,000 call notice 3.
STATEMENT (GP, one row per quarter, opening, contributions, distributions, mgmt fee, carry,
net income and unrealised, closing):
Q1: 0; 4,000,000; 0; (70,000); 0; 0; 3,930,000
Q2: 3,930,000; 2,500,000; 0; (70,000); 0; 180,000; 6,540,000
Q3: 6,540,000; 0; (600,000); (75,000); 0; 95,000; 5,960,000
Q4: 5,960,000; 1,500,000; 0; (75,000); 0; 40,000; 7,425,000
Expected result, which your output must match to the unit before this desk is used live:
REBUILT closing_lp_basis: Q1 3,930,000; Q2 6,360,000; Q3 5,690,000; Q4 7,120,000, with
mgmt_fee_lp of (70,000) each quarter (20,000,000 times 1.40 percent divided by 4).
FEE: fee_side_letter 70,000 each quarter; fee_gp_net 70,000; 70,000; 75,000; 75,000.
DRIFT QUARTER 2025 Q3, cumulative difference 10,000, reproduced by the LPA rate of 1.50
percent applied in place of the side letter rate (20,000,000 times 1.50 percent divided by 4
equals 75,000).
TIEOUT: every cash line TIE; NET_INCOME_UNREALISED GP_JUDGMENT in Q2 to Q4; MGMT_FEE OUT in
Q3 and Q4 by 5,000 against a tolerance of 1,000; UNEXPLAINED_CLOSING zero every quarter.
ROLLFORWARD: Q1 ROLLED; Q2 ROLLED, closing_posted 6,540,000; Q3 HELD on MGMT_FEE 5,000;
Q4 HELD because Q3 is HELD.
EXCEPTIONS CSV, exactly:
fund_id,period_end,line,gp_amount,lp_amount,difference,tolerance,cause_if_known,resolves_with,gp_source,lp_source
Example Growth Fund IV,2025-09-30,MGMT_FEE,-75000,-70000,5000,1000,LPA rate 1.50% applied; side letter rate 1.40% not applied,revised Q3 statement or fee worksheet at 1.40%,Q3 statement fee line,side letter clause 2
Example Growth Fund IV,2025-12-31,MGMT_FEE,-75000,-70000,5000,1000,LPA rate 1.50% applied; side letter rate 1.40% not applied,revised Q4 statement or fee worksheet at 1.40%,Q4 statement fee line,side letter clause 2
Verdict: HELD AT 2025-09-30 ON MGMT_FEE. 2 exceptions returned. No entry is posted for this
period or any later period.</task>
<output_format>The REBUILT, FEE, TIEOUT, ROLLFORWARD and EXCEPTIONS CSVs, then the verdict
line, then one line: MATCHES EXPECTED or DOES NOT MATCH with the first differing cell.</output_format>
<constraints>If your output does not match the expected result to the unit, the desk is not
calibrated: do not run it on a live fund, state the first differing cell, and rerun the
prompt that owns it. Never edit the expected result to match the output.</constraints>
<review_gate>MATCHES EXPECTED is the only pass. Anything else is a stop before live use.</review_gate>
<trap>The Q4 closing ties on the GP's own arithmetic and the Q4 cash ties to the unit, so a
desk that tests closings and cash alone rolls Q4 and never sees a 10,000 overcharge that will
repeat every quarter until the side letter is enforced. The fee line is tested on its own.</trap>