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
}
Copy this paragraph into Claude, OpenClaw, or any MCP-aware agent to run this whole workflow on the server and check one field that answers a real question.
Question: A fund's stated NAV is a tenth of a cent high. Does the materiality test oblige a restatement?
Run the AINumbers MCP tool `run_chain` with {"chain":"nav-verification-pack"} and read `art-374-test-nav-error-materiality.industry_convention.material`.
Re-run with `inputs` for `art-374-test-nav-error-materiality`, reusing the values that result echoed, with `corrected_nav_per_share` changed so the corrected NAV is 9.90. Compare the same field.
Verify: call `verify_execution_hash` (https://mcp.ainumbers.co/mcp) with `claimed_hash` set to `composite_execution_hash` and the full `composite_artifact`.
Ledger, for a human re-check: https://ledger.ainumbers.co/
PII rule: send synthetic or anonymised inputs only. The MCP server runs these kernels and logs no payloads.
Chain page: https://ainumbers.co/chaingraph/chains/nav-verification-pack.html