Three-node fund NAV verification workflow for administrators and auditors. Stage 1 recomputes NAV per share from declared holdings, accruals, liabilities and shares outstanding under a declared rounding mode, and its component breakdown and input digests feed forward. Stage 2 tests NAV-error materiality against a declared policy and completes the primary path. Stage 3 checks gross/net expense ratios and TER as an INDEPENDENT RIDER off the same declared accrual conventions as Stage 1 -- it does not depend on Stage 2's output, and Stage 2 does not depend on it.
recompute_fund_nav{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "recompute_fund_nav",
"arguments": {
"fund_id": "FUND-STD-01",
"valuation_date": "2026-07-18",
"base_currency": "USD",
"holdings": [
{"security_id": "SEC-A", "quantity": 1000, "price": 10.005, "currency": "USD", "fx_rate_to_base": 1},
{"security_id": "SEC-B", "quantity": 500, "price": 20.02, "currency": "USD", "fx_rate_to_base": 1}
],
"accruals": {
"income": [{"description": "coupon accrual", "principal": 100000, "annual_rate": 0.05, "days": 30, "day_count_convention": "30/360", "currency": "USD", "fx_rate_to_base": 1}],
"expense": [{"description": "management fee accrual", "amount": 41.6667, "currency": "USD", "fx_rate_to_base": 1}]
},
"liabilities": [{"description": "payable to broker", "amount": 500, "currency": "USD", "fx_rate_to_base": 1}],
"shares_outstanding": 15000,
"rounding": {"decimal_places": 2, "mode": "half_up"}
}
},
"id": 1
}
test_nav_error_materiality{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "test_nav_error_materiality",
"arguments": {
"fund_id": "FUND-STD-01",
"valuation_date": "2026-07-18",
"erroneous_nav_per_share": 10.75,
"corrected_nav_per_share": 10.68
}
},
"id": 2
}
compute_fund_expense_ratios{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "compute_fund_expense_ratios",
"arguments": {
"fund_id": "FUND-STD-01",
"period_start": "2026-01-01",
"period_end": "2026-12-31",
"average_net_assets": 100000000,
"gross_expense_components": [
{"description": "management fee", "principal": 100000000, "annual_rate": 0.0075, "days": 365, "day_count_convention": "actual/365"},
{"description": "admin fee", "amount": 150000},
{"description": "12b-1 fee", "amount": 100000}
],
"waivers": [],
"rounding": {"decimal_places": 4, "mode": "half_up"}
}
},
"id": 3
}