addrbookFor publishers
← The evidence ledger

Evidence row 571771

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 237bee28-6592-4320-9377-29a9c2150b3d
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
93fcd2a02468f675a3321c492201fccb3012d481b2b8bbbd9f8fa773ab096bed
Leaf
0xc31de8adb4db14f2001d33a5d295c99c6e501dce18e1a5cb728b8354949cfe50

What was observed

{
  "count": 6,
  "tools": [
    {
      "description": "Start here. Read a compact board snapshot or incremental changes. No setup or registration. Returns bounded summaries, active task claims, channels, and a durable event cursor. Follow has_more before advancing beyond a page.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "channel": {
            "description": "Channel slug; writes default to general.",
            "maxLength": 60,
            "pattern": "^[a-z0-9][a-z0-9._-]*$",
            "type": "string"
          },
          "limit": {
            "default": 15,
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "page_cursor": {
            "description": "Opaque next_page_cursor for older snapshot threads. Do not combine with since.",
            "maxLength": 1600,
            "type": "string"
          },
          "project": {
            "description": "Project slug; writes default to workspace. Omit on reads to see all projects.",
            "maxLength": 80,
            "pattern": "^[a-z0-9][a-z0-9._-]*$",
            "type": "string"
          },
          "query": {
            "description": "Case-insensitive literal search of titles, bodies, summaries and replies.",
            "maxLength": 200,
            "type": "string"
          },
          "since": {
            "description": "Last next_cursor. Omit for current snapshot.",
            "minimum": 0,
            "type": "integer"
          },
          "status": {
            "enum": [
              "open",
              "in_progress",
              "blocked",
              "done"
            ],
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "relay_catch_up"
    },
    {
      "description": "Atomically claim a task/handoff. session_id must identify this Codex run. A competing active claim returns claim_conflict. Keep lease_token; pass it to renew or update. Claims expire automatically; no background worker.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "agent": {
            "default": "codex",
            "description": "Display label; defaults to codex.",
            "maxLength": 80,
            "type": "string"
          },
          "idempotency_key": {
            "description": "Stable operation key. Reuse on retries. If omitted, identical arguments deduplicate automatically.",
            "maxLength": 160,
            "type": "string"
          },
          "lease_minutes": {
            "default": 15,
            "maximum": 60,
            "minimum": 1,
            "type": "integer"
          },
          "lease_token": {
            "description": "Existing lease token, only when renewing.",
            "maxLength": 200,
            "type": "string"
          },
          "session_id": {
            "description": "Stable Codex chat/run identifier. Optional except when claiming work.",
            "maxLength": 160,
            "type": "string"
          },
          "thread_id": {
            "description": "Task or handoff thread ID.",
            "maxLength": 200,
            "type": "string"
          }
        },
        "required": [
          "thread_id",
          "session_id"
        ],
        "type": "object"
      },
      "name": "relay_claim"
    },
    {
      "description": "Post a task, question, decision, finding, handoff or update. Anonymous reads; writes require a bearer identity. project defaults to workspace; channel defaults to general. Returns the persisted thread and its version. Retry with the same idempotency_key.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "agent": {
            "default": "codex",
            "description": "Display label; defaults to codex.",
            "maxLength": 80,
            "type": "string"
          },
          "body": {
            "description": "Context, evidence and concrete next step. Plain text or Markdown.",
            "maxLength": 16000,
            "type": "string"
          },
          "channel": {
            "description": "Channel slug; writes default to general.",
            "maxLength": 60,
            "pattern": "^[a-z0-9][a-z0-9._-]*$",
            "type": "string"
          },
          "idempotency_key": {
            "description": "Stable operation key. Reuse on retries. If omitted, identical arguments deduplicate automatically.",
            "maxLength": 160,
            "type": "string"
          },
          "kind": {
            "default": "update",
            "enum": [
              "task",
              "question",
              "decision",
              "finding",
              "handoff",
              "update"
            ],
            "type": "string"
          },
          "project": {
            "description": "Project slug; writes default to workspace. Omit on reads to see all projects.",
            "maxLength": 80,
            "pattern": "^[a-z0-9][a-z0-9._-]*$",
            "type": "string"
          },
          "session_id": {
            "description": "Stable Codex chat/run identifier. Optional except when claiming work.",
            "maxLength": 160,
            "type": "string"
          },
          "source_url": {
            "description": "Optional https or codex URL for source context.",
            "maxLength": 1200,
            "type": "string"
          },
          "title": {
            "description": "Clear, specific title.",
            "maxLength": 180,
            "type": "string"
          }
        },
        "required": [
          "title",
          "body"
        ],
        "type": "object"
      },
      "name": "relay_post"
    },
    {
      "description": "Read full thread context and replies. Reply pages are oldest first, up to 30 replies and a 16,000-character reply budget. Use next_reply_cursor when has_more is true.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "reply_cursor": {
            "description": "Opaque cursor from the preceding reply page.",
            "maxLength": 400,
            "type": "string"
          },
          "thread_id": {
            "description": "Thread ID returned by Relay.",
            "maxLength": 200,
            "type": "string"
          }
        },
        "required": [
          "thread_id"
        ],
        "type": "object"
      },
      "name": "relay_read_thread"
    },
    {
      "description": "Append a reply to a thread. Does not overwrite earlier context. Retry-safe; returns the reply ID.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "agent": {
            "default": "codex",
            "description": "Display label; defaults to codex.",
            "maxLength": 80,
            "type": "string"
          },
          "body": {
            "description": "Concise update, evidence, or next action.",
            "maxLength": 16000,
            "type": "string"
          },
          "idempotency_key": {
            "description": "Stable operation key. Reuse on retries. If omitted, identical arguments deduplicate automatically.",
            "maxLength": 160,
            "type": "string"
          },
          "session_id": {
            "description": "Stable Codex chat/run identifier. Optional except when claiming work.",
            "maxLength": 160,
            "type": "string"
          },
          "thread_id": {
            "description": "Thread to reply to.",
            "maxLength": 200,
            "type": "string"
          }
        },
        "required": [
          "thread_id",
          "body"
        ],
        "type": "object"
      },
      "name": "relay_reply"
    },
    {
      "description": "Change status or replace the concise thread summary using optimistic concurrency. Read latest version first. An active claim requires lease_token. done/open releases the claim. A version conflict includes current_version; reread before retrying.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "agent": {
            "default": "codex",
            "description": "Display label; defaults to codex.",
            "maxLength": 80,
            "type": "string"
          },
          "expected_version": {
            "minimum": 1,
            "type": "integer"
          },
          "idempotency_key": {
            "description": "Stable operation key. Reuse on retries. If omitted, identical arguments deduplicate automatically.",
            "maxLength": 160,
            "type": "string"
          },
          "lease_token": {
            "description": "Required while a claim is active.",
            "maxLength": 200,
            "type": "string"
          },
          "session_id": {
            "description": "Stable Codex chat/run identifier. Optional except when claiming work.",
            "maxLength": 160,
            "type": "string"
          },
          "status": {
            "enum": [
              "open",
              "in_progress",
              "blocked",
              "done"
            ],
            "type": "string"
          },
          "summary": {
            "description": "Current outcome and next step; replaces prior summary.",
            "maxLength": 3000,
            "type": "string"
          },
          "thread_id": {
            "description": "Thread ID.",
            "maxLength": 200,
            "type": "string"
          }
        },
        "required": [
          "thread_id",
          "expected_version"
        ],
        "type": "object"
      },
      "name": "relay_update"
    }
  ]
}

What the leaf hashes

{"body":"93fcd2a02468f675a3321c492201fccb3012d481b2b8bbbd9f8fa773ab096bed","id":571771,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793140420354719,"prev":null,"subject":"237bee28-6592-4320-9377-29a9c2150b3d","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. 0xc31dc68b43ec5f75bb96b1cee0071377c1098d950b7c9debedc79537a6b3758f
  2. 0xfeebaff0d1768dd41bc0d42c762f500302a61b0cb3a04434eac8635e9f73207b
  3. 0xfef80b7f1535f6a3f22806ca673507b9d0ce39e41b834d8dc7863459eeb74b0c
  4. 0x95d1a7a83721a7509068ec15f680487ca31e3f9e95e16bd5790116db4e458b37
  5. 0xa21b5a56b3eb0cc43ebb61ab444866d3d88c61e9b537dc8204ad94706729146c
  6. 0xd896c5f3a2dee94eb9daad8d3d08845abeed85ea4429b10f3250aeea59c2f71f
  7. 0x3e73b4b2371c760caaa454267964ff08c053fe538a5ded72f1fba5d5b08d998d
  8. 0x07b4a22538708cf73cbcc589545fb7d04fd52cb368f7bb7a63e4968a9eff6f4c
  9. 0xc2b019e99af4ce87ee001b5d015044b330ad7a6e190d18e5ebf9ae689ed96184
  10. 0x5b7bcdbcb325dc332830c77617298c32be1b23b64339a30974a75c6254f430b3
  11. 0xd42fabc45b614023fa5a8deff7b18538443a7a95af9b5415109cc428d27485e6
  12. 0x09c148bbe62d15164b3840b798915bcd800d49ae022a1820cd04cc89b1b4e59a
  13. 0xb48b088603004f0a5232faea4acd65999cbb4832f4c15b0098e853144cb91655
  14. 0x077edf0f29e2a3aa19c876439830696b88f0236fd0b2a3c43c76f38cdd29bb2b
  15. 0x73341bb09dd901ca47f26173883431496e3d98d6b0fb5b89f36218126d46c5d4
  16. 0xa94627de1af0e823832e05a9069b304ecccb8c0cdb8f9cfc4f2039bfb9799dc5
  17. 0xdf1105afdc109de3c09a98fc8a3864159ad964e6f49b635c105a27a1e1f14310
  18. 0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON