Skip to main content
Glama

Zero-Trust Physics

verify_dataset

Read-onlyIdempotent

Check a dataset's seal. Short form, which needs only what is short: request is the run_dataset request as it was sent (the head's request), and dataset_seal is the seal its answer gave. The plan is run again, under the permits and the limits of run_dataset, whatever its return mode and its answer form, and the answer is holds, cause ("dataset_seal" when the seal given is not the seal the plan runs to), recomputed_dataset_seal when it holds (when it does not, no seal is returned: run_dataset gives the true one), a sentence of what was checked, and text_not_compared: the short form compares no rows you hold. Nothing is stored or read from storage, so the short form answers the same on every connection. Worked example: {"request":{"domain":"energy","card":"thermal","plan":{"kind":"list","runs":[{"initial":{"temperature_k":293.15},"dt_s":1.0,"segments":[{"steps":60,"load":{"heat_power_w":5.0,"ambient_k":293.15}}],"record_every":60}]},"store":"none","return":"inline"},"dataset_seal":"<the dataset_seal of its run_dataset answer, 64 lowercase hex digits>"}. A plan of solves is checked by this short form only. Two long forms take no physics permit. The three parts a full inline answer carries (answer "full": head, rows and frames_hex, all three together): the rows, the root and the seal are recomputed and the first break is named; a dataset made without the engine can pass, and replaying a row through run_trajectory shows the engine made it; the exact hex values and the seals are checked, not the decimal copies of the values in the rows, and holds does not cover the receipt, which the report states apart. Or dataset_seal alone, for a dataset the gateway stored (return "file"). Same bytes as POST /verify_dataset. On this open connection a dataset is smaller than the engine's own limits allow: runs <= 300 (OPEN_MAX_DATASET_ROWS), steps in total <= 1000000 (OPEN_MAX_DATASET_STEPS), recorded states <= 10000, an answer counted from the plan at no more than 4194304 bytes (OPEN_MAX_DATASET_ANSWER_BYTES), and return "inline" only: no dataset is stored here, so return "file" is refused, and verify_dataset takes the request with its dataset_seal, or head, rows and frames_hex, not dataset_seal alone. On this open connection one address holds at most 1 physics permit at a time, and a solve, a dataset job and a run of more than 10000 steps are long work, of which 1 runs at a time: a call that finds no permit or no place is answered "Too many concurrent physics tasks." and is sent again; nothing waits. An answer is waited for 60 seconds.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
headNoWith rows and frames_hex: the head a run_dataset answer carries.
rowsNoWith head and frames_hex: the rows a full run_dataset answer (answer "full") carries.
requestNoWith dataset_seal alone: the run_dataset request as it was sent (the head's request). The plan is run again, under the permits and the limits of run_dataset, and its seal is compared with dataset_seal. Nothing is stored or read from storage, so it works whatever the return mode and on every connection. Its fields are run_dataset's.
frames_hexNoWith head and rows: the frames a run_dataset answer carries, or null.
dataset_sealNoWith request: the dataset_seal of the run_dataset answer, compared with the seal the plan runs to. Alone: the seal of a dataset the gateway stored in files (return "file"); the gateway reads its own folder of that name. A dataset returned in the answer is not stored: send it with its request, or send its head, rows and frames_hex.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources