Skip to main content
Glama
BijectiveLabs

trading-research-agents

Official

Market observation (layer 1)

observe_events
Read-only

Count whether a declared event recurs in a Parquet trade dataset, measure its horizon response, and report occurrences per subperiod to verify recurrence.

Instructions

Layer 1: count whether the event declared in observation.toml recurs in a dataset.

Marks every occurrence of the declared event in a Parquet trade dataset, measures the
response over the declared horizon and counts it per subperiod, so an event that happened in
one week only is seen as such. Use it after `check_cost_floor` and before writing a
pre-registration. Read-only. Returns the declaration and the report: events found, their
spread across subperiods and whether the declared recurrence holds.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataset_pathYespath to a Parquet trade dataset written by `tra data get`
observation_pathYespath to observation.toml, the declared event and recurrence

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / dataset_path / description
      Added value: +"path to a Parquet trade dataset written by `tra data get`"
    • addedInput schema / properties / observation_path / description
      Added value: +"path to observation.toml, the declared event and recurrence"
  2. First observedv0.7.1

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, and the description reinforces 'Read-only,' which usefully disambiguates the potentially mutating-sounding 'marks every occurrence.' It also discloses the analytical behavior (per-subperiod counting so a one-week-only event is exposed), adding context beyond the annotations, though nothing about error modes or limits.

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?

Front-loaded with the layer label and the core operation, then workflow placement, then read-only and return summary. Efficient overall, though the clause 'so an event that happened in one week only is seen as such' is slightly redundant with the subperiod-counting statement before it.

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

Completeness4/5

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

With an output schema present, the description needn't detail return values, and it still sketches the report contents. Combined with full parameter coverage, annotations, and workflow placement, an agent has enough to invoke it correctly; only edge-case behavior (missing files, non-Parquet input) is unaddressed.

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% and both parameters are documented in the schema, so the baseline is 3. The description explains the semantics of the observation declaration (event, horizon, recurrence) but adds only marginal syntax or format detail beyond what the schema already states.

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?

States a specific verb and resource — count whether the event declared in observation.toml recurs in a Parquet trade dataset — and elaborates the mechanics (marks occurrences, measures the response over the declared horizon, counts per subperiod). This is distinguishable from ledger/audit siblings like audit_dataset or validate_trades at a glance.

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

Usage Guidelines4/5

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

Explicitly places the tool in a workflow: 'Use it after `check_cost_floor` and before writing a pre-registration,' naming a sibling tool and a downstream stage. It gives clear context but no exclusion conditions (when not to use it, or what to do if the recurrence check is inconclusive).

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