Skip to main content
Glama

Simulate synthetic eigenvalue repulsion

dyson_reference
Read-onlyIdempotent

Generate a seeded synthetic real-symmetric Brownian-matrix path to illustrate eigenvalue repulsion (beta=1); use for reproducible numerical education, not market data analysis.

Instructions

Generate a seeded synthetic real-symmetric Brownian-matrix path to illustrate eigenvalue repulsion (beta=1). Use for reproducible numerical education or research references; choose spectral_assessment to analyze observed market panels. No market data is accepted or fetched. All arguments are optional: defaults are dimension=6, steps=40, dt=0.05 and seed=0. Returns status=synthetic, parameters, beta, normalization and path with steps+1 snapshots; each snapshot contains synthetic time and ordered eigenvalues, starting from all zeros. Negative eigenvalues are valid because this is not a covariance matrix. There is no mean reversion, market calibration or factor identity tracking. Reuse seed with the recorded runtime and implementation fingerprint for replay. Out-of-range or noninteger size/step/seed inputs return a tool error. Example: {"dimension":3,"steps":5,"dt":0.05,"seed":7}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dtNoSynthetic time increment; default 0.05. This is not seconds or a market horizon. Off-diagonal increment variance is dt/N; diagonal variance is 2*dt/N.
seedNoInteger random seed for deterministic replay in a recorded Python runtime; default 0. Record the implementation fingerprint and runtime with results.
stepsNoNumber of Brownian increments; default 40. The returned path contains steps + 1 snapshots, including the initial zero matrix.
dimensionNoSize N of the synthetic real-symmetric N-by-N matrix and number of eigenvalues per step; default 6.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
betaNoReal-symmetric reference beta.
pathNoInitial zero spectrum followed by every simulated step.
errorNoValidation or computation failure message; inspect MCP isError or the HTTP status.
limitsNoOrdered statements or identifiers.
schemaNoResult contract identifier.
statusNoSynthetic output.
maturityNoResearch maturity.
validityNoSynthetic reference only.
guaranteeNoNo statistical or market-performance guarantee is made.
parametersNoFully applied parameters.
normalizationNoIncrement variance convention.
mean_reversionNoUnconfined Brownian reference.
request_sha256NoSHA-256 of the canonicalized submitted request or applied policy.
initial_conditionNoInitial matrix.
market_calibratedNoNot calibrated to markets.
execution_authorityNoNo trading authority.
is_covariance_modelNoNegative eigenvalues are possible; not a covariance model.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv0.4.3
    • removedOutput schema / additionalProperties
      Removed value: -true
    • addedOutput schema / anyOf
      Added value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "beta": {},
      +      "execution_authority": {},
      +      "guarantee": {},
      +      "initial_condition": {},
      +      "is_covariance_model": {},
      +      "limits": {},
      +      "market_calibrated": {},
      +      "maturity": {},
      +      "mean_reversion": {},
      +      "normalization": {},
      +      "parameters": {},
      +      "path": {},
      +      "request_sha256": {},
      +      "schema": {},
      +      "status": {},
      +      "validity": {}
      +    },
      +    "required": [
      +      "schema",
      +      "status",
      +      "maturity",
      +      "validity",
      +      "guarantee",
      +      "parameters",
      +      "beta",
      +      "path",
      +      "initial_condition",
      +      "mean_reversion",
      +      "normalization",
      +      "market_calibrated",
      +      "is_covariance_model",
      +      "execution_authority",
      +      "request_sha256",
      +      "limits"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "description": "Existing tool-error payload; no successful result fields are implied.",
      +    "properties": {
      +      "error": {
      +        "description": "Validation or computation failure message; inspect MCP isError or the HTTP status.",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "error"
      +    ],
      +    "type": "object"
      +  }
      +]
    • changedOutput schema / description
      Previous value: -"Tool-specific result object described in each tool's description. Check status/ok/state, reading, validity and limits before using numbers. MCP returns this object in structuredContent and JSON text; invalid input returns isError=true with an error field. No tool fetches sources or executes trades."New value: +"Seeded synthetic eigenvalue path, never market observations or a covariance forecast. Tool errors retain the separate error-message shape."
    • addedOutput schema / properties
      Added value: +{
      +  "beta": {
      +    "const": 1,
      +    "description": "Real-symmetric reference beta.",
      +    "type": "integer"
      +  },
      +  "error": {
      +    "description": "Validation or computation failure message; inspect MCP isError or the HTTP status.",
      +    "type": "string"
      +  },
      +  "execution_authority": {
      +    "const": false,
      +    "description": "No trading authority.",
      +    "type": "boolean"
      +  },
      +  "guarantee": {
      +    "description": "No statistical or market-performance guarantee is made.",
      +    "type": "null"
      +  },
      +  "initial_condition": {
      +    "const": "zero_matrix",
      +    "description": "Initial matrix.",
      +    "type": "string"
      +  },
      +  "is_covariance_model": {
      +    "const": false,
      +    "description": "Negative eigenvalues are possible; not a covariance model.",
      +    "type": "boolean"
      +  },
      +  "limits": {
      +    "description": "Ordered statements or identifiers.",
      +    "items": {
      +      "description": "One retained statement or identifier.",
      +      "type": "string"
      +    },
      +    "type": "array"
      +  },
      +  "market_calibrated": {
      +    "const": false,
      +    "description": "Not calibrated to markets.",
      +    "type": "boolean"
      +  },
      +  "maturity": {
      +    "const": "research",
      +    "description": "Research maturity.",
      +    "type": "string"
      +  },
      +  "mean_reversion": {
      +    "const": false,
      +    "description": "Unconfined Brownian reference.",
      +    "type": "boolean"
      +  },
      +  "normalization": {
      +    "description": "Increment variance convention.",
      +    "type": "string"
      +  },
      +  "parameters": {
      +    "additionalProperties": false,
      +    "description": "Fully applied parameters.",
      +    "properties": {
      +      "dimension": {
      +        "description": "Matrix dimension N.",
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "dt": {
      +        "description": "Synthetic time step, not seconds.",
      +        "type": "number"
      +      },
      +      "seed": {
      +        "description": "Replay seed for this Python runtime.",
      +        "minimum": 0,
      +        "type": "integer"
      +      },
      +      "steps": {
      +        "description": "Number of increments.",
      +        "minimum": 0,
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "dimension",
      +      "steps",
      +      "dt",
      +      "seed"
      +    ],
      +    "type": "object"
      +  },
      +  "path": {
      +    "description": "Initial zero spectrum followed by every simulated step.",
      +    "items": {
      +      "additionalProperties": false,
      +      "description": "Ordered spectrum at one synthetic time.",
      +      "properties": {
      +        "eigenvalues": {
      +          "description": "Numeric values in the documented order.",
      +          "items": {
      +            "description": "One finite numeric value.",
      +            "type": "number"
      +          },
      +          "type": "array"
      +        },
      +        "time": {
      +          "description": "Synthetic elapsed time.",
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "time",
      +        "eigenvalues"
      +      ],
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  "request_sha256": {
      +    "description": "SHA-256 of the canonicalized submitted request or applied policy.",
      +    "pattern": "^[0-9a-f]{64}$",
      +    "type": "string"
      +  },
      +  "schema": {
      +    "const": "noisefloor.dyson-reference.v1",
      +    "description": "Result contract identifier.",
      +    "type": "string"
      +  },
      +  "status": {
      +    "const": "synthetic",
      +    "description": "Synthetic output.",
      +    "type": "string"
      +  },
      +  "validity": {
      +    "const": "synthetic_reference",
      +    "description": "Synthetic reference only.",
      +    "type": "string"
      +  }
      +}
  2. Changed9 schema fields changedv0.4.3-glama.1
    • addedInput schema / properties / dimension / default
      Added value: +6
    • addedInput schema / properties / dimension / description
      Added value: +"Size N of the synthetic real-symmetric N-by-N matrix and number of eigenvalues per step; default 6."
    • addedInput schema / properties / dt / default
      Added value: +0.05
    • addedInput schema / properties / dt / description
      Added value: +"Synthetic time increment; default 0.05. This is not seconds or a market horizon. Off-diagonal increment variance is dt/N; diagonal variance is 2*dt/N."
    • addedInput schema / properties / seed / default
      Added value: +0
    • addedInput schema / properties / seed / description
      Added value: +"Integer random seed for deterministic replay in a recorded Python runtime; default 0. Record the implementation fingerprint and runtime with results."
    • addedInput schema / properties / steps / default
      Added value: +40
    • addedInput schema / properties / steps / description
      Added value: +"Number of Brownian increments; default 40. The returned path contains steps + 1 snapshots, including the initial zero matrix."
    • addedOutput schema / description
      Added value: +"Tool-specific result object described in each tool's description. Check status/ok/state, reading, validity and limits before using numbers. MCP returns this object in structuredContent and JSON text; invalid input returns isError=true with an error field. No tool fetches sources or executes trades."
  3. Addedv0.4.1

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds substantial behavior beyond them: the returned status/parameters/beta/normalization/path shape, that negative eigenvalues are valid and why, the absence of mean reversion/calibration/factor identity, that out-of-range or noninteger inputs produce a tool error, and the seed-plus-runtime-fingerprint replay caveat.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is front-loaded with purpose and the routing decision before the return/behavioral detail, and every paragraph carries information. Minor redundancy in restating the four defaults that the schema already declares, which keeps it from a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-required-parameter synthetic generator with an output schema already present, the description still supplies the behavioral constraints an agent needs: what is returned, what it is not (not a covariance matrix, no market calibration), error conditions, and replay reproducibility. Nothing material is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all four parameters including ranges, defaults, and variance semantics. The description largely restates the defaults and the steps+1 snapshot relation rather than adding new parameter meaning, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource ('Generate a seeded synthetic real-symmetric Brownian-matrix path') plus the purpose (illustrate eigenvalue repulsion, beta=1). It explicitly names the sibling it is not — 'choose spectral_assessment to analyze observed market panels' — so an agent can distinguish it without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states when to use it ('reproducible numerical education or research references'), names the alternative tool for the adjacent use case (spectral_assessment for observed market panels), and states the exclusion clearly ('No market data is accepted or fetched'). Nothing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.