addrbookFor publishers
← The evidence ledger

Evidence row 294435

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint aed24e0d-a805-42de-b37a-d6b2ac94a425
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
1d0a7403d5f706cb49221e15644e1a67de46dc4b7c6f567f96bc3b356af54972
Leaf
0xa221d54a7a84e506af007bee32622429ccfb252689df790fbbb9becb91e4fe47

What was observed

{
  "count": 4,
  "tools": [
    {
      "description": "Check a user's current progress against the correct solution.\nReturns factual information only: whether the puzzle is complete, whether all filled cells are correct,\nwhich cells are incorrect (with the entered digit), and how many cells remain empty.\nDoes not give hints or coaching — use explain_next_step for that.\nUse this when the user asks \"am I done?\" or \"did I make any mistakes?\"\nEvery response includes a solve_url where the same puzzle can be continued in the interactive solver.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "progress": {
            "description": "Current 81-char board state to check.",
            "type": "string"
          },
          "puzzle": {
            "description": "Original 81-char sudoku clue string (0 or . for empty cells).",
            "type": "string"
          }
        },
        "required": [
          "puzzle",
          "progress"
        ],
        "type": "object"
      },
      "name": "check_progress"
    },
    {
      "description": "Get the next logical solving step for a sudoku puzzle, optionally from a partially-filled state.\n\nTWO-BOARD MODE (puzzle + progress) — use when you know both the original clue grid and the user's current work:\n  puzzle: the original 81-char clue string (the given digits only, 0/. for empty cells).\n  progress: the user's current 81-char board — must keep all original clue digits in place.\n  This mode detects incorrect entries: if any user-filled cell contradicts the solution, the tool returns\n  incorrect_cells instead of a step hint, so the user can correct errors before continuing.\n  Use this when the user is solving a puzzle they received from get_sudoku_puzzle (puzzle is known).\n\nSINGLE-BOARD MODE (puzzle only, no progress) — use when the original clue grid is unknown (e.g. photo OCR):\n  Pass the user's current full board as puzzle with no progress argument.\n  The tool treats the board as both the clue grid and the current state, so it will not perform error checking\n  (it cannot distinguish given digits from user entries). It simply returns the next logical step.\n  Use this when you cannot separate the original clues from the user's entries.\n\nReturns: { technique, explanation, action, tutorial_links } on success, or { incorrect_cells, message } if errors found.\nUse this for step-by-step coaching — one hint at a time.\nEvery response includes a solve_url for continuing the same board interactively and, on success, tutorial_links for the named technique.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "progress": {
            "description": "Current board state (81-char string). Clue cells must remain unchanged. Optional — omit to get the very first hint.",
            "type": "string"
          },
          "puzzle": {
            "description": "Original 81-char sudoku clue string (0 or . for empty cells).",
            "type": "string"
          }
        },
        "required": [
          "puzzle"
        ],
        "type": "object"
      },
      "name": "explain_next_step"
    },
    {
      "description": "Get a random sudoku puzzle from the PlaySudoku.us collection.\nPuzzle is returned as an 81-character string: digits 1–9 for given cells, 0 for empty cells.\nThe response includes the techniques required to solve the puzzle and a solve_url to the interactive solver.\nDifficulties: easy (30–38 givens), medium (44–50), hard (50–55), expert (56–62), evil (56–62).\nOptional: pass a technique name (e.g. \"X-Wing\", \"Hidden Pair\") to get a puzzle that specifically requires that technique — useful when the user wants to practice a particular solving method.\nIf no puzzle at the requested difficulty uses that technique, the error message lists which difficulties do have it.\nUse solve_sudoku for a full step-by-step solution, or explain_next_step to get one hint at a time.\nEvery response includes a solve_url where the same puzzle can be continued in the interactive solver.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "difficulty": {
            "description": "Puzzle difficulty. Choose based on the user's skill level.",
            "enum": [
              "easy",
              "medium",
              "hard",
              "expert",
              "evil"
            ],
            "type": "string"
          },
          "technique": {
            "description": "Optional technique name to filter by (e.g. \"X-Wing\", \"Hidden Pair\", \"Naked Triple\"). The returned puzzle will require this technique to solve. Omit for a random puzzle of the given difficulty.",
            "type": "string"
          }
        },
        "required": [
          "difficulty"
        ],
        "type": "object"
      },
      "name": "get_sudoku_puzzle"
    },
    {
      "description": "Solve a sudoku puzzle completely with step-by-step logical deduction.\nInput: 81-character string of digits (0 or . for empty cells). Whitespace is tolerated.\nReturns: every solving step with technique name + human-readable explanation + action,\n         the final solution string, a technique summary (counts), and tutorial links.\nOnly uses logical techniques — never guesses. If the puzzle cannot be solved logically,\nthe steps will end before completion.\nUse this when the user wants to understand how to solve a puzzle from scratch.\nThe response includes a solve_url for continuing the same board interactively and tutorial_links for techniques used in the solution.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "puzzle": {
            "description": "81-character sudoku string. Digits 1–9 for given cells, 0 or . for empty. Whitespace is ignored.",
            "type": "string"
          }
        },
        "required": [
          "puzzle"
        ],
        "type": "object"
      },
      "name": "solve_sudoku"
    }
  ]
}

What the leaf hashes

{"body":"1d0a7403d5f706cb49221e15644e1a67de46dc4b7c6f567f96bc3b356af54972","id":294435,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793050106812647,"prev":null,"subject":"aed24e0d-a805-42de-b37a-d6b2ac94a425","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. 0xa221c5ae358ab64508a11a80b742a2f8638ca5d7e5463957115a707928bfdce8
  2. 0xb2f7eb0b8367771e8a8208630859ad7c970a625dc7f5cea79cbd3a1b1147184a
  3. 0x81bfefcd600a62c1c421183b35bddea65180d4b386de685221808d93ad319638
  4. 0x7b2f302590698f292abb084c4b6adf94195fa226716c857ac6feb2053176376f
  5. 0x00f0dc2299c3a0a40c8d758dfa32377835c6e1f6964719314928892ae9f61f2a
  6. 0x407cde1d57d36d5c976a5b7b2e6666d2f2dceb12c95e1f38ee8757a07a7e213b
  7. 0x307fe327dc2d7613c6824a4c60956fcd28098a06fb399a60996d0c1e73ef852a
  8. 0x5f43d57237770f96f15e160f29752ef8cf4064f1696413d19f52d81f3cbebff0
  9. 0xe67eecaf696e494561ce621c14fc42e62336d45f7309ad0195e652382fb489a9
  10. 0x9f737f37530f83ae6928a14e73e114762b12b3c82ceb7028bdaf78f27b288ea9
  11. 0x9ca444fcd24e94bee95de2e8d69f385e59ecdaff6c1b017632bff037809c381b
  12. 0x95576cc3dd18642c859f679cefa1cf80bfc6c690b065916c3585b14e8ef4b1b3
  13. 0xf8d3e004d9a208d2c5e82ab676956d80f8a3c78387c61dad15a3a8269efee0d8
  14. 0x6713795704ddd9c528d421fadd9cc96b0200a4ddbba84f88e718d4968dde888b
  15. 0x62a900133713919f4eed33d8336876b7a6d538233b8a4f3ed03b29aa44f5bad0
  16. 0x1ac20d30773e1f4f2f811540e9a99b5cca9177c9e2e029acc0d80cf3f1d11f0f
  17. 0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9
  18. 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON