addrbookFor publishers
← The evidence ledger

Evidence row 2143823

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint d41afe07-d6f8-432d-b43c-5f7208fab1e2
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
d6f8eaa3c27c8dc564100fe684be346ca578263d545c555c5a6e1819755888d4
Leaf
0x1ea2db4bf42bd0638f725b2d3d53a06d7656c92b5c48fcc3c43437585b16cc9a

What was observed

{
  "count": 7,
  "tools": [
    {
      "description": "Movement slugs whose name holds `query` (e.g. \"row\", \"sled\"), for\n    suggest_workouts' include and exclude, machines and runs first.",
      "inputSchema": {
        "properties": {
          "kind": {
            "anyOf": [
              {
                "maxLength": 100,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Keep one movement kind only, one of strength, olympic, plyo, cyclic, carry, mobility (cyclic: row, ski, bike, run); all when omitted. Example: \"cyclic\".",
            "title": "Kind"
          },
          "query": {
            "description": "Text the movement name holds, any case. Example: \"sled\".",
            "maxLength": 100,
            "title": "Query",
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "title": "find_movementsArguments",
        "type": "object"
      },
      "name": "find_movements"
    },
    {
      "description": "New workouts unlike any in the library, from our generator (no AI),\n    as text: evolved from the library's workouts and movements (more lines,\n    fewer, other formats) into kinds it does not hold. For one person.\n    Nothing is saved; other ones each call. suggest_workouts and\n    vary_workout stay close to library workouts instead.\n\n    A shortfall says what blocked it.",
      "inputSchema": {
        "properties": {
          "bodyweight": {
            "default": true,
            "description": "False also leaves out movements needing no equipment (burpees, runs), so only the listed equipment is used. Example: false.",
            "title": "Bodyweight",
            "type": "boolean"
          },
          "count": {
            "default": 3,
            "description": "How many workouts, at most 5. Example: 3.",
            "maximum": 5,
            "minimum": 1,
            "title": "Count",
            "type": "integer"
          },
          "equipment": {
            "anyOf": [
              {
                "items": {
                  "maxLength": 100,
                  "type": "string"
                },
                "maxItems": 30,
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "What the athletes have, as list_equipment keys or names (\"echo-bike\" or \"echo\", \"row erg\", \"ski erg\"), one item per entry. Say \"1 dumbbell\" or \"1 kettlebell\" when there is only one: movements needing a pair (farmers carry, dumbbell bench press) are left out. Other counts are ignored (\"1 echo\" is the echo bike): say how many train in people. Movements needing anything else (a bench press needs a bench) are left out; runs need \"running\" in the list. A name matching several keys or none is an error naming them. Example: [\"1 dumbbell\", \"box\", \"ski-erg\"]. Omitted is a full gym.",
            "title": "Equipment"
          },
          "exclude": {
            "anyOf": [
              {
                "items": {
                  "maxLength": 100,
                  "type": "string"
                },
                "maxItems": 30,
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Movement slugs or names (from find_movements) every workout must leave out. Example: [\"burpees\"].",
            "title": "Exclude"
          },
          "format": {
            "anyOf": [
              {
                "maxLength": 100,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Only this format: for_time, amrap, emom, intervals. Any when omitted. Example: \"amrap\".",
            "title": "Format"
          },
          "include": {
            "anyOf": [
              {
                "items": {
                  "maxLength": 100,
                  "type": "string"
                },
                "maxItems": 30,
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Movement slugs or names (from find_movements) every workout must hold; fewer come back the more are named. Example: [\"wallballs\"].",
            "title": "Include"
          },
          "minutes_max": {
            "anyOf": [
              {
                "maximum": 240,
                "minimum": 0,
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Longest estimated workout length, in minutes. Example: 25.",
            "title": "Minutes Max"
          },
          "minutes_min": {
            "anyOf": [
              {
                "maximum": 240,
                "minimum": 0,
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Shortest estimated workout length, in minutes. Example: 10.",
            "title": "Minutes Min"
          },
          "sex": {
            "anyOf": [
              {
                "maxLength": 100,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Who trains, for the weights and machine doses: \"men\", \"women\", or \"mixed\" (a man and a woman together: each at their own; Hyrox stations at the mixed doubles race load). Omitted when the user did not say: every line reads both, men's/women's (\"9/6 kg\", \"12/10 kcal\"). Anything but men gets only workouts with a women's weight on every loaded line. Example: \"women\".",
            "title": "Sex"
          },
          "show_scores": {
            "default": true,
            "description": "True adds a line of scores under each workout: feasibility (0-100, can it be done as written), difficulty (0-100, the chance of not finishing inside the cap), and against the workout it was made from: stimulus (0-1, CrossFit's stimulus kept, with the levers changed), work (x the seed's), mix shift (how far the work moved between movement patterns), design (0-1) and, for Hyrox workouts, race fidelity (0-1). Example: false.",
            "title": "Show Scores",
            "type": "boolean"
          }
        },
        "title": "generate_workoutsArguments",
        "type": "object"
      },
      "name": "generate_workouts"
    },
    {
      "description": "The workout archetypes the generator makes, one per line: key, name,\n    formats, minutes, line count, and the session slots it serves.",
      "inputSchema": {
        "properties": {
          "style": {
            "anyOf": [
              {
                "maxLength": 100,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Keep only one style's archetypes: crossfit, hyrox or hybrid; all when omitted. Example: \"hyrox\".",
            "title": "Style"
          }
        },
        "title": "list_archetypesArguments",
        "type": "object"
      },
      "name": "list_archetypes"
    },
    {
      "description": "The equipment suggest_workouts' `equipment` takes, one per line:\n    key: name, with \"(machine)\" on ergometers (rower, ski erg, bikes).\n    Keys, names and common names (\"echo\", \"row erg\", \"DB\", \"kb\") all work.",
      "inputSchema": {
        "properties": {},
        "title": "list_equipmentArguments",
        "type": "object"
      },
      "name": "list_equipment"
    },
    {
      "description": "A user's verdict on a workout from these tools: a mistake (wrong\n    equipment, a weight, a dose that cannot fit), or a workout they found bad\n    or good. Stores the user's words for Goblin Gains, nothing else about the\n    user.",
      "inputSchema": {
        "properties": {
          "note": {
            "description": "What the user said about the workout, in their words. Example: \"Farmers carry needs two dumbbells; I said I have one.\"",
            "maxLength": 2000,
            "minLength": 1,
            "title": "Note",
            "type": "string"
          },
          "verdict": {
            "description": "One of mistake, bad, good: \"mistake\" (something in it is wrong), \"bad\" (it works but is a poor workout), \"good\". Example: \"mistake\".",
            "maxLength": 100,
            "title": "Verdict",
            "type": "string"
          },
          "workout": {
            "anyOf": [
              {
                "maxLength": 100,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "The workout's save link from suggest_workouts, vary_workout or generate_workouts, or its id; omitted for the tools as a whole. Example: \"https://app.goblingains.com/w/<id>\".",
            "title": "Workout"
          }
        },
        "required": [
          "note",
          "verdict"
        ],
        "title": "report_workoutArguments",
        "type": "object"
      },
      "name": "report_workout"
    },
    {
      "description": "New workouts from our generator, as text. Ask this instead of writing\n    workouts yourself. Nothing is saved.\n\n    Example, two people with an echo bike, rower and ski erg, 40-60 min:\n    suggest_workouts(count=5, people=2, minutes_min=40, minutes_max=60,\n    equipment=[\"echo-bike\", \"row-ergometer\", \"ski-erg\"], bodyweight=False)\n\n    A shortfall says what blocked it.",
      "inputSchema": {
        "properties": {
          "archetype": {
            "anyOf": [
              {
                "maxLength": 100,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "A key or name from list_archetypes; any when omitted. Example: \"A5\" or \"chipper\".",
            "title": "Archetype"
          },
          "bodyweight": {
            "default": true,
            "description": "False also leaves out movements needing no equipment (burpees, runs), so only the listed equipment is used. Example: false.",
            "title": "Bodyweight",
            "type": "boolean"
          },
          "cap_minutes": {
            "anyOf": [
              {
                "maximum": 240,
                "minimum": 1,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "A time cap the workout must fit, in whole minutes. Example: 30.",
            "title": "Cap Minutes"
          },
          "count": {
            "default": 3,
            "description": "How many workouts, at most 5; from 3 on, a mix of archetypes (at most 2 of one unless nothing else fits). Example: 3.",
            "maximum": 5,
            "minimum": 1,
            "title": "Count",
            "type": "integer"
          },
          "equipment": {
            "anyOf": [
              {
                "items": {
                  "maxLength": 100,
                  "type": "string"
                },
                "maxItems": 30,
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "What the athletes have, as list_equipment keys or names (\"echo-bike\" or \"echo\", \"row erg\", \"ski erg\"), one item per entry. Say \"1 dumbbell\" or \"1 kettlebell\" when there is only one: movements needing a pair (farmers carry, dumbbell bench press) are left out. Other counts are ignored (\"1 echo\" is the echo bike): say how many train in people. Movements needing anything else (a bench press needs a bench) are left out; runs need \"running\" in the list. A name matching several keys or none is an error naming them. Example: [\"1 dumbbell\", \"box\", \"ski-erg\"]. Omitted is a full gym.",
            "title": "Equipment"
          },
          "exclude": {
            "anyOf": [
              {
                "items": {
                  "maxLength": 100,
                  "type": "string"
                },
                "maxItems": 30,
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Movement slugs or names (from find_movements) every workout must leave out. Example: [\"burpees\"].",
            "title": "Exclude"
          },
          "include": {
            "anyOf": [
              {
                "items": {
                  "maxLength": 100,
                  "type": "string"
                },
                "maxItems": 30,
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Movement slugs or names (from find_movements) every workout must hold. Example: [\"wallballs\", \"sled-push\"].",
            "title": "Include"
          },
          "minutes_max": {
            "anyOf": [
              {
                "maximum": 240,
                "minimum": 0,
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Longest estimated workout length, in minutes. Example: 60.",
            "title": "Minutes Max"
          },
          "minutes_min": {
            "anyOf": [
              {
                "maximum": 240,
                "minimum": 0,
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Shortest estimated workout length, in minutes. Example: 40.",
            "title": "Minutes Min"
          },
          "only": {
            "default": false,
            "description": "True: the workouts hold the included movements and nothing else (each may repeat). Needs include. Example: true.",
            "title": "Only",
            "type": "boolean"
          },
          "partner": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "True: only partner workouts (two people share the work: turns at a station, or each on a station at once, then swap). False: none. Omitted: either. Example: true.",
            "title": "Partner"
          },
          "people": {
            "default": 1,
            "description": "How many train together with one of each machine. Above 1, only workouts they can share come back: partner workouts (taking turns on a station), or EMOMs/intervals with a different machine on every line and at least one line per person (start apart, rotate). Example: 2.",
            "maximum": 20,
            "minimum": 1,
            "title": "People",
            "type": "integer"
          },
          "sex": {
            "anyOf": [
              {
                "maxLength": 100,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Who trains, for the weights and machine doses: \"men\", \"women\", or \"mixed\" (a man and a woman together: each at their own; Hyrox stations at the mixed doubles race load). Omitted when the user did not say: every line reads both, men's/women's (\"9/6 kg\", \"12/10 kcal\"). Anything but men gets only workouts with a women's weight on every loaded line. Example: \"women\".",
            "title": "Sex"
          },
          "show_scores": {
            "default": true,
            "description": "True adds a line of scores under each workout: feasibility (0-100, can it be done as written), difficulty (0-100, the chance of not finishing inside the cap), and against the workout it was made from: stimulus (0-1, CrossFit's stimulus kept, with the levers changed), work (x the seed's), mix shift (how far the work moved between movement patterns), design (0-1) and, for Hyrox workouts, race fidelity (0-1). Example: false.",
            "title": "Show Scores",
            "type": "boolean"
          },
          "temperature": {
            "default": 0,
            "description": "0 to 1. 0: the same ask always brings the same workouts. Above 0: other ones each call, the higher the further from the library workouts they vary (0.3 close variations, 1 far ones). Example: 0.3.",
            "title": "Temperature",
            "type": "number"
          }
        },
        "title": "suggest_workoutsArguments",
        "type": "object"
      },
      "name": "suggest_workouts"
    },
    {
      "description": "Variations of one library workout from our generator (no AI), as\n    text, in its own format or another. Nothing is saved.\n\n    A shortfall says what blocked it.",
      "inputSchema": {
        "properties": {
          "bodyweight": {
            "default": true,
            "description": "False also leaves out movements needing no equipment (burpees, runs), so only the listed equipment is used. Example: false.",
            "title": "Bodyweight",
            "type": "boolean"
          },
          "count": {
            "default": 3,
            "description": "How many variations, at most 5. Example: 3.",
            "maximum": 5,
            "minimum": 1,
            "title": "Count",
            "type": "integer"
          },
          "equipment": {
            "anyOf": [
              {
                "items": {
                  "maxLength": 100,
                  "type": "string"
                },
                "maxItems": 30,
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "What the athletes have, as list_equipment keys or names (\"echo-bike\" or \"echo\", \"row erg\", \"ski erg\"), one item per entry. Say \"1 dumbbell\" or \"1 kettlebell\" when there is only one: movements needing a pair (farmers carry, dumbbell bench press) are left out. Other counts are ignored (\"1 echo\" is the echo bike): say how many train in people. Movements needing anything else (a bench press needs a bench) are left out; runs need \"running\" in the list. A name matching several keys or none is an error naming them. Example: [\"1 dumbbell\", \"box\", \"ski-erg\"]. Omitted is the kit the workout already uses.",
            "title": "Equipment"
          },
          "format": {
            "anyOf": [
              {
                "maxLength": 100,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Turn it into this format first: for_time, amrap, emom, intervals. About its minutes: an EMOM gives each line its own minute when a round is over 40 s, intervals rest as long as a round's work. Omitted keeps its own. Example: \"emom\".",
            "title": "Format"
          },
          "name": {
            "description": "The library workout's name or part of it, any case; several matches are an error listing them (up to 10) to ask again. Example: \"Fran\".",
            "maxLength": 100,
            "title": "Name",
            "type": "string"
          },
          "people": {
            "default": 1,
            "description": "How many train together with one of each machine. Above 1, only workouts they can share come back: partner workouts (taking turns on a station), or EMOMs/intervals with a different machine on every line and at least one line per person (start apart, rotate). Example: 2.",
            "maximum": 20,
            "minimum": 1,
            "title": "People",
            "type": "integer"
          },
          "sex": {
            "anyOf": [
              {
                "maxLength": 100,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Who trains, for the weights and machine doses: \"men\", \"women\", or \"mixed\" (a man and a woman together: each at their own; Hyrox stations at the mixed doubles race load). Omitted when the user did not say: every line reads both, men's/women's (\"9/6 kg\", \"12/10 kcal\"). Anything but men gets only workouts with a women's weight on every loaded line. Example: \"women\".",
            "title": "Sex"
          },
          "show_scores": {
            "default": true,
            "description": "True adds a line of scores under each workout: feasibility (0-100, can it be done as written), difficulty (0-100, the chance of not finishing inside the cap), and against the workout it was made from: stimulus (0-1, CrossFit's stimulus kept, with the levers changed), work (x the seed's), mix shift (how far the work moved between movement patterns), design (0-1) and, for Hyrox workouts, race fidelity (0-1). Example: false.",
            "title": "Show Scores",
            "type": "boolean"
          },
          "temperature": {
            "default": 0.5,
            "description": "0 to 1, how far they stray from it (0.2 close, 1 far). Example: 0.5.",
            "title": "Temperature",
            "type": "number"
          }
        },
        "required": [
          "name"
        ],
        "title": "vary_workoutArguments",
        "type": "object"
      },
      "name": "vary_workout"
    }
  ]
}

What the leaf hashes

{"body":"d6f8eaa3c27c8dc564100fe684be346ca578263d545c555c5a6e1819755888d4","id":2143823,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793625686365548,"prev":null,"subject":"d41afe07-d6f8-432d-b43c-5f7208fab1e2","subject_kind":"endpoint"}

Proof

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

  1. 0x1ea2d296596f5836c12a4f05e13f2c2f2b59ea3265f7a07d6aa3259566f7c8ae
  2. 0xaf7ef2e8e69704767aea0e95321d24ce81e3394b5f5cc38bc2c9b4fa26f7c1a7
  3. 0xe2712d2b53ff445dea3c03f40b7f220097cc1a11ce0c6cd9148246c29ce43f60
  4. 0xac5d34d23ee5a730e51d917dd525decf71fc7150e9562b19b82e9ede836092cd
  5. 0x65b96df0cc719ffb21f935b71c5e83f08dbe79eed97eeaa4bc7e175806c63211
  6. 0xa9d7ebf3dd2b60d87a96ab39a79f8ec75720feac03f226d806c85bdbe607d6cb
  7. 0xcb1734e3bb00e4b7c9a9b0bbad97a1b3a1d585caa11e3d1db2cd9133af46080a
  8. 0xb5ba7ef3408280dcd4179e414ac4701abca2e76381566536964a7ae0295bbf3e
  9. 0xb08cca3e32f512331aac0995708194ed35513b4758cd315ae2ecd125b1b72942
  10. 0x67938f519f23ba4125684dc14b49ae67e7cd284cc7e83c905db5a5534f2b7341
  11. 0xac0fc923a0db6bc3966b63b9f80568be71e73b50d1e4f75f4cff6ce1027de1b2
  12. 0x921d0608297ee8b39f59114be3d8989b8d4efd3e464dd03aef90facc4e2624f6
  13. 0x350e03a59bf81961fd9ce694f08f9ba0239d9ea2496b0c0dc7998c9e9855326f
  14. 0xc63937235d47ff2107de3051477e395be67b96d91d1349c787bf4b1ef91b602f
  15. 0xcd21ec8d72a18a2d4513e4fd309abbb530810fb1dbeecd4b9b85acb4d6ff8f12
  16. 0xac40f077ca4be8c3432a67771725cc315e8101fc2649999cfad2c900a7640e27
  17. 0x53a741b69e9e51c4a288a74712aa6ac3fb28c8923cd3e6461d161c4f2d48b31a
  18. 0x050f2978b537f7afb21ee1551577cdf146d1c56f4df12d24315ae5e69366b0a4
  19. 0x365b161a4b68d750dcc4b3ecce1154a2163c87b08762079428e68f0ebb6a754e
Day root
0x78fecaabbe319e56f5c4b80fc02e2052e198ad24781da8832a475ff65f2002d1
Chained
0xdc35957db5d1371ca382b9152878ffece28ec7c5cb4f98fd71ddb367f8b999b2
Published
On Arc Testnet, block 70432815: 0x56b814612eb2e3e544153df3e91e1f7199106d1e430c7d8c6b653feeb9ebe9af

How to check it · This row as JSON