addrbookFor publishers
← The evidence ledger

Evidence row 583191

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 90c40a93-0ee8-465e-b824-333d57533869
Recorded
Previous row
#259127
Body SHA-256
0490f2cd14d40e2fddc0d101049273d729e00386cdac46580e3c032d826812ee
Leaf
0xa7a8eef2ab65a91f8c473aa097052f85d7b6129294348e287df9c7586822f7ce

What was observed

{
  "count": 1,
  "tools": [
    {
      "description": "Use the person’s supplied numbers to calculate whether savings cover spending and compare one explicit alternative: retirement age, household spending, or CPP/QPP and OAS start ages. A benefit-age comparison keeps the supplied amount at 65 and residence years fixed. It is not a search for a better start age. 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"
                  },
                  "cppStartAges": {
                    "description": "One explicit CPP or QPP start age per person. The amount at 65 stays as supplied. Quebec below 65 is rejected. Not a search for a better age.",
                    "items": {
                      "maximum": 70,
                      "minimum": 60,
                      "type": "integer"
                    },
                    "maxItems": 2,
                    "minItems": 1,
                    "type": "array"
                  },
                  "name": {
                    "default": "What if",
                    "maxLength": 80,
                    "minLength": 1,
                    "type": "string"
                  },
                  "oasStartAges": {
                    "description": "One explicit OAS start age per person. Residence years stay as supplied. Not a search for a better age.",
                    "items": {
                      "maximum": 70,
                      "minimum": 65,
                      "type": "integer"
                    },
                    "maxItems": 2,
                    "minItems": 1,
                    "type": "array"
                  },
                  "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":"0490f2cd14d40e2fddc0d101049273d729e00386cdac46580e3c032d826812ee","id":583191,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793145394515837,"prev":259127,"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 (273461 rows).

  1. 0xa7a91133e290cad60f9a13cbe235427bc68d8687b35bbc57393a2622d40bb2d8
  2. 0xee9fa9895c15329870651f9d8e95892ec44b93a94c95626f4d277aeac5bdc024
  3. 0xc9e39a8eba98c2373d134cfdea92c5fddabffd5e1dd83c6c05011c9c0c1b3233
  4. 0x41cd6f6612e54c5490ed311e078e29edfe1d459d2db4201d350028828e549f72
  5. 0x204df58e0eacb5729c3bb7836cfc830ebdba6450cf848bde5b64efa132090097
  6. 0x3494cd82b93c3d2db2897fff2e64bc0f4c20097734a92fa58f874695d93eaf12
  7. 0xacddc934d6b0a10b53c1c1eeaa2b6b18e464f7fc95805c1eb313d9db40f96cd7
  8. 0x3aa3138c28da513d4dadca76643c981af1e8803860ca1e06afd6f23f7bb15f4f
  9. 0xe535660a3dbc795d3ecb4469237f7666ac246dc3c4a8f48c650f89f863e74bed
  10. 0x6d1531902ccbd49f5cdbe8417d2f6bff2c9149bee4291d4796657fb912648fa8
  11. 0xd2aa44cc055bcdb3ddafd2370919a57805f054c24aa9409ec35ce2603240def3
  12. 0xa08d28946903c13551b0c68269e38bfa91b368f8e33183ac691c11e2b5a9506a
  13. 0xb37156a04839055daed26674da38864f8dae598cab9742c6fb3e74eb3178f2d4
  14. 0x0644f7e2a4b5bf9b66f185cc3fbb766d456ad94490183852f4c6db5855114cc5
  15. 0xa3fff4662cd48659f5bafd0612931759a90e53a7b4209ed8f26f6594a07bb547
  16. 0x64c405a28e8819716221eb2529fe4ce277ab08025e17e685cbd5ece75ceb75c7
  17. 0xf30fddbf4811226c58e8f0daf36fddd79fc5f1356b592bb1d99a8061ddbabe66
  18. 0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON