addrbookFor publishers
← The evidence ledger

Evidence row 200983

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint c9dc984d-9236-4418-949b-ffafcee7e837
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
025a1cacac7c548e2c66557f14eac0f0e58429654780cc1674fad2c5c4f4abf4
Leaf
0xe13bdca579721e1f3a6294da181bdf9b17bccd17a7c6a05980a8e478a4be9207

What was observed

{
  "count": 10,
  "tools": [
    {
      "description": "The 'what changed & why' feed — the engine's coaching decisions (volume bumps, deloads, swaps) in Coach Fly's voice. Use to explain to the athlete why their plan evolved.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "limit": {
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "name": "changelog"
    },
    {
      "description": "The athlete's current multi-day program (render-ready).",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {},
        "type": "object"
      },
      "name": "get_program"
    },
    {
      "description": "Today's workout: exercises, sets/reps, per-exercise load guidance and concrete target weights, plus nutrition targets and cycle status. Auto-applies the user's readiness check-in (autoregulation) if they've done one today. Call this to see what the athlete should do now.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "dayIndex": {
            "description": "Which program day (1-based). Defaults to the first day.",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "name": "get_todays_session"
    },
    {
      "description": "Valid alternatives for an exercise — same muscle group, filtered to the athlete's equipment/level/injuries. Use before swap_exercise.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "exerciseId": {
            "type": "string"
          }
        },
        "required": [
          "exerciseId"
        ],
        "type": "object"
      },
      "name": "list_swap_options"
    },
    {
      "description": "Record what the athlete actually lifted. The engine runs progression (double-progression, e1RM), detects PRs, and returns per-exercise outcomes (established/progressed/held/deloaded) with next-time targets. Weights are in kg.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "dayIndex": {
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "exercises": {
            "description": "Per-exercise completed sets (weights in kg).",
            "items": {
              "properties": {
                "exerciseId": {
                  "type": "string"
                },
                "prescribedRepTop": {
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "type": "integer"
                },
                "sets": {
                  "items": {
                    "properties": {
                      "completed": {
                        "type": "boolean"
                      },
                      "reps": {
                        "maximum": 9007199254740991,
                        "minimum": -9007199254740991,
                        "type": "integer"
                      },
                      "rpe": {
                        "anyOf": [
                          {
                            "type": "number"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "weightKg": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "weightKg",
                      "reps"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "required": [
                "exerciseId",
                "sets"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "goal": {
            "enum": [
              "strength",
              "hypertrophy",
              "general_fitness",
              "fat_loss"
            ],
            "type": "string"
          }
        },
        "required": [
          "exercises"
        ],
        "type": "object"
      },
      "name": "log_workout"
    },
    {
      "description": "A day of meals hitting the athlete's targets, USDA truth-checked (flags feasible=false with a note when macros are approximate). Slow (~15s AI call).",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "dietaryStyle": {
            "type": "string"
          },
          "exclusions": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "mealsPerDay": {
            "maximum": 5,
            "minimum": 3,
            "type": "integer"
          },
          "trainingDay": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "name": "meal_plan"
    },
    {
      "description": "The athlete's daily calorie + macro targets, computed from body stats, activity, and goal.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {},
        "type": "object"
      },
      "name": "nutrition_targets"
    },
    {
      "description": "Record how the athlete feels today (energy, sleep, soreness — each 1–5). The engine scores readiness and, on the next get_todays_session, reshapes the workout accordingly (reduce volume / reduce intensity / recovery day). Returns the readiness score + modifier.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "energy": {
            "description": "1 drained … 5 great",
            "maximum": 5,
            "minimum": 1,
            "type": "integer"
          },
          "sleep": {
            "description": "1 terrible … 5 great",
            "maximum": 5,
            "minimum": 1,
            "type": "integer"
          },
          "soreness": {
            "description": "1 none … 5 very sore",
            "maximum": 5,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "energy",
          "sleep",
          "soreness"
        ],
        "type": "object"
      },
      "name": "readiness_checkin"
    },
    {
      "description": "Rebuild the whole program from the stored profile (~20s AI generation). Use after a profile change or a plateau.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {},
        "type": "object"
      },
      "name": "regenerate_program"
    },
    {
      "description": "Replace an exercise with a valid same-area alternative. scope 'today' = just this session; scope 'program' = going forward. The new lift starts fresh (day-one calibration).",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "dayIndex": {
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "exerciseId": {
            "type": "string"
          },
          "scope": {
            "description": "Default 'program'.",
            "enum": [
              "today",
              "program"
            ],
            "type": "string"
          },
          "toExerciseId": {
            "type": "string"
          }
        },
        "required": [
          "exerciseId",
          "toExerciseId"
        ],
        "type": "object"
      },
      "name": "swap_exercise"
    }
  ]
}

What the leaf hashes

{"body":"025a1cacac7c548e2c66557f14eac0f0e58429654780cc1674fad2c5c4f4abf4","id":200983,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793026081115349,"prev":null,"subject":"c9dc984d-9236-4418-949b-ffafcee7e837","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).

  1. 0xe13bf0cc5937df60043db1d21ab6c7dca33d7d3d6f3620ebb81d6157a4b04a8b
  2. 0x30bb6a42faf31abba3649e77c171c196c9eebd33fd12ba05def22baeff93e975
  3. 0x50385de724a16e88ae2c5f89129f946175e6d0b3d2edfeb458ec46e41e77a8ad
  4. 0xeb627f7b1cb0546b80617f05834f2947fa1389ff7d8434595a188430c816501d
  5. 0x88d07c749a9def130c5e380dbb5d2d8e5b5027b06236b1f21e88a7f631b8ff47
  6. 0xe17f4e521a8a2a078993ed42bfb2d9d08eff73ff40cafcd799693f0d0386a1ce
  7. 0xd47eb19d7e464d285918c5451b9c5dc217133e1ead95067fda6dd30f198194aa
  8. 0x8fc2cc5d114f54b690932aa561854a9e75af313a82d6d84d64372e8df3cbdcfe
  9. 0xe63f8e4581859c67f54bf7aee4c4a0debf8404ddbf6dd1964ec000823c4caa23
  10. 0x4b514c272cf743fead7500e2a90fbbb62a667f67d8a586fb32ddc4f005077e2e
  11. 0x82d0a2528274b883dc22fee84985c9c34404274baadfb76651d0008598f80bff
  12. 0x714c96bd488ccf4af927c8bc83397404f7f6f1b165b622d0e8216290209825e4
  13. 0x3fcdf7fa32ccefe771eb57ae3015142065d64e3ce732fea7d11b9a3c99dde44f
  14. 0x0b7541c75cc482a7134110311d7dbd02095d969ba21177de9b21a52a55981718
  15. 0x6dc40f983a3840a0ad927a9ca17f4ff1e3b649a6c735e2a09b140db7c2caf13b
  16. 0x703f95866af09c5e5d6ead7411e9a10f964a41a2aff64d4a55ff0053c023a023
  17. 0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40
  18. 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON