← The evidence ledger
Evidence row 259127
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 90c40a93-0ee8-465e-b824-333d57533869
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 72fc47c9470948d2262c8d56393a40bbcb5ae823cdf0c0c149a8d3b294a8ca39
- Leaf
- 0x49a7421c8bbd41386ec169b55947c3e43b90333c8a4428dc82c622ca95c657f0
What was observed
{
"count": 1,
"tools": [
{
"description": "Use the person’s supplied numbers to calculate whether savings cover spending and compare one explicit retirement/spending alternative. Free, no sign-in. Returns annual results, assumptions, provenance and a portable input artifact; no saved-record lookup or mutation.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"alternative": {
"additionalProperties": false,
"properties": {
"annualSpending": {
"exclusiveMinimum": 0,
"maximum": 25000000,
"type": "number"
},
"name": {
"default": "What if",
"maxLength": 80,
"minLength": 1,
"type": "string"
},
"retirementAges": {
"items": {
"maximum": 85,
"minimum": 18,
"type": "integer"
},
"maxItems": 2,
"minItems": 1,
"type": "array"
}
},
"type": "object"
},
"annualSpending": {
"description": "Annual household spending after tax in 2026 CAD, excluding contributions.",
"exclusiveMinimum": 0,
"maximum": 25000000,
"type": "number"
},
"assumptionsAccepted": {
"const": true,
"description": "Confirm the stated basic scope, return/inflation assumptions and any explicit CPP estimate with the person before calculating.",
"type": "boolean"
},
"inflation": {
"default": 0.021,
"maximum": 0.06,
"minimum": 0,
"type": "number"
},
"investmentReturn": {
"default": 0.05,
"maximum": 0.1,
"minimum": -0.02,
"type": "number"
},
"name": {
"default": "My retirement plan",
"maxLength": 120,
"minLength": 1,
"type": "string"
},
"people": {
"items": {
"additionalProperties": false,
"properties": {
"birthDate": {
"description": "Exact birth date controls ages and benefit timing.",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"cppAnnualAt65": {
"anyOf": [
{
"maximum": 25000000,
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"description": "Annual CPP or QPP at 65 in 2026 CAD from statement. Explicit null accepts the labelled 60%-of-maximum starting estimate."
},
"cppStartAge": {
"default": 65,
"maximum": 70,
"minimum": 60,
"type": "integer"
},
"employmentIncome": {
"description": "Gross annual employment income now, CAD; enter 0 if none.",
"maximum": 25000000,
"minimum": 0,
"type": "number"
},
"name": {
"default": "You",
"description": "A label is enough; a legal name is unnecessary.",
"maxLength": 60,
"minLength": 1,
"type": "string"
},
"oasResidenceYears": {
"description": "Canadian residence years after 18 used for OAS entitlement at its start; 40 means full OAS.",
"maximum": 40,
"minimum": 0,
"type": "integer"
},
"oasStartAge": {
"default": 65,
"maximum": 70,
"minimum": 65,
"type": "integer"
},
"pension": {
"additionalProperties": false,
"properties": {
"annual": {
"description": "Annual pension in 2026 CAD; grown by plan inflation to its start age, then by its stated indexing.",
"maximum": 25000000,
"minimum": 0,
"type": "number"
},
"indexing": {
"default": 0,
"maximum": 0.05,
"minimum": 0,
"type": "number"
},
"startAge": {
"maximum": 85,
"minimum": 18,
"type": "integer"
}
},
"required": [
"annual",
"startAge"
],
"type": "object"
},
"quebecPayrollConfirmed": {
"const": true,
"description": "Required only for positive employment income in Quebec: explicitly confirm this employment is subject to Quebec payroll contributions. Residence alone does not establish the employment jurisdiction. Cross-province employment is outside this first-calculation scope.",
"type": "boolean"
},
"retirementAge": {
"maximum": 85,
"minimum": 18,
"type": "integer"
},
"rrspRoom": {
"default": 0,
"maximum": 25000000,
"minimum": 0,
"type": "number"
},
"savings": {
"additionalProperties": false,
"properties": {
"cash": {
"maximum": 25000000,
"minimum": 0,
"type": "number"
},
"nonRegistered": {
"maximum": 25000000,
"minimum": 0,
"type": "number"
},
"nonRegisteredCostBasis": {
"maximum": 25000000,
"minimum": 0,
"type": "number"
},
"rrif": {
"maximum": 25000000,
"minimum": 0,
"type": "number"
},
"rrsp": {
"maximum": 25000000,
"minimum": 0,
"type": "number"
},
"tfsa": {
"maximum": 25000000,
"minimum": 0,
"type": "number"
}
},
"required": [
"rrsp",
"rrif",
"tfsa",
"nonRegistered",
"nonRegisteredCostBasis",
"cash"
],
"type": "object"
},
"tfsaRoom": {
"default": 0,
"maximum": 25000000,
"minimum": 0,
"type": "number"
}
},
"required": [
"birthDate",
"retirementAge",
"employmentIncome",
"cppAnnualAt65",
"oasResidenceYears",
"savings"
],
"type": "object"
},
"maxItems": 2,
"minItems": 1,
"type": "array"
},
"province": {
"enum": [
"AB",
"BC",
"MB",
"NB",
"NL",
"NS",
"NT",
"NU",
"ON",
"PE",
"QC",
"SK",
"YT"
],
"type": "string"
},
"startYear": {
"const": 2026,
"default": 2026,
"type": "number"
}
},
"required": [
"province",
"people",
"annualSpending",
"assumptionsAccepted"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
},
"name": "calculate_retirement"
}
]
}What the leaf hashes
{"body":"72fc47c9470948d2262c8d56393a40bbcb5ae823cdf0c0c149a8d3b294a8ca39","id":259127,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793030646286191,"prev":null,"subject":"90c40a93-0ee8-465e-b824-333d57533869","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).
- 0x49a75d867b7084f25a33ae0a281176d00c6d5ac2a54831b484e7545938cd4893
- 0xc41c0de3edbc805c0e12634576796e5cd78cea35cb595c4f2c7cccdef8744835
- 0x635df05ef67020a23581e8f4b3c75b5d1cea6f0db36158c4bf462a6e15e68d10
- 0x062ccd24f1ce7e8fc27acecc65d2ae41f491b419b7e07b8c3a6a408d2be4976e
- 0x539b8f0ae311bfcf12cf6a60fca8bc0e2654de6e77229a9bf9048b5ee7766ec2
- 0xbb77a66dd779e11f394a2a8d3841c894a1bca8f6053632339b13f887bacac23c
- 0x15f5e1ecb59e71aea0c575dfa590be0b3b5ea37d1c8677ce7252d83b3cf2ce43
- 0x905b0a5e621f68accd82d9d76eb75f1938784f8791b55b0f9483989013c7bc15
- 0x9d9370b762f4814d096f6893943b141ef019ecfc1804ca244bd5c453c571ef87
- 0xf6623a394eb309bb86b964132205c8c6254e0667f6c642b476ce25978eabf36a
- 0xa40c09a143bc388ccac821ec3854902941c513470a57a806c98060a6d63aedf9
- 0xee7d5711cd2515f4b08f3e4041d3d56304f9db6bffd82d82746f0f4ea43b8f26
- 0xb86fa861d04737cb507e721eefbb066d26528fdb6017b1145c18d1223b93ee21
- 0x88e326a39b26e2c125306c9d3805d14398ace088bba9a2a0aa376b811cfb201a
- 0x2be1e80e065dd6b2cc75a7142be22225acd144ac975d70bf24b4f01fd76dc497
- 0x2e6a32eb32761c210560e852405e2f865f958ddbe01027894f8b9c1b3433b9f0
- 0x9a83be955a206deb65b995adfd92c58fa31c95fbbf926bd199d300e70b08b26d
- 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae