← The evidence ledger
Evidence row 568691
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 0a3ca1cd-7952-4707-aeea-7cc96a2c3aea
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 7f8ec3a000052efa79789c92d8503921c51e4555afdff225efd0b813312f9529
- Leaf
- 0x7de1470981c7699f3746543c3b9567e9f663337514db15fb522ef34c8347b185
What was observed
{
"count": 7,
"tools": [
{
"description": "Deterministic calculations from a complete ephemeris.forecast v1 artifact object, including CLI artifacts. No inference or forecast charge; this hosted tool still receives data over the network. Returns scope, result, basis, limitations and source pointers: last-observed baseline, median endpoint/change, marginal-median aggregates, and exact saved billing units. Missing medians/context remain unknown. Sum of medians only for period_total; it is not a cumulative-distribution interval or median. No calibrated coverage, causal explanation, path/peak probability, or business action is inferred. Example: pass {artifact: <forecast result artifact>}; choose series_index/variate_index for multiple results. Maximum 1 MiB; malformed/version/shape errors are recoverable by fixing the artifact or using CLI, never rerunning inference. Missing labels may be corrected in a COPY of context without changing request/response. No filesystem access, URL fetches, persistent storage, Gnomon import, or scoring.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"artifact": {
"additionalProperties": {},
"description": "Complete ephemeris.forecast schema_version 1 JSON object returned by forecast or saved by Ephemeris CLI. Pass the object, not a filename, URL, resource URI, request ID, or bearer token. Maximum 1 MiB UTF-8 JSON. Contains submitted history; send only data you are authorized to process on this hosted server.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"series_index": {
"description": "Zero-based series index; required when the artifact has multiple series, otherwise 0.",
"maximum": 63,
"minimum": 0,
"type": "integer"
},
"variate_index": {
"description": "Zero-based variate index; required for multivariate results, otherwise 0.",
"maximum": 255,
"minimum": 0,
"type": "integer"
}
},
"required": [
"artifact"
],
"type": "object"
},
"name": "describe_forecast"
},
{
"description": "Submit numeric observations to forecast future sampling steps. Spends credits on successful calls. Choose and retain idempotency_key before submitting; no automatic retries, replay depends on server retention. Minimal example: {mode: route, series: [{values: [10,12,11], freq: D}], horizon: 2, quantiles: [0.1,0.5,0.9]}. Returns forecasts and meta as before, plus artifact by default for describe_forecast/plot_forecast. Save the embedded JSON attachment: it includes full input history and local context; no hosted storage is created. Context never becomes a model input. Billing is at meta.billing in millicredit strings (100 mc = 0.1 credits). Missing future inputs mean not supplied, not no events. Quantile bands do not establish coverage, cumulative intervals or peak probabilities. After uncertain completion, reuse the same key and API request; an expired key may cause a new charge.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"combine": {
"description": "Ensemble only. \"mixture\" averages the predictive distributions (default); \"vincentize\" averages the quantiles.",
"enum": [
"mixture",
"vincentize"
],
"type": "string"
},
"context": {
"additionalProperties": false,
"description": "Local artifact metadata, never sent as model inputs. series aligns with input series; timestamps align with history and future_timestamps with horizon. Units/target/measurement/timezone must come from the user; unknowns stay null. Future-input labels are caller assertions; narrative assumptions do not change inference.",
"properties": {
"scenario_assumptions": {
"items": {
"maxLength": 2000,
"type": "string"
},
"maxItems": 100,
"type": "array"
},
"series": {
"items": {
"additionalProperties": false,
"properties": {
"future_covariate_roles": {
"additionalProperties": {
"enum": [
"known_future",
"scenario_assumption",
"unspecified"
],
"type": "string"
},
"propertyNames": {
"type": "string"
},
"type": "object"
},
"future_timestamps": {
"anyOf": [
{
"items": {
"maxLength": 100,
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
]
},
"measurement": {
"anyOf": [
{
"enum": [
"period_total",
"period_average",
"point_in_time"
],
"type": "string"
},
{
"type": "null"
}
]
},
"recorded_as_of": {
"anyOf": [
{
"maxLength": 2000,
"type": "string"
},
{
"type": "null"
}
]
},
"series_id": {
"anyOf": [
{
"maxLength": 2000,
"type": "string"
},
{
"type": "null"
}
]
},
"source_available_at": {
"anyOf": [
{
"maxLength": 2000,
"type": "string"
},
{
"type": "null"
}
]
},
"target_description": {
"anyOf": [
{
"maxLength": 2000,
"type": "string"
},
{
"type": "null"
}
]
},
"timestamps": {
"anyOf": [
{
"items": {
"maxLength": 100,
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
]
},
"timezone": {
"anyOf": [
{
"maxLength": 2000,
"type": "string"
},
{
"type": "null"
}
]
},
"unit": {
"anyOf": [
{
"maxLength": 2000,
"type": "string"
},
{
"type": "null"
}
]
}
},
"type": "object"
},
"maxItems": 64,
"type": "array"
}
},
"required": [
"series"
],
"type": "object"
},
"context_len": {
"description": "Most recent points per variate to feed the model (history length does not affect pricing), 1 to 16384. Defaults to 256. Values beyond the model's context cap are truncated at the cap.",
"maximum": 16384,
"minimum": 1,
"type": "integer"
},
"horizon": {
"description": "Number of future steps to forecast, 1 to 4096. Defaults to 64. Some models stop short of this (max_horizon in list_models): route and ensemble skip them, explicit mode rejects the request.",
"maximum": 4096,
"minimum": 1,
"type": "integer"
},
"idempotency_key": {
"description": "Client-chosen key, 8 to 128 characters of letters, numbers, dot, underscore, colon or hyphen. A retry with the same key and identical API body replays while retained by the server. Retain the key before submission; expired keys may cause a new charge.",
"pattern": "^[A-Za-z0-9._:-]{8,128}$",
"type": "string"
},
"include_artifact": {
"description": "Default true: include a portable ephemeris.forecast v1 artifact and embedded JSON attachment (up to 1 MiB), with full input history. Save it client-side for describe_forecast/plot_forecast or the CLI. false returns the existing API response only. No persistent hosted storage is created.",
"type": "boolean"
},
"mode": {
"description": "\"route\": automatically select a model. \"ensemble\": blend compatible models and may cost more. Neither guarantees accuracy or calibration. \"explicit\": run the single model named in `model`.",
"enum": [
"route",
"ensemble",
"explicit"
],
"type": "string"
},
"model": {
"description": "Required when mode is \"explicit\". Must be a name returned by list_models.",
"minLength": 1,
"type": "string"
},
"quantiles": {
"description": "Up to 21 quantile levels strictly between 0 and 1, for example [0.1, 0.5, 0.9]. The response keys forecasts by these as decimal strings.",
"items": {
"exclusiveMaximum": 1,
"exclusiveMinimum": 0,
"type": "number"
},
"maxItems": 21,
"type": "array"
},
"series": {
"description": "One to 64 series forecast in one request. All share horizon and quantiles.",
"items": {
"properties": {
"covariates": {
"description": "Optional exogenous covariates. Only models with `covariates: true` in list_models can use them. In route and ensemble mode the panel narrows to those models; in explicit mode, naming a model without covariate support is an error.",
"properties": {
"future": {
"additionalProperties": {
"items": {
"type": "number"
},
"type": "array"
},
"description": "Future numeric channels (known future or explicit scenario assumptions), each exactly `horizon` long. Every future channel must also appear in `past`.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"past": {
"additionalProperties": {
"items": {
"type": "number"
},
"type": "array"
},
"description": "Named historical channels, each the same length as the series context.",
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"past"
],
"type": "object"
},
"freq": {
"description": "Pandas-style sampling frequency such as \"H\", \"D\", \"W\", \"15min\" or \"M\". Improves routing and seasonal handling; omit if unknown.",
"minLength": 1,
"type": "string"
},
"values": {
"anyOf": [
{
"items": {
"type": "number"
},
"minItems": 1,
"type": "array"
},
{
"items": {
"items": {
"type": "number"
},
"minItems": 1,
"type": "array"
},
"minItems": 1,
"type": "array"
}
],
"description": "Observed history, oldest first. A flat number array is one univariate series. A nested array is one multivariate series with one inner array per variate, all the same length."
}
},
"required": [
"values"
],
"type": "object"
},
"maxItems": 64,
"minItems": 1,
"type": "array"
},
"top_k": {
"description": "Ensemble only: cap on how many models participate.",
"maximum": 16,
"minimum": 1,
"type": "integer"
}
},
"required": [
"mode",
"series"
],
"type": "object"
},
"name": "forecast"
},
{
"description": "Return the account's spendable credit balance in millicredits, excluding credits reserved by in-progress forecasts. 1000 millicredits equal one credit.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "get_balance"
},
{
"description": "Return the account's forecast request log, newest first, with the mode, models used, series count, horizon, credits estimated and settled, HTTP status and latency of each request.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"description": "Rows per page, 1 to 200. Defaults to 50.",
"maximum": 200,
"minimum": 1,
"type": "integer"
},
"offset": {
"description": "Rows to skip. Use `pagination.next_offset` from the previous page.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
}
},
"type": "object"
},
"name": "get_usage"
},
{
"description": "Read this deployed MCP server's version, nullable build commit and supported saved forecast schema versions. Call with {}. No API key, account access, inference, charges or writes; network access to this server only. Returns component, version, build_commit (full source SHA or null when unavailable), artifact_schema_versions, and runtime_tls (Node release and certificate-trust status; metadata only, no probe connections). Unknown commit stays null. Server, CLI, npm bridge and artifact schema versions are independent; this tool cannot inspect local installations, check the latest registry release or establish model quality. Use list_models for live model capabilities. After a connection failure reconnect and retry; no forecast could have been submitted by this tool.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "get_version"
},
{
"description": "Discover the model panel: each model's availability right now (healthy), capabilities (multivariate, covariates, max_horizon, auto_max_horizon), its weight in an ensemble at each horizon, pinned and actually served weight revision, price in millicredits per series-slot per 64 forecast steps. History length has no billing multiplier. Call this before using forecast in explicit mode; the deployed panel can differ from any documentation.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "list_models"
},
{
"description": "Render a complete ephemeris.forecast v1 artifact object as PNG (default inline preview) or SVG (embedded resource to save). No inference or forecast charge; hosted processing receives the artifact over the network. Example: {artifact: <saved artifact>, format: png}. Requires returned q0.5; never invents a median. Observed history, forecast boundary, median and nominal quantile bands are labeled. Default history view is most recent max(24, 2*horizon) points, capped by available history; history: all shows all. Dates only when supported by recorded metadata, otherwise sampling steps. Bands do not establish calibrated coverage; missing/crossed points are omitted and counted. Maximum 1 MiB input. Select series_index/variate_index for multiple results. Fix argument/shape errors without rerunning inference. User-supplied labels can be corrected in a COPY of artifact context offline; no new forecast needed. Client decides preview/download UI. URNs identify attached bytes, not hosted URLs; no filesystem access, URL fetching or persistent storage.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"artifact": {
"additionalProperties": {},
"description": "Complete ephemeris.forecast schema_version 1 JSON object returned by forecast or saved by Ephemeris CLI. Pass the object, not a filename, URL, resource URI, request ID, or bearer token. Maximum 1 MiB UTF-8 JSON. Contains submitted history; send only data you are authorized to process on this hosted server.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"format": {
"default": "png",
"description": "png returns an inline image preview; svg returns an embedded text resource to save as .svg. Neither creates a hosted download URL.",
"enum": [
"png",
"svg"
],
"type": "string"
},
"history": {
"anyOf": [
{
"maximum": 100000,
"minimum": 1,
"type": "integer"
},
{
"const": "all",
"type": "string"
}
],
"description": "Observed points to show: default min(available, max(24, 2*horizon)). all shows full history. View changes never change the artifact or inference."
},
"lower": {
"description": "Existing lower quantile. Supply together with upper. Default pairs complementary available levels.",
"exclusiveMaximum": 1,
"exclusiveMinimum": 0,
"type": "number"
},
"series_index": {
"description": "Zero-based series index; required when the artifact has multiple series, otherwise 0.",
"maximum": 63,
"minimum": 0,
"type": "integer"
},
"upper": {
"description": "Existing upper quantile, greater than lower. Supply together with lower.",
"exclusiveMaximum": 1,
"exclusiveMinimum": 0,
"type": "number"
},
"variate_index": {
"description": "Zero-based variate index; required for multivariate results, otherwise 0.",
"maximum": 255,
"minimum": 0,
"type": "integer"
}
},
"required": [
"artifact"
],
"type": "object"
},
"name": "plot_forecast"
}
]
}What the leaf hashes
{"body":"7f8ec3a000052efa79789c92d8503921c51e4555afdff225efd0b813312f9529","id":568691,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793139092381480,"prev":null,"subject":"0a3ca1cd-7952-4707-aeea-7cc96a2c3aea","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).
- 0x7de11fc40c86280a321b177ba9a2ec9331aa21a36d90b3f7c18136108074b82d
- 0xf7e3d511256becf527c449338a83ef4386fd039e36b7f90ccadbb9c4ef8fa4ca
- 0x2ebe7d331bf542e33daab0a30900aa3029c1a758b6cffda4105c8b31fc55be03
- 0xdfd58769d91aafa9df292b0ec8f44f3329ed66db5743684bc36cb7eb20e17512
- 0x359d4bcc6818fcf6ec1783b50b7157f44635fb462a3382053644ec9f0af82fca
- 0x960b5e8312e9d6d2212bf2d477e47475ecaa7b2665712cfe165efb78c01c322a
- 0xce059b4ca474d78e3e190d4f486ad183aed0cfcccb6a22131e297ac17f455891
- 0x5ecee54b617dc5edafa1a5cd5d89a0324c76f2ed692f93f8e64a91d435b8ade0
- 0x5fd73e20e57d56b2781ee75d333683e44dcfaa75fc50df92ab7a314e458a06e1
- 0x96f9ec0ea07de0918ac539ab521e62267cf6cebc1b0320514f68343eefb02389
- 0x35f3fb28970853b4021570da310e6e5a973fb73b9919acf58f72111514d9c099
- 0x4b98c7145f5ead65ac9430579969acab10bc70758d3533f5a4fd4dbb462a2b61
- 0xbc7cf10ae301dcdbc5db5be8c29e1b3618ffaf1c196a74cb6a9e6c4fae0bbeed
- 0xfa0c8e8f1a1710ff197533b0a28208f2e168afe71abb7bb3416e09d1ac371d60
- 0x3c500ec3d3edf0c74b87a6ca8fcd77656bfbe03db3d478bd0c184d0c88839c6b
- 0xfecf3d4646dd4984a13dd715499e842c3fde63692336d97394c2bfd8e877ca5d
- 0xf30fddbf4811226c58e8f0daf36fddd79fc5f1356b592bb1d99a8061ddbabe66
- 0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197
- 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
- Day root
- 0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
- Chained
- 0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
- Published
- On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4