← The evidence ledger
Evidence row 218451
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 756f67f5-b143-4015-8ee4-c468d6880483
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- afd11e5ce0fb00ef5a4d06ca0295bc8726d9b4b57b3cf15579da9f0e3004e7e5
- Leaf
- 0xf0fbf7f9cae0097352a5e9cfd79c31c69872c1a8dbb647f3d308c0b05a3ba1c0
What was observed
{
"count": 4,
"tools": [
{
"description": "Plan fair player rotations for pickup games: who plays on each court every round and who sits out, balancing games played across the roster. Use when more players show up than court spots. Does not split money; for costs use split_costs or split_series.",
"inputSchema": {
"properties": {
"capacity": {
"description": "Players per court: 2 for singles, 4 for doubles, 10 for 5v5 basketball",
"minimum": 1,
"type": "integer"
},
"courts": {
"description": "Number of courts in use at once (default 1)",
"minimum": 1,
"type": "integer"
},
"players": {
"description": "Unique roster names, at least capacity x courts of them, e.g. [\"Asha\",\"Dev\",\"Mira\",\"Sam\",\"Lee\",\"Kai\"]",
"items": {
"type": "string"
},
"minItems": 2,
"type": "array"
},
"rounds": {
"description": "Number of rounds to schedule, 1-50",
"maximum": 50,
"minimum": 1,
"type": "integer"
}
},
"required": [
"players",
"capacity",
"rounds"
],
"type": "object"
},
"name": "rotation_plan"
},
{
"description": "Given a shared total and who already paid what, compute each player's balance and the minimal set of payments (who pays whom, how much) to settle everyone. Use when the question is 'who owes whom'. For recurring sessions with different attendees use split_series.",
"inputSchema": {
"properties": {
"currency": {
"description": "Currency code used only for display, e.g. USD, EUR, GBP (default USD)",
"type": "string"
},
"participants": {
"description": "At least 2 players with unique names; include 'paid' for anyone who already paid, e.g. [{\"name\":\"Asha\",\"paid\":96},{\"name\":\"Dev\"}]",
"items": {
"properties": {
"name": {
"description": "Player name, unique within the list, e.g. 'Asha'",
"type": "string"
},
"paid": {
"description": "Amount this player already paid toward the total, in currency units (default 0)",
"minimum": 0,
"type": "number"
}
},
"required": [
"name"
],
"type": "object"
},
"minItems": 2,
"type": "array"
},
"shares": {
"description": "Optional positive relative weights, one per participant in the same order, e.g. [2,1,1]; omit for an equal split",
"items": {
"exclusiveMinimum": 0,
"type": "number"
},
"type": "array"
},
"total_cost": {
"description": "Total court/venue cost in currency units, e.g. 96 for $96.00",
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"total_cost",
"participants"
],
"type": "object"
},
"name": "settle_up"
},
{
"description": "Split one total court or venue cost across players, equally or by relative weights, and show each player's share plus the fewest payments to settle up. Use for a single booking or event. For recurring sessions with changing attendance use split_series.",
"inputSchema": {
"properties": {
"currency": {
"description": "Currency code used only for display, e.g. USD, EUR, GBP (default USD)",
"type": "string"
},
"participants": {
"description": "At least 2 players with unique names; include 'paid' for anyone who already paid, e.g. [{\"name\":\"Asha\",\"paid\":96},{\"name\":\"Dev\"}]",
"items": {
"properties": {
"name": {
"description": "Player name, unique within the list, e.g. 'Asha'",
"type": "string"
},
"paid": {
"description": "Amount this player already paid toward the total, in currency units (default 0)",
"minimum": 0,
"type": "number"
}
},
"required": [
"name"
],
"type": "object"
},
"minItems": 2,
"type": "array"
},
"shares": {
"description": "Optional positive relative weights, one per participant in the same order, e.g. [2,1,1]; omit for an equal split",
"items": {
"exclusiveMinimum": 0,
"type": "number"
},
"type": "array"
},
"total_cost": {
"description": "Total court/venue cost in currency units, e.g. 96 for $96.00",
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"total_cost",
"participants"
],
"type": "object"
},
"name": "split_costs"
},
{
"description": "Split a series of recurring sessions where attendance varies: each session's cost is shared only by that session's attendees, then payments already made are netted into balances and minimal settle-up transfers. Use for weekly games or leagues. For a single event use split_costs.",
"inputSchema": {
"properties": {
"currency": {
"description": "Currency code used only for display, e.g. USD (default USD)",
"type": "string"
},
"payments": {
"description": "Optional list of who already paid what across the series, e.g. [{\"name\":\"Asha\",\"paid\":120}]",
"items": {
"properties": {
"name": {
"description": "Player who paid, e.g. the person who fronted court fees",
"type": "string"
},
"paid": {
"description": "Total amount this player has paid across the series, in currency units",
"minimum": 0,
"type": "number"
}
},
"required": [
"name",
"paid"
],
"type": "object"
},
"type": "array"
},
"players": {
"description": "Optional full roster, so players who missed every session still appear with a zero balance",
"items": {
"type": "string"
},
"type": "array"
},
"sessions": {
"description": "Sessions in order, each with its cost and the names who attended",
"items": {
"properties": {
"attendees": {
"description": "Unique names of players present at this session",
"items": {
"type": "string"
},
"minItems": 1,
"type": "array"
},
"cost": {
"description": "Cost of this session in currency units, e.g. 60",
"exclusiveMinimum": 0,
"type": "number"
},
"label": {
"description": "Optional session label, e.g. 'Tue 7pm' (default 'session N')",
"type": "string"
}
},
"required": [
"cost",
"attendees"
],
"type": "object"
},
"minItems": 1,
"type": "array"
}
},
"required": [
"sessions"
],
"type": "object"
},
"name": "split_series"
}
]
}What the leaf hashes
{"body":"afd11e5ce0fb00ef5a4d06ca0295bc8726d9b4b57b3cf15579da9f0e3004e7e5","id":218451,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793026554865379,"prev":null,"subject":"756f67f5-b143-4015-8ee4-c468d6880483","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).
- 0xf0fb7769eeaf8222b0faedfe107e21bd2d2b11b3a29ff8a4bf4e74527b1552fe
- 0xd4f57d91a68df3584c716f860233e75a4d3c06683ccd430a563cd28f8dc549f6
- 0x0b67b8c94a03dbaaf8dde3852213feffc4e7c36143de4700b519156ff6ae1311
- 0x6eba27ab0e0d9e0b8d741d9418444505ed16d81a0fe71d3fd15e5b9c56c97644
- 0x7816246a602d05784f1dd9e720e7522f75a5848aa0a68538e6da1799ee0e7506
- 0xb3d1d9ea7378ce151b795e1cf185fc208bb030996d60b8b4d5d6f7072924f2a1
- 0x532c5ffa165288667eecad141db716392b5361026dddb11a6d4898a2944e5d38
- 0xaddd996b3ad73051be09018e4a1101457378c4d962819b0e2ebb246e08b03257
- 0xbc309687327c2973348c0c4921ebcd1852025f9370a40fe3622a74fbff15fc25
- 0x7d04371228279440387b9131e1ecd711e15d7ec89ef830b07659d5cf6474b401
- 0x514d76e971925e71327eba8800da6dbdf3c60a7c174890b0694dc64fd775ac72
- 0x4d2e94451b5ffc570a23dee9d1525bc305f1009994ffe23d8e2e7d45c60f6209
- 0xa26f0437cba4d7d64f1cf98bf4f490e1ebb6f66a5e2331537b7ba8b3061084e0
- 0xd769d41500075835c3b2f9184d223699fb983fd05c29fbcb44d964abc7ee380d
- 0x68d296b1e00b4899fb83c3fba36fffaefa311eac2903067dbebfe776a12b4a9a
- 0x5fb5dda563336cd1bc1b9f44c52b76237ae72ed2145cb9290f39f304ca7dd678
- 0x74a0a08e4e7ab9aa5bfbead33dec7e1c7e8e364cff69a63720d764bbe987aadc
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae