addrbookFor publishers
← The evidence ledger

Evidence row 292639

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 7c30ddce-ea94-478d-808f-09d6f8ee0d61
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
e5c9c2dadc4f32b84d7c970f20822217e6ec1ae0886f49a2d03b1cd25a65ddc8
Leaf
0x02b4a4ed9887302b24c5e6e712ba8995f740c54499010d6ccf962342305ceb26

What was observed

{
  "count": 11,
  "tools": [
    {
      "description": "Open a job card for a job your crew is taking on and return its JC-YYYY-NNNN number: the client, the site, what the job is, the currency and when it is scheduled. Free tier: 10 active cards; archiving a finished job frees its slot.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "client": {
            "description": "Who the job is for, e.g. Kowalski bathroom refit, or Acme Ltd",
            "maxLength": 200,
            "type": "string"
          },
          "currency": {
            "description": "ISO code the rates and prices are in",
            "pattern": "^[A-Za-z]{3}$",
            "type": "string"
          },
          "description": {
            "description": "What the job is, e.g. Replace the consumer unit and certify",
            "maxLength": 2000,
            "type": "string"
          },
          "note": {
            "maxLength": 2000,
            "type": "string"
          },
          "scheduled_date": {
            "description": "The date the crew is due on site, YYYY-MM-DD. May be in the future; it is a plan, not a log",
            "maxLength": 10,
            "type": "string"
          },
          "site": {
            "description": "Where the job is, e.g. 14 Nowa Street, flat 3",
            "maxLength": 400,
            "type": "string"
          }
        },
        "required": [
          "client",
          "site",
          "description",
          "currency"
        ],
        "type": "object"
      },
      "name": "job_card_create"
    },
    {
      "description": "Delete a job card entered by mistake. One with labor or materials logged is refused, naming what it holds, because deleting it would lose the record of work done: archive it instead. The JC number is never reissued.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "card": {
            "description": "The job card id, e.g. JC-2026-0003, or the client name when only one card has it",
            "maxLength": 200,
            "type": "string"
          }
        },
        "required": [
          "card"
        ],
        "type": "object"
      },
      "name": "job_card_delete"
    },
    {
      "description": "Read one job card in full by JC number or client: every labor entry and every material used, the hours per worker, and the running totals -- labor, materials and grand total -- as integer cents with formatted amounts. Reads only.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "card": {
            "description": "The job card id, e.g. JC-2026-0003, or the client name when only one card has it",
            "maxLength": 200,
            "type": "string"
          }
        },
        "required": [
          "card"
        ],
        "type": "object"
      },
      "name": "job_card_get"
    },
    {
      "description": "List job cards newest first: client, site, status, hours logged, and the labor, materials and grand totals in cents. Filter by status and by client. Totals are kept per currency, never mixed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "client": {
            "description": "Only cards whose client contains this text, case-insensitive",
            "maxLength": 200,
            "type": "string"
          },
          "status": {
            "description": "Only cards at this status: open, in_progress, done, invoiced, archived",
            "maxLength": 20,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "job_card_list"
    },
    {
      "description": "Log hours worked on a job card: who did the work, the day, the hours and the hourly rate in whole cents, with a note on what was done. The line value is hours times rate, rounded half-up to the cent, fixed the moment it is logged.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "card": {
            "description": "The job card id, e.g. JC-2026-0003, or the client name when only one card has it",
            "maxLength": 200,
            "type": "string"
          },
          "date": {
            "description": "The day the work was done, YYYY-MM-DD. A future date is refused",
            "maxLength": 10,
            "type": "string"
          },
          "hours": {
            "description": "Hours worked, to the hundredth, e.g. 7.5 or 3.25. One entry is one worker's day at most",
            "exclusiveMinimum": 0,
            "maximum": 24,
            "type": "number"
          },
          "note": {
            "description": "What was done, e.g. First fix, kitchen ring main",
            "maxLength": 2000,
            "type": "string"
          },
          "rate_cents": {
            "description": "The hourly rate in whole cents. 4500 is 45.00 an hour",
            "maximum": 100000000000000,
            "minimum": 0,
            "type": "integer"
          },
          "worker": {
            "description": "Who did the work, e.g. Anna",
            "maxLength": 200,
            "type": "string"
          }
        },
        "required": [
          "card",
          "worker",
          "date",
          "hours",
          "rate_cents"
        ],
        "type": "object"
      },
      "name": "job_card_log_labor"
    },
    {
      "description": "Log materials used on a job card: the item, the day it went in, the quantity and the unit cost in whole cents. The line value is quantity times unit cost, rounded half-up to the cent, fixed the moment it is logged.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "card": {
            "description": "The job card id, e.g. JC-2026-0003, or the client name when only one card has it",
            "maxLength": 200,
            "type": "string"
          },
          "date": {
            "description": "The day it went in, YYYY-MM-DD. A future date is refused",
            "maxLength": 10,
            "type": "string"
          },
          "item": {
            "description": "What went into the job, e.g. Copper pipe 15mm, or Consumer unit 10-way",
            "maxLength": 200,
            "type": "string"
          },
          "note": {
            "maxLength": 2000,
            "type": "string"
          },
          "qty": {
            "description": "How many, to the thousandth, e.g. 2 or 0.5",
            "exclusiveMinimum": 0,
            "maximum": 1000000,
            "type": "number"
          },
          "unit_cost_cents": {
            "description": "What one costs in whole cents. 1299 is 12.99",
            "maximum": 100000000000000,
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "card",
          "item",
          "date",
          "qty",
          "unit_cost_cents"
        ],
        "type": "object"
      },
      "name": "job_card_log_material"
    },
    {
      "description": "Render a job card ready to print and hand to the client: the labor, the materials, the totals and a signature line for client sign-off. Markdown, or self-contained HTML that needs nothing from the network. Writes nothing.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "card": {
            "description": "The job card id, e.g. JC-2026-0003, or the client name when only one card has it",
            "maxLength": 200,
            "type": "string"
          },
          "format": {
            "description": "markdown (default) or html. The HTML carries its own styling and references nothing external",
            "enum": [
              "markdown",
              "html"
            ],
            "type": "string"
          }
        },
        "required": [
          "card"
        ],
        "type": "object"
      },
      "name": "job_card_print"
    },
    {
      "description": "Hours and value for a day or a week: the job cards touched, the hours per worker, and the labor, materials and total value, kept per currency. A week runs Monday to Sunday. Touched means a labor or material entry dated inside the window.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "date": {
            "description": "A date inside the window, YYYY-MM-DD. Default today",
            "maxLength": 10,
            "type": "string"
          },
          "span": {
            "description": "day (default) is the date itself; week is the Monday to Sunday containing it",
            "enum": [
              "day",
              "week"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "job_card_summary"
    },
    {
      "description": "Move one job card exactly one step: open, in_progress, done, invoiced, archived, stamping the date and an optional note into its history. A skipped or backwards step is refused and nothing is written. Archiving a finished job frees a free-tier slot.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "card": {
            "description": "The job card id, e.g. JC-2026-0003, or the client name when only one card has it",
            "maxLength": 200,
            "type": "string"
          },
          "date": {
            "description": "The date to stamp the step with, YYYY-MM-DD. Default today",
            "maxLength": 10,
            "type": "string"
          },
          "note": {
            "maxLength": 2000,
            "type": "string"
          },
          "status": {
            "description": "The next step for this card: open, in_progress, done, invoiced, archived. in-progress is accepted too",
            "maxLength": 20,
            "type": "string"
          }
        },
        "required": [
          "card",
          "status"
        ],
        "type": "object"
      },
      "name": "job_card_update_status"
    },
    {
      "description": "Turn Pro on for this connection with key, an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. Data under your token stays; a wrong or expired key changes nothing. license_status confirms it.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "key": {
            "description": "License key from checkout, MCPL1.<payload>.<signature>",
            "type": "string"
          }
        },
        "required": [
          "key"
        ],
        "type": "object"
      },
      "name": "license_activate"
    },
    {
      "description": "Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a free-tier refusal. No arguments, nothing changes.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {},
        "type": "object"
      },
      "name": "license_status"
    }
  ]
}

What the leaf hashes

{"body":"e5c9c2dadc4f32b84d7c970f20822217e6ec1ae0886f49a2d03b1cd25a65ddc8","id":292639,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793048887543786,"prev":null,"subject":"7c30ddce-ea94-478d-808f-09d6f8ee0d61","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. 0x02b49ff8661b2f5d040385505cf35333bf04a97a84a681261d0e797ae3da77c7
  2. 0xea9bfaeb10d541d9d09e3625a6a8e9d9b52acd38a9973f8a46049fc93277337b
  3. 0x528058cc2ad768ef9f54634944674cb427389897887fa9cf21767fa3595e59f7
  4. 0xc23b92360788bdc4c4dacf8d8f75e6772c912d95e04ff6d8632df7c0f9c9669c
  5. 0x70a1d195772e8953a1c21046f342854b9182f3fd9df45a167c5605221649a607
  6. 0x649156d389bc4f8c924c9250ff990871a247d722b555536d7156b984b8a2d183
  7. 0x6915fe9995c2bf44effa4b831bb7394975a4c39bad53e4452211c10fbfa79709
  8. 0xe0f68cc38193c8f7d03604a84ca06764cc307830e9282bc1e2179bfa5229bf0d
  9. 0x0f72f9b37b4039cbc3aae0497be60babe84e78bbc0183946137d3e4b5bcad991
  10. 0x0507461ad0f3996c7ed1e50036c084ea5d5d84cc0a082dd8688f824e00fc6a5b
  11. 0x4e18f6df894eff467396bfe85f6d6b90f40522629a1dd7517152c38e1c70e111
  12. 0xd75ede2689ed83bbc8980becaf4f32a77c7e05567790cd351e997bb28aa0844c
  13. 0x92ff7d176556ddbe3d885e2ab73948b14a6aa3568a8fd237427d4f8415235a23
  14. 0xd1d3499072edb10edc68f84bcae2365d2ab534df689250cab18c751b6f13b6ff
  15. 0x7ddc2fead128357f881b63e6c7c26d7fbbb84fca6c7c8e0bbfe386de86ca8d39
  16. 0xc6a4d7899a0f442958e26505011190b7cff2483611c1b94eba9043e0ba9ac36e
  17. 0x8c756542e482157df0c36464d75c937b845e4423dbbcfad08f0cf8d5a16b9a13
  18. 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON