Skip to main content
Glama

Aureon MCP

The Financial Intelligence Layer for Onchain AI Agents

Official Model Context Protocol server for the AUREON Financial Compass.
Exposes the full @buildaureon/sdk surface as tools for Cursor, Claude Desktop, and any MCP host on the Robinhood Chain.

TypeScript MCP Hosted Version License: MIT Node

# Hosted (no local process)
https://mcp.aureonlabs.network/mcp

# Or local stdio
npx -y @buildaureon/mcp

How to connect · Quickstart · Architecture · Authentication · Tool Surface · Agent Workflows · Docs


Table of Contents

  1. What is AUREON MCP?

  2. How to connect

  3. Why AUREON MCP?

  4. Requirements & Installation

  5. Architecture

  6. Quickstart

  7. Authentication

  8. Tool Surface

  9. Agent Workflows

  10. Sample Agent Prompts

  11. Security Model

  12. Development

  13. Documentation Registry

  14. FAQ

  15. Community & License


Related MCP server: RailX MCP

What is AUREON MCP?

AUREON is a policy and execution layer for capital on Robinhood Chain. Agents register continuous financial rules (Financial Compass Objectives), monitor health, and restore allocations with clear settlement receipts.

@buildaureon/mcp is the agent adapter. It maps every public @buildaureon/sdk client method to a named tool (aureon_ping, aureon_create_objective, aureon_restore_objective, …). You can reach that same 66-tool surface in two ways:

Transport

When to use it

How

Hosted HTTP

Fastest path. No Node process on your machine.

Point the host at https://mcp.aureonlabs.network/mcp

Local stdio

You want your own issued API key in the host env.

npx -y @buildaureon/mcp

The npm package is the stdio server. The official hosted process is Streamable HTTP at /mcp (see hostedMCP/ in this monorepo). Both call https://api.aureonlabs.network. Neither holds a wallet private key. Neither signs or broadcasts.

You can

Through

Authenticate with an issued developer API key

AUREON_API_KEY env (recommended)

Optionally complete a wallet Bearer handshake

aureon_get_auth_nonce → sign → aureon_verify_wallet

Sync and manage the Capital Book

aureon_sync_portfolio, aureon_set_portfolio, aureon_clear_portfolio

Create and query Financial Compass objectives

aureon_create_objective, aureon_list_objectives, …

Read health, timeline, vault, executions

aureon_get_health, aureon_list_timeline, aureon_get_vault, …

Prepare non-custodial vault deposit / withdraw steps

aureon_prepare_vault_deposit, aureon_prepare_vault_withdraw

Fetch and execute restore plans

aureon_get_restore_plan, aureon_restore_objective

Rehearse market shocks

aureon_apply_market_event, aureon_refresh_watchdog

Manage developer API keys

aureon_list_api_keys, aureon_create_api_key, …

66 tools: one per public AureonClient method. Full schemas: docs/tools.md.

For scripts without MCP, use @buildaureon/sdk. The operator app at app.aureonlabs.network is the mainnet console and stays wallet-Bearer only. SDK and MCP default to mainnet.


How to connect

Paste this into Cursor .cursor/mcp.json. A user key is not required to connect.

{
  "mcpServers": {
    "aureon": {
      "url": "https://mcp.aureonlabs.network/mcp"
    }
  }
}

Open without a key: aureon_ping and aureon_validate_receipt. aureon_list_market_presets needs a key.

Wallet tools need your issued Developers key on the same URL:

{
  "mcpServers": {
    "aureon": {
      "url": "https://mcp.aureonlabs.network/mcp",
      "headers": {
        "X-Aureon-Api-Key": "<issued-developer-api-key>"
      }
    }
  }
}

Templates: examples/cursor.hosted.mcp.json, examples/cursor.hosted.user.mcp.json.

Confirm the host is up: https://mcp.aureonlabs.network/healthz.

Restart Cursor. Ask: “Ping AUREON with aureon_ping.” For aureon_me and the rest of your book, add the header or use stdio.

Local stdio (your key)

{
  "mcpServers": {
    "aureon": {
      "command": "npx",
      "args": ["-y", "@buildaureon/mcp"],
      "env": {
        "AUREON_API_KEY": "<issued-developer-api-key>"
      }
    }
  }
}

Issue the key at app.aureonlabs.network → Developers. Template: examples/cursor.mcp.json.


Why AUREON MCP?

Traditional AI trading scripts execute isolated market orders without context, forgetting target allocations as soon as a prompt ends. AUREON MCP provides a persistent financial compass for your AI agents:

  • Continuous Rules vs. One-off Swaps: Instead of telling an agent to "buy 0.5 WETH," you register a Financial Compass Objective like "Maintain 20% WETH weight with 3% tolerance." The watchdog automatically monitors drift and plans restores when needed.

  • Non-Custodial Architecture: Your private keys stay safely in your local wallet host. The MCP server generates unsigned transaction payloads that you review and sign.

  • Two transports, one tool surface: Hosted HTTP at https://mcp.aureonlabs.network/mcp, or local stdio via npx -y @buildaureon/mcp. This build is the same 66 tools on both. The public host lists 66 after this build is deployed. No local database to run.

  • Clear Settlement Receipts: Clearly distinguishes between on-chain smart vault settlements (vault) and ledger-local staged receipts (staged).


Requirements & Installation

Requirements

  • Node.js: 20 or higher (ESM compatible)

  • Developer API Key: Issued at app.aureonlabs.network → Developers. That app is the mainnet console. SDK and MCP default to mainnet.

  • Network Access: Default official API https://api.aureonlabs.network on mainnet. Optional AUREON_NETWORK=testnet stays on testnet on the same host.

Installation

# Using pnpm
pnpm add @buildaureon/mcp

# Using npm
npm install @buildaureon/mcp

# Or run instantly via npx without installing
npx -y @buildaureon/mcp

You do not need to clone the AUREON monorepo: only the package and an issued key for the network you will call.


Architecture

flowchart LR
  Host[Cursor / Claude / other MCP host]
  Host -->|Streamable HTTP| Hosted["https://mcp.aureonlabs.network/mcp"]
  Host -->|stdio| Local["npx @buildaureon/mcp"]
  Hosted --> SDK["@buildaureon/sdk"]
  Local --> SDK
  SDK -->|default| Official[api.aureonlabs.network / mainnet]
  SDK -->|AUREON_NETWORK=testnet| Test[api.aureonlabs.network / testnet]
  Official --> VaultMN[Smart Vault mainnet]
  Test --> VaultTN[Smart Vault testnet]

Surface & Ownership Breakdown

Surface

Auth

Role

Operator utility

Wallet sign-in (Bearer)

Human operators managing vaults and approving manual restores

@buildaureon/sdk

Issued API key (+ optional Bearer)

Automated scripts, bots, serverless routines, and products

@buildaureon/mcp (stdio)

Same as SDK via host env

Local agent adapter you spawn with your issued key

Hosted MCP

URL-only for aureon_ping and aureon_validate_receipt. Optional X-Aureon-Api-Key for your wallet.

Same 66 tools in this build. The public host lists 66 after deploy: https://mcp.aureonlabs.network/mcp

Layer Responsibilities

Concern

Owner

Description

HTTP, retries, types, validation, errors

@buildaureon/sdk

Core underlying SDK client managing network communications

Tool names, zod schemas, agent formatting

@buildaureon/mcp

MCP server mapping SDK methods to AI-friendly tools

stdio / Streamable HTTP / JSON-RPC

@modelcontextprotocol/sdk

Official MCP protocol. Stdio is the npm package. Streamable HTTP is the official hosted process.

Trust boundary: The API monitors objectives and generates restore plans; private keys stay strictly on the host machine. MCP never signs chain transactions.

Deep dive: docs/architecture.md.


Quickstart

Fastest path: skip the key for now and use the hosted URL in How to connect. The steps below are for local stdio with your own issued key.

1. Create an issued API key

Issue the key on the same API this MCP process will call:

  1. Open https://app.aureonlabs.network → Developers.

  2. Create API Key → copy your key once.

That key identifies your wallet for control-plane tools. No Bearer token required. Issue the key on the official API this process will call.

2. Configure Cursor IDE (local stdio)

If you already added the hosted URL, you do not need this block. For your own key, copy examples/cursor.mcp.json into .cursor/mcp.json:

{
  "mcpServers": {
    "aureon": {
      "command": "npx",
      "args": ["-y", "@buildaureon/mcp"],
      "env": {
        "AUREON_API_KEY": "<issued-developer-api-key>"
      }
    }
  }
}

Restart Cursor. Open the AI chat panel and ask: “Ping AUREON and show my wallet with aureon_me.”

3. Configure Claude Desktop

Merge examples/claude-desktop.json into Claude Desktop's configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "aureon": {
      "command": "npx",
      "args": ["-y", "@buildaureon/mcp"],
      "env": {
        "AUREON_API_KEY": "<issued-developer-api-key>"
      }
    }
  }
}

Restart Claude Desktop and test the connection.

4. From a local clone (maintainers)

pnpm install
pnpm --filter @buildaureon/mcp build
pnpm --filter @buildaureon/mcp start

Point the host command / args at the built dist/index.js. See docs/setup.md.


Authentication

Variable

Required

Role

AUREON_API_KEY

Yes (recommended)

Issued developer key for product access and wallet identity

AUREON_NETWORK

No

Omit for official API / mainnet. Set testnet to stay on testnet.

AUREON_API_URL

No

Optional override of https://api.aureonlabs.network.

AUREON_AUTH_TOKEN

No

Optional wallet Bearer (wins if both key and Bearer are sent)

Private Key Boundary: Private keys are only needed outside MCP when signing and broadcasting deposit or withdrawal transactions. Prepare tools return unsigned transaction steps; the MCP server never signs.

Optional: Wallet Bearer session

Use aureon_get_auth_nonce → host wallet signs challenge → aureon_verify_wallet. Prefer issued keys for always-on agents.

Preview / Dev Mode only

aureon_dev_login works only when the API backend has AUREON_ALLOW_DEV_LOGIN=1 (it does not function on production).

Deep dive: docs/auth.md.


Tool Surface

AUREON MCP exposes 66 tools covering 100% of the AureonClient SDK surface:

Category

Count

Tools Included

Primary Purpose

Health

1

aureon_ping

Check API connectivity & backend watchdog state

Auth

5

aureon_get_auth_nonce, aureon_verify_wallet, aureon_dev_login, aureon_logout, aureon_me

Manage wallet sessions, challenges, and identity

Read

12

aureon_get_overview, aureon_get_portfolio, aureon_list_objectives, aureon_get_objective, aureon_get_health, aureon_list_timeline, aureon_list_market_presets, aureon_get_restore_plan, aureon_list_executions, aureon_get_vault, aureon_get_vault_status, aureon_get_audit_trail

Inspect portfolio allocations, health scores, timelines, vault state, and the joined audit trail

Objectives

4

aureon_create_objective, aureon_update_objective, aureon_pause_objective, aureon_resume_objective

Create, modify, pause, and resume Financial Compass Objectives

Portfolio

3

aureon_set_portfolio, aureon_clear_portfolio, aureon_sync_portfolio

Synchronize and manage live Capital Book asset marks

Execution

2

aureon_run_execution, aureon_restore_objective

Trigger policy rebalancing and execute objective restore plans

Restoration

2

aureon_propose_restoration, aureon_confirm_restoration

Unsigned sleeve and reserve steps, then store a receipt the wallet already broadcast. Neither call signs or broadcasts.

Hire policy

2

aureon_check_policy, aureon_get_policy_check

Read a financial objective and return allow, refuse, or authorization required

Market

2

aureon_apply_market_event, aureon_refresh_watchdog

Rehearse market shocks (e.g. price shifts) against active policy

Vault

2

aureon_prepare_vault_deposit, aureon_prepare_vault_withdraw

Generate unsigned steps for non-custodial smart vault deposits/withdrawals

Developer

4

aureon_list_api_keys, aureon_create_api_key, aureon_revoke_api_key, aureon_toggle_api_key

Create, pause, and revoke developer API access keys

Full argument schemas: docs/tools.md · Playbooks: docs/agent-guide.md.

Locked fields

  • targetSymbol and automationMode are set at create time and cannot be modified via aureon_update_objective: recreate the objective instead.

  • Default automationMode is "auto". Use "manual" only when a human must Approve changes inside the utility web app.

  • hireLimitEth and hireApprovalRequired are set on create. aureon_check_policy reads them. The check does not sign or send.

Hire policy

aureon_check_policy takes agentId, taskId, objectiveId, and an action of type hire in ETH. The result is allow, refuse, or authorization_required. aureon_get_policy_check reads that decision by actionId. The caller uses an issued Developers key for the wallet that owns the objective. A hire equal to the cap is inside the limit. A hire above the cap is refused. Inside the cap, with approval required, the user decides.

Unsigned restoration

aureon_propose_restoration takes a sleeve id (weightBound: "ceiling", profitTakeRatio) and a reserve id (weightBound: "floor"). Both objectives are manual. The sleeve step sells the profit-take slice above the cap. The reserve step is added only when the floor is still short. transactionHash and sentBy stay null.


Agent Workflows

Agents perform best when following the Read → Decide → Act execution pattern:

flowchart TD
  subgraph Read Phase
    R1[1. aureon_ping] --> R2[2. aureon_me]
    R2 --> R3[3. aureon_sync_portfolio]
    R3 --> R4[4. aureon_get_health]
  end

  subgraph Decide Phase
    R4 --> D1{Policy Breached?}
  end

  subgraph Act Phase
    D1 -- Yes --> A1[aureon_get_restore_plan]
    A1 --> A2[aureon_restore_objective]
    A2 --> A3[aureon_list_timeline]
    D1 -- No --> A4[Maintain current positions]
  end

1. Control-Plane Routine (API Key Only)

  1. aureon_ping → aureon_me (Verify connection and wallet identity)

  2. aureon_sync_portfolio → aureon_get_vault_status (Fetch marks and check vault readiness)

  3. If the vault is empty: aureon_restore_objective returns 409. Call aureon_prepare_vault_deposit, return unsigned steps, and wait for the user or host wallet to broadcast. Agents do not fund the vault.

  4. aureon_create_objective (auto) (Register continuous financial objective)

  5. aureon_refresh_watchdog / aureon_get_health (Check health score and drift)

  6. On violation after the vault is funded → aureon_get_restore_plan → aureon_restore_objective (maintain: sell overweight → buy underweight inside the vault)

  7. Prove with aureon_get_execution_settlement / aureon_validate_receipt, then aureon_list_timeline

2. Vault Deposit Path (API Key + External Signer)

  1. aureon_prepare_vault_deposit → returns unsigned steps

  2. Host wallet signs and broadcasts transaction on Robinhood Chain

  3. aureon_sync_portfolio / aureon_get_vault (Re-sync marks to reflect new deposit)

More playbooks: docs/agent-guide.md.


Sample Agent Prompts

Copy and paste these example prompts into Cursor or Claude Desktop:

Portfolio Audit

"Ping AUREON, verify my wallet address with aureon_me, sync my portfolio, and give me a summary of total AUM and active objective health."

Setting a Compass Objective

"Create an automatic Financial Compass Objective named 'Maintain 20% WETH' targeting symbol WETH with weight 0.20 and tolerance 0.03."

Monitoring & Drift Restoration

"Refresh the watchdog and inspect my AUREON health. If any objective is in breach, show me the restore plan and run aureon_restore_objective."

Deposit Preparation

"Prepare an unsigned vault deposit for 0.1 ETH. Return the exact step payload so I can review and sign it in my wallet."


Security Model

  • Official hosted vs your own process: Use https://mcp.aureonlabs.network/mcp for the official Streamable HTTP host. Local stdio is a child process of Cursor or Claude — do not publish your stdio server as an open internet socket. Do not put a wallet private key in either transport.

  • API Key Protection: Treat AUREON_API_KEY like a password. Pause, revoke, or rotate keys in the Developer dashboard if compromised.

  • Environment Hygiene: Never commit keys to version control. Never put wallet private keys into MCP environment variables.

  • Prompt Safety: Review agent prompts before enabling write tools in untrusted or multi-user chat channels.

Deep dive details: docs/security.md.


Development

To build and test @buildaureon/mcp locally:

pnpm install
pnpm --filter @buildaureon/mcp build
pnpm --filter @buildaureon/mcp test
pnpm --filter @buildaureon/mcp typecheck

Script Reference

Script

Purpose

Description

build

tsup → dist/

Bundles TypeScript source into distribution ESM output

dev

tsx src/index.ts

Runs server directly from source for local development

start

node dist/index.js

Runs compiled distribution binary

test

tsx --test ...

Runs unit, smoke, and integration test suites

typecheck

tsc --noEmit

Validates TypeScript types across source files


Documentation Registry

Document

Description & Contents

Setup Guide

Hosted URL first, then Cursor / Claude stdio, npx, source build, troubleshooting

Authentication Guide

Issued API key vs. Wallet Bearer vs. private key boundaries

Tools Reference

Full 66-tool reference with arguments, schemas, and caveats

Agent Playbooks

End-to-end agent decision playbooks, turn templates, and anti-patterns

Architecture Deep Dive

Module boundaries, file maps, and end-to-end request data flows

Security Model

Credential management, threat modeling, and operational safety

Changelog

0.1.16 hire check, SOL priced as ETH, aureon_confirm_restoration, 66 tools. 0.1.15 unsigned restoration. 0.1.14 financial history. API health version in this tree is 0.2.2, not this package.

examples/cursor.hosted.mcp.json

Cursor config for URL-only hosted MCP

examples/cursor.hosted.user.mcp.json

Same URL plus X-Aureon-Api-Key for your wallet tools

@buildaureon/sdk

Core TypeScript SDK documentation, types, and error definitions


FAQ

Do I need a private key in Cursor or Claude env?
No. You only need an issued AUREON_API_KEY. Private keys stay in your host wallet when signing prepare steps.

Is there only stdio?
No. Official hosted MCP is https://mcp.aureonlabs.network/mcp (Streamable HTTP). This build is 66 tools. The public host lists 66 after this build is deployed. Connect with the URL alone for aureon_ping and aureon_validate_receipt. Add X-Aureon-Api-Key for your wallet tools. Local stdio is npx -y @buildaureon/mcp with your issued AUREON_API_KEY.

Does MCP talk to a local backend server?
No. Both transports call the official API https://api.aureonlabs.network on mainnet by default. Set AUREON_NETWORK=testnet on a stdio process to stay on testnet on that same host.

Why did my restore receipt say staged?
staged is a ledger-local receipt, not an on-chain vault settlement. Always describe settlement receipts accurately in agent responses.

Can agents use Manual automation mode?
Automatic is the default for a keeper restore. A sleeve and a reserve for aureon_propose_restoration are manual, so the proposal stays unsigned.

What happens if an objective breaches its drift tolerance?
The watchdog marks health as breached. Agents call aureon_get_restore_plan to inspect the rebalancing steps, then aureon_restore_objective to execute the restore.

How does MCP handle network errors or disconnects?
The underlying @buildaureon/sdk handles HTTP retries and reports structured error objects with stable error codes back to the MCP host.


Community

License

MIT (see LICENSE).

Available Tools

66 tools
aureon_apply_financial_intentC

Register user/agent intent as an Automatic objective and return AI → objective → portfolio flow

NameRequiredDescriptionDefault
kindYesObjective kind
nameNoObjective display name override
briefYesWhat the user wants their money to do — agent-extracted wording
priorityNoEvaluation priority
toleranceYesAllowed drift band (0–1)
targetSymbolNoAsset symbol for balanced_portfolio (required for that kind)
targetWeightYesTarget portfolio weight (0–1)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states that an objective is registered and a flow is returned, but it omits any information about authentication requirements, side effects, whether the operation is destructive or reversible, rate limits, or error behavior.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words. It states the action and the return flow efficiently.

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

Completeness2/5

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

For a seven-parameter mutation tool with no annotations and no output schema, the description is too thin. It does not explain the return format to compensate for the missing output schema, nor does it clarify prerequisites or how this tool relates to similar siblings like aureon_create_objective.

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 every parameter is already documented in the input schema. The description adds no additional parameter semantics beyond what the schema provides, which matches the baseline of 3 when the schema does the heavy lifting.

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

Purpose4/5

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

The description uses a specific verb ('Register') and resource ('user/agent intent as an Automatic objective'), and it states that the tool returns an 'AI → objective → portfolio flow'. It is clear what the tool does, though it does not explicitly differentiate itself from sibling tools like aureon_create_objective.

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

Usage Guidelines2/5

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

The description implies usage ('Register user/agent intent') but provides no guidance on when to use this tool versus alternatives such as aureon_create_objective or aureon_update_objective. There are no exclusions, prerequisites, or conditions mentioned.

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

aureon_apply_market_eventC

Apply a controlled market event to portfolio marks; optionally auto-restore

NameRequiredDescriptionDefault
nameNoEvent label
symbolYesAsset symbol to shock
autoRestoreNoOpt in to run restore if objectives breach. Omit or false = drift only. Automatic still 409s if the vault cannot execute.
descriptionNoEvent description
priceChangeRatioYesFractional price change (e.g. -0.15 = -15%)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it only supplies 'controlled' and 'optionally auto-restore'. It omits whether permissions are required, whether the shock is reversible, and what side effects occur on portfolio marks. The richest behavioral detail (409 on non-executable vault) lives in the schema, not the description.

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?

A single front-loaded sentence with the mutation intent stated first and the optional behavior trailing. Efficient, though borderline terse for a mutation tool in a complex domain.

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

Completeness2/5

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

For a no-annotation mutation tool with no output schema in a portfolio-risk domain, the definition is thin: it omits auth/authorization needs, reversibility, and side effects. The schema compensates on parameter detail but not on operational context.

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 every parameter is already documented in the schema (including the autoRestore 409 caveat). The description adds no syntax, format, or constraint information beyond that, so the baseline 3 applies.

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

Purpose4/5

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

Specific verb+resource+target: 'Apply a controlled market event to portfolio marks'. An agent can tell it mutates portfolio marks. It does not, however, differentiate itself from near siblings like aureon_list_market_presets or aureon_apply_financial_intent.

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

Usage Guidelines2/5

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

The description gives no when-to-use, when-not-to-use, prerequisites, or named alternatives. The 'optionally auto-restore' phrase hints at a behavior toggle but provides no selection guidance.

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

aureon_check_policyA

Check one proposed agent hire against the wallet's financial objective. Returns allow, refuse, or authorization_required. Does not send the hire and does not sign.

NameRequiredDescriptionDefault
actionYesProposed hire
taskIdYesTask id for this hire
agentIdYesCalling agent id
objectiveIdYesAUREON objective id owned by this wallet

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose the key behavioral traits: it is non-mutating ('does not send the hire') and non-signing, and it enumerates the return values (allow, refuse, authorization_required). It omits auth requirements and any idempotency/rate-limit context, so it is strong but not complete.

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

Conciseness5/5

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

Three short sentences, each earning its place: the purpose, the return values, and the side-effect boundary. The core purpose is front-loaded with no filler.

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?

No output schema exists, but the description compensates by naming the three return values, and the side-effect boundary substitutes for missing annotations. The main gap is that it does not explain what an 'authorization_required' result implies or what the caller should do next.

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%, including the nested action object (type must be 'hire', asset, amount, agent), so the schema does the heavy lifting. The description adds no syntax, format, or constraint detail beyond what the schema already provides, making the baseline 3 appropriate.

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

Purpose4/5

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

The description states a specific verb (check) and resource (one proposed agent hire) against the wallet's financial objective, and names the three possible outcomes. This is enough to tell it apart from generic read siblings, but it never addresses the adjacent aureon_get_policy_check sibling, which an agent could easily confuse it with.

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

Usage Guidelines3/5

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

Usage is only implied: 'Does not send the hire and does not sign' signals a dry-run pre-check, so an agent can infer this precedes an actual hire. However, it never states when to prefer this over aureon_get_policy_check or how it relates to aureon_run_execution, leaving the routing decision to inference.

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

aureon_clear_portfolioB

Clear all capital-book positions for the authenticated wallet

NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose the scope of destruction ('all capital-book positions') and implies an auth requirement ('authenticated wallet'), which is real behavioral information. It says nothing about irreversibility, whether positions are deleted versus zeroed, or downstream side effects on objectives/executions.

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?

A single front-loaded sentence with no filler, which is well-sized for the operation. It is slightly thin for the risk profile of the action, but nothing is wasted or buried.

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

Completeness2/5

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

For a destructive, no-parameter, no-output-schema mutation with zero annotations, the description leaves critical questions unanswered: is it reversible, what happens to objectives/executions that depend on the cleared positions, and what a successful clear returns. The agent cannot safely predict the outcome.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool is 4. The description correctly implies no filtering or selection options exist.

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

Purpose4/5

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

States a clear verb (clear) and resource (capital-book positions for the authenticated wallet), so the intent is unambiguous. However, it does not distinguish itself from siblings like aureon_set_portfolio, aureon_sync_portfolio, or aureon_get_portfolio, which operate on the same resource.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no mention of the nearest alternatives (aureon_set_portfolio or aureon_sync_portfolio) that could plausibly be confused with this one. The agent must infer usage entirely.

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

aureon_confirm_execution_settlementA

Manual backfill: verify a vault Rebalanced transaction on chain and attach a settlement record to an execution. Use when the listener missed the event. Staged executions cannot be confirmed this way.

NameRequiredDescriptionDefault
executionIdYesExecution receipt id
transactionHashYes0x vault Rebalanced transaction hash

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It does disclose that this is a manual backfill that verifies on chain and mutates state by attaching a settlement record, which is useful. But it says nothing about idempotency (what happens if the execution is already settled), required permissions, or reversibility of the attached record — meaningful gaps for a write operation.

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

Conciseness5/5

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

Three short sentences with zero filler; the primary purpose and the 'Manual backfill' qualifier are front-loaded ahead of the usage condition and the exclusion. Every sentence earns its place.

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?

For a two-parameter tool with no output schema and no annotations, the description covers purpose, trigger, and one hard exclusion, which is close to sufficient. What it omits is failure/duplicate behavior on the settlement attach and any indication of what the tool returns, but those are modest gaps at this complexity level.

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 coverage is 100% and both parameter descriptions already say 'Execution receipt id' and '0x vault Rebalanced transaction hash'. The description's mention of a 'vault Rebalanced transaction on chain' merely restates the transactionHash schema text, so it adds no syntax, format, or sourcing detail beyond structured fields. Baseline 3 is correct.

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 chain (verify an on-chain transaction and attach a settlement record) against a specific resource (execution settlement). The 'Manual backfill' framing immediately separates it from the read-side siblings aureon_get_execution_settlement and aureon_list_settlements, so an agent can route correctly without opening any 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?

Gives an explicit trigger ('Use when the listener missed the event') and an explicit exclusion ('Staged executions cannot be confirmed this way'), which is the when/when-not pair an agent needs. No alternative sibling is named, but the manual-vs-listener framing makes the alternative path self-evident.

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

aureon_confirm_objective_registryA

Confirms an on-chain ObjectiveRegistry registration after the host wallet broadcast the prepare tx. Pass the transaction hash. The API verifies the receipt on chain and stores the registry link.

NameRequiredDescriptionDefault
objectiveIdYesObjective id that was registered
transactionHashYes0x transaction hash from the wallet broadcast

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It usefully discloses the backend effect (verifies the receipt on chain, stores the registry link), which tells the agent this is a state-mutating confirmation. However, it omits auth requirements, idempotency (safe to call twice?), and behavior when the receipt is not found or is still pending.

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?

Three short sentences with the precondition front-loaded and zero padding. 'Pass the transaction hash' is mildly redundant with the schema, but nothing else is wasted.

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

Completeness3/5

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

For a write/confirmation tool with no annotations and no output schema, the description covers the workflow and the server-side effect but leaves gaps on authorization, retry/idempotency, and failure handling. Adequate to invoke correctly, not complete for an agent reasoning about consequences.

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 coverage is 100%, so both parameters are already documented in the schema. The description's only parameter-related content is 'Pass the transaction hash,' which restates the schema and adds no format or sourcing detail beyond it. Baseline 3 applies.

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

Purpose4/5

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

States a specific verb (confirms) and resource (on-chain ObjectiveRegistry registration), and situates it in a workflow by tying it to the prepare tx the host wallet broadcast. An agent can separate it from the prepare/get siblings, though the description never names them explicitly.

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?

Gives clear usage context: call this after the host wallet has broadcast the prepare transaction. The precondition is explicit, but there is no when-not guidance (e.g. what to do if no transaction was broadcast, or how this differs from registry_status/get_objective_registry).

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

aureon_confirm_reportA

Store a wallet signature for a prepared report. Verified only when the signature recovers to the session wallet. Does not broadcast.

NameRequiredDescriptionDefault
messageYesExact message returned by prepare
reportIdYesReport id from prepare
signatureYesWallet signature of that message

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does reasonably well: it discloses the verification rule ('verified only when the signature recovers to the session wallet') and an important negative side effect ('Does not broadcast'), which tells an agent this is not an on-chain action. It omits auth/prerequisite requirements and what occurs on a failed recovery, so it stops short of full transparency.

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

Conciseness5/5

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

Three short sentences, each carrying distinct information: the action, the verification condition, and the absence of broadcast. The action is front-loaded and there is no filler.

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

Completeness3/5

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

There is no output schema and no annotations, so the description should cover behavior and result. It covers the verification rule and non-broadcast nature but says nothing about what is returned, idempotency, or what happens when the signature fails to recover, leaving gaps for a confirmation-style mutation tool.

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 all three parameters are documented there (message, reportId, signature), so the schema already does the work. The description adds no syntax, format or coupling details beyond that, which is the expected baseline of 3 when the schema is complete.

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

Purpose4/5

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

The description names a specific verb (store) and resource (a wallet signature for a prepared report), making the operation distinct from siblings like aureon_prepare_report, aureon_get_report and aureon_list_reports. It does not name those siblings explicitly, so the differentiation is inferable from the phrase 'prepared report' rather than stated.

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

Usage Guidelines3/5

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

The phrase 'for a prepared report' implies this is the follow-up step to aureon_prepare_report, and the schema's 'Exact message returned by prepare' reinforces the sequencing. However, there is no explicit statement of when to call this, no named alternative, and no exclusion of the other confirm_* tools (restoration, objective registry, execution settlement).

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

aureon_confirm_restorationB

Store a vault rebalance the session wallet already broadcast. Checks the receipt. Does not sign or broadcast.

NameRequiredDescriptionDefault
objectiveIdYesObjective id the rebalance belongs to
transactionHashYes32-byte transaction hash from the wallet broadcast

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses that the tool checks the receipt and does not sign or broadcast, which prevents an agent from mistaking it for an execution tool. It still omits auth/session requirements, idempotency, and the precise side effect of 'store' in this context.

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?

Three short sentences, front-loaded with the core action and followed by constraints. It is efficient and avoids repetition, though the first sentence is grammatically awkward and slightly harder to parse than necessary.

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

Completeness3/5

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

For a two-parameter confirmation/store tool with no annotations and no output schema, the description gives important behavioral limits and the receipt-checking action. It still leaves the return behavior, permissions, and idempotency unclear, which would help an agent invoke and interpret the result more reliably.

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 objectiveId and transactionHash are already documented in the schema. The description adds no parameter-specific syntax, format, or constraint beyond what the schema provides, which meets the baseline when the schema does the heavy lifting.

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

Purpose4/5

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

States a specific action on a specific resource: store a vault rebalance that the session wallet already broadcast, plus receipt checking. It distinguishes itself from execute/propose siblings by saying it does not sign or broadcast. The only weakness is that it says 'vault rebalance' rather than 'restoration,' which slightly blurs alignment with the tool name and sibling confirm/restore tools.

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

Usage Guidelines3/5

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

The phrase 'session wallet already broadcast' implies this is used after an external wallet broadcast, and 'Does not sign or broadcast' rules out execution use. However, it does not explicitly name alternatives such as aureon_propose_restoration or explain when-not to use this versus other confirmation tools.

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

aureon_create_api_keyB

Create an SDK API key (secret returned once — store immediately)

NameRequiredDescriptionDefault
nameYesKey display name

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden, and it does disclose the single most important trait: the secret is returned only once and must be stored immediately. However, it says nothing about authentication/permission requirements, whether key creation can be undone, or rate limits on key issuance.

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

Conciseness5/5

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

One sentence with the action front-loaded and the critical caveat in a tight parenthetical. No filler, nothing to trim.

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?

For a single-parameter mutation with no output schema, the description covers the essential gotcha (one-time secret) and the schema covers the parameter, so an agent can invoke it correctly. Minor gaps remain around auth requirements and what the response contains besides the secret.

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% for the single `name` parameter, so the schema already documents its meaning. The description adds no syntax, format, or naming-convention detail beyond what the schema provides, matching the baseline of 3 when the schema does the heavy lifting.

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

Purpose4/5

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

States a specific verb+resource ("Create an SDK API key") that an agent can distinguish from sibling key-management tools like aureon_list_api_keys, aureon_revoke_api_key, and aureon_toggle_api_key. It does not explicitly name or contrast those siblings, so it stops short of a 5.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives for provisioning credentials. The creation intent is implied by the verb but nothing routes the agent between this and the other api_key tools.

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

aureon_create_objectiveA

Create a Financial Compass Objective. targetSymbol and automationMode are locked after create — recreate to change them. Defaults to automationMode auto.

NameRequiredDescriptionDefault
kindYesObjective kind
nameYesObjective display name
reasonNoOptional note stored on the decision record
priorityNoEvaluation priority
toleranceYesAllowed drift band (0–1)
weightBoundNoceiling misses only above the weight, floor only below, target on both sides
hireLimitEthNoMax ETH for one agent hire against this objective
maxRiskScoreNoMax risk score ceiling
targetSymbolNoAsset symbol to track (locked after create)
targetWeightYesTarget portfolio weight (0–1)
reinvestRatioNoReinvest ratio for reward objectives
automationModeNoauto = keeper vault restore; manual = operator Approve (locked after create)
profitTakeRatioNoFraction of the notional above the sleeve cap to sell. Not a full return to target.
hireApprovalRequiredNoWhen true, a hire inside the cap needs user approval

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It usefully discloses the irreversibility of two fields and the default automationMode=auto, which is genuine mutation context. However, it says nothing about required permissions/wallet auth, what the create returns (no output schema exists), or side effects such as keeper vault behavior mentioned in the schema description.

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

Conciseness5/5

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

Three short sentences, front-loaded with the core action and immediately followed by the highest-risk constraint (locked fields) and the default. No filler or redundant phrasing.

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

Completeness3/5

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

For a 14-parameter creation tool with no annotations and no output schema, the description covers the immutability trap and default but omits what the caller receives back (objective id), auth requirements, and any validation behavior. The rich schema compensates for parameter detail, leaving the description adequate but incomplete.

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 14 parameters, including the 'locked after create' notes on targetSymbol and automationMode. The description's field guidance largely repeats that structured data, so baseline 3 applies rather than a higher score.

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

Purpose4/5

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

States a specific verb and resource: 'Create a Financial Compass Objective.' An agent immediately knows this produces a new objective entity. It does not explicitly contrast with the sibling aureon_update_objective or aureon_restore_objective, but the resource is unambiguous.

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

Usage Guidelines3/5

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

Usage is implied rather than stated – the note that targetSymbol and automationMode are locked and require recreation hints at the create-vs-update boundary, but the description never names aureon_update_objective as the alternative for modifying existing objectives or states prerequisites.

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

aureon_dev_loginA

Local preview login without wallet signature (requires AUREON_ALLOW_DEV_LOGIN=1 on API — not production)

NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose meaningful behavior: it bypasses wallet signature auth and only functions when the API-side flag AUREON_ALLOW_DEV_LOGIN=1 is set. It does not say what a successful call returns (e.g. session token) or what happens if the flag is unset, but the auth/environment constraints are well covered.

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?

A single front-loaded sentence with the core action first and the environment/prerequisite caveats in a parenthetical. Every clause earns its place; only the em-dash aside slightly interrupts flow.

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?

For a zero-parameter dev-only endpoint with no output schema and no annotations, the description supplies the essential context: what it does, the server-side prerequisite, and the production exclusion. The only gap is the return/credential behavior on success.

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

Parameters4/5

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

The tool takes zero parameters, so there is no parameter surface for the description to document and the baseline of 4 applies. There is no misleading parameter content.

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

Purpose4/5

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

States a specific verb and resource ('login') and immediately qualifies the mechanism ('without wallet signature'), which implicitly distinguishes it from the wallet-based auth siblings like aureon_verify_wallet. It stops short of naming a sibling explicitly, so it is clear but not maximally differentiated.

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?

Gives a clear use context ('Local preview') plus an explicit exclusion ('not production') and the operational prerequisite (AUREON_ALLOW_DEV_LOGIN=1). This tells the agent when to reach for it versus the production auth path, though it does not spell out 'use X instead' alternatives.

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

aureon_get_allocation_vs_targetB

Objective vs actual portfolio — current weight vs policy target per objective, plus green-book/off-plan paradox flag

NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It discloses the return content (per-objective current weight vs target, plus a flag), which is useful given there is no output schema, but it says nothing about authorization requirements, scoping, or what the 'green-book/off-plan paradox flag' actually signals.

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?

A single compact sentence, front-loading the core comparison before the secondary flag. Efficient, though the unexplained domain jargon ('green-book/off-plan paradox') costs a little clarity.

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?

For a zero-parameter read tool with no output schema, the description adequately sketches the return shape (per-objective weight vs target plus a flag). It would be stronger if it decoded the paradox flag, but nothing essential to invoking the tool is missing.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to clarify; the baseline for a no-parameter tool is 4. No parameter confusion is possible here.

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

Purpose4/5

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

Names a specific resource (per-objective allocation vs policy target) and the comparison it performs, which reads clearly as distinct from the raw holdings returned by aureon_get_portfolio. However, it never names an alternative tool, so differentiation from siblings like aureon_check_policy or aureon_get_overview must be inferred.

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

Usage Guidelines2/5

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

The description states what the tool returns but gives no guidance on when to call it versus aureon_get_portfolio, aureon_check_policy, or aureon_get_objective_portfolio_flow. No prerequisites, no exclusions, no context for selecting it.

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

aureon_get_audit_trailB

Export the financial audit trail for one objective: registry, receipts, settlements, timeline. Missing proof is labeled. Never invent on-chain claims.

NameRequiredDescriptionDefault
objectiveIdYesObjective id to export

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden but does add genuine behavioral content: 'Missing proof is labeled' and 'Never invent on-chain claims' tell the agent how to treat incomplete or unverifiable data. It says nothing about authentication requirements, whether the operation is read-only, export size, or pagination.

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?

Three short fragments, front-loaded with the action verb, with no padding. The telegraphic style is efficient though slightly clipped, and the integrity constraint lands before the enumerations.

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

Completeness3/5

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

For a one-parameter read/export tool with no output schema, the description usefully enumerates what the export contains and how missing proof is handled. It still omits the shape/format of the returned export and any limits, which an agent would need to consume the result.

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?

One parameter with 100% schema description coverage, so the schema already defines objectiveId completely. The phrase 'for one objective' reinforces the single-objective scope but adds no format or validation detail beyond the schema.

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

Purpose4/5

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

States a specific verb and resource ('Export the financial audit trail') scoped to 'one objective', and enumerates the four content sections (registry, receipts, settlements, timeline). It does not distinguish itself from the sibling tools that expose those same artifacts individually (aureon_get_objective_registry, aureon_list_settlements, aureon_list_timeline), leaving the agent to infer that this is a composite export.

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

Usage Guidelines2/5

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

No when-to-use statement, no prerequisites, and no mention of alternatives such as calling the registry/settlement/timeline tools separately. Usage is only weakly implied by 'for one objective'.

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

aureon_get_auth_nonceA

Request a wallet auth nonce/message for EIP-191 signing (optional — issued API keys usually skip this)

NameRequiredDescriptionDefault
addressYesWallet address (0x…)

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the full disclosure burden. It conveys that the call issues a nonce/message intended for EIP-191 signing and that it is optional in API-key flows, but says nothing about nonce lifetime/expiry, single-use semantics, or that the call is a safe read-like generation — meaningful behavioral gaps for an auth primitive.

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

Conciseness5/5

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

A single tight sentence with the core action front-loaded and the optionality caveat appended. No filler or redundancy.

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?

For a one-parameter, no-output-schema auth helper, the description plus schema is nearly sufficient: it names the purpose and the EIP-191 signing context and flags the optional case. The omission of nonce lifecycle/expiry behavior is the only notable gap.

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?

There is a single required parameter (address) with 100% schema description coverage, so the schema already defines it and the baseline is 3. The description adds no format or constraint detail beyond what the schema provides.

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

Purpose4/5

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

States a specific verb (Request) and resource (wallet auth nonce/message) and names the downstream protocol (EIP-191 signing), which lets an agent distinguish it from generic auth siblings like aureon_dev_login and aureon_verify_wallet. It stops short of explicitly contrasting itself with those siblings, so it is clear but not fully differentiated.

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?

The parenthetical 'optional — issued API keys usually skip this' gives a concrete when-not-to-use condition, which is useful routing guidance. It does not name the alternative flow (e.g., dev_login or create_api_key) to use instead, so it falls short of a 5.

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

aureon_get_decisionC

One decision record by id

NameRequiredDescriptionDefault
idYesDecision id

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing: no auth requirements, no read-only confirmation beyond the word 'get', no not-found or error behavior, no indication of return shape. Only the safest inference (read-only lookup) is available.

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

Conciseness3/5

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

It is very short and front-loaded, but the terseness reads as under-specification rather than efficiency, since a complete sentence could have carried the same idea with more useful context.

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

Completeness2/5

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

With no annotations and no output schema, the description is the sole source of context, and it omits what a decision record contains, whether the id comes from aureon_list_decisions, and what happens on a miss. For a single-param lookup the burden is modest, but the gaps are real.

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?

There is one parameter with 100% schema description coverage, so the schema already documents 'id'. The description adds no format, source, or provenance detail about where a decision id comes from, leaving it at the baseline for a fully covered schema.

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

Purpose4/5

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

The fragment names a specific verb (get) and resource (decision record) scoped to a single id, so the operation is identifiable. It does not distinguish itself from the sibling aureon_list_decisions, so it stops short of a 5.

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

Usage Guidelines2/5

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

No when-to-use guidance, no mention of aureon_list_decisions as the alternative for enumerating decisions, and no stated prerequisites. Usage must be inferred entirely from the name.

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

aureon_get_drift_restore_flowC

Read drift → detection → restore flow for active objectives

NameRequiredDescriptionDefault
objectiveIdNoFilter to one objective (omit for all active)

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. 'Read' implies a non-mutating operation, but there is no disclosure of auth requirements, whether the flow is computed live or cached, or what stages are returned. Given zero annotation coverage, this is a significant gap.

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?

A single front-loaded line with no filler; the arrow notation compresses the process stages efficiently. Slightly terse to the point of opacity, but no waste.

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

Completeness2/5

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

With one optional parameter and no output schema, the description should explain what the 'flow' returns and in what form. As written, an agent knows neither the response shape nor how this differs from the demo/plan siblings, making it incomplete for a read tool of this apparent complexity.

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?

The single parameter objectiveId has 100% schema description coverage ('Filter to one objective (omit for all active)'), so the schema already does the work. The description adds nothing about the parameter, so baseline 3 applies.

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

Purpose3/5

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

The verb 'Read' plus the arrow sequence 'drift → detection → restore flow' conveys a multi-stage read operation on objectives, which is more specific than a bare noun. However, 'flow' is ambiguous (workflow definition? live state? staged results?) and it is not differentiated from close siblings like aureon_run_drift_restore_demo or aureon_get_restore_plan, so an agent cannot confidently pick it.

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

Usage Guidelines2/5

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

'for active objectives' hints at scope and the schema notes omitting objectiveId covers all active, but there is no explicit when-to-use, when-not-to-use, or named alternative. The agent is left to infer whether this is a preview/read versus the demo or restore-plan tools.

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

aureon_get_execution_settlementA

Returns the chain-verified settlement record for a vault execution when the listener has observed an on-chain Rebalanced event. Staged executions never have settlement records — do not claim on-chain proof without this.

NameRequiredDescriptionDefault
executionIdYesExecution receipt id

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose a valuable behavioral trait: results only exist after an on-chain Rebalanced event, and staged executions yield none. It does not cover failure semantics (error vs. empty), permissions, or response shape, keeping it below a 5.

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?

Two tight sentences, front-loaded with the core purpose and followed by the key caveat. No filler or redundancy; a compact, well-ordered description.

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?

For a simple one-parameter getter with no output schema, the description covers purpose, data-existence conditions, and the crucial warning against claiming on-chain proof. Minor gaps around return format and error behavior keep it from a 5.

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 the single executionId parameter. The description adds no syntax, format, or source guidance for the id, so it earns only the baseline 3 for high-coverage schemas.

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

Purpose4/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: 'Returns the chain-verified settlement record for a vault execution.' This distinguishes it from the list/confirm siblings (aureon_list_settlements, aureon_confirm_execution_settlement) at the noun level, though it does not name those siblings explicitly.

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?

It states the condition under which the record exists (listener observed an on-chain Rebalanced event) and a clear exclusion (staged executions never have settlement records). It lacks explicit routing to alternatives such as list_settlements or confirm_execution_settlement, so it stops short of a 5.

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

aureon_get_full_aureon_loop_flowB

Read full AUREON loop for active objectives with a latest execution receipt

NameRequiredDescriptionDefault
briefNoUser brief for teaching shape
objectiveIdNoFilter to one objective (omit for all active with receipts)

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are present, so the description carries the full behavioral burden. "Read" implies a safe, non-mutating operation and the filtering constraint (only active objectives with a receipt) is disclosed, but there is no statement of return shape, pagination, or whether it triggers any state change beyond the read.

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?

A single front-loaded sentence with no wasted words. It is dense with jargon rather than explanatory, but it is appropriately sized for the tool.

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

Completeness3/5

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

With no output schema and no annotations, the description is the only source of truth, and it does not explain what a "full AUREON loop" result contains or how the receipt is represented. It scopes the call adequately but leaves the agent guessing about the response.

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 both parameters, setting the baseline at 3. The description reinforces objectiveId's filtering intent ("active objectives") but adds nothing for the "brief" parameter beyond the schema's own "User brief for teaching shape".

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

Purpose4/5

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

States a specific verb (Read) and resource (full AUREON loop) plus scope (active objectives with a latest execution receipt). It is distinguishable from the sibling aureon_run_full_aureon_loop_demo by the read vs run framing, but the description never names a sibling or defines what the "loop" actually comprises, which is domain jargon.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no routing against the many alternatives in this family (e.g. aureon_run_full_aureon_loop_demo, aureon_get_objective_portfolio_flow, the other get_*_flow tools). The agent must infer applicability entirely from the scope clause.

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

aureon_get_healthC

Health state for objectives — drift, breach status, policy compliance

NameRequiredDescriptionDefault
objectiveIdNoFilter by objective ID (omit for all)

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It implies a read of current state through 'health state' and enumerates what is assessed, but says nothing about permissions/auth, whether results are live versus point-in-time, pagination, or response shape.

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

Conciseness3/5

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

It is only one short phrase, so there is no waste, but it is an under-specified fragment rather than a structured, front-loaded sentence establishing the action and outcome.

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

Completeness3/5

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

With no annotations and no output schema, the description must stand alone, and it does convey the three health facets returned. It still omits when to prefer it over aureon_get_health_history and other objective-inspection tools, leaving a real gap for a read tool in a dense sibling set.

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?

The single objectiveId parameter is fully documented in the schema ('Filter by objective ID (omit for all)'), so the schema does the heavy lifting. The description adds no filtering or format detail beyond that, which is the expected baseline at 100% coverage.

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

Purpose3/5

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

The description names the resource (health state) and narrows its scope to objectives, then enumerates the facets returned (drift, breach status, policy compliance). However it is a noun phrase with no verb, and it never distinguishes itself from the adjacent aureon_get_health_history, so the purpose is understandable but not sharply differentiated.

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

Usage Guidelines2/5

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

There is no statement of when to call this versus aureon_get_health_history (historical) or aureon_get_objective (details), nor any prerequisite or context. Usage must be inferred entirely from the tool name.

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

aureon_get_health_historyC

Stored health score samples for this wallet

NameRequiredDescriptionDefault

No parameters

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it discloses almost nothing: no time range, ordering, sample cadence, count limits, or whether data is paginated. The single word 'stored' is the only behavioral signal, implying persisted rather than live computation.

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

Conciseness3/5

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

The fragment is waste-free and front-loaded, but it is undersized for a tool with no annotations and no output schema. Brevity here reads as under-specification rather than crispness.

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

Completeness2/5

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

With no output schema and no annotations, the description should describe what the samples look like (fields, granularity, range). Instead it stops at a label, leaving the agent unable to predict the response shape.

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

Parameters4/5

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

The tool takes zero parameters, so per the rubric the baseline is 4. There is nothing for the description to disambiguate beyond what the empty schema already communicates.

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

Purpose3/5

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

The phrase names the resource (health score samples) and implies persistence ('stored'), so an agent can guess it retrieves historical health data. But it is a noun fragment with no verb and gives no differentiation from the sibling aureon_get_health, so an agent cannot tell which of the two to call.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of when to prefer aureon_get_health (current) over this history tool, and no prerequisites. The agent is left to infer usage entirely from the name.

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

aureon_get_objectiveC

Get a single objective by ID

NameRequiredDescriptionDefault
objectiveIdYesThe objective ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist, so the description carries the full burden and discloses almost nothing: no auth/permission requirements, no behavior for an unknown or unauthorized ID, and no return-shape hint. For a single-item read tool this is low-risk, but the disclosure gap is real.

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?

One short, front-loaded sentence with no filler. It is efficient, though its brevity is part of why other dimensions are thin.

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

Completeness2/5

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

With no annotations and no output schema, nothing tells the agent what the returned objective looks like or whether the lookup can fail on authorization. Given the rich sibling set, a sentence on returns or failure modes would be expected.

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% for the single objectiveId parameter, so the baseline of 3 applies. The description's 'by ID' restates the schema rather than adding format, source, or validity details beyond it.

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

Purpose4/5

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

States a specific verb (get) and resource (a single objective) plus the key selector (by ID), which implicitly contrasts with the sibling aureon_list_objectives. It does not explicitly name that sibling, so differentiation is left to inference.

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

Usage Guidelines2/5

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

No when-to-use context, no mention of the alternative list tool, and no prerequisites. The phrase 'by ID' hints that an ID must be known, but the agent is not told where to get one or when this is preferable to listing.

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

aureon_get_objective_portfolio_flowB

Read AI → objective → portfolio flow for active objectives

NameRequiredDescriptionDefault
objectiveIdNoFilter to one objective (omit for all active)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Read' implies a safe non-mutating operation, but nothing is said about auth requirements, what the flow contains, or return shape — thin for a tool with zero annotation coverage.

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?

A single front-loaded sentence with no filler. It is efficient, though its terseness borders on under-specification rather than pure conciseness.

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

Completeness3/5

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

For a simple one-param read tool with full schema coverage this is minimally sufficient, but with no output schema and no annotations an agent must infer what a 'portfolio flow' actually returns.

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 coverage is 100% and the single objectiveId parameter is already documented in the schema with the same 'omit for all active' semantics. The description adds no meaning beyond it, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb (Read) and resource (AI → objective → portfolio flow), scoped to active objectives. It is distinguishable from siblings like get_portfolio or list_objectives by naming the 'flow' artifact, though the arrow notation is jargon-heavy and not fully self-explanatory.

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

Usage Guidelines3/5

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

The phrase 'for active objectives' implies tge usage context and the schema note explains omitting objectiveId returns all active. But there is no explicit guidance on when to choose this over aureon_get_portfolio or the other get_*_flow siblings.

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

aureon_get_objective_registryC

Returns the on-chain registry record for an objective when registered.

NameRequiredDescriptionDefault
objectiveIdYesObjective id

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It hints that a record exists only 'when registered' but says nothing about auth requirements, error behavior for unregistered objectives, or whether the read is side-effect free.

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?

A single front-loaded sentence with no filler; it is efficient, though extremely terse for a tool with a meaningful conditional (registered vs not).

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

Completeness2/5

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

With no annotations and no output schema, the description should explain what the registry record represents, how an objective becomes registered (via prepare/confirm_objective_registry), and the failure mode when it is not registered. None of that is present.

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% (objectiveId is documented as 'Objective id'), so the baseline is 3. The description adds no format, ID-source, or lookup-semantics 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.

Purpose4/5

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

States a specific verb (Returns) and resource (the on-chain registry record for an objective), which distinguishes it from the generic aureon_get_objective and the registry mutation siblings. It does not, however, explicitly name or contrast itself with aureon_get_objective or aureon_registry_status, so an agent must infer the difference.

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

Usage Guidelines2/5

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

The clause 'when registered' implies a precondition, but there is no statement of when to call this versus aureon_get_objective, aureon_registry_status, or the prepare/confirm registry pair, and no indication of what happens if the objective is not registered.

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

aureon_get_overviewB

Dashboard overview — total AUM, objective count, aggregate health

NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It implies a read-only aggregate but says nothing about authentication requirements, whether values are live or cached, or what scope (user/workspace) the aggregates cover. For a dashboard endpoint with zero annotation coverage this is thin.

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?

A single short clause with the resource front-loaded and no filler. It is a fragment rather than a sentence, but nothing is wasted and nothing is buried.

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

Completeness3/5

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

With no output schema and no annotations, the description is the only source of information about what the tool returns, and it does list the three aggregate values. However, it omits auth expectations and does not clarify how the aggregates relate to the more granular siblings, leaving real gaps for a zero-parameter dashboard tool.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing to document beyond what the schema already shows; the baseline for a parameterless tool is 4. The description adds the semantic meaning of the returned fields, which is a small bonus.

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

Purpose4/5

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

The description names a specific resource (dashboard overview) and enumerates the three aggregates returned — total AUM, objective count, aggregate health. This distinguishes it reasonably from siblings like aureon_get_health or aureon_list_objectives, though it does not use a clear verb (e.g. 'get') or explicitly contrast with those siblings.

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

Usage Guidelines2/5

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

There is no statement of when to call this tool versus alternatives such as aureon_get_health, aureon_get_portfolio, or aureon_list_objectives, and no mention of prerequisites or auth state. Usage must be inferred from the name and the aggregate nature of the return fields.

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

aureon_get_policy_checkA

Read one stored hire decision by actionId. Does not send the hire and does not sign.

NameRequiredDescriptionDefault
actionIdYesStored policy action id

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose the two most important traits: no hire is sent and nothing is signed, i.e. a side-effect-free read. It says nothing about whether this actionId requires prior authorization, whether the stored decision can expire or be superseded, or any rate/access limits.

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

Conciseness5/5

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

Two short sentences, front-loaded with the purpose and followed immediately by the safety constraint. No filler and nothing repeated from structured fields.

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

Completeness3/5

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

For a single-parameter read with no output schema, the description covers purpose and the no-side-effect guarantee, but says nothing about the shape of the returned decision, and the name/description mismatch ('policy_check' vs 'hire decision') leaves the object under-specified. Adequate but with clear gaps given the absence of any output schema.

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?

There is one parameter and schema description coverage is 100% ('Stored policy action id'), so the schema already fully documents it. The description only echoes the parameter name, adding no format, source, or lookup guidance beyond the schema, which is the baseline-3 case when the schema does the heavy lifting.

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

Purpose4/5

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

States a specific verb ('Read') and a scoped resource ('one stored hire decision by actionId'), and the qualifier 'stored' distinguishes it from a live check such as the sibling aureon_check_policy. The only friction is that the resource is called a 'hire decision' while the tool name says 'policy_check', which creates mild ambiguity about what object is actually returned.

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

Usage Guidelines3/5

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

The clause 'Does not send the hire and does not sign' implies this is the non-mutating read path versus a sibling that does send/sign, giving implied usage context. However, no alternative tool is named and there is no explicit when-to-use vs when-not-to-use statement, so the routing guidance must be inferred.

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

aureon_get_portfolioB

Current capital book snapshot — positions, marks, weights

NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It implies a read of the current state, but says nothing about auth requirements, freshness/staleness, whether the book is cached, or what marks represent. A single noun phrase is thin disclosure for a tool with zero annotation coverage.

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?

One short, front-loaded line with no filler. It is efficient, though the terseness borders on under-specification rather than optimal density.

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

Completeness3/5

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

With no annotations and no output schema, the description must stand in as the only documentation. It names the data returned but not its shape or meaning (e.g., what 'marks' or 'weights' are computed from), leaving a modest gap for an agent deciding how to use the result.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to compensate for; baseline 4 applies. The mention of returned fields (positions, marks, weights) is a small value-add beyond the empty schema.

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

Purpose4/5

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

States a specific resource ('capital book') and verb-like action ('snapshot') plus the contents returned (positions, marks, weights). 'Current' implicitly distinguishes it from siblings such as aureon_get_portfolio_history and aureon_get_portfolio_watch_flow, though the differentiation is left to inference.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no mention of alternatives like aureon_get_portfolio_history, aureon_sync_portfolio, or aureon_get_allocation_vs_target. The word 'current' hints that it is the live view, but nothing states that explicitly.

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

aureon_get_portfolio_historyB

Stored daily portfolio totals for this wallet

NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it states almost nothing beyond the resource: not whether the call is read-only, how far back the history reaches, how many entries are returned, or in what order. For a zero-parameter historical query these are the details that matter, and they are absent.

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?

A single short clause with no filler and the key qualifier ('daily', 'stored') front-loaded. It is efficient, though arguably terse to the point of under-specification rather than tightly structured.

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

Completeness3/5

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

With no output schema and no annotations, the description is the only source of contract information, and it covers the resource and granularity but not the time range, result size, or ordering. For a simple zero-parameter read this is marginally adequate, but an agent cannot predict what it will receive.

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

Parameters4/5

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

The tool takes zero parameters, so the schema has nothing to explain and the baseline is 4. The description correctly introduces no parameter semantics because none exist.

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

Purpose4/5

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

The description names a specific resource and granularity ('daily portfolio totals') scoped to 'this wallet', and the word 'history' plus 'stored' implicitly separates it from the sibling aureon_get_portfolio, which returns the current portfolio. It stops short of explicitly naming that sibling or stating the contrast, so it is clear but not fully differentiated.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no mention of alternatives such as aureon_get_portfolio or aureon_get_health_history, and no stated conditions or prerequisites. The agent must infer usage entirely from the name and noun phrase.

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

aureon_get_portfolio_watch_flowC

Read portfolio watch briefing for Automatic objectives

NameRequiredDescriptionDefault
hostNoAgent host label
briefNoUser brief for briefing lines
objectiveIdNoFilter to one objective (omit for all Automatic)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Read' weakly implies a non-mutating call, but it says nothing about required auth, side effects, or the shape/scope of what is returned. For an unannotated tool this is a substantial gap.

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?

A single compact sentence with no filler, and the resource and scope are front-loaded. It is efficient, though its brevity comes partly from under-specification rather than disciplined trimming.

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

Completeness2/5

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

With no annotations and no output schema, the description does no compensating work: it never explains the 'briefing' concept, what 'brief' and 'host' contribute, or when this flow is the right choice. An agent could invoke it, but not confidently or correctly in context.

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 host, brief, and objectiveId. The description adds no extra meaning beyond what the schema supplies, which is exactly the baseline-3 case.

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

Purpose4/5

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

States a specific verb ('Read') and resource ('portfolio watch briefing') and scopes it to 'Automatic objectives'. It is clearer than a bare name, but 'Automatic objectives' is jargon that is not defined, and it does not differentiate from near-neighbors like aureon_get_objective_portfolio_flow or aureon_run_portfolio_watch_demo.

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

Usage Guidelines2/5

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

No when-to-use, when-not-to-use, or alternative is given. The scoping phrase 'for Automatic objectives' hints at applicability but leaves the agent to guess how this differs from the many other portfolio/watch/objective tools in the sibling list.

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

aureon_get_receipt_verification_flowC

Read receipt → verification flow for execution receipts

NameRequiredDescriptionDefault
executionIdNoFilter to one execution id (omit for five most recent)

TDQS

C2.5/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. The word 'Read' weakly implies a read-only operation, but it says nothing about what the flow contains, whether it is static documentation or live state, auth requirements, or limits. This is a significant gap for an unannotated tool.

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

Conciseness3/5

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

It is a single short sentence, which is well-sized, but the brevity reflects under-specification rather than disciplined conciseness. It is front-loaded only in the trivial sense that it is one phrase.

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

Completeness2/5

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

For a read tool with no output schema and no annotations, the description should explain what the returned 'flow' actually is (steps, stages, status). It omits this entirely, leaving the agent unable to predict the response shape or confirm it is the right tool.

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 the schema fully explains the single executionId parameter ('Filter to one execution id (omit for five most recent)'). The description adds no parameter meaning beyond what the schema provides, so baseline 3 applies.

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

Purpose3/5

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

The phrase 'Read receipt → verification flow for execution receipts' names a resource (receipt verification flow) but largely restates the tool name rather than explaining what the tool actually returns or does. It does not distinguish itself from siblings such as aureon_validate_receipt or aureon_run_receipt_verification_demo. Purpose is only vaguely inferable.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives. With sibling tools like aureon_validate_receipt and aureon_run_receipt_verification_demo present, the agent gets no signal about which to pick. No exclusions or context are given.

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

aureon_get_reportC

One stored financial report

NameRequiredDescriptionDefault
idYesReport id

TDQS

C2.2/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden and delivers almost nothing: no indication of auth requirements, error behavior for a missing/invalid id, or what "stored" distinguishes (e.g. confirmed vs. prepared reports). The word "stored" is the only behavioral hint, and it is undefined.

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

Conciseness2/5

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

It is short, but brevity here comes from omission rather than precision — a four-word fragment with no verb. There is no front-loaded statement of action, so it reads as under-specification rather than conciseness.

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

Completeness2/5

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

For a single-parameter, no-output-schema tool in a 60+ tool registry, the description should at minimum say it fetches one report by id and point to the list alternative. Neither is present, leaving the agent to guess at return shape and routing.

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% for the single `id` parameter, so the baseline is 3. The description adds no format, type, or lookup semantics beyond what the schema already documents.

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

Purpose2/5

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

The description is a bare noun phrase, "One stored financial report," that restates the resource in the tool name without a verb or scope statement. It does weakly imply singular retrieval versus the sibling aureon_list_reports, but an agent gets no confirmation of what the tool actually does.

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

Usage Guidelines2/5

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

No when-to-use guidance is given, and neither the natural alternative (aureon_list_reports) nor related lifecycle tools (aureon_prepare_report, aureon_confirm_report) are mentioned. The agent must infer usage entirely from the name.

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

aureon_get_restore_planC

Restore plan for an objective — proposed rebalance steps to return to policy

NameRequiredDescriptionDefault
objectiveIdYesThe objective ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full behavioral burden. It implies the plan is merely 'proposed' (non-mutating), but never states whether it is computed on demand or cached, whether any state changes, or what freshness/limits apply.

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?

A single front-loaded sentence naming the resource first, then its content. No filler, though the terseness contributes to the gaps noted elsewhere.

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

Completeness2/5

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

No output schema and no annotations mean the description should explain the shape and nature of the returned plan, but it gives only a one-line gloss. For a plan-retrieval tool sitting among several restoration-related siblings, an agent lacks enough to confidently choose it.

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?

Single parameter with 100% schema description coverage, so the schema already documents objectiveId. The description adds no field-level meaning beyond what the schema provides, which is the baseline-3 case.

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

Purpose4/5

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

States a concrete resource (restore plan for an objective) and clarifies its content as 'proposed rebalance steps to return to policy', so the agent knows what it retrieves. It does not differentiate from near-neighbours like aureon_propose_restoration or aureon_get_drift_restore_flow, which keeps it short of a 5.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no mention of alternatives such as aureon_propose_restoration (which presumably creates a plan) or aureon_restore_objective (which applies one). The agent must infer the read-only retrieval role from the name alone.

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

aureon_get_vaultB

Vault overview — balances, tokens, deposit history

NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

No annotations exist, so the description carries the full behavioral burden; it implies a read-only overview and discloses the content categories returned, which is genuinely useful with no output schema present. However, it says nothing about authentication requirements, permissions, rate limits, or whether the vault must exist, leaving meaningful behavioral gaps.

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

Conciseness5/5

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

A single front-loaded line with no filler; the purpose and the returned content are stated immediately without waste.

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

Completeness3/5

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

For a zero-parameter read tool with no output schema, the description usefully names the returned content, but it omits any distinction from aureon_get_vault_status/get_overview and gives no auth or precondition context. It is adequate but leaves clear gaps.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing to disambiguate and the baseline is 4. The description adds no parameter detail, but none is needed.

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

Purpose4/5

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

The description gives a specific verb+resource (get vault) and enumerates what the overview contains (balances, tokens, deposit history), so the agent knows what the tool returns. It does not, however, differentiate this tool from close siblings like aureon_get_vault_status or aureon_get_overview, leaving the boundary ambiguous.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no mention of alternatives, which is a real gap given siblings such as aureon_get_vault_status, aureon_get_overview, and the vault deposit/withdraw tools. The agent must infer the selection condition entirely on its own.

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

aureon_get_vault_statusC

Compact vault funding status — ready state before restore

NameRequiredDescriptionDefault

No parameters

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions 'compact' output but says nothing about auth requirements, read-only nature, what field set is returned, or what 'funding status' concretely means, which is insufficient for a zero-annotation tool.

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?

A single short fragment with the resource front-loaded and no filler. It is appropriately sized for a no-arg tool, though the trailing clause is more cryptic than informative.

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

Completeness2/5

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

With no output schema and no annotations, the description is the only source of information, and it leaves the return shape and meaning of 'funding status' undefined. For a state-introspection tool an agent needs to know what it receives; this is incomplete.

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

Parameters4/5

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

The tool takes zero parameters, so the schema has nothing to document and the baseline is 4. There are no parameter semantics for the description to add or omit.

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

Purpose3/5

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

States the resource ('vault funding status') with a vague qualifier ('compact'), but does not distinguish it from the sibling aureon_get_vault or clarify what 'status' contains. The phrase 'ready state before restore' gestures at intent without committing to a specific verb or output.

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

Usage Guidelines2/5

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

'ready state before restore' weakly implies a timing context, but no explicit when-to-use, when-not, or named alternative (e.g. aureon_get_restore_plan or aureon_get_vault) is given. An agent must infer the workflow position.

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

aureon_list_api_keysB

List SDK API keys for the authenticated wallet

NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the disclosure burden. It communicates two useful traits: this is a read/list operation and it is scoped to the authenticated wallet, implying an auth requirement. It says nothing about pagination, ordering, or whether revoked/inactive keys are included in the result.

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

Conciseness5/5

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

A single front-loaded sentence with no filler, and the resource and scope appear before any qualifying clause. Nothing is wasted for a parameterless listing tool.

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

Completeness3/5

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

For a simple parameterless list tool with no output schema, the description covers what the tool does and its scope but omits the shape of the return (fields per key, pagination, empty-state behavior). Adequate but leaves the agent guessing about the response.

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

Parameters4/5

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

The tool takes zero parameters, and the schema (empty object) is fully consistent with that. Per the rubric, a zero-parameter tool has a baseline of 4; there is no parameter semantics to clarify further.

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

Purpose4/5

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

The description names a specific verb (List) and resource (SDK API keys) and scopes it to the authenticated wallet, which cleanly separates it from siblings like aureon_create_api_key, aureon_revoke_api_key, and aureon_toggle_api_key. It does not explicitly name those alternatives, but the verb makes the read-only listing intent unambiguous.

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

Usage Guidelines2/5

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

There is no guidance on when to call this versus the sibling key-management tools (create/revoke/toggle). The phrase 'for the authenticated wallet' implies a prerequisite (an authenticated wallet session) but no explicit when/when-not conditions are given.

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

aureon_list_decisionsC

Decision records for objective set, change, pause, and resume

NameRequiredDescriptionDefault
objectiveIdNoLimit to one objective

TDQS

C2.5/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure, yet it says nothing about read-only safety, result ordering, pagination, or result volume. For a list endpoint that could return an unbounded collection, the omission of ordering/pagination behavior is a real gap.

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

Conciseness3/5

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

It is a single short, front-loaded fragment with zero waste, but it is under-specified rather than merely concise — no verb, no object framing, no clause telling the agent how to call it. Brevity here costs information rather than saving it.

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

Completeness2/5

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

For a one-parameter list tool with no output schema and no annotations, the description should at minimum state that it returns a collection and what unfiltered calls return. Neither is present, leaving the agent unable to predict the response shape or scope.

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 the single objectiveId parameter is documented as 'Limit to one objective', so the schema already carries the semantics. The description adds no filtering syntax or default-scope detail beyond that, which is the expected baseline of 3.

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

Purpose3/5

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

The description identifies the resource (decision records) and the triggering action types (set, change, pause, resume), but never states the verb explicitly or that it returns a collection. It also does not distinguish this list tool from the sibling aureon_get_decision, so an agent must infer the list-vs-single semantics from the name alone.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no indication of the default scope when objectiveId is omitted, and no reference to the closely related aureon_get_decision sibling. The agent is left to guess whether this is the right entry point for retrieving decision history.

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

aureon_list_executionsC

Recent execution receipts — read settlement, verifiedOnChain, settlementRecord, explorerUrl, registryRef.

NameRequiredDescriptionDefault
objectiveIdNoFilter by objective ID (omit for all)

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It gestures at returned fields (settlement, verifiedOnChain, settlementRecord, explorerUrl, registryRef), which is genuinely useful, but says nothing about read-only semantics, ordering, pagination/limits, or what 'recent' means in practice.

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?

A single front-loaded sentence with no filler; the field list is compact. It is efficient, though the em-dash field dump reads more like a return-value sketch than a purpose statement.

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

Completeness2/5

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

With no annotations and no output schema, the description should explain the operation's scope and return behavior. Instead it leaves ordering, limits, filtering, and read-only status unstated, which is thin for a listing tool in a crowded sibling namespace.

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% for the single optional objectiveId filter, so the schema already explains its meaning. The description adds no filtering detail beyond the schema, so the baseline 3 applies.

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

Purpose3/5

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

The phrase 'Recent execution receipts' conveys the resource (execution receipts) but never states the verb explicitly — the agent must infer 'list' from the name. It also fails to distinguish this tool from close siblings like aureon_list_settlements, aureon_get_execution_settlement, and aureon_validate_receipt, which plausibly surface overlapping data.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus aureon_list_settlements, aureon_get_execution_settlement, or aureon_validate_receipt, nor any mention of prerequisites or scope. The only hint is the word 'Recent', which is not an explicit condition.

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

aureon_list_market_presetsC

Available market event simulation presets

NameRequiredDescriptionDefault

No parameters

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations at all, the description carries the full burden of behavioral disclosure. It implies a read-only enumeration, but never states that the call is side-effect free, whether the preset list is static or account-specific, or whether any auth is required. For a zero-annotation tool this is a real gap.

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

Conciseness3/5

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

Five words with no filler, which is appropriately tight for a trivial list endpoint. However, the brevity crosses into under-specification: it is a label rather than a sentence, so it is concise but not informative.

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

Completeness2/5

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

There is no output schema, so the description should at minimum hint at what a preset looks like or how the returned identifiers feed into aureon_apply_market_event. Neither is present, and with no annotations the safety and auth profile is also absent. For such a simple tool the bar is low, but the definition still leaves the agent without a usable next step.

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

Parameters4/5

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

The tool takes no parameters, so there is nothing for the description to disambiguate; the baseline of 4 for a 0-parameter schema applies. No parameter information is missing because none exists.

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

Purpose3/5

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

The phrase 'Available market event simulation presets' identifies the resource (presets) and its domain (market event simulation), so an agent can guess this enumerates them. But it is a bare noun fragment with no verb and no differentiation from siblings such as aureon_apply_market_event, which consumes exactly these presets. Purpose is inferable rather than stated.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no mention of the obvious companion tool aureon_apply_market_event, which is presumably why an agent would fetch these presets in the first place. The agent is left to infer the workflow entirely from the name.

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

aureon_list_objectivesB

List all Financial Compass Objectives

NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It does not disclose whether authentication is required, whether the list is paginated or bounded, or what the return shape looks like — all meaningful gaps for a tool with zero structured coverage.

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?

A single short sentence with no filler and the action front-loaded. It is efficient, though arguably under-specified rather than optimally concise.

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

Completeness3/5

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

For a zero-parameter list tool this is minimally adequate, but with no annotations and no output schema the description leaves the agent without any hint about auth requirements, result size, or return shape. It stops at naming the operation and does not round out the picture.

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

Parameters4/5

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

The tool takes no parameters, so there is nothing for the description to disambiguate; the baseline for a zero-parameter tool is 4. Nothing in the description contradicts or mischaracterizes the empty schema.

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

Purpose4/5

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

States a specific verb ('List') and resource ('Financial Compass Objectives'), and the word 'all' implies an unfiltered collection operation. However, it never differentiates itself from the sibling aureon_get_objective or explains what a 'Financial Compass Objective' is, so sibling disambiguation is left to the reader.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no mention of the alternative aureon_get_objective for retrieving a single objective. The agent must infer usage purely from the name.

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

aureon_list_reportsC

Stored financial reports for this wallet

NameRequiredDescriptionDefault

No parameters

TDQS

C2.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the implicit read-only nature of 'stored ... reports'. It says nothing about ordering, pagination, filtering, wallet scoping requirements, or whether reports can be empty.

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?

A single short phrase with zero filler, front-loaded with the resource. It is appropriately sized in form, though the sparseness is an under-specification problem rather than a merit.

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

Completeness2/5

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

For a no-parameter list tool with no output schema and no annotations, the description must at minimum convey what a 'report' contains, how results are ordered or bounded, and how it differs from aureon_get_report. None of that is present, so an agent cannot call this confidently alongside its siblings.

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

Parameters4/5

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

The tool takes zero parameters, so per the baseline there is nothing for the description to disambiguate. The scope phrase 'for this wallet' is the only parameter-like context and the implicit wallet binding is at least hinted at.

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

Purpose2/5

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

The description is a bare noun phrase, 'Stored financial reports for this wallet', with no verb indicating the operation (list vs. get vs. prepare). It essentially restates the tool name aureon_list_reports with a scope qualifier, and gives no signal to distinguish it from aureon_get_report, aureon_prepare_report, or aureon_confirm_report.

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

Usage Guidelines2/5

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

There is no statement of when to call this tool, no prerequisites, and no mention of alternatives. With four sibling report tools plus aureon_list_timeline and aureon_list_decisions, the absence of any routing guidance leaves the agent to guess.

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

aureon_list_settlementsA

Lists settlement records for the authenticated wallet. May include orphans (observed vault Rebalanced events not yet bound to an execution). Optional objectiveId filter. Read status and executionId before claiming proof.

NameRequiredDescriptionDefault
objectiveIdNoFilter by objective id

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries full burden and does disclose a genuinely non-obvious trait: results 'May include orphans (observed vault Rebalanced events not yet bound to an execution)'. However it omits read-only confirmation, pagination, and permission requirements, leaving key behavioral context unstated.

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

Conciseness5/5

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

Three tight sentences, front-loaded with the core purpose followed by the orphan caveat and the usage tip. No sentence is wasted.

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?

Complete for a read-only list tool with full parameter coverage and no output schema: it covers purpose, filter, and an important result caveat. Only pagination/result-shape details are absent, which is minor here.

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 coverage is 100% on the single objectiveId parameter, so the schema already documents it. The description's 'Optional objectiveId filter' merely reinforces what the schema says without adding syntax or format detail—baseline 3.

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

Purpose4/5

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

States a specific verb and resource ('Lists settlement records') with scope ('for the authenticated wallet'). It clearly distinguishes itself from aureon_get_execution_settlement by being the plural list, but never names that sibling explicitly.

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

Usage Guidelines3/5

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

Provides an actionable tip ('Read status and executionId before claiming proof') and notes the objectiveId filter is optional, but gives no explicit when-to-use vs when-to-use-an-alternative guidance. Usage is implied rather than stated.

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

aureon_list_timelineB

Timeline of events — objective changes, executions, health transitions. Pass before (an event id) and limit to read the next page.

NameRequiredDescriptionDefault
limitNoPage size, 1–500
beforeNoEvent id cursor. Omit for the newest page.
objectiveIdNoFilter by objective ID (omit for all)

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the full behavioral burden. It does disclose the read-only, paginated nature of the tool and the content categories returned, but says nothing about ordering (e.g., newest-first), authentication requirements, or result shape. It adds some context beyond the name but leaves notable gaps.

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?

Two short sentences, front-loaded with what the timeline contains and then the pagination hint. Efficient, though the second sentence overlaps with what the schema already states about 'before' and 'limit'.

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

Completeness3/5

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

For a simple 3-parameter, no-annotation, no-output-schema read tool, the description covers content and pagination adequately but omits ordering and the shape of an event record. It is viable but leaves the agent inferring return structure.

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 all three parameters (limit, before, objectiveId) are already documented in the schema. The description's pagination note largely restates the 'before' cursor semantics without adding format or edge-case detail, so the baseline 3 applies.

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

Purpose4/5

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

The description gives a clear verb+resource ('Timeline of events') and enumerates what populates it (objective changes, executions, health transitions), so an agent knows what it returns. It does not, however, distinguish this from overlapping siblings such as aureon_list_executions, aureon_list_decisions, or aureon_get_audit_trail.

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

Usage Guidelines3/5

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

The only usage instruction is pagination mechanics ('Pass before ... and limit to read the next page'), which is implied usage rather than selection guidance. There is no statement of when to prefer this tool over the executions/decisions/audit-trail siblings, and no exclusions.

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

aureon_logoutA

Revoke the current Bearer session and clear the in-process token

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses two concrete effects (session revocation plus clearing the in-process token), which is genuine behavioral detail, but omits whether the call is idempotent, what happens if the token is already invalid, and what errors may surface.

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

Conciseness5/5

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

A single front-loaded sentence with no filler; the primary action (revoke) leads and the side effect (clear in-process token) follows. Every word earns its place.

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

Completeness3/5

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

For a no-parameter, no-output-schema tool the description covers the core action adequately, but with zero annotations it should say more about post-call state (e.g., subsequent authenticated calls will fail, token no longer usable) to be fully actionable.

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

Parameters4/5

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

Zero parameters, so there are no parameter semantics to explain; the baseline of 4 applies. Nothing is misrepresented or omitted at the parameter level.

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

Purpose4/5

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

States a specific verb (Revoke) and resource (current Bearer session) plus a secondary effect (clear in-process token). The 'Bearer session' framing distinguishes it from aureon_revoke_api_key, though the description doesn't explicitly name that sibling.

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

Usage Guidelines3/5

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

Logout usage is implied — an agent can infer it should be called to end a session — but there is no explicit when-to-use statement, no note on prerequisites (must be authenticated), and no pointer to sibling auth tools like aureon_dev_login for re-authenticating.

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

aureon_meA

Return the wallet bound to the issued API key or current Bearer session

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, but it does disclose a real behavioral trait: identity is derived from either an issued API key or the current Bearer session. It does not say what happens when neither is present (error vs. empty), whether the call is read-only, or whether it has side effects on the session.

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

Conciseness5/5

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

A single front-loaded sentence with no filler; the identifying condition (API key vs. Bearer session) comes immediately. Nothing could be removed without losing meaning.

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

Completeness3/5

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

There is no output schema and no annotations, so the description must carry the return contract; 'the wallet' is left ambiguous (address string vs. wallet object vs. portfolio summary). For a zero-parameter identity tool this is close to adequate, but an agent cannot predict the response shape or the unauthenticated case.

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

Parameters4/5

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

The tool takes zero parameters, so the schema provides nothing to interpret and the baseline is 4. No parameter semantics are needed beyond the auth-context note already given.

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

Purpose4/5

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

States a specific verb ('Return') and resource ('the wallet bound to the issued API key or current Bearer session'), which is meaningfully more specific than a tautology. It implicitly distinguishes itself from identity-adjacent siblings like aureon_verify_wallet and aureon_get_auth_nonce, but never names or contrasts them explicitly.

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

Usage Guidelines3/5

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

Usage is only implied: an agent can infer this resolves 'who am I' for the current session. There is no explicit when-to-use, no prerequisites, and no guidance on choosing it over aureon_verify_wallet, aureon_get_auth_nonce, or aureon_dev_login.

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

aureon_pause_objectiveC

Pause continuous evaluation for an objective

NameRequiredDescriptionDefault
reasonNoOptional note stored on the decision record
objectiveIdYesObjective ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It does not say whether pausing is reversible, what happens to in-flight evaluations, whether the decision is recorded (the 'reason' param hints at a decision record), or what authorization is required for this mutation.

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?

A single front-loaded sentence with zero waste, though it is terse to the point of under-specification rather than optimally concise.

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

Completeness2/5

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

For a mutation tool with no annotations and no output schema, the description is too thin. It omits reversibility, side effects, and the fact that a decision record is created, leaving the agent without enough context to invoke it confidently.

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 both parameters (objectiveId, reason) are already documented in the schema. The description adds no further parameter meaning; baseline 3 applies.

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

Purpose4/5

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

States a specific verb (pause) and resource (continuous evaluation for an objective), which clearly separates it from aureon_resume_objective by antonym. It doesn't explicitly name the sibling or clarify what 'continuous evaluation' encompasses, but the core action is unambiguous.

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

Usage Guidelines2/5

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

No when-to-use, when-not-to-use, or prerequisite information. The pairing with aureon_resume_objective is inferable only from the tool name, not stated in the description.

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

aureon_pingA

Health probe — confirms API connectivity

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It conveys the essential trait  a non-mutating connectivity check  but says nothing about auth requirements, rate limits, or what a failed probe looks like. For a zero-parameter probe the burden is small, so this is adequate but thin.

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

Conciseness5/5

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

A single front-loaded sentence with zero filler; the purpose is stated before the elaboration. Nothing redundant or padded.

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

Completeness3/5

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

With no output schema, the description should ideally indicate what a successful probe returns (status payload, version, latency). It only asserts that connectivity is confirmed, leaving the response shape unspecified. Otherwise complete for a trivial probe.

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

Parameters4/5

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

The tool takes no parameters, so no parameter semantics are needed; the baseline for a zero-parameter tool is 4. The description correctly implies no input is required.

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

Purpose4/5

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

States a specific verb-and-resource (health probe / confirms API connectivity), so an agent knows exactly what it validates. It does not differentiate itself from the sibling aureon_get_health, which is a plausible overlap risk.

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

Usage Guidelines3/5

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

The phrase health probe implies the usage context (liveness/connectivity check) without spelling out when to prefer it over aureon_get_health, aureon_registry_status, or aureon_get_vault_status. No explicit when-to-use or when-not-to-use guidance is given.

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

aureon_prepare_objective_registryA

Prepares wallet-signed calldata to register an objective on ObjectiveRegistry. The host wallet must broadcast the tx, then call confirm via SDK.

NameRequiredDescriptionDefault
objectiveIdYesObjective id to register on-chain

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are present, so the description carries the full burden. It usefully discloses the two-phase nature (this tool only prepares signed calldata; the host wallet must broadcast), which is meaningful behavioral context. But it omits auth/permission requirements, idempotency, reuse/expiry of prepared calldata, and failure behavior.

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

Conciseness5/5

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

Two short sentences, zero filler, and the core action ('Prepares wallet-signed calldata') is front-loaded before the follow-up step. Every sentence earns its place.

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

Completeness3/5

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

With no annotations and no output schema, the description should do more: it never describes what the prepared calldata payload contains or how to consume it. It does cover the crucial two-step flow, but leaves gaps for a mutation-oriented prepare tool.

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?

There is a single parameter with 100% schema description coverage, so the schema already documents 'objectiveId'. The description adds no format, constraint, or validity detail beyond what the schema provides, matching the baseline 3 for high coverage.

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

Purpose4/5

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

States a specific verb ('Prepares wallet-signed calldata') and resource ('register an objective on ObjectiveRegistry'), so the agent knows this is a prepare step, not the registration itself. It hints at the confirm sibling via 'then call confirm via SDK' but never names aureon_confirm_objective_registry explicitly.

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

Usage Guidelines3/5

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

It lays out the follow-up workflow (host wallet broadcasts the tx, then confirm via SDK), which is real usage context. However, it gives no explicit when-to-use vs alternatives or prerequisites (e.g. whether the objective must exist, or when to prefer this over other prepare tools).

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

aureon_prepare_reportA

Build a financial report from stored rows and return the message to sign. Does not broadcast.

NameRequiredDescriptionDefault
objectiveIdYesObjective id

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It usefully discloses a real behavioral trait — no broadcast occurs, so nothing irreversible happens — and that a signing message is returned. But it omits auth/permission requirements and what state (if any) is mutated on the objective.

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

Conciseness5/5

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

Two tight sentences with zero waste; the core action is front-loaded and the crucial non-broadcast caveat follows immediately.

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 no output schema, the description correctly states the return ('the message to sign') and confirms the non-broadcast semantics. For a one-parameter prepare step this is nearly complete, missing only prerequisite/auth context.

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 coverage is 100% for the single objectiveId parameter, and its schema description ('Objective id') is minimal. The description adds no syntax, format, or sourcing detail for the id, so baseline 3 applies.

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

Purpose4/5

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

States a specific verb ('Build') and resource ('financial report') and adds the scope 'from stored rows'. Implies the prepare/confirm two-step pattern via 'return the message to sign', though it never names the sibling aureon_confirm_report outright.

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

Usage Guidelines3/5

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

'Does not broadcast' implies the caller must proceed to sign and confirm, so the workflow role is inferable. However, there is no explicit when-to-use vs aureon_confirm_report/aureon_list_reports guidance, leaving the agent to infer the sequencing.

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

aureon_prepare_vault_depositA

Prepare unsigned vault deposit steps. Returns calldata only — the host must sign/broadcast with a wallet private key. API key alone cannot move funds.

NameRequiredDescriptionDefault
amountYesHuman-readable amount
symbolYesDeposit symbol (ETH or allowlisted ERC-20)

TDQS

A3.8/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden, and it does well: it discloses that only calldata is returned, that signing/broadcasting is the caller's responsibility, and that an API key alone cannot move funds — a key safety boundary. It leaves out failure modes, validation behavior, and whether any server-side state is created, which keeps it short of a 5.

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

Conciseness5/5

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

Three short sentences, zero filler, with the core action front-loaded and the critical signing caveat immediately after. Every sentence carries distinct information.

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 no output schema and no annotations, the description usefully covers both what is produced (calldata) and the required follow-up (external signing), which is the essential context for a prepare-type tool. It is only slightly thin on preconditions such as authentication requirements or error conditions.

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 both parameters (symbol, amount) are already documented in the schema, including the ETH/allowlisted-ERC-20 constraint. The description adds no format or constraint detail beyond that, so the baseline 3 is appropriate.

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

Purpose4/5

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

States a specific verb+resource: 'Prepare unsigned vault deposit steps.' Combined with 'Returns calldata only,' an agent immediately knows this builds a deposit transaction rather than executing one. It does not explicitly contrast with the sibling aureon_prepare_vault_withdraw, but the deposit framing makes the distinction reasonably clear.

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

Usage Guidelines3/5

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

The description implies its place in a workflow ('the host must sign/broadcast with a wallet private key'), which tells the agent this is a pre-signing step. However, it never states when to use this versus alternatives like aureon_prepare_vault_withdraw, nor any prerequisite conditions beyond the signing note.

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

aureon_prepare_vault_withdrawA

Prepare unsigned vault withdraw steps. Returns calldata only — host must sign/broadcast. API key alone cannot move funds.

NameRequiredDescriptionDefault
amountYesHuman-readable amount
symbolNoWithdraw symbol (default WETH; not ETH)

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it states the tool produces unsigned calldata only, that the host must sign/broadcast, and that an API key alone cannot move funds. That discloses non-mutating behavior and a security boundary, though it omits required permissions and any chain/network context.

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

Conciseness5/5

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

Three tight clauses, front-loaded with the operation and followed by the two critical constraints. Zero filler.

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?

For a two-parameter prepare tool with no output schema, the description covers the key contract: calldata-only output, host-side signing, no fund movement. It leaves minor gaps on required auth scopes and what to do with the returned calldata, but nothing essential 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 coverage is 100%, so the schema already documents both amount and symbol. The description adds no syntax, formatting, or default details beyond the schema's note that symbol defaults to WETH, so baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource: 'Prepare unsigned vault withdraw steps.' An agent can tell the action apart from its deposit sibling, though the description never names aureon_prepare_vault_deposit or any alternative explicitly.

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

Usage Guidelines3/5

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

Usage is implied by the verb ('prepare... withdraw'), but there is no statement of when to prefer this over alternatives, no prerequisites, and no mention of a confirm/broadcast follow-up step an agent would need to chain after this prepares calldata.

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

aureon_propose_restorationC

Unsigned restoration from vault balances for the sleeve cap and the stable reserve floor. Returns to, data, and value for each step. Does not sign or broadcast. Both objectives must be manual. A full return to the sleeve cap is not the profit slice.

NameRequiredDescriptionDefault
sleeveObjectiveIdYesrisk_ceiling objective id with weightBound ceiling
reserveObjectiveIdYesstable_allocation objective id with weightBound floor

TDQS

C2.7/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden and does disclose meaningful traits: it is unsigned, does not sign or broadcast, requires both objectives to be 'manual', and returns 'to, data, and value for each step'. It omits auth requirements, whether any state is persisted, and any rate/limit behavior, so it is partial rather than complete.

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

Conciseness3/5

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

The description is short and front-loads the core purpose, and most sentences carry information. The closing sentence about the profit slice is confusing enough that it weakens rather than earns its place, pulling this below a clean 4.

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

Completeness2/5

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

With no annotations and no output schema, the description must supply the behavioral and safety context itself. It gives a partial return shape and a precondition but omits authorization requirements and the relationship to the confirm step, which is critical for a financial restoration flow.

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 coverage is 100%, so both parameters are already documented, making 3 the baseline. The description adds one semantic constraint ('Both objectives must be manual') that is not in the schema, but it does not clarify the weightBound ceiling/floor relationship beyond what the schema states.

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

Purpose3/5

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

The verb+resource ('Unsigned restoration from vault balances') is identifiable, and 'Does not sign or broadcast' implicitly separates it from the confirm_restoration sibling. However, 'sleeve cap' and 'stable reserve floor' are opaque domain jargon that the agent cannot decode, and the tool is never distinguished by name from aureon_get_restore_plan or aureon_confirm_restoration.

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

Usage Guidelines2/5

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

There is a precondition ('Both objectives must be manual') but no when-to-use, when-not-to-use, or named alternatives among the many restoration siblings (get_restore_plan, confirm_restoration, restore_objective). The final sentence ('A full return to the sleeve cap is not the profit slice') hints at a constraint but is too cryptic to guide selection.

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

aureon_refresh_watchdogB

Refresh portfolio marks from live data and re-evaluate objectives

NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden and does not meet it. 'Refresh ... from live data' implies an external fetch and a state mutation, but the description never says whether portfolio/objective state is overwritten, whether this is idempotent, whether it is costly or rate-limited, or what permissions it requires.

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?

A single front-loaded sentence with no filler, and the two effects (refresh marks, re-evaluate objectives) are stated in a logical order. It is efficient, though arguably too terse for the behavioral weight it must carry.

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

Completeness2/5

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

No annotations, no output schema, and no description of return values or side effects leave the agent unable to predict the result of a call that appears to mutate live portfolio state. For a zero-parameter, presumably state-changing maintenance tool, the description is incomplete.

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

Parameters4/5

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

The schema declares zero parameters, so there is nothing for the description to disambiguate; the baseline of 4 applies. No parameter information is missing.

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

Purpose4/5

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

The description pairs a specific verb ('refresh') with concrete resources ('portfolio marks', 'objectives'), so an agent can tell what the call accomplishes. It does not, however, differentiate itself from close siblings such as aureon_sync_portfolio or aureon_apply_market_event, which plausibly touch the same state.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus aureon_sync_portfolio, aureon_run_portfolio_watch_demo, or the objective-listing tools. The agent must guess whether this is a periodic maintenance call or a prerequisite for other operations.

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

aureon_registry_statusA

Returns ObjectiveRegistry deployment status for the active network (contract address when configured).

NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose one useful behavioral fact: the contract address is only present 'when configured', implying an optional/absent value. It does not state whether authentication is required, whether it errors on an unconfigured network, or what the status field contains.

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

Conciseness5/5

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

A single sentence with zero filler, front-loading the action and resource before the qualifier about the active network. Nothing needs trimming and nothing essential is buried.

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?

For a zero-parameter, read-only status tool with no output schema, the description is nearly sufficient, naming the main returned artifact (contract address). It stops short of describing the other status values or clarifying the relationship to the registry-read sibling.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing further to document and the baseline is 4. The description correctly avoids inventing parameter discussion.

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

Purpose4/5

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

The description gives a specific verb ('Returns'), a specific resource ('ObjectiveRegistry deployment status'), and a scope ('for the active network'), so the operation is unambiguous. However, it never distinguishes itself from the closely named sibling aureon_get_objective_registry, leaving the agent to guess which registry-related read to pick.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance, and no mention of alternatives despite siblings like aureon_get_objective_registry, aureon_prepare_objective_registry, and aureon_confirm_objective_registry. The agent must infer the usage context entirely.

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

aureon_restore_objectiveB

Run restorative execution for an objective outside policy. Not always vault-backed: read settlement and verifiedOnChain. staged is never on-chain. vault without verifiedOnChain is submitted, not proven. Returns ExecutionReceipt.

NameRequiredDescriptionDefault
objectiveIdYesThe objective ID

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose non-obvious behavioral traits: the operation is not always vault-backed, 'staged is never on-chain', and 'vault without verifiedOnChain is submitted, not proven', plus that it returns an ExecutionReceipt. However it omits permission/auth requirements, reversibility, and what side effects occur on-chain, so it is informative but incomplete.

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?

The definition is short and front-loads the purpose before the settlement semantics. It is somewhat telegraphic and jargon-heavy ('staged', 'submitted, not proven'), which slightly hurts readability, but no sentence is wasted.

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

Completeness3/5

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

For an execution tool with no annotations and no output schema, the description should explain the return and side effects more fully. It names ExecutionReceipt but does not describe its contents, and it leaves permission and on-chain effect details unstated.

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?

There is a single parameter with 100% schema description coverage, so the schema already documents objectiveId. The description adds no format, ID source, or constraint information beyond what the schema provides, making the baseline 3 appropriate.

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

Purpose4/5

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

The description states a specific verb+resource ('Run restorative execution for an objective') and adds a meaningful scope qualifier ('outside policy'). It is clear what the tool does, but it does not explicitly distinguish itself from close siblings such as aureon_run_execution, aureon_confirm_restoration, or aureon_propose_restoration.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use guidance, and no routing to the sibling restoration tools (propose/confirm/get_restore_plan) that an agent would need to sequence correctly. The 'outside policy' qualifier implies a context but never states the precondition for choosing this tool over aureon_run_execution.

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

aureon_resume_objectiveB

Resume evaluation for a paused objective

NameRequiredDescriptionDefault
reasonNoOptional note stored on the decision record
objectiveIdYesObjective ID

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Resume evaluation' implies a state mutation, but the description says nothing about what changes, whether it is reversible, what permissions are needed, or how it interacts with the paired pause tool.

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?

A single front-loaded sentence with zero filler. It is efficient, though the extreme brevity leaves little room to earn additional value.

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

Completeness2/5

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

For a state-mutating tool with no annotations and no output schema, the description omits what happens on success, whether the resume is reversible, and how it relates to the pause/restore siblings. An agent would need to guess at the surrounding workflow.

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 both parameters are documented in the schema; baseline is 3. The description adds only context that the objectiveId should reference a paused objective, no syntax or format detail beyond that.

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

Purpose4/5

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

States a specific verb (resume) and resource (objective) plus the precondition state (paused). It is clearly understandable on its own, though it does not differentiate itself from nearby siblings such as aureon_pause_objective, aureon_restore_objective, or aureon_update_objective.

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

Usage Guidelines3/5

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

The phrase 'for a paused objective' implies the trigger condition, so usage is inferable. However, there is no explicit guidance on when to choose this over aureon_restore_objective or aureon_update_objective, and no exclusions or prerequisites are stated.

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

aureon_revoke_api_keyC

Revoke (delete) an SDK API key

NameRequiredDescriptionDefault
keyIdYesAPI key ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. The parenthetical 'delete' usefully signals this is destructive rather than a reversible disable, but it says nothing about irreversibility, required auth/permissions, or what happens to the key afterward.

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?

Six words, front-loaded with the verb and resource, with zero filler. It is optimally scannable, though the extreme brevity is arguably under-specification rather than genuine conciseness.

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

Completeness2/5

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

For a destructive, unannotated, single-parameter tool with no output schema, the description is too thin. It omits whether revocation is permanent, whether it can be undone, and any warning that the operation removes SDK access.

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?

Single parameter with 100% schema description coverage; the schema already documents keyId as 'API key ID'. The description adds no format or sourcing detail beyond the schema, which is the expected baseline when the schema does the work.

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

Purpose4/5

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

States a specific verb (revoke/delete) and resource (SDK API key), and the parenthetical clarifies the operation's destructive nature. It is clearly distinguishable from aureon_create_api_key and aureon_list_api_keys, though it doesn't explicitly name the nearest sibling, aureon_toggle_api_key.

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

Usage Guidelines2/5

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

No guidance on when to revoke versus when to use aureon_toggle_api_key (which presumably disables rather than deletes), and no prerequisites or confirmation context. The agent must infer the use case from the name alone.

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

aureon_run_drift_restore_demoA

Run drift → detection → restore demo (seed book, break rule, manual restore)

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It does disclose real side effects by naming the sequence (seeds state, deliberately breaks a rule, then restores it), which tells the agent this mutates data rather than merely observes. However, it says nothing about reversibility, whether it touches shared/production state, auth requirements, or idempotency — all material for a demo that writes data.

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

Conciseness5/5

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

A single line with zero waste, front-loading the verb and the demo name before the step detail. The arrow notation compresses the sequence efficiently.

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

Completeness3/5

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

For a zero-param, zero-annotation tool with no output schema, the description covers what the tool does operationally but omits what the agent gets back and any safety/auth framing. It is adequate to trigger the call, but thin for understanding consequences.

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

Parameters4/5

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

The tool takes zero parameters, so there is no parameter semantics for the description to add. Baseline 4 applies; the parenthetical steps describe internal behavior rather than inputs.

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

Purpose4/5

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

Specific verb ('Run') plus the named demo and its three internal steps (seed book, break rule, manual restore) make the action unambiguous. It is implicitly distinguishable from the 'get_*_flow' siblings, but the description never names aureon_get_drift_restore_flow, so the contrast is left to the reader.

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

Usage Guidelines3/5

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

Usage is only implied by the word 'demo' — an agent can infer this is a scripted end-to-end demo rather than a production operation. There is no explicit statement of when to prefer this over aureon_get_drift_restore_flow (which presumably describes the same flow without executing it) and no prerequisites.

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

aureon_run_executionC

Run restorative execution for an objective outside policy. Read receipt.settlement and receipt.verifiedOnChain — staged = never on-chain; vault + verifiedOnChain = chain-observed; vault without verified = submitted but not yet observed.

NameRequiredDescriptionDefault
objectiveIdYesThe objective ID

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It does disclose valuable state semantics (staged = never on-chain; vault + verifiedOnChain = chain-observed; vault without verified = submitted but not yet observed), which is genuinely useful given there is no output schema. However, it omits whether this is a mutation, what authorization or policy constraints apply, and any side-effect or idempotency behavior.

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?

Two sentences, front-loaded with the action statement. The second sentence is dense but earns its place by explaining receipt fields that would otherwise be undocumented, though the phrasing is somewhat telegraphic.

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

Completeness3/5

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

Given no annotations and no output schema, the description partially compensates by explaining receipt state semantics. It remains incomplete on permissions, mutation semantics, and the rest of the return shape, so an agent has enough to call it but not full confidence about effects.

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?

There is a single parameter (objectiveId) with 100% schema description coverage, so the schema already documents it. The description adds no syntax, format, or sourcing detail beyond the schema, making the baseline 3 appropriate.

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

Purpose3/5

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

The description states a verb and resource ("Run restorative execution for an objective"), but the qualifiers "restorative" and "outside policy" are ambiguous jargon that leave the actual operation unclear. It does not differentiate itself from close siblings like aureon_restore_objective, aureon_run_drift_restore_demo, or aureon_confirm_restoration, so an agent cannot reliably distinguish its role.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use guidance, and no alternative sibling is named. The only context provided concerns interpreting the receipt afterwards, not the conditions that select this tool over the many related restoration/execution siblings.

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

aureon_run_full_aureon_loop_demoC

Run Content Arc full AUREON loop (intent → plan check → restore → receipt verification)

NameRequiredDescriptionDefault
briefNoUser wording — default: Keep about 20% in stable assets — grow the book without abandoning the plan.

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not say whether this executes real state changes, that it is a simulated/demo path (only implied by 'demo' in the name), whether it requires authentication, whether it is idempotent, or what side effects the multi-stage loop produces. For a tool that runs a full intent-to-receipt pipeline, this is a substantial gap.

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?

A single tightly-packed sentence with no filler, and the stage sequence is front-loaded where it is most useful. It is efficient, though the dense jargon slightly reduces readability.

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

Completeness3/5

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

With no output schema and no annotations, the description must carry more weight than it does. It gives the stage flow, which is useful orientation, but omits return shape, side effects, and auth expectations for a pipeline-style demo runner. Adequate but with clear gaps.

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?

There is a single optional parameter (brief) and the schema documents it at 100% coverage, so the schema already carries the semantics. The description adds nothing about the brief or its default wording, so it neither compensates nor detracts — baseline 3 applies.

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

Purpose3/5

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

States a specific verb (Run) and a named resource (full AUREON loop), and the parenthetical enumerates the stages intent → plan check → restore → receipt verification, which gives a concrete mental model. However, 'Content Arc' and 'AUREON loop' are internal jargon, and the description never distinguishes this demo runner from the many sibling runners (run_drift_restore_demo, run_receipt_verification_demo) or from the paired aureon_get_full_aureon_loop_flow reader.

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

Usage Guidelines2/5

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

There is no statement of when to use this versus alternatives. The sibling aureon_get_full_aureon_loop_flow appears to be the read-only counterpart, but the description gives no cue about which to pick. No prerequisites or conditions are stated.

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

aureon_run_portfolio_watch_demoC

Run portfolio watch demo (brief → Automatic objective → while-away event → return briefing)

NameRequiredDescriptionDefault
hostNoAgent host label for briefing (cursor | claude | mcp)
briefNoUser wording — default: Watch my portfolio while I'm away — keep about 20% in stable assets.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden, and it discloses almost nothing behavioral: it does not say whether the demo mutates real portfolio state or is a sandboxed simulation, whether it is idempotent, how long the multi-stage run takes, or what triggers the 'while-away event'. The pipeline outline is structural, not behavioral.

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?

A single front-loaded sentence with zero filler, and the parenthetical efficiently encodes the stage sequence. It is tight, though the arrow notation is terse enough that a reader may need the schema to decode 'Automatic objective'.

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

Completeness3/5

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

No output schema exists, so the description ideally would say what the 'return briefing' contains, and no annotations exist to cover the mutation/safety profile. The stage outline is a real aid for a complex multi-step tool, but key unknowns (side effects, return shape, relationship to the get_*_flow sibling) remain 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% for both parameters, so the enum host label and the 'brief' wording default are already fully documented. The description only echoes 'brief' in the pipeline arrow; it adds no format, length, or override semantics beyond the schema, so baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource ('Run portfolio watch demo') and the parenthetical sketches the pipeline stages (brief → automatic objective → while-away event → return briefing). However, it never distinguishes itself from the read-side sibling aureon_get_portfolio_watch_flow or the other run_*_demo tools, so the agent must infer the execute-vs-describe split from the name alone.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no mention of alternatives. The word 'demo' hints this is a scenario walkthrough rather than a production path, but the description never says when an agent should pick it over aureon_get_portfolio_watch_flow or aureon_run_full_aureon_loop_demo.

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

aureon_run_receipt_verification_demoB

Run receipt → verification demo (restore + validate receipt + settlement lookup)

NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It hints that the run involves a 'restore', but never states whether that mutates persistent state, whether it is idempotent or reversible, whether auth is required, or what 'demo' implies about side effects (ephemeral vs real). For a tool that orchestrates a restore plus settlement lookup, these are material omissions.

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?

A single line with the action front-loaded and the internal steps parenthesized – no wasted words. The arrow notation ('receipt → verification') is slightly cryptic but the parenthetical resolves it.

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

Completeness3/5

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

For a zero-param tool with no output schema and no annotations, the description covers what the demo does in three steps, which is the minimum viable. It is incomplete on the two things an agent most needs: side effects/mutation risk and what comes back after running it.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to clarify beyond the schema, which is empty at 100% coverage. Baseline 4 applies; no param-specific detail is expected or missing.

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

Purpose4/5

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

The description names a specific action ('Run ... demo') and unpacks what the demo actually does: restore, validate receipt, and settlement lookup. That enumeration distinguishes it from the bare name and from sibling get_*_flow tools. It stops short of explicitly contrasting itself with aureon_get_receipt_verification_flow or the other run_*_demo runners.

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

Usage Guidelines2/5

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

There is no guidance on when to run this demo versus the sibling aureon_get_receipt_verification_flow or aureon_validate_receipt, nor any note on prerequisites, environment, or whether it should be run against production data. The agent is left to infer usage from the name alone.

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

aureon_set_portfolioB

Replace the wallet capital book with provided positions

NameRequiredDescriptionDefault
positionsYesPortfolio position rows

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries full behavioral burden. It usefully discloses that the operation is destructive in nature ("Replace ... capital book"), which signals existing positions are overwritten. However it says nothing about auth requirements, whether the replacement is atomic/persistent, what happens to linked objectives, or the response shape.

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

Conciseness5/5

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

A single, front-loaded sentence with zero filler; the verb and resource lead immediately. Nothing wasteful is present.

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

Completeness3/5

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

For a low-complexity one-parameter mutation tool with no annotations and no output schema, the description covers the core action but omits the behavioral context an agent needs (destructive scope, persistence, error conditions). It is minimally adequate rather than complete.

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 there is a single top-level parameter, so the schema already documents positions and its nested fields. The description adds only "provided positions," which is the baseline. A 3 is appropriate when the schema does the heavy lifting.

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

Purpose4/5

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

The description gives a specific verb ("Replace") and resource ("wallet capital book") plus the input ("provided positions"). The word "Replace" implicitly distinguishes it from sibling aureon_clear_portfolio (clears) and aureon_sync_portfolio (syncs), though it never names those alternatives explicitly.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus aureon_get_portfolio, aureon_clear_portfolio, or aureon_sync_portfolio, nor any prerequisite or ordering guidance. The agent must infer usage entirely from the name and the sibling list.

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

aureon_sync_portfolioB

Replace the capital book with on-chain balances for the session wallet

NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, but the word 'Replace' usefully discloses a destructive overwrite of the whole capital book. It stops short of stating auth requirements, reversibility, or failure behavior for a financial mutation.

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

Conciseness5/5

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

A single front-loaded sentence with no filler; the destructive action and its source are stated immediately.

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

Completeness2/5

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

For a destructive financial mutation with no annotations and no output schema, the description is too thin: it omits prerequisites, what data is discarded, and what a successful/unsuccessful sync looks like.

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

Parameters4/5

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

The tool takes zero parameters and schema coverage is effectively 100%, so the baseline of 4 applies. Nothing in the description is needed to disambiguate parameters.

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

Purpose4/5

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

The description names a specific verb ('Replace'), a target resource ('the capital book'), and a source ('on-chain balances for the session wallet'). This clearly distinguishes it from read-oriented siblings like aureon_get_portfolio, though it does not explicitly name set_portfolio/clear_portfolio as alternatives.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this versus aureon_set_portfolio or aureon_clear_portfolio, nor any stated prerequisites (e.g., wallet must be verified). The 'session wallet' phrasing weakly implies a logged-in context but nothing is spelled out.

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

aureon_toggle_api_keyC

Toggle active/paused status of an SDK API key

NameRequiredDescriptionDefault
keyIdYesAPI key ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It never discloses the critical caveat that a toggle is state-dependent (non-idempotent: calling it twice on the same key returns the key to its original state), nor auth/permission requirements, nor what happens when the key is already in the target state.

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?

A single front-loaded sentence with zero filler, which is appropriate for a one-parameter operation. It reads as a fragment without a terminating period, but nothing is wasted.

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

Completeness3/5

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

For a trivial one-param toggle with no output schema the description is barely adequate, but because annotations are absent the state-dependent/non-idempotent nature of a toggle is the one thing an agent most needs and it 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% (keyId is documented in-schema) and there is only one parameter, so the baseline of 3 applies. The description adds no format, identifier-shape, or source hints beyond what the schema already provides.

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

Purpose4/5

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

States a specific verb (toggle) and resource (SDK API key) plus the two states it flips between (active/paused), which cleanly separates it from aureon_create_api_key, aureon_list_api_keys and aureon_revoke_api_key. It stops short of naming those siblings, but the operation is unambiguous.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no statement of prerequisites, and no contrast against the adjacent lifecycle tools (revoke vs toggle). The agent must infer that this is the reversible pause path rather than the destructive revoke.

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

aureon_update_objectiveA

Partial update (name, weight, tolerance, priority). Cannot change targetSymbol or automationMode — recreate instead.

NameRequiredDescriptionDefault
nameNo
reasonNoOptional note stored on the decision record
priorityNo
toleranceNo
objectiveIdYesObjective ID
maxRiskScoreNo
targetWeightNo
reinvestRatioNo

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose a valuable immutability constraint (identity/automation fields are fixed), but says nothing about permissions/auth, whether omitted fields are left untouched, validation failures, or side effects such as triggering rebalancing or executions.

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

Conciseness5/5

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

Two tight clauses with no filler; the mutable-field list is front-loaded and the constraint follows. Every phrase carries information an agent needs.

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

Completeness2/5

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

For an 8-parameter mutation tool with zero annotations, no output schema, and 25% schema coverage, the description is too thin: half the parameters are undocumented in either place, and there is no mention of return behavior or side effects. It covers the immutability rule but leaves the agent under-informed.

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 only 25% (2 of 8), so the description must compensate. It names four mutable fields (name, tolerance, priority, and loosely "weight" for targetWeight) but omits maxRiskScore, reinvestRatio, reason, and objectiveId, and the "weight" naming is ambiguous against the schema's targetWeight.

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

Purpose4/5

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

States a specific verb+resource ("Partial update" of an objective) and enumerates the mutable fields, which lets an agent distinguish it from aureon_create_objective, aureon_get_objective, and aureon_pause_objective. It is clear without being a tautology, though it does not explicitly name a sibling for contrast.

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?

Provides an explicit when-not and alternative: targetSymbol and automationMode cannot be changed, so the agent should "recreate instead." That is real routing guidance. It stops short of stating prerequisites (e.g. objective must exist, must not be paused) or when to prefer this over other objective-mutating siblings.

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

aureon_validate_receiptA

Validates an execution receipt locally (schema + settlement labels). No API call. Returns { valid, issues }. Do not trust or summarize a receipt as on-chain when validation fails.

NameRequiredDescriptionDefault
receiptYesExecutionReceipt JSON from restore, listExecutions, or API

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does well: it states the operation is local with 'No API call,' specifies the return shape '{ valid, issues },' and gives an important trust warning about failed validation. It does not cover auth requirements, rate limits, or side effects, but for a local validator this is solid disclosure.

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

Conciseness5/5

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

The description is three short sentences, front-loaded with the core purpose. Every sentence earns its place: purpose, no-API clarification, return shape, and a critical warning. No redundant or filler content.

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 simple one-parameter validation tool with no output schema, the description provides enough context: what it does, that it is local, the return shape, and a key trust condition. No essential information is missing for an agent to call it correctly.

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 the schema already describes the receipt parameter as 'ExecutionReceipt JSON from restore, listExecutions, or API.' The description adds no additional meaning about the parameter, so the baseline of 3 for full schema coverage is appropriate.

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

Purpose4/5

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

The description states a specific verb and resource: 'Validates an execution receipt locally (schema + settlement labels).' It also clarifies the scope ('locally') and that no API call is made. However, it does not explicitly differentiate from sibling tools like aureon_get_execution_settlement or the receipt verification demos, so it falls short of a 5.

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

Usage Guidelines3/5

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

Usage is implied: validate a receipt locally when you have one. A caution ('Do not trust or summarize a receipt as on-chain when validation fails') informs post-validation behavior but does not state when to use this tool versus alternatives such as aureon_get_execution_settlement or the demo tools. No explicit when/when-not guidance or alternatives are named.

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

aureon_verify_walletA

Verify a wallet signature and store the Bearer session for later tools in this MCP process

NameRequiredDescriptionDefault
addressYesWallet address
messageYesSigned message from get_auth_nonce
signatureYesWallet signature hex
inviteCodeNoInvite code if required on first login

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses the persistent side effect of storing a Bearer session for subsequent tools, but does not cover failure behavior, session lifetime, or auth requirements.

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

Conciseness5/5

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

A single sentence that is front-loaded with the core action and side effect, with no wasted words.

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

Completeness3/5

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

For an auth-primitive tool with no output schema, the description conveys the key session-storage behavior but omits failure semantics and the prerequisite relationship with aureon_get_auth_nonce, leaving some operational context to the schema.

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. The description adds no parameter-level detail beyond the schema, making a baseline 3 appropriate.

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 states a specific verb ('Verify') and resource ('wallet signature'), plus the side effect of storing a Bearer session. This clearly distinguishes it from sibling auth tools like aureon_get_auth_nonce and aureon_logout.

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

Usage Guidelines3/5

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

It implies usage as an authentication prerequisite by noting the stored session is 'for later tools in this MCP process,' but does not explicitly say when to use it versus alternatives such as aureon_dev_login or what happens if verification fails.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 66 tool updatesv0.1.16
    • First observedaureon_apply_financial_intent
    • First observedaureon_apply_market_event
    • First observedaureon_check_policy
    • First observedaureon_clear_portfolio
    • First observedaureon_confirm_execution_settlement
    • First observedaureon_confirm_objective_registry
    • First observedaureon_confirm_report
    • First observedaureon_confirm_restoration
    • First observedaureon_create_api_key
    • First observedaureon_create_objective
    • First observedaureon_dev_login
    • First observedaureon_get_allocation_vs_target
    • First observedaureon_get_audit_trail
    • First observedaureon_get_auth_nonce
    • First observedaureon_get_decision
    • First observedaureon_get_drift_restore_flow
    • First observedaureon_get_execution_settlement
    • First observedaureon_get_full_aureon_loop_flow
    • First observedaureon_get_health
    • First observedaureon_get_health_history
    • First observedaureon_get_objective
    • First observedaureon_get_objective_portfolio_flow
    • First observedaureon_get_objective_registry
    • First observedaureon_get_overview
    • First observedaureon_get_policy_check
    • First observedaureon_get_portfolio
    • First observedaureon_get_portfolio_history
    • First observedaureon_get_portfolio_watch_flow
    • First observedaureon_get_receipt_verification_flow
    • First observedaureon_get_report
    • First observedaureon_get_restore_plan
    • First observedaureon_get_vault
    • First observedaureon_get_vault_status
    • First observedaureon_list_api_keys
    • First observedaureon_list_decisions
    • First observedaureon_list_executions
    • First observedaureon_list_market_presets
    • First observedaureon_list_objectives
    • First observedaureon_list_reports
    • First observedaureon_list_settlements
    • First observedaureon_list_timeline
    • First observedaureon_logout
    • First observedaureon_me
    • First observedaureon_pause_objective
    • First observedaureon_ping
    • First observedaureon_prepare_objective_registry
    • First observedaureon_prepare_report
    • First observedaureon_prepare_vault_deposit
    • First observedaureon_prepare_vault_withdraw
    • First observedaureon_propose_restoration
    • First observedaureon_refresh_watchdog
    • First observedaureon_registry_status
    • First observedaureon_restore_objective
    • First observedaureon_resume_objective
    • First observedaureon_revoke_api_key
    • First observedaureon_run_drift_restore_demo
    • First observedaureon_run_execution
    • First observedaureon_run_full_aureon_loop_demo
    • First observedaureon_run_portfolio_watch_demo
    • First observedaureon_run_receipt_verification_demo
    • First observedaureon_set_portfolio
    • First observedaureon_sync_portfolio
    • First observedaureon_toggle_api_key
    • First observedaureon_update_objective
    • First observedaureon_validate_receipt
    • First observedaureon_verify_wallet

TDQS

C2.8/5.0

Scored across 66 tools

Disambiguation2/5

Several tools have nearly identical descriptions (e.g., aureon_run_execution and aureon_restore_objective both say 'Run restorative execution for an objective outside policy'), and restoration-related tools (get_restore_plan, propose_restoration, run_execution, restore_objective, confirm_restoration) create unclear boundaries. The many run_*_demo vs get_*_flow pairs add further selection confusion, though some distinct resources like objectives, vault, and reports remain separable.

Naming Consistency4/5

Almost all tools use the aureon_ prefix followed by consistent snake_case, and verbs (get, list, create, update, prepare, confirm, run) are used predictably. Minor deviations like aureon_me and aureon_ping are not verb_noun, but overall the pattern is highly readable.

Tool Count1/5

With 66 tools, this server is extremely over-scoped, far beyond the typical 3-15 range for a coherent MCP server. The large surface includes many redundant or niche operations that could be consolidated, making selection unwieldy for an agent.

Completeness4/5

The surface covers extensive lifecycle operations for objectives, executions, settlements, reports, registry, decisions, history, auth, and vault, so few core workflows are missing. Minor gaps exist (e.g., no delete objective or delete/update report), but agents can work around them.

Maintenance

ActivityActive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to operate a self-hosted financial platform over MCP, managing books, expenses, revenues, settlements, payments, accounts, categories, transfers, positions, and cash flow with idempotent and audited writes.
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    Gives MCP clients tools to discover tokenized Stock Tokens, read prices, corporate actions, and portfolio balances, and create route quotes. It prepares policy-checked trade plans with an explainable verdict and unsigned transactions for the user's wallet to sign.
    8
    231 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to discover tokenized Stock Tokens, read reference prices and wallet balances on Robinhood Chain, create quotes, simulate transactions, and build policy-checked trade plans that return an explainable verdict plus unsigned transactions for a wallet to sign.
    MIT