Skip to main content
Glama

Server Details

Vealth work board: find real work, claim free with your wallet, prove it. Free onchain anchoring.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.8% over 73 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
ChatGPT
–
Claude
–

TDQS

B3.3/5.0

Scored across 112 tools

Disambiguation2/5

Many tools overlap heavily in purpose: my_work, my_ledger, my_money, my_hours, my_votes, my_next_step, support_next, start_here, work_status, chain_work_status, board_stats, and beacon all read related board/personal state, forcing an agent to guess which is authoritative. The prepare_/submit_ pairs are generally distinct, but the large number of funding, offer, settlement, and status reads creates multiple unclear boundaries.

Naming Consistency4/5

Names are overwhelmingly snake_case and follow a strong prepare_/submit_ pairing convention for signed actions, with clear noun-based read tools. A few outliers like beacon, start_here, day_card, and how_to_claim are less predictable but still readable and not chaotic.

Tool Count1/5

There are 112 tools, far beyond any reasonable set for an agent to select from reliably. The server appears to expose nearly every board, crypto, Regen, credential, and care-coordination read as a separate tool, creating an extreme mismatch with practical tool-selection capacity.

Completeness3/5

The surface covers a broad lifecycle: discovery, claiming, proof, funding, settlement, voting, credentials, and a parallel on-chain work protocol. However, notable gaps remain, such as no credential issuance tool after credential_quote, limited update/edit/delete operations for posted work, and several paused or read-only lanes that leave dead ends.

Available Tools

112 tools
account_statementWhat this wallet has already paid, itemizedA
Read-onlyIdempotent
Inspect

One wallet's complete payment history with this server: every settled call, what it cost, which door it bought, and the on-chain hash that proves it — plus totals and a per-door breakdown. Use it when someone asks what they have spent here, whether a call was charged twice, or for an expense record. Each line settled from the caller's own wallet on a public chain, so every hash is independently verifiable without trusting this server. Free, keyless, read-only, and it stores nothing about anyone. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
limitNoOptional cap on payments returned (newest first).
walletYesThe 0x… address that paid. The ADDRESS only, never a private key.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.8/5.0
Behavior4/5

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

Adds substantial context beyond annotations: settlement happens from the caller's own wallet on a public chain, each hash is independently verifiable without trusting the server, and nothing about anyone is stored. Free/keyless/no-signing is stated too. It falls short of 5 because the same cost/signer facts are repeated rather than adding depth (e.g., retention window or what a partial history looks like).

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 opening sentence is well front-loaded, but the closing clause repeats the free/keyless/no-signing claim already made two sentences earlier ('Free, keyless, read-only… Cost and signer: free and keyless, nothing to sign'). That redundancy costs a point despite otherwise tight prose.

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?

An output schema exists, so return values need not be spelled out, and the description still signals totals plus a per-door breakdown. Combined with the privacy and verifiability disclosures, this is adequate for a read-only two-parameter tool; only sibling disambiguation 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 wallet and limit, including the 'newest first' ordering. The description reinforces that the record is scoped to a single wallet but adds no new syntax or semantics for the limit parameter; 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 resource and scope: one wallet's complete payment history with this server, itemized by call, cost, 'door', and on-chain hash, plus totals. It clearly is a per-wallet expense/statement read, but it never distinguishes itself from near siblings like my_ledger or my_money, so an agent must infer the choice.

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 concrete when-to-use triggers: 'when someone asks what they have spent here, whether a call was charged twice, or for an expense record.' That covers several real intents clearly, but no when-not-to-use condition or named alternative is offered.

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

anchor_proofTimestamp a file onchain so you can prove you had it firstAInspect

Anchor the SHA-256 of any file onchain, free. Use it the moment you produce something whose PRIORITY matters: a security finding before you disclose it, research before you share it, a draft before you send it out. You send only the hash, never the file, so nothing you make is disclosed to anyone. It lands in the next weekly Base batch and the Ethereum root, and from then on anyone can prove those exact bytes existed by that time. Free to submit, free to verify, no account, no wallet, no payment. Cost and signer: free and keyless (rate-limited), nothing to sign.

NameRequiredDescriptionDefault
labelNoOptional short public label for your own reference. Never include anything secret.
sha256YesSHA-256 of your file, 64 lowercase hex characters. Get it with: shasum -a 256 <file>

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4/5.0
Behavior4/5

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

Adds substantial context beyond the annotations: keyless, rate-limited, nothing to sign, free to submit and verify, hash-only disclosure, and settlement into a weekly Base batch plus the Ethereum root. It does not explain what happens if the same hash is submitted twice (relevant given idempotentHint=false).

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

Conciseness4/5

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

Front-loaded with the core action and scope, and most sentences carry new information. There is mild redundancy around cost ('free to submit, free to verify, no account, no wallet, no payment' followed by 'free and keyless'), which could be collapsed into one sentence.

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?

Covers privacy, timing, cost, and signer requirements for a write-shaped, open-world, non-idempotent tool, and an output schema exists so return values need not be described. The path forward after anchoring (verification via verify_anchor) and duplicate-submission behavior are the remaining 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?

Schema coverage is 100%, so the baseline is 3; the description still adds the meaningful guarantee that only the hash leaves the client and the file is never disclosed. The optional label parameter gets no mention in the description, though the schema documents it adequately.

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 ('Anchor the SHA-256 of any file onchain') plus scope ('only the hash, never the file'), which is far more precise than the title. It never names the obvious sibling verify_anchor or distinguishes itself from the prepare_proof/submit_proof family, so the differentiation work is left implicit.

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 trigger condition ('the moment you produce something whose PRIORITY matters') backed by three concrete examples. It does not say when NOT to use it or point to verify_anchor for checking an existing anchor, so the alternatives half of the guidance is missing.

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

beaconThe coordination beacon: how much coordination the board is doing, liveB
Read-onlyIdempotent
Inspect

The coordination beacon's live pulse, the same read as https://vealth.net/labor/beacon: the coordination moves of the last 24 hours and of all time (posted, claimed, proved, accepted, settled, summed; settled cash is one column, never the measure), the board's totals, coordination cases counted by stage, four lights, each door readiness and never a verdict, each with its level on one ladder (door ready, intake live, work accepted by a person; no outcome is claimed) (ecological wealth, cybersecurity, construction safety, health: care, never treatment) and the four intakes (a sighting, a need, capacity, capital) with the first call for each. Counts only: no case, place, wallet or job id. A read that failed is null, never a guess. It announces the mechanism, never an ecological outcome. Free, keyless, read-only, cached 60 s. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

B3.4/5.0
Behavior4/5

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

Beyond the annotations, it discloses concrete operational behavior: cached for 60 seconds, free and keyless, failed reads return null rather than a guess, and output contains counts only with no case, place, wallet, or job IDs. These details are useful and consistent with the read-only, idempotent, non-destructive annotations.

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?

The description is a dense run-on with nested parentheticals and repeated philosophical caveats such as 'never a verdict', 'no outcome is claimed', and 'never treatment'. The core read is buried rather than front-loaded, making the definition unnecessarily hard to scan.

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

Completeness4/5

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

With an output schema present, return-value detail is already structured elsewhere, and the description still covers data scope, privacy constraints, cache behavior, and cost. It is complete enough to invoke, though it leaves routing questions to the separate usage-guidance dimension.

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 has zero parameters and 100% schema description coverage, so there are no parameter semantics for the description to add. The baseline score of 4 applies for a no-parameter tool.

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 identifies this as a live read of coordination-board metrics: 24-hour and all-time moves, board totals, cases by stage, four lights, door readiness, and four intakes. That is a specific resource and data scope, though it never explicitly contrasts itself with sibling metrics tools such as board_stats.

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, or alternative-tool guidance. The URL equivalence provides context but does not tell an agent which sibling to choose for overlapping coordination or board data.

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

board_statsLive board statisticsA
Read-onlyIdempotent
Inspect

Live counts from the Vealth work board, read at this moment — total and open work, claims, settlements, proposed value, and the sector breakdown. Pass a location to also count work nearby. Never cached; the public mirror is https://vealth.net/labor/stats. Free, keyless, read-only. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
latitudeNoOptional: also count open work near this point.
radiusKmNoNearby radius in km. Default 50.
longitudeNoOptional: also count open work near this point.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, but the description adds genuinely useful facts beyond them: results are never cached, it is keyless with nothing to sign, and there is a public mirror URL. The only weakness is restating free/keyless/read-only twice.

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?

Front-loaded with what is counted, which is good, but the closing 'Free, keyless, read-only. Cost and signer: free and keyless, nothing to sign' repeats the same point twice in two sentences and wastes space.

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?

An output schema exists so return values need not be explained, and the description still enumerates the metric categories and the freshness/nearby behavior. Little an agent needs for a correct call is missing, aside from sibling 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%, so latitude, longitude, and radiusKm are already documented individually. The description only adds the framing that lat/long are a coordinated 'pass a location' pair, which is marginal value beyond the schema.

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

Purpose5/5

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

States a specific verb and resource ('Live counts from the Vealth work board, read at this moment') and enumerates what is counted: total/open work, claims, settlements, proposed value, sector breakdown. This distinguishes it from per-item siblings like work_status or find_work without needing to open the schema.

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 says 'Pass a location to also count work nearby', which implies when the optional parameters are useful, but it never names an alternative tool among the many siblings (net_open_tasks, find_work, work_status) or states when to prefer this over them. Usage is implied rather than specified.

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

bridge_statusFollow a REGEN bridge transaction (keyless)A
Read-onlyIdempotent
Inspect

Where a REGEN bridge transaction stands, from the hash the caller broadcast after prepare_bridge. Keyless, no wallet, nothing signed: this tool registers the hash with Skip Go's tracker (a status read before that registration is blank forever) and reads Skip's state, and for a transaction leaving Base or Arbitrum it also reads Axelar's own record, so a transfer waiting on Base finality shows as sent rather than as nothing. Returns landed true or false, the source states verbatim, one plain sentence saying what is happening, the measured landing time for that direction (regen→osmosis under a minute, regen→base about 66 seconds, base→regen about 30 minutes, all measured 2026-09-08 with one key) and how long to wait before asking again. Landed is only ever true when Skip reports STATE_COMPLETED_SUCCESS or Axelar reports the call executed; this tool never infers a landing from time passed. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
chainYesThe chain the transaction was broadcast on (the from_chain given to prepare_bridge).
tx_hashYesThe broadcast transaction hash: 0x plus 64 hex characters on base and arbitrum, 64 hex characters on regen and osmosis.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.3/5.0
Behavior5/5

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

Annotations declare readOnly/idempotent/destructive=false, and the description is consistent while adding crucial behaviors annotations cannot express: the tool registers the hash with Skip Go's tracker as a side effect, cross-reads Axelar for Base/Arbitrum, uses a strict landed criterion (STATE_COMPLETED_SUCCESS or executed), and never infers landing from elapsed time. Cost and keyless signing status are also stated.

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 front-loaded and information-dense, but the single long paragraph packs many parenthetical clauses and repeats the keyless/no-signing point twice ('Keyless, no wallet, nothing signed' … 'free and keyless, nothing to sign'). Tighter structuring would improve readability.

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?

Given an output schema exists, the description still explains return shape (landed, source states, one-sentence status, timing estimate, poll interval) and covers the cross-chain tracking nuance. Nothing an agent needs to call it correctly appears to be 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%, including the enum for chain and hash format description, so the schema carries the parameter burden. The description adds only marginal context by tying the hash to prepare_bridge output; baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('where a REGEN bridge transaction stands'), defines the scope by naming the exact hash source (broadcast after prepare_bridge) and enumerates which chains are tracked. An agent can distinguish it from prepare_bridge and from the various request_status/net_order_status siblings.

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 when-to-use context (after prepare_bridge, with the broadcast hash) and an important when-not caveat ('a status read before that registration is blank forever'), plus polling guidance ('how long to wait before asking again'). It stops short of naming an alternative sibling to use instead in edge cases.

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

capacity_checkinProject private human capacity into a minimal work-availability signalA
Read-onlyIdempotent
Inspect

Private, read-only capacity check-in. Keeps private blockers private and emits only coarse available/reduced/unavailable for a shared work graph. It is never fitness-for-duty and never exposes health reasons to an employer or public board. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
desiredFocusNo
safetySignalNo
privateBlockersNo
selfReportedCapacityYes

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.7/5.0
Behavior5/5

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

The description goes far beyond the simple boolean annotations by explaining critical behavioral aspects like privacy, data handling, and liability. It ensures the agent knows the signal 'never exposes health reasons to an employer or public board,' which is crucial 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?

The description is highly efficient, covering purpose, security, scope, and operational constraints in one focused block. Every sentence serves to define the tool's specific boundaries and value proposition.

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?

The description is highly complete for a complex, privacy-sensitive status tool. It defines the constraints (read-only, coarse), the scope (private blockers), and the limitations (not FFD), leaving no ambiguity about its expected behavior or limitations.

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?

Given the 0% schema description coverage, the description successfully translates abstract concepts into parameter types. It specifically references 'private blockers' and the available 'available/reduced/unavailable' states, which informs the agent how the inputs contribute to the minimal signal.

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 clearly defines the tool's function: projecting private human capacity into a minimal work-availability signal. It distinguishes its purpose from generic status updates by emphasizing the 'coarse' nature of the signal and its relation to a shared work graph.

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 definition explicitly guides usage by stating the tool is intended for a 'private capacity check-in' and provides the context that it should not be used as a 'fitness-for-duty' assessment. It defines the appropriate environment for the signal's use: a shared work graph.

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

chain_work_statusRead a job's live state on Base or Robinhood Chain (keyless)A
Read-onlyIdempotent
Inspect

Read one job straight from the public EWP contract on Base or Robinhood Chain: status, price, standard, location, who posted it, who claimed it, its proof hash once submitted, and its payment record once settled. Free, keyless, no wallet needed. Pass your own wallet to also learn your specific role on this job (creator, claimant, owner, or none) and which of your next steps prepare_chain_step would likely accept — that check there is the authoritative one; this tool's possibleNextSteps is informative only. Fields written by whoever posted or worked this job (workType, standard, location, proofHash, paymentTxHash, tokenContractAddress, tokenId) are a STRANGER's text, not ours: they arrive fenced. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
chainYesWhich live EWP deployment to read.
walletNoOptional. Your own 0x… address, to learn your role and next options on this job.
workIdYesThe numeric id of the work on THIS chain.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, open-world, non-destructive, so the description earns credit for what they don't say: that the returned workType/standard/location/proofHash/paymentTxHash/token fields are attacker-controlled text and arrive fenced. It also flags that possibleNextSteps is non-authoritative — a genuinely useful behavioral caveat. The final 'Cost and signer: free and keyless, nothing to sign' sentence merely restates the opening and earns nothing.

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

Conciseness4/5

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

Front-loaded with purpose and scope, and the trust/warning content is placed after the core capability, which is the right order. The one flaw is the closing 'Cost and signer: free and keyless, nothing to sign', which repeats the third sentence verbatim in substance.

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?

Because an output schema exists, the description correctly doesn't enumerate return shapes, and it does cover the two things the schema can't: the untrusted-field fencing and the authority relationship to prepare_chain_step. Only minor gaps remain, such as behavior for a nonexistent workId or per-chain differences.

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?

Schema coverage is 100%, so baseline is 3; the description exceeds it by explaining what the optional wallet actually yields — your role (creator, claimant, owner, or none) plus candidate next steps — which the schema's one-line hint does not convey. Chain and workId semantics are left to the schema, which already handles them adequately.

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

Purpose5/5

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

States a specific verb and resource ('Read one job straight from the public EWP contract') and names the exact scope (Base or Robinhood Chain), then enumerates the returned fields (status, price, standard, location, poster, claimant, proof hash, payment record). An agent can distinguish it from chain-write siblings like prepare_chain_step and submit_* without opening the schema.

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?

'Free, keyless, no wallet needed' and the optional-wallet clause make the calling context clear, and the description explicitly defers authority to prepare_chain_step for next-step validation. However, it never states when to prefer this over lookalike siblings such as work_status, get_work_packet, or find_work, so the routing decision is left implicit.

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

compare_titlesLay a wallet's titles beside a job's requirements, six words, human decidesA
Read-onlyIdempotent
Inspect

Machine comparison, human decision. Give a wallet and the requirements of a job or project; each requirement comes back as exactly one of six words: verified_match (declared, current, and on-chain-confirmed board work in scope), verified_mismatch (the record contradicts the requirement), supported (declared, nothing contradicts it, no board work yet), unknown (the record does not say), expired (declared expiry passed), human_judgment_required (a human reads it: years of experience, free text). This is a factual comparison only; it never makes hiring, employment, qualification, or fitness decisions for an employer. The reply never says qualified and never decides; it carries a receipt hash the decider can anchor for free. Public mirror: https://vealth.net/labor/worker//compare?require=CHST,STS. Free, keyless, read-only. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
walletYesThe worker's wallet address (0x…).
requireYesRequirements: a comma list of titles (comma = each required, | = any of, e.g. "CHST,STS|STSC"), or a JSON array of {kind:"title",anyOf:[…],issuer?,mustBeCurrent?} / {kind:"years_experience",years,area?} / {kind:"text",text}.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, non-destructive, but the description adds substantive behavior: the closed six-word output vocabulary with definitions, the explicit refusal to make qualification/hiring decisions, and the returned receipt hash the caller can anchor. Cost/signer and public-mirror details round it out.

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 opening "Machine comparison, human decision" front-loads the key framing and the six-word taxonomy follows immediately. There is avoidable redundancy, though: "Free, keyless, read-only" is repeated as "free and keyless, nothing to sign" in the final sentence.

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?

With an output schema present and annotations covering the safety profile, the description supplies the remaining decision-relevant context: what each returned word means, the no-decision guarantee, and the receipt hash. Nothing an agent needs to invoke or interpret this correctly 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?

Schema coverage is 100%, so the baseline is 3; the description still adds meaning by explaining that years-of-experience and free-text requirements always resolve to human_judgment_required, which ties the schema's requirement kinds to observable output. It does not restate the comma/pipe syntax, which the schema already handles.

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 concrete operation: take a wallet's titles and a job's requirements, return exactly one of six classification words per requirement. The enumerated outcome vocabulary makes the purpose unmistakable and separates it from sibling listing tools like worker_titles or verify_work.

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?

"Give a wallet and the requirements of a job or project" establishes the input context and the decision-support framing clearly. It never names an alternative tool or states when not to use it (e.g., to just list titles, use worker_titles), so explicit routing is missing.

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

credential_quoteWhat a credential certificate would contain right now, and what it costsA
Read-onlyIdempotent
Inspect

Price and preview a Vealth credential certificate BEFORE paying for one. Give a wallet for a work-record certificate (its settled packets, accepted proofs and banked credit) or a place for a standing certificate under The Vealth Standard. Returns the live price, exactly what the document would contain right now, and whether issuance would be REFUSED and why — a wallet with no settled work and no banked credit is refused for free, before any payment, because an empty certificate is unsellable. Payment buys the sealed, anchored artifact, never the achievement: every fact inside is already public and free to read at its own endpoint. Issuing is HTTP (POST /certificate/worker/ or POST /certificate/place); reading and verifying an issued certificate are free forever. This tool is free, keyless, read-only, and moves no money. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
placeNoA city, address fragment, or venue name, for a place standing certificate.
walletNo0x wallet address, for a work-record certificate.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the readOnly/idempotent/non-destructive annotations, the description discloses that the call is free, keyless, and moves no money, and that no signing is required. It also explains the refusal path ('a wallet with no settled work and no banked credit is refused for free, before any payment') and the economic model (payment buys the sealed artifact, never the achievement). That is substantive context the annotations cannot convey.

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 lead sentence is strong and front-loaded, but the body repeats itself: 'free, keyless, read-only, and moves no money' is followed by 'Cost and signer: free and keyless, nothing to sign,' which is a redundant fragment. The payment-vs-achievement philosophy sentence, while informative, could be tightened without losing signal.

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?

With an output schema present, the description need not explain return values, and annotations already cover the safety profile. What remains — the two input modes, the price/preview/refusal behavior, the free-and-keyless constraint, and the fact that the call precedes a paid issuance — is all supplied, leaving nothing an agent needs 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?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning by tying wallet to 'settled packets, accepted proofs and banked credit' and place to 'a standing certificate under The Vealth Standard' — a semantic mapping the schema strings do not provide. It does not state that the two parameters are mutually exclusive modes, which is the one remaining gap.

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?

First sentence states a specific verb and resource ('Price and preview a Vealth credential certificate') plus a temporal constraint ('BEFORE paying'), which immediately separates it from issuance tools like place_standing or retire_and_certify. It also names the two certificate flavors (work-record vs. standing), so an agent can match either request shape without opening the schema.

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 description gives clear selection logic between the two modes: 'Give a wallet for a work-record certificate... or a place for a standing certificate under The Vealth Standard.' It also frames the tool as the pre-payment step ('Issuing is HTTP (POST /certificate/worker/... or POST /certificate/place)'), implying when to move on. It stops short of naming a sibling tool to call instead, so it is not a full 5.

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

crypto_lp_positionsOur liquidity positionsA
Read-onlyIdempotent
Inspect

Every pool we provide liquidity to, with reserves and our share read live from chain. Also carries the pool-pricing trap: raw balance ratios give spot price only for constant-product pools, never for concentrated-liquidity pools. Free, keyless, read-only. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, and open-world, so the safety profile is covered. The description adds genuinely useful context beyond them: data is live from chain, and the pool-pricing trap (raw balance ratios only yield spot price for constant-product pools). It loses a point for restating read-only/keyless twice rather than adding new behavior detail.

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 core purpose and the pricing caveat are front-loaded, which is good. But 'Free, keyless, read-only. Cost and signer: free and keyless, nothing to sign' says the same thing twice in two sentences, and that redundancy crowds out more useful detail.

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?

An output schema exists, so return values need no explanation, and with zero params the calling surface is trivial. The description covers what is returned, its live-from-chain freshness, and the main interpretation pitfall — enough for an agent to call and use it correctly.

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?

There are zero parameters, so the baseline is 4. The description's 'Every pool we provide liquidity to' correctly signals the tool takes no filters and returns an unscoped full listing.

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 and scope: every pool the entity provides liquidity to, with reserves and ownership share read live from chain. That is more concrete than the title. It doesn't explicitly contrast with crypto_tokens or crypto_wallets, but the noun 'pool' / 'liquidity positions' is distinctive enough that confusion is unlikely.

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?

No explicit when-to-use or when-not-to-use statement, and no sibling is named as an alternative. The pool-pricing caveat implies usage guidance (don't derive spot price for concentrated-liquidity pools from these numbers), but that is interpretation guidance rather than tool-selection guidance.

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

crypto_tokensCanonical token registryA
Read-onlyIdempotent
Inspect

The canonical on-chain address for every token we operate, read from the registry the rails themselves use. Ask this BEFORE using any token address. ECOWEALTH (the token) and EWP (the work protocol) are different things on different chains and confusing them has already broken a live session. Free, keyless, read-only. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
symbolNoOptional: return just this symbol, e.g. ECOWEALTH.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered structurally. The description adds what annotations cannot: it is free, keyless, and requires no signer, which is genuinely useful pre-call context. It does not describe caching, staleness of addresses, or registry failure modes.

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 critical instruction and the disambiguation warning are front-loaded well, but the tail is redundant: "Free, keyless, read-only. Cost and signer: free and keyless, nothing to sign." repeats the same two facts across back-to-back sentences, wasting a full sentence of a five-sentence description.

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?

With one optional parameter, an output schema to cover return values, and rich annotations, the description supplies everything an agent needs: what it returns (canonical addresses), when to call it, auth/cost profile, and a concrete confusion hazard to avoid.

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 `symbol` parameter, including an example, so the schema carries the load. The description adds no formatting or semantics beyond what the schema states. 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 names a specific resource (the canonical on-chain address for every token operated) and its authoritative source ("the registry the rails themselves use"). The ECOWEALTH vs EWP warning sharpens what the tool is for. It stops short of naming the nearest siblings (crypto_wallets, regen_address_lookup), so the agent must infer the boundary.

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?

"Ask this BEFORE using any token address" is an explicit, imperative usage rule with a clear trigger condition. No exclusion cases or named alternatives are given, but the positive guidance is unambiguous.

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

crypto_walletsOur wallets and their live balancesA
Read-onlyIdempotent
Inspect

The three wallets we operate, each with its role and its live Base balances read at this moment. Use this instead of assuming which wallet does what, and never quote a balance from a document. Read-only: this tool cannot sign, send, or move anything. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
includeBalancesNoSet false to skip live chain reads and return roles only. Default true.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover readOnly/destructive/idempotent, so the 'cannot sign, send, or move anything' line mostly reinforces them; the genuinely additive content is the cost and auth profile ('free and keyless, nothing to sign') and the freshness claim ('live Base balances read at this moment'). That freshness signal matters because the ground truth changes over time, which no annotation conveys.

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 what is returned, then when to use it, then safety and cost. No filler and no repetition of schema details.

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-param read tool with an output schema and full annotations, this covers scope, freshness, safety, and cost — everything needed to call it correctly. The remaining gap is not stating how this differs from crypto_tokens or crypto_lp_positions, which an agent may conflate.

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 `includeBalances` parameter is 100% documented in the schema, including the default-true behavior and the roles-only fallback, so the description adds nothing. With full schema coverage the baseline of 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?

Names a specific resource and scope: 'the three wallets we operate, each with its role and its live Base balances.' An agent immediately knows it returns wallet roles plus current on-chain balances. It stops short of 5 because it never names which sibling it displaces (crypto_tokens, crypto_lp_positions, my_money all overlap thematically) and uses no explicit verb.

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 concrete when-to-use guidance: 'Use this instead of assuming which wallet does what, and never quote a balance from a document' — a real negative condition that steers the agent away from stale document data. It lacks explicit routing to the nearest sibling tools (crypto_tokens, crypto_lp_positions), so an agent must still infer the split.

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

day_cardToday's timed list for one place and one personA
Read-onlyIdempotent
Inspect

Answers "what do I do here today": for one place and one wallet (or a named crew), today's list of work in order, in blocks of 30 minutes, within the hours the person says they have. It is compiled from what already exists: the place's Standing and which of its conditions are due to be measured again by their own cadence, the open claimable packets at that place, and any packet the wallet already holds and has not proven. A due condition's measurement packet comes first, then what the wallet holds, then the rest by size. A due condition with no packet to serve it is named as a gap, never invented, and a place with nothing open gets an honest empty card. Free, keyless, read-only. IT ORDERS EXISTING WORK AND NEVER POSTS, ASSIGNS OR PAYS: it schedules no one, a packet is never split, and the person still reads the hour card and claims for themselves. Sizes are the top of each packet's own stated time, or an assumed hour where it states none; no travel is counted. A crew card splits whole packets across the named members by hours and is a suggestion the manager may change. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
crewNoOptional managed crew as a comma list of member handles, each optionally with its own hours, e.g. "amina:6,joseph:4". Handles are lowercase letters, digits and hyphens.
hoursNoHours the person has today, from 0.5 to 16. Defaults to 8.
placeYesThe place: an address or venue as the board spells it, a place id, or "lat,lng" for the 0.35 km cluster around a point.
walletYesThe 0x address the card is for (the manager, for a crew). Address only, never a private key.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, open-world and non-destructive, yet the description adds substantial behavior beyond them: the exact data sources (Standing, due conditions by cadence, open claimable packets, unproven held packets), the ordering rule (due measurement first, then held, then rest by size), the gap-naming guarantee, the honest-empty-card case, the size heuristic and the no-travel caveat. The crew-card result is framed as a mutable suggestion, which is exactly the kind of nuance annotations cannot carry.

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

Conciseness4/5

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

Front-loaded with the core question it answers and the sources/ordering rules, which is the right ordering. It is dense but mostly earns its length; the one waste is repetition of the cost/signer facts ("Free, keyless, read-only" early, then "Cost and signer: free and keyless, nothing to sign" at the end).

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?

An output schema exists, so return shape need not be described, and the description instead covers everything an agent needs to call it correctly: inputs, source data, ordering, edge cases (no packet = gap, nothing open = empty card), crew semantics and cost/signer requirements. Nothing material is left to inference for a read-only single-place query.

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?

Schema coverage is 100%, so the baseline is 3; the description earns above that by explaining that 'hours' bounds the blocks, that a due condition's measurement packet is its own unit, and that for a crew the wallet is the manager's address and packets are split whole across named members by their hours. It does not add format specifics for 'place' resolution clusters or defaults, which the schema already documents.

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

Purpose5/5

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

States a specific verb and resource: it compiles today's ordered work list for one place and one wallet/crew into 30-minute blocks, answering "what do I do here today." The closing clause explicitly contrasts it with the hour card ("the person still reads the hour card and claims for themselves") and disclaims posting/assigning/paying, so the boundary against adjacent siblings is visible without opening a schema.

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 conditions that select this tool are clear: one place plus one wallet, or a named crew, for today's work. It also defines a what-not boundary (it never posts, assigns or pays) and hands off claiming to the person. It stops short of naming the direct alternative for planning a single worker's day (hour_card, find_work) with an explicit 'use X instead when...' rule, so it is clear context rather than full routing guidance.

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

estimate_footprintTurn this AI session into real provisioned ecological workA
Read-onlyIdempotent
Inspect

The anchor tool. Give a rough token or call count for your AI session and get an order-of-magnitude CO2e estimate PLUS the real, verifiable ecological work you can provision to answer it on Vealth. Vealth does NOT sell paper offsets — it provisions maintenance of the commons: you fund a bounded work packet keyless from your own wallet; when the retirement lane is running an approved proof queues a carbon retirement with an on-chain retirement certificate (that lane is paused by operator order since 2026-08-04). Call find_work next to pick the work. The estimate is orientation only, never a precise carbon claim, and this server never takes payment or holds a wallet. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
callsNoOr approx number of model calls, if you have no token count.
tokensNoApprox total tokens this session (input + output).

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, so the safety profile is covered structurally. The description adds genuinely useful context beyond that: no payment taken, no wallet held, keyless and free, and the retirement lane is paused by operator order since 2026-08-04. That pause disclosure is valuable, but the wallet/funding narrative describes the broader provisioning flow rather than this estimate tool, making it partially off-target.

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?

Purpose is front-loaded in the first sentence and every subsequent sentence carries either a caveat, a safety fact, or a next step. The parenthetical about the paused lane and the 'anchor tool' opener cost some density, but there is no filler padding to trim substantially.

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?

With an output schema present, return values need not be explained; the description instead covers cost, signer requirements, safety posture, estimate reliability caveats, and the next tool to call. That is everything an agent needs to call this correctly for a two-parameter, zero-required 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%, so both parameters (tokens, calls) are already documented including the fallback relationship between them. The description only reinforces that counts may be 'rough', adding little beyond the schema baseline of 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 concrete verb-plus-resource: supply a rough token or call count and receive an order-of-magnitude CO2e estimate plus provisionable ecological work. It differentiates itself from siblings by declaring itself the anchor tool and naming find_work as the follow-on, though the marketing framing ('The anchor tool', 'answer it on Vealth') adds noise rather than precision.

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 explicit sequencing ('Call find_work next to pick the work') and sets expectations that the output is orientation only, not a precise carbon claim. It does not enumerate when to prefer this over alternatives such as provision_plan or retire_and_certify, but the next-step routing is explicit and unambiguous.

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

find_workFind real work nearbyA
Read-onlyIdempotent
Inspect

Search Vealth's public board of real ecological and community work packets. Each result includes the pay, the skill level, the exact proof that gets it approved, and a page URL. Free, no account, no wallet. Use this when someone asks for work, a job, a task, or something to do near a place. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
flagNoOne posting flag, exact match, e.g. vsh_eligible — the packets that carry Regen Network proposal 77's terms (accepted hours pay REGEN, never a USD conversion). Omit for every flag.
nearNoA place in plain words: a city, neighborhood, address, or ZIP, e.g. 'Los Angeles, CA' or '90036'. Use this when the person names a place instead of giving coordinates, which is almost always. The board finds the place from the open jobs whose address names every word (so 'Los Angeles' never matches 'Los Fresnos'), then returns the jobs around it, nearest first.
pageNoPage number, starting at 1. The reply says when more pages exist.
limitNoMax results per page, 1-25. Default 10.
queryNoFree text, e.g. 'storm drain' or 'tree planting'. Typo-tolerant.
fundedNotrue = only packets a verified payment already backs (money truth; a funded packet can still be earned_credit and never promise cash — read payModel); false = only unfunded packets, where approved proof records earned credit rather than cash unless later funded. Omit for both.
remoteNotrue = only work doable from anywhere (digital/self-verifying — what an agent with no field presence can complete); false = only placed field work. Omit for both.
latitudeNoCenter of the search. Only if you already have real coordinates.
radiusKmNoSearch radius in km, used with latitude/longitude. Default 50.
longitudeNoCenter of the search. Only if you already have real coordinates.
skillLevelNoUse 'entry' for someone starting today.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds genuinely useful context beyond that: free, no account, no wallet, nothing to sign, plus a preview of what each result carries. It does not discuss pagination limits or result ordering in prose, leaving that to the schema.

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?

Four short sentences, front-loaded with purpose and then trigger and cost. Minor redundancy between 'Free, no account, no wallet' and 'Cost and signer: free and keyless, nothing to sign' costs it a point.

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 11 optional parameters, an output schema, and rich annotations, the description supplies purpose, trigger, cost/auth model and result preview, which is enough for correct invocation. Fine-grained search semantics are fully handled by the schema, so nothing critical 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% and every parameter is described in detail there, including the near-vs-coordinates distinction and the funded/payModel caveat. The description adds no parameter-level meaning of its own beyond the phrase 'near a place,' 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 (search) and resource (Vealth's public board of ecological and community work packets), and previews the result shape (pay, skill level, proof, page URL). It does not name a sibling to contrast with, so an agent must infer that this is the discovery entry point versus get_work_packet or my_work.

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 trigger is explicit: 'Use this when someone asks for work, a job, a task, or something to do near a place,' covering both the intent and the place-based framing. No exclusions or named alternatives are given, so it stops short of full routing guidance.

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

funding_quoteCan this packet be funded, and what would it costA
Read-onlyIdempotent
Inspect

For a BUYER, not a worker: ask whether one board packet can be funded right now, and what funding it costs NOW. The quote is the packet's OUTSTANDING obligation — the board's posted wage minus verified contributions already recorded — read from the board, never from anything you send, so no caller can fund a $700 packet for $1 and no caller is quoted a stale full wage after others chipped in. Partial funding: when the host has chip-ins armed, any open packet also takes contributions from $0.01 up to what it still needs (contributeUsd on prepare_funding); an EXPLICIT amount above the remaining is recorded as a premium reserved for the worker — no default or omitted amount ever creates a premium. A refusal comes back in the board's own words (already funded, fully covered, claimed, settled, expired, no wage). While a door is open the quote carries the Vealth service fee (10% of the wage, shown apart) and the total; while paying Vealth is closed there is no fee. The worker is paid the full wage. Read-only: this quotes, it charges nothing and marks nothing funded. Next: prepare_funding where a Vealth door takes a payment; while paying Vealth is closed, the NEXT_CALL is prepare_direct_offer, a free signed offer to pay the worker directly. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
workIdNoOptional packet id. Omit to quote the first open packet that still needs funding.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.6/5.0
Behavior5/5

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

Far exceeds the readOnly/idempotent annotations: it explains the quote is the board's outstanding obligation read from the board, that partial funding accepts $0.01–remaining while an explicit overage becomes a worker premium (never a default), and enumerates refusal reasons (already funded, claimed, settled, expired, no wage). It also discloses fee behavior conditional on the Vealth door being open and notes the call is free and keyless.

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

Conciseness4/5

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

Front-loads the audience and core question, then sequences funding mechanics, refusals, fees, and next steps. Some clauses are illustrative padding ('no caller can fund a $700 packet for $1'), but nearly every sentence carries operational meaning.

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?

Given an output schema exists (return values needn't be explained), the description still covers pricing composition, partial-fill rules, refusal messaging, fee conditions, and the required follow-up tool — everything an agent needs to call this correctly and route afterward.

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 optional workId is already documented as 'omit to quote the first open packet that still needs funding,' which the description largely restates. The description adds no new semantics for the id format or behavior when the id is unknown, so baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('ask whether one board packet can be funded right now, and what funding it costs NOW') and explicitly scopes the audience as a BUYER, not a worker. It also distinguishes the quote from the mutation siblings prepare_funding and prepare_direct_offer, so an agent can tell it apart without opening a 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 explicit routing: 'Next: prepare_funding where a Vealth door takes a payment; while paying Vealth is closed, the NEXT_CALL is prepare_direct_offer.' It also states the read-only boundary ('this quotes, it charges nothing and marks nothing funded'), which is the when-not signal.

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

get_work_packetGet one work packetA
Read-onlyIdempotent
Inspect

Full detail for a single packet by its id, including the full description and proof requirement. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
workIdYese.g. WORK_1784530149768_4z4r6jz

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover readOnly/idempotent/non-destructive, so the bar is lower; the description adds genuinely new information by declaring no payment and no signing required ('free and keyless, nothing to sign'), which is not encoded in any structured field. It stops short of describing failure behavior for an unknown id.

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 with zero filler; the core purpose is front-loaded and the cost/auth clarification follows as needed context. Nothing could be removed without losing 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 an output schema present and annotations covering safety, the description needn't explain return values, and one required param is fully documented. Only the not-found/error case and its relationship to sibling detail tools are 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 coverage is 100% and the single workId parameter carries a formatted example, so the schema does the heavy lifting. The description only restates 'by its id', adding no syntax or constraint detail 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+resource: 'Full detail for a single packet by its id', and enumerates the salient content (description, proof requirement). It distinguishes itself from list-oriented siblings like find_work/my_work by scope, though it never names an 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 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 reference to alternatives such as work_status, my_work, or find_work. The 'free and keyless' note is a cost disclosure, not usage guidance, so the agent must infer the selection context 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.

hour_cardThe hour card for a packetA
Read-onlyIdempotent
Inspect

The ONE document to read to a person before they start: what the place is and the circle every GPS fix must land inside, what to bring and what the safety notes say, the method steps in order, the proof to hand in as a checklist, what the land gets, what the worker gets and whether the pay is funded or only proposed, exactly what the record will hold about them, and the tool calls in order. Free, keyless, no wallet needed. The packet's own words are carried verbatim and never shortened. Read it to them in order rather than summarising it: the order is the order the hour runs in. Optionally in Swahili (lang: "sw"): the board's own sentences translate from a fixed dictionary, and the packet's own words translate only where a translation exists for that packet, tagged "(Kiingereza)" and counted in coverage where it does not; a safety-critical line always carries its English source on its own line too. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
langNoOptional, defaults to "en". "sw" reads the card in Swahili.
workIdYesThe packet id, from find_work or place_status.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.9/5.0
Behavior5/5

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

Beyond the annotations (readOnly/idempotent/non-destructive), the description adds substantive behavioral facts: free and keyless with no wallet and nothing to sign, content carried verbatim and never shortened, ordering semantics tied to how the hour runs, and detailed Swahili fallback behavior (fixed dictionary for board sentences, per-packet translations only, '(Kiingereza)' tagging, coverage counting, safety-critical lines always carrying the English source). These are exactly the traits annotations cannot convey.

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 opening sentence front-loads the purpose well and the enumerated contents are informative, but the text is dense and run-on. It also repeats itself: 'Free, keyless, no wallet needed' near the start and 'Cost and signer: free and keyless, nothing to sign' at the end say the same thing twice, which costs it conciseness points.

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

Completeness4/5

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

With an output schema present, the description need not explain return values, and it covers the things that matter: what the card contains, reading order, auth/cost, and localization edge cases. The one gap is relational — it doesn't clarify how this document differs from the other card/packet tools in the sibling set.

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?

Schema coverage is 100%, so the baseline is 3. The description genuinely adds meaning for lang='sw' — what actually translates, how gaps are tagged and counted in `coverage`, and the safety-line rule — which goes well beyond the schema's 'reads the card in Swahili'. workId gains no extra semantic depth, but the localization detail is substantial.

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 makes clear this is a document-retrieval tool: 'the ONE document to read to a person before they start', and it enumerates the card's sections (place, circle, safety notes, method steps, proof checklist, pay/record, tool calls). That is specific enough to distinguish it as a pre-start briefing read. However, it never names siblings like day_card or get_work_packet, so an agent must infer on its own why it would pick hour_card over those near-identical-sounding documents.

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 ('read to a person before they start', 'read it to them in order rather than summarising it'), which is real guidance for how to consume the output but not for when to call this tool versus day_card/get_work_packet. There are no exclusions or alternative-selection rules, and the pointer to find_work/place_status only appears in the schema's workId description.

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

how_to_claimHow to claim a packet and get paidA
Read-onlyIdempotent
Inspect

Explains exactly how to claim work and what happens after. Claiming is free. Returns instructions, never performs the claim, because claiming requires the worker's own wallet signature. Pass the optional workId of the job in hand and the NEXT_CALL is prepare_claim for that job (with its 18+ and safety attestations when the claim gate asks), plus the job page where a person with no wallet can tap Claim and sign in with a passkey or email. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
workIdNoOptional. The job in hand (e.g. WORK_1784530149768_4z4r6jz). With it the reply ends in the exact prepare_claim for that job; without it, in find_work.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.6/5.0
Behavior5/5

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

Adds substantial context beyond the annotations: claiming is free and keyless, nothing must be signed here, the tool returns instructions only, actual claiming needs the worker's own wallet signature, and the reply may point to prepare_claim with 18+ and safety attestations when the gate requires them. It also explains the no-wallet job-page fallback.

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 purpose and constraints are front-loaded and every sentence carries useful information. The second sentence is dense and run-on, packing workId routing, attestations, and the no-wallet job page into one long clause, which slightly reduces readability.

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?

Given that this is an informational tool with an output schema, the description is complete: it explains what is returned, why it does not perform the claim, what the NEXT_CALL will be, cost/signer requirements, and the fallback for users without a wallet.

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 schema already documents the single optional workId at 100% coverage, including its effect on NEXT_CALL. The description reinforces that behavior but does not add new syntax, constraints, or format details beyond what the schema provides, so it meets the baseline for fully covered parameters.

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

Purpose5/5

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

States a specific verb and resource: it explains how to claim work and what happens afterward. It explicitly distinguishes itself from prepare_claim and submit_claim by saying it never performs the claim and is purely instructional.

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?

Clearly says when to use it: pass the optional workId of the job in hand, and the NEXT_CALL will be prepare_claim for that job. It also names the alternative path for someone without a wallet (job page with passkey/email), so the agent knows exactly how this routes relative to siblings.

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

hydrex_claimableWhat a Hydrex voter can claim right now, and from which contractA
Read-onlyIdempotent
Inspect

The money answer: for every gauge a wallet votes for, the fee contract and the bribe contract, every reward token each one tracks, and exactly how much is claimable per veNFT — all resolved from chain, so a zero here is a real zero rather than a degraded API. Returns the claim calldata SHAPES for a caller to build their own transaction; it builds and signs nothing itself. Free, keyless, read-only. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
addressNoOptional: the voting wallet. Omit to follow our own position.
tokenIdsNoOptional: veHYDX token IDs to check earnings for. Rewards are tracked per NFT.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.6/5.0
Behavior4/5

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

Adds meaningful behavior beyond the annotations: it resolves from chain so 'a zero here is a real zero rather than a degraded API', it explicitly disclaims building or signing transactions, and it states the tool is free and keyless. These are real operational facts (cost, signer, zero-semantics) not covered by readOnlyHint/idempotentHint.

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 opening is strong and front-loaded, but the closing is redundant: 'Free, keyless, read-only. Cost and signer: free and keyless, nothing to sign' says the same thing twice, wasting a sentence in an otherwise tight 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?

With an output schema present, the description needn't explain return values, and it correctly focuses on what the numbers mean (real zeros vs degraded API) and what it does not do (no signing). Complete enough to call correctly, missing only explicit routing to sibling tools.

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 optional params are documented in the schema, so the baseline is 3. The description reinforces the semantics ('every gauge a wallet votes for' maps to address, 'per veNFT' maps to tokenIds) but adds no format, default, or edge-case 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?

The description states a specific resource and scope: per-gauge fee and bribe contracts, every reward token tracked, and claimable amounts per veNFT, all resolved from chain. It also clarifies the output contract ('claim calldata SHAPES... builds and signs nothing itself'), which separates it from prepare_claim/submit_claim class siblings, though no sibling is named 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 framing it as 'the money answer' for a voting wallet, and by noting the caller must build their own transaction. But there is no explicit when-to-use/when-not guidance and no named alternative (e.g. hydrex_votes for vote history, hydrex_position for balances), so the agent must infer the routing.

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

hydrex_positionA Hydrex veHYDX position: locks, voting power, and who owns it right nowA
Read-onlyIdempotent
Inspect

Everything about a veHYDX voting-escrow position on Base, read live: each NFT's current owner (resolved with ownerOf at call time, never assumed), its voting power, its locked HYDX, and whether it can ever be unlocked. Also reports oHYDX, the separate OPTION token, with its live exercise economics — oHYDX and veHYDX are different things and this tool keeps them apart on purpose. Works for any Hydrex holder: pass an address, or omit it to read the position this server operates. Free, keyless, read-only — it cannot sign or move anything. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
addressNoOptional: a wallet to inspect. Omit to read our own position, whose owner is resolved live rather than hardcoded.
tokenIdsNoOptional: specific veHYDX token IDs. Omit to discover them, or to use our known IDs.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds real context beyond them: ownership is resolved with ownerOf at call time rather than assumed, and the tool is keyless and cannot sign or move anything. It does not cover edge behavior (e.g. what is returned when an address holds no position), which keeps it from 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.

Conciseness3/5

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

The core purpose is front-loaded in the first sentence, which is good. But the closing clause repeats itself — "Free, keyless, read-only — it cannot sign or move anything. Cost and signer: free and keyless, nothing to sign" says the same thing twice, and the parenthetical asides make the prose denser than needed.

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

Completeness4/5

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

With an output schema present, the description needn't explain return values, and annotations cover the safety profile; the description fills in the live-resolution and keyless-auth context. The remaining gap is behavioral edge cases (no position found, invalid token ID), which an agent would want before calling.

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 already documented, including the omit-to-use-our-position behavior. The description reinforces the address-omission semantics but says nothing about tokenIds or how tokenIds interacts with a supplied address, so it adds little beyond the schema baseline.

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 resource (a veHYDX voting-escrow position on Base) and enumerates exactly what is returned: live owner, voting power, locked HYDX, unlockability, plus the separate oHYDX option token. It explicitly disambiguates veHYDX from oHYDX and, by framing itself as a position read, distinguishes itself from siblings like hydrex_votes and hydrex_claimable.

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 concrete invocation guidance: "Works for any Hydrex holder: pass an address, or omit it to read the position this server operates." That resolves the main ambiguity of the optional parameters. However, it never names an alternative tool or states when a sibling (e.g. hydrex_votes) would be the better choice, so it stops short of full routing guidance.

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

hydrex_realityHydrex measured income versus advertised projection, side by sideA
Read-onlyIdempotent
Inspect

Call this before repeating any Hydrex APR or yield projection. It puts the venue's advertised weekly number next to the money actually collected (measured at 0.089% of the projection), and computes live from the venue's own per-gauge data why the ceiling is structural: total fees and bribes the whole venue distributes, against the fraction of system votes a position actually holds. Free, keyless, read-only. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, so safety is covered. The description adds distinct context not in the annotations — no auth or signer required ('keyless, nothing to sign') and the data provenance (computed live from the venue's own per-gauge figures). It does not describe output shape, but an output schema exists.

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 'call before' instruction is well front-loaded, but the description repeats itself: 'Free, keyless, read-only' is restated verbatim in the closing 'Cost and signer: free and keyless, nothing to sign.' The middle sentence is a dense run-on mixing the measured figure with a causal claim, which dilutes scannability.

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?

Output schema and annotations carry the return-value and safety burden, and the description covers when to call it and where the numbers come from. The gap is scope: with zero parameters the description still says it measures 'the fraction of system votes a position actually holds' without explaining what position or whose, leaving the agent unsure what the tool is reporting on.

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 0-param tool is 4. The description correctly says nothing about inputs, though it could clarify whether the 'position' it reports on is scoped somehow given no parameters 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 states a concrete comparison: the venue's advertised weekly number beside the money actually collected, computed live from per-gauge data (fees and bribes distributed vs. vote share held). That is a specific verb+resource an agent can act on. It stops short of naming a sibling tool, though the prefix and framing distinguish it reasonably from hydrex_position / hydrex_vault / hydrex_votes.

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?

Timing is explicit and front-loaded: 'Call this before repeating any Hydrex APR or yield projection,' which tells the agent exactly when this must be invoked. There is no exclusion clause naming an alternative tool for the opposite case, so it lands at 4 rather than 5.

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

hydrex_vaultA Hydrex ICHI vault position, including whether it is actually earningA
Read-onlyIdempotent
Inspect

An ICHI single-sided vault position on Hydrex: shares held, share of the vault, the token composition of that slice, and — the part that matters — whether those shares are STAKED in the emissions gauge. Depositing and staking are two separate steps, and unstaked shares earn none of the advertised farming APR. Advertised APRs are returned but labelled display-only. Defaults to the kVCM/USDC vault. Free, keyless, read-only. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
vaultNoOptional: an ICHI vault address. Defaults to the kVCM/USDC single-sided vault.
addressNoOptional: the holder to inspect. Omit to follow our own position.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover read-only, open-world, idempotent, and non-destructive behavior. The description adds meaningful context: depositing and staking are separate steps, unstaked shares earn no APR, advertised APRs are display-only, and the tool is free and keyless. These details go beyond the structured annotations and clarify important behavioral nuances.

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 front-loaded with the core purpose and key staking caveat, which is good. However, the final sentence ('Free, keyless, read-only. Cost and signer: free and keyless, nothing to sign.') is redundant and repeats information already implied by the readOnlyHint annotation, slightly diluting conciseness.

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?

Given the tool's complexity (staking status, vault composition), the presence of a full output schema, and rich annotations, the description is largely complete. It explains the critical staking distinction and APR caveat. It does not describe return values, but the output schema handles that.

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

Parameters3/5

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

Schema description coverage is 100% and both parameters are optional with clear descriptions. The description reiterates the default vault and the omit-address behavior, but adds no new semantic detail beyond what the schema already provides. Baseline 3 is appropriate for high schema 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?

The description names a specific resource (ICHI single-sided vault position on Hydrex) and enumerates what it returns: shares held, share of vault, token composition, and staking status. It implicitly distinguishes itself from a plain position tool by emphasizing staking, but does not explicitly name a sibling tool to route against.

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 gives clear context for when this tool is useful: checking whether vault shares are actually staked and earning. It also states default behavior (kVCM/USDC vault) and how to inspect one's own position (omit address). No explicit exclusions or alternative tools are named.

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

hydrex_votesWhat a Hydrex position is voting for, and the honest denominator to judge it byA
Read-onlyIdempotent
Inspect

A wallet's current gauge-vote allocation read from VoterV5 on chain, plus where the weekly epoch stands and the live emission rate. Carries the two traps that make naive readings wrong by orders of magnitude: the live system weight is a mid-epoch partial that inflates any share-% computed from it, and a gauge's live weight can read exactly zero while a full vote sits on chain. Share percentages here use the last COMPLETED epoch. Free, keyless, read-only. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
addressNoOptional: the voting wallet. Omit to follow our own position to whichever wallet currently holds it.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover readOnly/idempotent/non-destructive, yet the description adds real value by naming two data traps: mid-epoch partial weights inflating share percentages, and gauges reading zero while votes sit on chain, plus the convention that shares use the last completed epoch. The closing 'free, keyless' sentence duplicates the annotations and slightly dilutes the signal.

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 traps are front-loaded and earned, but the final two clauses ('Free, keyless, read-only. Cost and signer: free and keyless, nothing to sign.') restate the same fact twice and are already covered by annotations, which is wasted space.

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

Completeness4/5

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

With an output schema present, the description need not explain return fields, and it correctly focuses on interpretation pitfalls an agent needs before trusting the numbers. Complete for its purpose, though a hint on epoch boundaries relative to the emission rate would round it out.

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 schema already documents the optional address and the omit-to-follow-own-position behavior verbatim. The description adds no syntax or format guidance beyond that, 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: reading a wallet's gauge-vote allocation from VoterV5, plus epoch status and live emission rate. An agent knows exactly what it gets. It does not explicitly distinguish itself from siblings like my_votes or hydrex_position, which keeps it off 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?

The description explains the one parameter's behavior (omitting the address follows our own position), which implies a default use case, but it never says when to prefer this over hydrex_position, my_votes, or hydrex_claimable. Usage is inferred rather than stated.

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

labor_unitWhat one hour of human work is worth, in dollarsA
Read-onlyIdempotent
Inspect

THE LABOR UNIT: one number, in US dollars per hour, for what an hour of ordinary human work is worth on this planet, and the yardstick every job on this board is priced against. It is derived from published global earnings aggregates (ILOSTAT mean monthly earnings of employees in US dollars, weighted by each country's employee count, divided by world average weekly hours actually worked), and every input comes back with its publisher, its source URL and its date so you can redo the arithmetic yourself rather than trust this server. Use it to judge whether a packet's pay is fair before claiming it, or to price work you are about to post. Dollars are the measure. REGEN is only the settlement asset: REGEN per accepted hour is the dollar figure divided by the live REGEN price, and it can never exceed the rate Regen governance proposal 77 states, because the proposal's own text binds the payout. When a figure is not published it comes back null and renders as a dash; nothing is ever guessed in its place. Free, keyless, read-only, moves no money. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive, open-world, and the description reinforces cost/signer details (free, keyless, nothing to sign, moves no money). It goes further than annotations by disclosing the null-on-unpublished-figure rule, source attribution with URLs and dates, and the REGEN conversion capped by governance proposal 77. The only miss is not describing response shape, which the output schema covers.

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 core definition is front-loaded in the first clause, which is good, but the single dense paragraph carries stylistic filler ('on this planet', 'rather than trust this server') and a redundant tail: 'Free, keyless, read-only, moves no money. Cost and signer: free and keyless, nothing to sign.' repeats the same facts twice.

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 lookup with an output schema, the description covers derivation, provenance, null handling, and the REGEN settlement rule — everything needed to interpret the number. It stops short of distinguishing this from adjacent tools like hour_card or board_stats, which is the remaining gap.

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; baseline 4 applies. The description correctly adds no parameter noise and instead spends its words on the returned value's semantics.

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 resource and unit: one number in US dollars per hour representing the global value of an hour of ordinary work, plus how it is derived (ILOSTAT mean earnings weighted by employee count, divided by average weekly hours). An agent knows exactly what value comes back, which is not inferable from the bare name 'labor_unit'.

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 concrete use contexts: judge whether a packet's pay is fair before claiming it, or price work about to be posted. It does not name a sibling alternative (e.g. hour_card, board_stats) or state when not to use it, so routing between related pricing tools still requires inference.

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

my_hoursA person's balance in hoursA
Read-onlyIdempotent
Inspect

The time-bank statement for one wallet: hours claimed, hours a human accepted, hours that reached a settlement, VSH credit that reached them as payment for their own work, VSH credit they spent through the credit door to pay somebody else's work, and what this board's record says they hold. Free, keyless, no wallet connection needed, just the address. IT IS A BOARD-SIDE STATEMENT, NOT A CHAIN BALANCE: every figure comes from this board's own settlement records, and the reply says so. A credit sent outside a settlement door, a credit the holder retired, or a credit spent somewhere that is not us will not appear. Read Regen Ledger for the real balance. Use this whenever the person asks how they are doing, what they have earned, or what they can spend. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
workerWalletYesThe 0x… address to read. Address only, never a private key.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing critical behavioral traits: it is board-side, not chain-side; credits sent outside a settlement door, retired by the holder, or spent elsewhere will not appear. It also clarifies cost/signer requirements ('free, keyless, nothing to sign') and notes that the reply itself states its board-side nature. These are exactly the kind of exclusions an agent needs to avoid misinterpreting returned figures.

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 core purpose is front-loaded in the first sentence, and most content earns its place by clarifying board-side scope and exclusions. Minor redundancy exists: 'Free, keyless, no wallet connection needed, just the address' is echoed later by 'Cost and signer: free and keyless, nothing to sign.' The all-caps emphasis is a stylistic quirk, not a structural flaw.

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 financial statement tool with an output schema and rich annotations, the description covers scope, exclusions, cost/auth, and when to use it. It leaves no essential behavioral question unanswered for an agent calling it with a wallet address.

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% (single workerWallet parameter with its own description: 'Address only, never a private key'). The description repeats that only an address is needed but adds no syntax or formatting detail beyond the schema. Baseline 3 is appropriate when the schema fully documents the only parameter.

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?

Starts with a specific verb+resource ('The time-bank statement for one wallet') and enumerates exactly which figures it reports (hours claimed, accepted, settled, VSH credit in/out, board-record holding). It explicitly distinguishes itself from a chain balance and names the authoritative alternative. An agent can tell this is a read-only board-side statement, not a generic ledger.

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 explicit when-to-use ('whenever the person asks how they are doing, what they have earned, or what they can spend') and when-not ('Read Regen Ledger for the real balance'). However, it does not route among the many sibling statement tools (account_statement, hour_card, my_ledger, my_money), leaving some ambiguity about which board statement to pick.

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

my_ledgerA person's whole record, event by event, each with its receiptA
Read-onlyIdempotent
Inspect

Answers "what is the whole record behind this person": for one wallet, every event the board holds in time order, each with a plain label, the job it belongs to and the receipt that proves it. It lists jobs claimed, proofs handed in and whether each was accepted or not, settlements with their transaction hash, earned credits banked and how each closed, payouts a backer's offer recorded, votes and pledges cast, titles the person declared, proof the wallet decided as an acceptor, and, derived from a settled job, the condition it counts as evidence toward. It composes the records my_work, my_money, my_votes and worker_titles already read and creates no store. Free, keyless, read-only. VEALTH IS AN EXPERIMENT AND THIS IS A READ OF THE RECORD, NOT A VALUATION: pay is proposed unless a record says funded and is paid only on a confirmed settlement, a pledge is intent, earned credit is a receipt and never money, a title is self-declared and unverified, and nothing here says anyone is fit for a job. Any source it cannot read is named under unreadable and its counts read unknown, never zero; a few records have no per-wallet read yet and are named too. Newest first by default; pass order and limit to page. Address only, never a private key. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
limitNoMost rows to return, from 1 to 500. Defaults to 100. The summary always counts the whole record.
orderNodesc (the default) lists the newest events first; asc lists the oldest first.
walletYesThe 0x address whose record to read. Address only, never a private key.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, open-world behavior, and the description goes further: unreadable sources are named under 'unreadable' with counts reported as unknown rather than zero, some records lack per-wallet reads, default ordering is newest-first with order/limit for paging, and only an address is accepted (never a private key). It also flags derived data (conditions inferred from settled jobs) and the epistemic status of each record type — a real addition over the annotations.

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 opening clause is well front-loaded and answers the core question immediately, but the body is one dense paragraph mixing field enumeration, epistemic disclaimers, failure modes and paging, plus a stray typo ('VEALTH'). The semantic caveat is valuable but runs long and could be restructured into distinct sentences without losing content.

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

Completeness4/5

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

With an output schema and full annotations carrying safety and return shape, the description still covers the non-obvious gaps an agent needs: partial-failure semantics (unknown vs zero), derived-versus-declared distinctions, and ordering defaults. Little that affects a correct call is missing, though explicit sibling routing is absent.

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 wallet, order and limit are already fully documented, and the description largely repeats them ('pass order and limit to page', 'address only, never a private key'). The one useful addition is that the summary always reflects the whole record regardless of limit, but that is already stated in the schema text — so baseline 3 applies.

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

Purpose5/5

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

The description names a specific verb and scope: it returns the complete event-by-event record for one wallet, each row paired with its receipt. It enumerates what falls inside (claimed jobs, proofs, settlements, credits, payouts, votes, titles, acceptor proofs, derived conditions), so an agent can tell it apart from narrower siblings like my_work or account_statement without inspecting schemas.

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 states the tool composes what my_work, my_money, my_votes and worker_titles already read and that it stores nothing, which implies those narrower tools exist for scoped reads. But it never says when to prefer this over a sibling or when to fall back to one — the routing choice is left to inference.

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

my_moneyA person's whole money picture, in one readA
Read-onlyIdempotent
Inspect

Everything one wallet was paid, is owed as a receipt, is only offered, and can do next, in a single free keyless read: dollars that settled, every OTHER token that settled and in what amount, open work receipts, token offers still standing on packets they took (each with the token's own risk label), their hours, what the Regen #77 payout ledger recorded for them, and exactly three doors. IT IS A BOARD-SIDE RECORD, NOT A CHAIN BALANCE: every figure is what this board itself recorded, no chain is read here, and a wallet's real holdings are whatever the chain says. A CREDIT IS NEVER MONEY: it is a receipt for work, not a token, not spendable, and nothing can be bought with it. The board prices no token, so a token amount carries no dollar value. There is no cash-out: what was paid sits in the person's own wallet, and turning it into money they can spend where they live happens on a rail they choose, which this board never names. Use this whenever the person asks what they have, what they are owed, or what to do next with it. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
langNoThe language of the FRAME: the block labels, the door sentences and the honesty lines. Numbers, wallets, token symbols and packet ids never change. 'sw' is authored Kiswahili. Default 'en'.
workerWalletYesThe 0x… address to read. Address only, never a private key.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.8/5.0
Behavior5/5

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

Annotations already cover read-only, idempotent, open-world, and non-destructive behavior, but the description adds substantial context beyond them. It explains that every figure is board-recorded rather than chain-read, that credits are receipts and never spendable money, that the board prices no token, that there is no cash-out rail, and that the call is free and keyless. These are important behavioral constraints and there is no contradiction with the annotations.

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 purpose is front-loaded in the first sentence, but the description is long and repetitive. Several all-caps sentences restate the board-versus-chain point and the credit-is-not-money point, and the phrase 'exactly three doors' is left undefined. Some caveats earn their place, but overall the text is overlong for the information it conveys.

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 complex aggregate read with an output schema, the description explains the tool's nature, major caveats, cost, and broad usage trigger. The output schema can carry return-value detail and the parameter schema covers inputs. It still omits routing guidance against many overlapping siblings and leaves 'three doors' unexplained, so it is strong but not 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 both lang and workerWallet are fully documented in the schema. The description mentions reading one wallet and being free/keyless, but it adds no syntax, format, or semantic details beyond the schema. With the schema doing the heavy lifting, the baseline score of 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?

The description states a specific verb/resource: it reads one wallet's whole money picture and enumerates settled dollars, other settled tokens, receipts, standing offers, hours, ledger entries, and three doors. It clearly distinguishes this as a board-side record rather than a chain balance. It does not name or differentiate from overlapping siblings such as account_statement, my_ledger, my_hours, or my_next_step, 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?

It gives a broad trigger: use whenever the person asks what they have, what they are owed, or what to do next with it. But with many overlapping siblings, especially my_next_step, my_ledger, my_hours, and account_statement, it provides no explicit alternatives or exclusions. The usage guidance is therefore implied rather than fully actionable.

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

my_next_stepThe one next job and the one next training step for a personA
Read-onlyIdempotent
Inspect

Answers "what should this person do next, and what trains them for the job after": for one wallet, it reads the person's own record (the work the board holds as done and accepted, proof decided as a reviewer, titles declared) and maps it onto the library's own ladders to name ONE open claimable packet near their place and ONE training step that leads toward the rung after it, each with plain reasons; the training step names the official OSHA, Cal/OSHA or agency course the registry lists for the job's own work when its standard lists none (free where one exists, marked paid where not). When the person's own record says a seat is next it also names the house watcher or reviewer training, a free repository text about how this board works that is never a credential and gates no seat. A person with no record gets an entry-level first job and the reply says so. It never offers an entry-level person a work type the OSHA and Cal/OSHA map marks never entry level or does not list, never offers a packet the board will not let that wallet claim (regulated, permit-required, held or crew-gated), never skips a rung, and where the work needs a competent person it says a person decides. Free, keyless, read-only. VEALTH IS AN EXPERIMENT AND THIS IS A READ, NOT A VERDICT: it never says anyone is fit for a job, a declared title is the person's own word and never moves a level, listed training is guidance the board does not gate a claim on, pay is proposed unless funded, and anything it could not read (the record, the OSHA map, the registry, a watcher history that has no store yet) is named as unknown, never counted as zero. Give a place as lat and lng, or it uses where the last accepted job was and says so. Address only, never a private key. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
latNoLatitude of where the person can work, from -90 to 90. Give lat and lng together.
lngNoLongitude of where the person can work, from -180 to 180.
walletYesThe 0x address whose next step to read. Address only, never a private key.
radiusKmNoHow far from that place to look for open packets, from 1 to 100 km. Defaults to 25.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.2/5.0
Behavior5/5

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

Annotations already cover the safe-read profile, yet the description adds substantial invariants: it never offers an entry-level person a never-entry-level or unlisted work type, never offers a packet the wallet cannot claim, never skips a rung, never asserts fitness, never lets a declared title move a level, and names unreadable sources as unknown rather than zero. It also discloses that watcher training is never a credential and gates no seat, and that pay is proposed unless funded — behavioral detail unavailable anywhere in the annotations.

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 purpose is front-loaded in the first sentence, but the body is a single dense run-on that stacks multiple rules into comma-chained clauses and repeats the free/keyless/read-only claim twice (mid-text and in the cost and signer line). The content earns its place, yet the structure makes it hard to scan.

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?

An output schema exists, so return shape need not be explained. For a tool this rule-heavy, the description still covers fallback behavior, no-record behavior, the never-offer constraints, and the epistemic caveats about unknown data — everything an agent needs to call it correctly and interpret the answer.

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?

Schema coverage is 100%, so the baseline is 3, but the description adds genuinely new semantics: lat/lng may be omitted and the tool then uses where the last accepted job was and says so, and the wallet must be an address and never a private key. Radius defaulting is left to 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?

The opening states a specific verb and resource: it reads one wallet's own record and names ONE open claimable packet near their place plus ONE training step leading to the next rung, with reasons. That is far more precise than the title. It does not name which siblings it competes with (find_work, next_action, my_work, start_here), so an agent still has to infer the boundary, which keeps it from 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 Guidelines4/5

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

Usage context is clear and conditional: a person with no record gets an entry-level first job and the reply says so; when the record says a seat is next it additionally names watcher/reviewer training; a place can be omitted and it falls back to the last accepted job. What is missing is explicit routing against alternatives — nothing says when to prefer find_work or next_action instead of this tool.

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

my_votesWhat one wallet has voted on and backedA
Read-onlyIdempotent
Inspect

One wallet's whole demand history: every packet it voted for or against, and every packet it pledged to back — both free, signed acts that move no money. Use this when someone asks what they voted for, whether their vote is still active, or what they have pledged. A pledge here is a signed statement of intent only: pledged is not funded, nothing moves and nothing is held until a real payment settles through the separate funding door (prepare_funding). Free, keyless, read-only, and it records nothing about the caller. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
walletYesThe 0x… address that voted or pledged. The ADDRESS only, never a private key.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, open-world, so the safety bar is pre-cleared. The description adds real value beyond them: pledges are intent only, nothing is held or moved until funding settles, and it records nothing about the caller. It does not describe result size or whether historical/withdrawn votes are included.

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?

Front-loaded and largely substantive, but the closing sentence "Cost and signer: free and keyless, nothing to sign" repeats the earlier "Free, keyless, read-only" clause and does not earn its place. The redundancy costs it a point despite otherwise tight phrasing.

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

Completeness4/5

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

With an output schema present and rich annotations, the description needn't explain return shape, and it covers the one semantic distinction an agent could misread: pledged ≠ funded. What it omits (pagination, whether withdrawn votes still appear) is minor given the structured fields.

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 parameter already documents "0x… address only, never a private key." The description adds no format, casing, or normalization detail beyond the schema, so the baseline 3 for high-coverage schemas 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: one wallet's whole demand history, covering every packet voted for/against and every packet pledged to back. It is unambiguous about scope. It doesn't name a sibling (e.g., hydrex_votes, prepare_vote) to contrast against, which keeps it just 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 Guidelines4/5

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

"Use this when someone asks what they voted for, whether their vote is still active, or what they have pledged" gives concrete triggering conditions. It also implicitly routes funding questions elsewhere by noting payment settles through prepare_funding. No explicit when-not conditions or named read-alternatives are given.

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

my_workWhat happened with my workA
Read-onlyIdempotent
Inspect

One question, the whole picture for ONE wallet: every packet it claimed and where each one stands, what is waiting on the person (proof not handed in, proof rejected and the reason given), what settled and its public receipt, and what is newly open nearby that fits the kind of work they have already done. Use this whenever someone asks how their work is going, whether they got paid, whether anyone reviewed their proof, or what to pick up next. Vealth sends no email and no notifications, so this tool is how a person stays with the process. Free, keyless, read-only, and it records nothing about the person: it cannot know when they last looked, so pass since if you know. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
nearNoOptional place in plain words for the what-to-pick-up-next list, e.g. 'Los Angeles, CA'.
sinceNoOptional ISO timestamp of when this person last checked, e.g. '2026-08-01T00:00:00Z'. Used only to mark what changed since then. Nothing about anyone is stored here, so without it everything is listed.
walletYesThe 0x… address that claimed the work. The ADDRESS only, never a private key.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, open-world, but the description adds non-obvious traits: it is free, keyless, stores nothing about the person, and therefore cannot know the last-check time unless `since` is passed. That is exactly the kind of context annotations cannot carry. It omits anything about result size or pagination, keeping it from 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.

Conciseness3/5

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

The core inventory is front-loaded in the first sentence, which is good, but the prose is dense and oversized, and the free/keyless claim is stated twice ('Free, keyless, read-only…' and again 'Cost and signer: free and keyless, nothing to sign'). Several clauses could be trimmed without losing 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?

An output schema exists, so return shape need not be spelled out; the description still enumerates what categories of results come back and why. Privacy, cost, and auth posture are covered, leaving only minor gaps such as expected result size. Complete enough 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.

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds rationale the schema lacks: it explains why `since` matters (nothing is stored, so without it everything is listed) and ties the nearby-work section to the optional location input. It does not restate wallet/near mechanics beyond that, which 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?

Uses a specific verb-plus-resource framing: it returns everything for ONE wallet — claimed packets, their statuses, pending/rejected proofs, settled receipts, and nearby open work. An agent can tell it is a personal dashboard rather than a search or single-packet lookup, though it never names the nearest siblings (work_status, my_ledger, my_next_step) to sharpen the distinction.

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 concrete trigger questions — 'how their work is going, whether they got paid, whether anyone reviewed their proof, or what to pick up next' — which maps cleanly onto user intents. It also explains the operational context (no email or notifications, so this is how a person stays with the process). No explicit when-not-use or named alternatives, 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.

net_mechanismOne NET mechanism: its contract and where its evidence ladder stopsA
Read-onlyIdempotent
Inspect

One NET demand mechanism in full: who benefits, what is delivered, the NET quantity and pricing policy, how NET is acquired or earned, the rights and responsibilities, expiry and refund terms, the authorizations it needs, its state machine, what happens on revocation, dispute or partial delivery, the proof of delivery, the receipts it produces, and the ecological claim it may and may not make. It also says exactly which rung of the evidence ladder it has reached and what blocks the next one. A contract is not activation, adoption, payment or an outcome. Free, keyless, read-only, moves no money. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
idYesThe mechanism id from net_programs, e.g. 'agent-review-microservice'.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, open-world, and non-destructive behavior, and the description adds cost/auth context: 'free, keyless, moves no money, nothing to sign.' It also clarifies the semantic boundary that a contract is not activation, payment, or outcome. Some repetition of 'read-only' keeps it from 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.

Conciseness2/5

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

The core purpose is front-loaded, but the description is a long run-on list of every returned facet and then repeats 'free, keyless' in two consecutive sentences. With an output schema already present, that enumeration is largely redundant and should have been tightened.

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?

Given a one-parameter read-only tool with rich annotations and an output schema, the description gives enough context about scope, safety, and the evidence-ladder caveat to call it correctly. It could be improved by naming net_programs as the source of ids, but that is already in 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 coverage is 100% and the single 'id' parameter is already documented with its source in net_programs and an example. The description adds no further meaning about the id format or constraints, 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?

The description states a specific resource ('One NET demand mechanism') and enumerates the contract facets returned, so an agent knows it retrieves full details for a single mechanism. It does not explicitly contrast itself with sibling tools such as net_programs or net_review_evidence, keeping it below 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?

It implies usage by saying it returns the mechanism 'in full' and warns that a contract is not activation, adoption, payment, or an outcome, which sets a when-not boundary. However, it names no alternatives and gives no explicit routing guidance, so an agent must infer when to choose it over related tools.

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

net_open_tasksOpen agent-to-agent specialist tasks a provider could takeA
Read-onlyIdempotent
Inspect

Specialist tasks that one agent has commissioned from another and that no provider has taken yet: data integrity, research replication, measurement analysis, method documentation, interoperability testing. Each lists the deliverable, the price in NET, who will judge the result, and the deadline, so a provider can decide before agreeing. Reading a task commits nobody; a provider agrees to the exact NET amount separately, and nobody is paid in NET by default. Free, keyless, read-only, moves no money. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
limitNoHow many to list, 1 to 100. Default 25.
programIdNoOptional: a2a-data-integrity, a2a-research-replication, a2a-measurement-analysis, a2a-method-documentation or a2a-interoperability-test.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.9/5.0
Behavior5/5

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

Although annotations cover 'readOnlyHint: true,' the description adds crucial behavioral context by detailing the lack of financial friction ('no money moves,' 'free, keyless'), and the contents of the listing (deliverable, price, judge, deadline). This greatly enhances the agent's understanding of the operation's safety and function beyond metadata.

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 highly efficient; the initial sentences establish the core function, and subsequent sentences handle necessary, specific limitations (cost/commitment) in a logical progression without bloat.

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?

Given the complexity of a finance/work platform, the description is highly complete. It covers the nature of the data (what's listed), the safety of the action (read-only, no commitment), and the scoping methods (limit, programId), leaving no critical behavioral question unanswered.

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?

Since schema coverage is 100%, the description doesn't need to explain parameter formats. However, it adds semantic value by explaining that `programId` scopes the task search to specific domains, providing context for the abstract IDs listed in the schema.

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 clearly identifies the purpose as listing 'specialist tasks' that a provider can take. It successfully defines the resource, differentiating it from general work searches by using specific scope and listing the categories of tasks (e.g., data integrity, research replication).

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

Usage Guidelines5/5

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

It provides explicit operational guidance, stating that 'Reading a task commits nobody' and that agreement to the NET amount happens separately. This establishes a critical boundary between discovery (reading) and commitment (agree/pay), preventing incorrect tool use.

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

net_order_statusWhere a NET service order stands, and what a refusal meansA
Read-onlyIdempotent
Inspect

Read one NET service order: its state, who must act next and what, the product's gates, and the verifiable service receipt that says exactly what has and has not happened (delivered, accepted, paid, settled, ecological outcome claimed). Or pass a refusal code you were given and get its plain meaning and the next step. A dry-run order never shows a payment. Free, keyless, read-only, moves no money; it changes nothing about the order. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
orderIdNoAn order id (NETORD_...).
refusalNoOptional: a refusal code such as insufficient_net_coverage; returns what it means and what to do.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4/5.0
Behavior4/5

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

Beyond the annotations, it discloses cost (free), auth (keyless, nothing to sign), a dry-run semantic (dry-run orders never show a payment), and the non-mutating guarantee. That auth/cost/dry-run context is genuinely additive. Some overlap with readOnlyHint (read-only, changes nothing) is redundant but harmless.

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 primary purpose is front-loaded and the two modes are easy to scan. There is mild redundancy between 'Free, keyless, read-only' and 'Cost and signer: free and keyless, nothing to sign,' which slightly dilutes an otherwise efficient description.

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?

With an output schema covering return values, full annotation coverage, and 100% schema description coverage, the description supplies the remaining needed context: both operating modes, dry-run behavior, and access/cost model. An agent has everything required 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%, so the baseline is 3. The description confirms the refusal parameter's purpose (plain meaning plus next step) but adds little syntax or format detail beyond the schema's own 'insufficient_net_coverage' example and NETORD_ pattern.

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 ('Read one NET service order') and enumerates what the order object contains: state, who acts next, product gates, and a verifiable service receipt. It also covers the second mode (refusal-code lookup). It does not, however, name or distinguish itself from nearby siblings like next_action, request_status, or work_status, 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 Guidelines4/5

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

It gives clear usage context for both entry points: pass an order to inspect state/gates/receipt, or pass a refusal code to get its meaning and next step. It stops short of explicit exclusions or naming the alternative tool to use instead, which is why it isn't a 5.

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

net_plan_commissionPreview a recurring place-care plan: work, authority, cycles, measurement, NETA
Read-onlyIdempotent
Inspect

Preview commissioning repeated upkeep at a real place: for each need, whether the board has governed work for it and what authority it needs (a permit or licence is never waived), the dated cycles, the measurement the Vealth Standard itself asks for, and how much NET you would need to hold against what your wallet already owes elsewhere. Site authority you declare stays unverified until a human verifier confirms it; NET figures are house references, not an executable price; nothing is recorded, posted, signed, reserved or paid. Free, keyless, moves no money. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
commissionYescommissionId, principal (your wallet address, never a key), place {name,lat,lng}, siteAuthority {kind: owner|manager|association|public_ground, evidenceRef}, needs[{id,objective,everyCycles,conditionId?}], cycles (1-12), cycleDays (7-365), startAt (ISO).

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.8/5.0
Behavior5/5

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

Annotations already declare readOnly, idempotent, non-destructive behavior, but the description adds material context: declared site authority remains unverified until a human verifier confirms it, NET figures are house references rather than executable prices, and nothing is recorded, posted, signed, reserved, or paid. These disclosures go beyond the structured annotations and are behaviorally important for the agent.

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 purpose is front-loaded and the content is substantive, but the description repeats the free/keyless/no-signature point twice ('Free, keyless, moves no money' and 'Cost and signer: free and keyless, nothing to sign'). The long initial sentence also packs many concepts together, reducing 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?

The tool has a complex nested input and an output schema, so the description does not need to explain return values. It covers the key caveats around authority verification, NET references, and absence of side effects. It could be more complete by explicitly relating this preview to sibling tools such as provision_plan or prepare_place, but the core context 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%, and the nested commission parameter is already well documented in the schema. The description provides only high-level framing of what the preview evaluates and does not add field-level meaning beyond what the schema provides, so the baseline of 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?

The description gives a specific verb ('Preview') and resource ('commissioning repeated upkeep at a real place'), and enumerates what the preview covers: governed work, authority, dated cycles, measurement, and NET requirement. It does not explicitly distinguish itself from nearby siblings such as provision_plan or prepare_place, 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?

The description implies this is a preview before commissioning and notes that it is free, keyless, and moves no money. However, it does not explicitly state when to use this versus prepare_place, provision_plan, or submit_place, leaving the agent to infer the routing.

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

net_programsFind the NET programs and mechanisms that fit an objectiveA
Read-onlyIdempotent
Inspect

NET PROGRAMS: say in plain words what you want to do with NET (buy an independent review of work evidence, commission or take a specialist task, keep up a place, earn NET by accepted work, hold NET for a future obligation) and get the programs and the demand mechanisms that fit, each with the level it has really reached on the evidence ladder (design, contract complete, dry-executable, deployed, used, paid, settled) and what code runs it. Most mechanisms are contract-complete only and say so; a level is derived from evidence and never from configuration. Discovery and the first useful read need no wallet, no registration and no NET. Free, keyless, read-only, moves no money. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
limitNoHow many to list, 1 to 46. Default 12.
familyNoOptional: only mechanisms of one family (SPEND, HOLD, EARN, MATCH, RECYCLE or SPECULATE).
objectiveNoWhat you want to do, 5 to 300 characters, e.g. 'get a second look at the proof a worker submitted'.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the read-only annotations, it discloses important behavior: evidence-ladder levels are derived from evidence and never configuration, most mechanisms are contract-complete only, and discovery requires no wallet, registration, or NET. It also states the tool is free, keyless, read-only, moves no money, and requires nothing to sign.

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 core purpose is front-loaded, but the main sentence is dense and the access/cost information is repeated: free/keyless/read-only/no money appears in both the body and the closing cost-and-signer line. It is informative but could be tightened.

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?

Given the output schema and rich annotations, the description is complete enough for an agent to call it correctly: it explains the input intent, the returned evidence levels, what code runs mechanisms, and the wallet/registration-free access model.

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 limit, family, and objective. The description reinforces that the objective should be plain-language, but it does not add meaningful semantics for limit or family beyond the schema.

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 uses a specific verb-and-resource framing: it takes a plain-language objective and returns the NET programs and demand mechanisms that fit. It also distinguishes the output from a single-mechanism lookup by returning a set of programs with evidence levels and running code.

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 clearly describes when to use the tool: when the user can state a NET objective in plain words and wants matching programs and mechanisms. It also states access prerequisites, but it does not explicitly name sibling alternatives such as net_mechanism or net_review_evidence and when to use those instead.

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

net_review_evidenceA dry-run independent review of a work-evidence package you supplyA
Read-onlyIdempotent
Inspect

Get a reproducible second read of a work-evidence package you hold before it goes to the human who accepts it: what the packet's own evidence list still lacks, what cannot be right (captured outside the stated radius, repeated frames, impossible clocks, the worker as the packet's creator), and the checklist the human answers, with one artifact hash anyone can reproduce. It reviews the package YOU supply, creates no order and no receipt, never accepts or rejects work, and 'no machine-checkable blockers' never means the work happened or was good. Free, keyless, moves no money. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
packageYesThe evidence package: workId, title, workType, standard, isDigital, location {lat,lng,radiusKm}, proofRequirements[], claim {workerWallet,claimedAt}, completion {workerWallet,submittedAt,gps,items[{step,type,hash,gps,capturedAt,data,bytesHeld}]}.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, it discloses cost (free, keyless), that it moves no money and requires nothing to sign, and critically frames the meaning of its output ('no machine-checkable blockers never means the work happened or was good'). That interpretive caveat is exactly the kind of behavioral context annotations can't convey.

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 core purpose and the key caveats are front-loaded and earn their place. There is mild redundancy between 'Free, keyless, moves no money' and the closing 'Cost and signer: free and keyless, nothing to sign,' which repeats information rather than adding it.

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?

With an output schema present, annotations covering the safety profile, and full schema coverage, the description needn't explain returns. It completes the picture with the dry-run framing and the crucial output-interpretation caveat, leaving nothing an agent needs to call it correctly.

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?

With a single fully-specified parameter (100% schema coverage including nested package structure), the schema carries the semantic load, so the baseline is 4. The description adds no field-level detail beyond what the schema already documents.

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 and resource — a reproducible 'second read' of a 'work-evidence package you hold' — and enumerates exactly what it surfaces (missing evidence, impossible captures, checklist, artifact hash). This clearly separates it from siblings like verify_work or prepare_evidence_surface by scoping it to a dry-run review of a caller-supplied package.

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 gives clear timing guidance ('before it goes to the human who accepts it') and explicit exclusions (creates no order/receipt, never accepts or rejects). It does not name a specific alternative sibling to use instead, which keeps it just 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.

net_subscription_quoteSovereign net worth as a service — your user's own token programB
Read-onlyIdempotent
Inspect

The token program we proved on NET, run for your user: $1/month mints their OWN 1,000-fixed-supply asset (~999 to their wallet, no owner functions), creates a real burned-LP market for it, and standing-buys it monthly while they hold ~99% of the supply; $2/month adds a dollar for the service. This tool returns the tiers, the doors, whether sales are open, how to pay (standard x402 from their own wallet — we never take custody of their supply), and the honesty block: the market is thin, its price is their own buying, never external demand, and no profit is promised. Free, keyless, read-only. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

B3.2/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent, openWorld, and non-destructive, yet the description still adds real substance: no custody of the user's supply, payment via standard x402 from their own wallet, and a candid disclosure that the market is thin and priced by the user's own buying rather than external demand. That honesty block is genuine value beyond structured fields, though the cost tiers are restated from the product rather than explained as behavior.

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?

One sprawling, hyphen-chained sentence that front-loads a sales narrative ("The token program we proved on NET, run for your user") before reaching the actual tool behavior. The payment-restating tail ("Cost and signer: free and keyless, nothing to sign") duplicates the prior sentence rather than adding 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?

An output schema exists, so return shape need not be documented, and the description still covers pricing tiers, sales state, payment mechanism, and the key risk caveat. For a zero-parameter read tool with full annotation coverage, an agent has enough to call it and to interpret the answer responsibly.

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?

There are zero input parameters, so there are no semantics to convey and the baseline applies. The description's cost and payment notes describe the product, not inputs.

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?

Buried in a pitch, the sentence "This tool returns the tiers, the doors, whether sales are open, how to pay... and the honesty block" does state what comes back, so the resource is identifiable as a subscription quote. But the opening clause is pure marketing rather than a verb+resource statement, and nothing distinguishes it from net_subscription_status or regen_provisioning_subscription_quote, which sit right next to 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?

"Free, keyless, read-only" implies it is safe to call speculatively, which is useful. However there is no statement of when to call this versus net_subscription_status (presumably an existing subscription) or the regen provisioning quote sibling, and no mention of prerequisites or sequence.

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

net_subscription_statusA wallet's program subscription: months paid and program stateB
Read-onlyIdempotent
Inspect

Given a subscriber wallet, returns its paid months, each window's program budget, the asset naming on record, and fulfillment state. Everything the program does for the wallet — the mint, the burned market seed, every standing buy — is independently checkable on Base. Free, keyless, read-only. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
walletYesThe subscriber wallet (0x…), the same wallet that paid.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds real value with cost and signer expectations ("free and keyless, nothing to sign") and the point that results are independently checkable on Base, but it partially repeats the read-only declaration and says nothing about freshness or how paid months are ordered.

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 substantive clause is front-loaded, which is good, but the closing two sentences are near-duplicates: "Free, keyless, read-only" and "Cost and signer: free and keyless, nothing to sign" convey the same information twice. Trimming one would make the definition tighter without losing meaning.

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

Completeness4/5

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

With an output schema present, return-field semantics need not be spelled out, and the description still names the main result categories. For a single-parameter read tool with full annotation coverage, the remaining gap is only the absence of sibling routing guidance.

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 wallet parameter, and the schema itself states it must be the same wallet that paid. The description adds only the word "subscriber," which reinforces but does not extend the schema, so the baseline of 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 (given a wallet, returns paid months, per-window program budget, asset naming, fulfillment state) and enumerates the concrete payload rather than restating the title. It does not, however, distinguish itself from close siblings like net_subscription_quote or regen_provisioning_subscription_status, so an agent must infer the split from the names 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 explicit when-to-use, when-not-to-use, or alternative routing. The only usage signal is the framing "Given a subscriber wallet," which implies a lookup on a wallet that already subscribed, but nothing tells the agent whether to call this before or after net_subscription_quote.

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

next_actionChoose the next bounded care-coordination actionA
Read-onlyIdempotent
Inspect

Private, read-only prioritization over caller-supplied CareWork. Qualified-human routes outrank routine work; blocked work outranks creating more work. Returns one next action and no clinical interpretation. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
itemsYesPrivate CareWork items already known to the caller.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already cover readOnly/idempotent/non-destructive, and the description still adds real value: the ordering rules ('qualified-human routes outrank routine work; blocked work outranks creating more work'), the explicit 'no clinical interpretation' boundary, and the cost/auth posture ('free and keyless, nothing to sign'). It does not say what happens with an empty items array or whether ties are broken deterministically, so it stops 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.

Conciseness4/5

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

Front-loaded with the core operation and no filler sentences; the ordering rules and trust boundary each carry information. The trailing 'Cost and signer: free and keyless, nothing to sign' is slightly redundant with itself but is a useful agent-facing detail rather than pure padding.

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

Completeness4/5

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

With an output schema present, the return value need not be explained, and the description covers safety posture, prioritization semantics, and scope of interpretation. The remaining gap is disambiguation from closely named siblings, which is the one thing an agent still has to guess.

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 there is a single required parameter, so the baseline is 3. However, the item schema is an untyped generic object, and the description says only 'caller-supplied CareWork' without indicating what fields an item must carry — a place where the description could have compensated but did not.

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 ('prioritization') over a specific resource ('caller-supplied CareWork') and commits to a concrete output ('Returns one next action'). It does not differentiate itself from plausible siblings such as my_next_step or support_next, so an agent cannot rule those out from the description 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 explicit when-to-use or when-not-to-use guidance, and no alternative is named despite near-neighbors like my_next_step, support_next, and start_here in the sibling list. The clause 'over caller-supplied CareWork' only implies that the caller must already possess the items — it is not framed as a routing condition.

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

outcome_bid_statusRead an outcome bid's statusA
Read-onlyIdempotent
Inspect

Where an outcome bid stands, recomputed this moment: offered, accepted, working, hold lapsed, settled, or rung reached; every named packet's real state (open, claimed, proved, accepted by a person, settled, or claimed outside the bid); and the condition's rung at the place when the bid was made and now, read from the Standing. Free and keyless. Ends with the literal next call. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
outcomeBidIdYesThe OBID_ id from submit_outcome_bid.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive, open-world, so the description correctly spends its budget elsewhere: freshness ('recomputed this moment'), the full enumerated result vocabulary, the fact that it ends with a prescribed next call, and that it is keyless with nothing to sign. That is real value-add, with only return-shape detail duplicating the output schema.

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 purpose and state enumeration are front-loaded, but the text is a single run-on sentence and 'Free and keyless' is stated twice ('Free and keyless' then 'Cost and signer: free and keyless, nothing to sign'). Several clauses, especially 'the condition's rung ... read from the Standing', add jargon without 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?

An output schema exists, so return values need not be spelled out, yet the description usefully previews the state vocabulary an agent will parse and flags that it emits a prescribed next call. What remains missing is failure behaviour (invalid/unknown bid id) and how fresh 'this moment' guarantees are, but this is close to complete for a one-parameter read.

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 at 100% schema coverage, and the schema already states it is the OBID_ id from submit_outcome_bid. The description adds no format constraints, validation rules, or error behaviour for an unknown or settled 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?

Names a specific verb (read/recompute) and resource (an outcome bid's status), and enumerates the state space it reports, so an agent knows exactly what comes back. It is distinguishable from submit_outcome_bid and prepare_outcome_bid by the id-based read framing, though the idiosyncratic vocabulary ('rung at the place', 'the Standing') is never grounded.

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: the schema note that the id comes 'from submit_outcome_bid' suggests reading after submission, and 'Ends with the literal next call' hints this is a polling/decision step. No explicit when-to-use or when-not, and no routing against near-neighbours like place_status, net_order_status, work_status, or request_status.

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

payment_optionsWhat everything here costs, before you pay for anythingA
Read-onlyIdempotent
Inspect

The whole price list for this server's paid doors, in dollars, cheapest first. Use it to budget BEFORE committing to a call — without it the only way to learn a price is to call a door and read the 402 it answers with. Prices are read from the live door manifest, never a hand-kept table, so a door that changes price cannot leave a stale number quoted here; the door's own 402 challenge remains the final price truth. Free, keyless, read-only. There is no balance to top up: you pay each call from your own wallet at the moment you call. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
maxUsdNoOptional ceiling — show only doors costing this much or less.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.2/5.0
Behavior5/5

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

Goes well beyond the readOnly/idempotent annotations: discloses the data source (live door manifest vs. hand-kept table), the authority ordering (the 402 challenge is the final price truth), the fact there is no balance to top up, and that payment comes from the caller's own wallet at call time. These are exactly the traits an agent needs before deciding whether to trust the numbers.

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?

Front-loaded with purpose and usage, but the free/keyless/read-only point is stated twice (mid-description and again in the trailing 'Cost and signer' sentence), and the manifest-vs-table rationale runs long. Tightening would remove real duplication.

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?

An output schema exists, so return values are covered structurally, and the description supplies the trust/freshness context an agent needs before relying on the list. Minor gap: no guidance on how this relates to the sibling quote tools (payment_preflight, credential_quote) it will likely be used alongside.

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 maxUsd parameter is fully described there, so the description needn't re-explain it. The only added semantic is the 'cheapest first' ordering, which is useful but minimal — baseline 3 fits.

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 resource (the full price list of paid doors, in dollars, ordered cheapest first) with a clear scope statement. An agent can tell this is a catalog/read tool rather than a quote or settlement tool without opening the schema.

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

Usage Guidelines4/5

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

Explicitly says to use it to budget BEFORE committing to a call, and explains the fallback (calling a door and reading its 402). It doesn't name sibling tools like payment_preflight or credential_quote as alternatives, so routing among the quote-family tools is left implicit.

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

payment_preflightCan this wallet afford this call right nowA
Read-onlyIdempotent
Inspect

Reads a wallet's live USDC balance on Base and answers whether it covers one named door (or a given amount), with the exact shortfall if not and how many calls at that price the balance covers. Use it before a paid call so an agent never burns a turn discovering it is short. A balance that cannot be read answers UNKNOWN, never no — an RPC hiccup must not stop a funded caller. Read-only: it checks a public balance, holds nothing, and charges nothing. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
walletYesThe 0x… address that would pay. The ADDRESS only, never a private key.
endpointNoA door name from payment_options, e.g. 'work-packet'. Prices the check from the live list.
amountUsdNoCheck against a plain dollar amount instead of a named door.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description still adds real behavioral value beyond them: an unreadable balance returns UNKNOWN rather than a false negative, plus free, keyless, nothing to sign, holds nothing. The UNKNOWN failure-mode contract is exactly the kind of nuance annotations cannot express.

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

Conciseness4/5

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

Front-loaded with the core action and trigger before the edge-case contract, and every sentence carries information. There is mild redundancy between 'holds nothing, and charges nothing' and 'Cost and signer: free and keyless, nothing to sign', which keeps it from a 5.

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

Completeness5/5

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

For a 3-parameter read-only check with a full output schema, the description covers what it answers, the failure semantics, the cost/signer model, and when to call it. Nothing an agent needs in order to invoke it safely 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% and each parameter is already described, so the baseline applies. The description echoes the endpoint-or-amount alternative ('one named door (or a given amount)') but adds no new syntax, precedence rule, or behavior when both are supplied, so it does not exceed the schema.

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

Purpose5/5

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

States a specific verb and resource — reads a wallet's live USDC balance on Base — plus the exact question it answers (does it cover a named door or amount) and what it returns on failure (shortfall amount). It is clearly distinguishable from sibling tools like payment_options (price list) and my_money (portfolio view) because it is a per-call affordability check.

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?

'Use it before a paid call so an agent never burns a turn discovering it is short' gives a concrete trigger and a cost of skipping it. It stops short of naming the sibling it replaces or stating exclusions (e.g. when to just call my_money instead), so it is clear context but not explicit when/when-not routing.

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

place_standingA place's Standing under the Vealth StandardA
Read-onlyIdempotent
Inspect

The Vealth Standard's live reading for one place — Standing (Unread or Read today) recomputed this moment from settled packets with accepted proof, per condition. Standing LAPSES when the work stops: this is the reading to re-check after funding or completing work at a place. Unread is an honest beginning, not a failure. Public mirror: https://vealth.net/labor/standing?place=… Free, keyless, read-only. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
placeYesThe place to read, e.g. a city, address fragment, or venue name.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover readOnly/idempotent/destructive/openWorld, so the bar is lower, yet the description adds genuinely new context: free, keyless, nothing to sign, plus a public mirror URL for verification. The liveness claim ('recomputed this moment') and the lapse behavior are useful operational traits an agent cannot get from annotations. It stops short of describing response shape or rate limits.

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

Conciseness4/5

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

The core definition and the re-check guidance are front-loaded, and the lapse caveat earns its place. The closing cost/signer sentence partially restates 'Free, keyless, read-only,' which is mild redundancy, and the jargon density (settled packets, accepted proof, per condition) slows parsing.

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

Completeness4/5

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

With an output schema present, the description need not explain return values, and with strong annotations the safety profile is covered; what remains—what Standing means, when it lapses, and that access is free and keyless—is all stated. The main gap is that domain terms like 'Unread', 'settled packets', and 'per condition' are used without definition for a non-expert agent.

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 `place` parameter already carries an example ('a city, address fragment, or venue name'), so baseline 3 applies. The prose says 'one place' but adds no resolution or matching semantics 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?

The description names a specific resource and operation: a live, per-condition Standing reading for a single place, recomputed from settled packets with accepted proof. It is clearly a point-read rather than a mutation or preparation step. It does not, however, distinguish itself from the nearby place_status sibling, so an agent must infer the boundary between two similarly-named place tools.

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 gives a concrete use case: 'this is the reading to re-check after funding or completing work at a place,' which tells the agent when to call it in a workflow. It also warns that Standing lapses when work stops, implying freshness matters. No explicit when-not-to-use or named alternative (e.g., place_status) is offered.

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

place_statusWhere your place standsA
Read-onlyIdempotent
Inspect

Read an intake you handed over: pending, posted, or rejected with the reason. Free, keyless, no wallet needed. Pass intakeId for one, or wallet to list every place that wallet handed over. While it says pending there is nothing to claim yet and no packet exists; when it says posted it names the workId of the packet at your place, and that packet is claimable like any other. Vealth sends no email, so this call is how the person stays with their own place. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
walletNoOptional instead of intakeId: the 0x… address that handed places over.
intakeIdNoThe intake id submit_place returned.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description still adds substantial context: free, keyless, no wallet or signature required, and that Vealth sends no email so this call is the only way the user learns of a status change. It also describes the state machine (pending has no packet; posted yields a workId that behaves like any other claimable packet), which is behavioral information unavailable from the schema.

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

Conciseness4/5

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

Front-loaded with the core action and the state outcomes, then the two call modes, then the semantics of each state. The cost/keyless/signer point is stated twice ("Free, keyless, no wallet needed" and the closing "Cost and signer: free and keyless, nothing to sign"), which is wasted space in an otherwise tight description.

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?

An output schema exists, so return values needn't be explained; the description instead covers what an agent actually needs beyond that — the state model, the claimability transition at 'posted', the absence of email notification, and the cost/signing profile. Nothing needed to call this correctly 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?

Schema coverage is 100%, so the baseline is 3; the description raises it slightly by framing the two parameters as mutually exclusive modes with different output shapes (single intake vs. a list of all places for a wallet). That framing adds a little semantic value over the schema's per-field text, which already says wallet is "optional instead of intakeId."

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 — reading the status of an intake (pending/posted/rejected with reason) — and names the three result states, which an agent can match to outcomes. It does not distinguish itself from the sibling place_standing, which a reader must infer, so it falls short of the 5 bar for sibling differentiation.

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?

"Pass intakeId for one, or wallet to list every place that wallet handed over" tells the agent exactly which mode to pick for a single lookup vs. an enumeration. It also clarifies what each state means for follow-up (pending = nothing to claim, posted = claimable workId). No explicit "use X instead" exclusion against place_standing or work_status, so 4 rather than 5.

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

prepare_accept_hoursAccept the hours somebody worked (step 1 of 2)A
Read-onlyIdempotent
Inspect

You were named on a work packet as the person who accepts its hours: this is how you do that. FREE and KEYLESS, a signed judgment, no fee, no gas. NOBODY PAYS ANYBODY HERE: accepting hours releases no wage, records no settlement and mints nothing, it writes onto the record that those hours were worked and stops. THE HOUSE CANNOT ACCEPT ITS OWN HOURS, which is the whole reason this door exists: a house wallet is refused here, and so is the packet's own worker, because nobody grades their own exam. The signature is YOUR OWN, from the wallet the packet named, and nobody else's signature will open it. The worker states the hours; you decide the accepted figure, and a figure above their own claim needs allowAboveClaim. Read the proof first with get_work_packet. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with that wallet's personal_sign, then call submit_accept_hours within 5 minutes. Once a packet names you, YOU ALONE DECIDE its proof: the house and the poster cannot approve or reject it. To return the proof instead, pass decision "reject" with a reason; the worker gets the reason and may resubmit, free. If you no longer want to decide this job, pass decision "step-down": only you can un-name yourself, it moves no money, and the step-down is shown on the packet. Cost and signer: free, no gas; the person signs the result with their own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
noteNoOptional, up to 300 characters: one plain sentence saying what you checked.
reasonNoRequired when decision is reject: one plain sentence saying what the worker must fix.
workIdYesThe packet id whose hours you are accepting.
acceptorYesYour 0x address, the one this packet named as its acceptor. Address only, never a private key.
decisionNoaccept (the default), reject: return the proof to the worker with your reason, or step-down: stop being this packet's acceptor.
hoursAcceptedNoThe hours you actually stand behind, greater than zero and at most 168. Not the hours claimed unless you agree with them.
allowAboveClaimNoOnly when you mean to credit MORE hours than the worker asked for. Default false, and a higher figure is refused without it.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.5/5.0
Behavior4/5

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

Rich disclosure beyond annotations: no fee, no gas, no wage released, no settlement, no minting, signature must come from the named wallet, and a five-minute signing window. The one tension is the phrasing 'it writes onto the record that those hours were worked' against readOnlyHint=true — the two-step explanation (returns MESSAGE_TO_SIGN, then submit) resolves it, but an agent skimming could briefly read this call as a state mutation.

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?

Front-loaded and purposeful in the first sentences, but the cost/signer facts are stated twice ('FREE and KEYLESS, a signed judgment, no fee, no gas' and again as 'Cost and signer: free, no gas'), and the all-caps rhetorical lines ('THE HOUSE CANNOT ACCEPT ITS OWN HOURS', 'nobody grades their own exam') inflate length without adding callable detail.

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?

Covers everything an agent needs before invoking: who may call, prerequisites, the follow-up submit step and its 5-minute deadline, the meaning of each decision, and the failure modes (wrong signer, house wallet, above-claim figure). With an output schema present, the return values (MESSAGE_TO_SIGN, BODY_JSON) are still noted, which is sufficient.

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?

Schema coverage is already 100%, so baseline is 3; the description still adds decision semantics ('reject' returns the proof with a reason, 'step-down' un-names only yourself) and the relationship between the worker's claim and hoursAccepted/allowAboveClaim. It does not elaborate workId, acceptor, or note, which the schema already handles.

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+resource (accept a work packet's hours) and its role in a two-step flow, and names both neighbors it interacts with: get_work_packet to read the proof and submit_accept_hours to finalize. It also defines the actor precisely ('you were named on a work packet as the person who accepts its hours'), so the agent can tell this apart from the many other prepare_* siblings.

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 ordered workflow: read the proof first with get_work_packet, call this, sign with the named wallet, then submit within 5 minutes. It also states the alternative branches with their conditions: decision 'reject' plus a reason (worker may resubmit free) versus 'step-down' to un-name yourself, plus when allowAboveClaim is needed. Exclusions are explicit too — house wallets and the packet's own worker are refused.

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

prepare_backingPledge to back a packet — free, no payment (step 1 of 2)A
Read-onlyIdempotent
Inspect

The FREE fund door: a signed, non-custodial statement that you will put $X behind this packet. NO money moves and none of it is ever held by Vealth — it is balance-checked at the moment you pledge (your wallet must actually hold at least the amount) and recorded on the packet's public backer ledger. A pledge is NOT a payment and never marks the packet funded — only a real settled payment through prepare_funding does that. Use this when you want to signal real backing without paying yet, or when you want the demand recorded even though you cannot pay onchain right now. A pledge cannot exceed the packet's own posted wage. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the backer wallet's personal_sign (a plain signed message, NOT a transaction — no gas, no fee), then call submit_backing within 5 minutes. Cost and signer: free, no gas; the person signs the result with their own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
reasonNoOptional, up to 280 characters, shown on the public backer ledger.
workIdYesThe packet id, from find_work.
amountUsdYesHow much you pledge to back this packet with, in USD. Cannot exceed the packet's posted wage.
backerKindNoSelf-declared attribution, same as voterKind. Defaults to human if omitted.
backerWalletYesThe 0x… address that will sign and own this pledge. Must hold at least amountUsd for it to verify.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.6/5.0
Behavior4/5

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

Goes well beyond the annotations: balance is checked at pledge time, the pledge is capped by the packet's posted wage, the result is recorded on a public backer ledger, the response is MESSAGE_TO_SIGN + BODY_JSON, signing is personal_sign not a transaction, and the submit window is 5 minutes. The only shortfall is mild repetition of the 'free/no gas' point rather than adding further failure-mode detail (e.g. what happens if the window lapses or the balance check fails).

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

Conciseness4/5

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

Front-loaded with the core differentiator ('The FREE fund door') and laid out as purpose → not-a-payment → when to use → mechanics → next step. A few clauses restate the cost/free point ('NO money moves', 'free, no gas, no fee'), which is the only waste in an otherwise dense definition.

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 two-step pledge flow it covers initiation, the required follow-up tool, the signing method, the time limit, and the cap on amount. An output schema exists, so the fact that return values are also sketched in prose is a bonus rather than a necessity; nothing an agent needs to invoke this correctly 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?

Schema coverage is 100%, so the baseline is 3; the description earns above that by tying backerWallet to the actual signing act ('the person signs the result with their own wallet or passkey') and by reinforcing that amountUsd is bounded by the packet wage. It does not add meaning for reason or backerKind beyond the schema.

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+resource ('pledge to back a packet') and immediately scopes it: free, non-custodial, no money moves. It explicitly distinguishes itself from the sibling prepare_funding ('A pledge is NOT a payment and never marks the packet funded'). An agent can pick between the two without opening a 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 explicit use conditions ('when you want to signal real backing without paying yet, or when you want the demand recorded even though you cannot pay onchain right now') plus the counterpart exclusion via prepare_funding. It also names the required follow-up (submit_backing within 5 minutes), so the whole call sequence is derivable.

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

prepare_backing_withdrawWithdraw your pledge (step 1 of 2)A
Read-onlyIdempotent
Inspect

Take back a pledge you made — the row becomes WITHDRAWN in the packet's public pledge ledger (withdrawing is not erasing) and its amount leaves the pledged total. Always allowed, on every packet, whatever its lifecycle; no money ever moved, so nothing is refunded. Free, same signature-is-the-gate rule as pledging. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the SAME wallet that pledged, then call submit_backing_withdraw within 5 minutes. Cost and signer: free, no gas; the person signs the result with their own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
workIdYesThe packet id.
backerWalletYesThe same 0x… address that pledged.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations: discloses that the row becomes WITHDRAWN rather than erased, that the amount leaves the pledged total, that nothing is refunded because no money moved, that there is no gas cost, that the signature window is 5 minutes, and that the house never holds a key. The readOnlyHint is consistent because the tool only returns MESSAGE_TO_SIGN/BODY_JSON and the mutation lands in submit_backing_withdraw, which the description makes explicit.

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 two-step flow, the state effect, and the signer requirement are front-loaded, and every clause carries operational content. Minor redundancy: 'Free' is stated early and again as 'Cost and signer: free, no gas', costing a little tightness.

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?

Even though an output schema exists, the description names the returned fields (MESSAGE_TO_SIGN, BODY_JSON) and the exact handoff to the submit step, and it covers the permissions and cost model an agent needs. Nothing required to call it correctly 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% and both parameters already carry descriptions ('The packet id', 'The same 0x… address that pledged'). The description's 'SAME wallet that pledged' reinforces backerWallet but adds no syntax, format, or constraint beyond what the schema states, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource — take back a pledge, producing WITHDRAWN in the packet's pledge ledger — and the title labels it 'step 1 of 2', which separates it cleanly from submit_backing_withdraw. An agent can distinguish it from prepare_backing (the inverse action) without opening either schema.

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

Usage Guidelines4/5

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

Explicitly states the availability condition ('Always allowed, on every packet, whatever its lifecycle') and the downstream sequencing ('sign with the SAME wallet that pledged, then call submit_backing_withdraw within 5 minutes'). It lacks an explicit when-not / alternative branch (e.g. what to do if the withdrawal window closed or the pledge was already withdrawn), so it falls just short of the top.

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

prepare_bidOffer your own price on a work packet (step 1 of 2)A
Read-onlyIdempotent
Inspect

Name your price instead of claiming at the posted pay. FREE — a signed offer, no fee, no gas. One OPEN bid per wallet per packet; bidding again replaces your earlier offer. The packet's creator decides: accepting your bid mints your claim AT YOUR PRICE, through the same admission every claim passes (expiry, lifecycle, the claim lanes, your open-claim cap). A bid on a packet whose claim lane is closed can be placed but never accepted; the packet's own read says so under actions.bid.note. A bid is a deferred claim, so a physical packet asks the bidder's human for the same statements a claim does (attestAtLeast18, and attestSafetyRead where the packet names its own hazards); the first call surfaces the exact wording and refuses to make a signable offer until each is affirmed. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the bidder wallet's personal_sign, then call submit_bid within 5 minutes. Cost and signer: free, no gas; the person signs the result with their own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
workIdYesThe packet id, from find_work.
amountUsdYesYour price in USD, greater than zero.
bidderKindNoSelf-declared attribution. Defaults to agent if omitted.
bidderWalletYesThe 0x… address that will sign and, if accepted, hold the claim.
attestAtLeast18NoPhysical bids only. Set true ONLY after the human caller explicitly affirms: I am at least 18 years old. A bid is a deferred claim, so prepare_bid will refuse to create a signable bid when this statement is required and has not been affirmed.
attestSafetyReadNoHazard-bearing physical bids only. Set true ONLY after the human caller has actually read and affirms the exact packet safety / stop-work text that prepare_bid surfaces. Never infer or auto-fill this affirmation.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.6/5.0
Behavior4/5

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

Goes well beyond annotations: free, no gas, no fee, house never holds a key, one open bid per wallet with replacement, the creator's acceptance mints the claim at bidder's price through normal admission checks, and the attestation refusal on first call. Minor tension: readOnlyHint=true vs 'bidding again replaces your earlier offer' implies persisted bid state, though the tool itself only produces a signable message, so it is not a true contradiction.

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?

Dense but front-loaded: the core value proposition and cost come first, then rules, then the sign/submit handoff. It is on the long side and packs several clauses per sentence, but nearly every clause carries operational information an agent needs.

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?

Complete for a two-step prepare flow: it names the return fields (MESSAGE_TO_SIGN, BODY_JSON), the signing method and signer, the 5-minute submit window, the submit_bid follow-up, and the conditions under which it refuses. Output schema exists, so no further return-value detail is needed.

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?

Schema coverage is 100% so the baseline is already met, but the description adds real meaning: amountUsd becomes the minted claim price on acceptance, bidderWallet is the wallet that signs via personal_sign, and the two attestation flags gate whether a signable offer is produced at all. Only bidderKind is left entirely to the schema.

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?

Opens with a specific verb+resource and an explicit contrast: 'Name your price instead of claiming at the posted pay,' which distinguishes prepare_bid from prepare_claim in the sibling list. The title reinforces the two-step flow (step 1 of 2), so an agent knows this is the offer-creation half.

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?

Explicitly frames the choice as bid-vs-claim, states the one-open-bid-per-wallet rule, warns that bids on closed claim lanes can be placed but never accepted, and hands off to submit_bid within 5 minutes. That is when-to-use, when-not-to-expect-acceptance, and the required follow-up call all in one place.

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

prepare_bridgePrepare a REGEN bridge transaction (non-custodial)A
Read-onlyIdempotent
Inspect

Move REGEN between the Regen chain, Osmosis, Arbitrum and Base in ONE transaction the caller signs with their own wallet. Returns a live quote and the exact unsigned transaction; Skip Go's relayers carry every hop after the broadcast: no confirm step, nothing held by this server, free. Five routes: regen→arbitrum, regen→base and base→regen (axlREGEN through Axelar), plus regen→osmosis and osmosis→regen (a plain ICS-20 transfer over regen-1 channel-1 and osmosis-1 channel-8). This tool prepares that ICS-20 leg itself: zero toll, amount out equals amount in, one signed message, timeouts derived live by Skip, and no minimum send; on those two legs destination may be omitted, and the sender's own account re-encoded under the destination prefix is used (same key, same 20 bytes, no new wallet). Skip does now return a one-transaction route from Osmosis to Base, but it is a CosmWasm contract call rather than a plain ICS-20 transfer, and this tool prepares only ICS-20 transfers and Axelar sends, so it is not offered here; from Osmosis, route home first (osmosis→regen), then regen→base or regen→arbitrum from the regen1 address. Base USDC to REGEN and the reverse take two signed transactions and are not offered here either. Outbound sends from the Regen chain to Arbitrum or Base pay Axelar's flat per-transfer toll, which Axelar prices in dollars (about $0.19 to $0.23 measured across 2026-09-05 to 2026-09-08) and so floats in REGEN terms: measured between 94 and 175 REGEN across those days, on a transfer of any size, moving with both the REGEN price and the shape of the route Skip picks. It is quoted LIVE at call time and returned as quote.toll_regen. The response is authoritative; the figures in this text are approximate and there is no stable number to publish. On those Axelar routes send at least twelve times the live toll in one transfer (returned as quote.min_send_regen, which is null on the Osmosis legs because they have no minimum) and batch rather than dribble; a smaller send is refused with the live toll named. base→regen carries no REGEN toll: the prepared EVM transaction carries a small native ETH value instead, Axelar's fee as Skip quotes it (about $0.11 measured 2026-09-08, returned as sign_this.value and refused above $0.50), after one exact ERC-20 approval. Measured landing times with one key, every landing read from the destination chain on 2026-09-08: regen→osmosis under a minute, regen→base about 66 seconds, base→regen about 30 minutes because Axelar waits on Base finality before it approves an EVM to Cosmos call. After the broadcast, call bridge_status with the source chain and the transaction hash to follow it; a round trip through Base and back loses money at every size this tool prepares (the flat toll never crosses the small price spread), so move REGEN to where it is needed, never to trade the gap. Cost and signer: free to prepare; the person's own wallet signs and pays the bridge toll and gas, and the house never holds a key.

NameRequiredDescriptionDefault
amountYesAmount in whole REGEN (e.g. "5000"). Same 6-decimal unit on every chain.
senderYesThe caller's OWN address on from_chain (regen1… for regen, osmo1… for osmosis, 0x… for base and arbitrum): the wallet that will sign.
to_chainYesChain the REGEN should end up on.
from_chainYesChain the REGEN is on now.
destinationNoThe caller's OWN address on to_chain that receives the funds. Required on the Arbitrum and Base routes, where no address can be derived from the sender's. Optional on regen→osmosis and osmosis→regen: when omitted, the sender's own account re-encoded under the destination prefix is used (same key, same 20 bytes, no new wallet).

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.7/5.0
Behavior5/5

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

Goes well beyond annotations: non-custodial, free to prepare, no confirm step, relayer-carried hops, live-quoted toll (~94–175 REGEN, floating), ETH value cap of $0.50 on base→regen, exact ERC-20 approval, and measured landing times per route (under a minute to ~30 minutes). Preparing an unsigned transaction is consistent with readOnlyHint=true and idempotentHint=true since the server mutates no state, so there is no contradiction.

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?

Front-loaded correctly, with routing, then tolls, then timings, then the bridge_status handoff. But it is roughly 450 words in a single dense block, and it spends several clauses quoting measured toll ranges and dates only to declare them approximate and unpublishable, which is text the agent cannot act on.

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 multi-chain, high-stakes financial preparation tool this covers everything an agent needs: supported routes, exclusions and workarounds, cost model, minimums, signature count, latency, and post-broadcast continuation. An output schema exists, and the description still names the key response fields (quote.toll_regen, quote.min_send_regen, sign_this.value) so the agent knows what to surface.

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?

Schema coverage is 100%, so the baseline is 3; the description still adds decision-relevant meaning by tying `amount` to the live min_send_regen threshold, explaining that `destination` is derivable from sender on the two Osmosis legs (same key, same 20 bytes), and noting to_chain specifics like the ETH value surfacing in sign_this.value. This is genuine semantic enrichment rather than restatement.

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?

Opens with a precise verb+resource+scope: moves REGEN between four named chains in one caller-signed transaction, returning a live quote and unsigned tx. It explicitly delineates the five supported routes and names the sibling (bridge_status) used for follow-up, so an agent can distinguish it from prepare_chain_step and the submit_* family without opening the 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?

Explicitly states when each route applies, when destination may be omitted, the 12x-toll minimum-send rule with the refusal behavior, the batching preference, and what to call after broadcast (bridge_status with source chain + tx hash). It also states two exclusions with the required workaround (Osmosis→Base must route home via osmosis→regen first; Base USDC↔REGEN not offered), which is rare and valuable routing guidance.

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

prepare_chain_stepPrepare an EWP job-lifecycle step on Base or Robinhood Chain (non-custodial)A
Read-onlyIdempotent
Inspect

Build the exact unsigned transaction for one step of a real ecological-work job's lifecycle — post, claim, unclaim, prove, approve, reject, cancel, or settle — on the PUBLIC Ecological Work Protocol contract, on Base or on Robinhood Chain. You sign it and broadcast it yourself, from your own wallet, paying your own gas in the chain's native ETH; this server never holds a key, never signs, and never pays. Any wallet, any local society, any amount of gas they are willing to spend: this is how a stranger's own AI runs the whole job loop on the public ledger with no house involved and no house money. Before returning a transaction this tool reads live chain state and refuses with a plain reason when the step would fail — the contract paused, the work in the wrong status, the wallet not allowed to take this action — and as a final check it eth_calls the exact transaction from your wallet address, so a doomed transaction is never handed out. Steps and their extra fields: post (workType, standard, priceUsd, location, expiresInDays) creates a new job — anyone can post; the on-chain WorkType bucket is derived from workType and the rich description lives in standard; price is stored on chain in cents; location is written on chain PUBLICLY and PERMANENTLY. claim / unclaim / cancel / approve / reject (workId) act on an existing job by id. proof (workId, proofHash) records that you finished the work — proofHash is the SHA-256 of your evidence, 64 lowercase hex characters, no 0x prefix: we take a hash, never a file (hash it yourself, or use the free anchor_proof tool). settle (workId, paymentTxHash, tokenContractAddress, tokenId, qualityScore) records that a payment ALREADY happened, on any rail, in any token, at any amount its two parties agreed — pass tokenContractAddress as "native" for a plain ETH payment; this call is a receipt, not a payment, and moves no money by itself. Call chain_work_status first if you are unsure of a job's current state. Cost and signer: free to prepare; the person's own wallet signs and pays its own gas, and the house never holds a key.

NameRequiredDescriptionDefault
stepYesThe lifecycle action to prepare.
chainYesWhich live EWP deployment: "base" (chainId 8453) or "robinhood" (Robinhood Chain, chainId 4663). Same contract bytecode on both.
walletYesYour OWN 0x… address — the wallet that will sign and pay gas for this transaction. Never send a private key anywhere.
workIdNoEvery step except post. The numeric id of the work on THIS chain (from find_work, chain_work_status, or your own post's receipt).
tokenIdNosettle only. An NFT/token id if the payment minted one; empty string otherwise.
locationNopost only. Where the work is. Written on chain PUBLICLY and PERMANENTLY — prefer a neighborhood or city over an exact street address.
priceUsdNopost only. A positive number of US dollars (e.g. 50 for $50). Stored on chain as cents.
standardNopost only. The rich, specific description written on chain (e.g. "drinking_water_safety", or a fuller sentence). Defaults to workType if omitted.
workTypeNopost only. Free text describing the work (e.g. "soil_sampling", "storm drain inspection") — bucketed into the contract's water/soil/building shelf.
proofHashNoproof only. The SHA-256 of your evidence: 64 lowercase hex characters, no 0x prefix.
qualityScoreNosettle only. Whole number, 0 to 100.
expiresInDaysNopost only. Whole number, 1 to 365: how many days the posting stays claimable.
paymentTxHashNosettle only. The transaction hash (or other reference) of a payment that already happened, on any rail.
tokenContractAddressNosettle only. The token paid with — a 0x… contract address, or the literal "native" for plain ETH. Defaults to "native".

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.2/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description is consistent with them while adding substantial context: it reads live chain state and refuses with a plain reason, it eth_calls the exact transaction from the wallet as a final simulation, it never holds a key or pays gas, and it discloses that location is written publicly and permanently and that price is stored in cents. Those are exactly the behavioral traits annotations cannot convey.

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 purpose and the no-custody guarantee are front-loaded, which is good, but the block is long and carries rhetorical filler ("this is how a stranger's own AI runs the whole job loop ... with no house involved and no house money") and repeats the no-key point twice ("never holds a key" and "the house never holds a key"). The step-to-field mapping is the genuinely valuable part and is buried mid-paragraph.

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 14-parameter, multi-step transaction builder this covers everything an agent needs: both chains, all eight steps, per-step required fields, the pre-flight refusal behavior, the signer/payer model, and the on-chain permanence warning. An output schema exists, so return-value explanation is correctly omitted.

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?

Schema coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema by mapping which extra fields each step consumes (post: workType/standard/priceUsd/location/expiresInDays; proof: workId+proofHash; settle: paymentTxHash/tokenContractAddress/tokenId/qualityScore) and by explaining semantics such as the WorkType bucketing, the "native" sentinel, and that settle is a receipt rather than a payment.

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 and resource: "Build the exact unsigned transaction for one step of a real ecological-work job's lifecycle", with the eight steps enumerated and both chains named. An agent knows exactly what comes back (an unsigned tx, not a broadcast). It does not, however, distinguish itself from similarly named siblings such as prepare_post_work, prepare_proof, or prepare_claim, so the agent must infer which of those to use from outside the description.

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 concrete prerequisite ("Call chain_work_status first if you are unsure of a job's current state") and states the cost model ("free to prepare; the person's own wallet signs and pays its own gas"). It explains when the tool will refuse (paused contract, wrong status, unauthorized wallet), which is useful context. It lacks explicit guidance on when to choose this over the prepare_proof / prepare_post_work siblings.

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

prepare_claimPrepare a free signed claim (step 1 of 2)A
Read-onlyIdempotent
Inspect

Start claiming a packet for a wallet you control. Returns MESSAGE_TO_SIGN (the exact string the write gate verifies) and BODY_JSON (the exact body to submit). Claiming is FREE — the signature proves the wallet is yours; it is never a payment and costs no gas. Sign MESSAGE_TO_SIGN with the wallet's personal_sign (any wallet tool works; never share a private key with anyone, including this server), then call submit_claim within 5 minutes. Cost and signer: free, no gas; the person signs the result with their own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
crewNoOptional, for a MANAGER claiming for a crew: the people who will do the work, 1 to 25 of {"ref":"amina","label":"Amina"}. A ref is your own handle for the person (2 to 40 lowercase letters, digits or hyphens), a label an optional short name to call out; never an identity (no legal name, phone or email). This wallet stays the worker of record: it signs, hands in the proof and is paid. The crew rides inside the signed body; a bad crew is refused before any message to sign.
workIdYesThe packet id, from find_work.
targetUrlNoSelf-verifying TEMPLATE packets only: YOUR OWN https origin (e.g. https://example.com). It becomes {{target}} in the packet's executable definition of done; the claim gate probes it once to record the honest before/after baseline, which is required for auto-payout.
workerWalletYesThe 0x… address that will sign and own this claim.
attestAtLeast18NoPhysical claims only. Set true ONLY after the human caller explicitly affirms: I am at least 18 years old. prepare_claim will refuse to create a signable claim when this statement is required and has not been affirmed.
attestSafetyReadNoHazard-bearing physical claims only. Set true ONLY after the human caller has actually read and affirms the exact packet safety / stop-work text that prepare_claim surfaces. Never infer or auto-fill this affirmation.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations, the description explains exactly what is returned (MESSAGE_TO_SIGN and BODY_JSON), that the operation is free and non-payment, that gas is not required, that the signed message expires in 5 minutes, and that the house never holds a key. These details fill out the behavioral contract in a way the annotations alone do not.

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 description is front-loaded with the core action and immediately explains the return values and next step. It is slightly repetitive, however: the cost/signer facts appear twice ('Claiming is FREE...' and then 'Cost and signer: free, no gas...'), which dilutes conciseness without adding new information.

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?

Given a 6-parameter tool with full schema coverage, annotations, and an output schema, the description supplies the remaining workflow context: what to do with the output, the 5-minute expiration, the signing method, and the security expectations. Nothing essential for correct invocation 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%, and every parameter already has a detailed description, so the schema carries the parameter semantics burden. The tool description does not add parameter-specific meaning beyond naming the two return values, which is appropriate given the rich schema.

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 and resource ('Start claiming a packet for a wallet you control') and explicitly frames itself as step 1 of 2, with the next step named as submit_claim. This makes the tool's role distinct from its obvious sibling submit_claim and from discovery tools like find_work.

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

Usage Guidelines5/5

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

It gives explicit when-to-use context and a precise continuation rule: 'then call submit_claim within 5 minutes.' It also identifies the signing requirement (personal_sign with the wallet's own key) and safety boundaries, leaving little room for incorrect use.

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

prepare_credit_offerOffer to pay a packet in a VSH ecocredit on Regen (step 1 of 2)A
Read-onlyIdempotent
Inspect

Before the work: offer to pay this packet in verified stewardship hour (VSH) ecocredits from a named batch on Regen Ledger (chain regen-1). FREE, a signed offer, no fee, no gas, NO credit moves and none is held. You give NO Regen address: the board derives the regen1 account your signing key controls from the signature itself, reads your tradable balance in that batch for the record (verified or intent-only), and never prices the credit. amount is in the credit's own units with at most 6 decimal places, so 1.5 means one and a half verified hours. One offer per wallet per packet; offering again replaces it. A backer's offer is refused where funding is refused by state (claimed, settled, expired, already funded); the packet's own creator or beneficiary may offer at any state, because they are naming their own obligation. When the worker's proof is approved, send the credit TRADABLE to them on regen-1 and they record it with prepare_credit_settlement. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the backer wallet's personal_sign, then call submit_credit_offer within 5 minutes. Cost and signer: free, no gas; the person signs the result with their own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
amountYesPositive decimal in the credit's own units, at most 6 decimal places, e.g. "1.5".
reasonNoOptional, up to 280 characters: why this packet.
workIdYesThe packet id, from find_work.
backerKindNoSelf-declared attribution. Defaults to agent if omitted.
batchDenomYesThe Regen credit batch denom you will pay from, e.g. VSH01-001-20260907-20270907-001.
backerWalletYesThe 0x… address that will sign and later pay. Address only, never a key.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.3/5.0
Behavior5/5

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

Goes well beyond the annotations: no fee, no gas, no credit moves or is held, no Regen address supplied (board derives the regen1 account from the signature), never prices the credit, one offer per wallet per packet with replacement semantics, a 5-minute signing window, and 'the house never holds a key'. These are exactly the behavioral facts an agent needs and are consistent with readOnlyHint=true.

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?

Front-loaded with the key framing ('Before the work') and dense with substance, but it is a single long block with real redundancy: cost/free/no-gas is stated twice, and signing is described twice ('personal_sign' vs 'signs the result with their own wallet or passkey'). Trimming the repeats would make it noticeably sharper.

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 two-step prepare tool this covers everything an agent needs: what is produced (MESSAGE_TO_SIGN and BODY_JSON), how to sign it, the 5-minute deadline, the submit_credit_offer handoff, the later settlement path, replacement semantics, and the exact state-based refusal rules. With an output schema present, return-value detail is correctly left out.

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 six parameters are already documented. The description mostly restates the amount rule (own units, ≤6 decimals) that the schema already gives, adding only the interpretive gloss '1.5 means one and a half verified hours' and the note that no Regen address is needed. Useful but marginal over the schema — baseline 3.

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?

Specific verb + resource: prepare a signed offer to pay a work packet in VSH ecocredits from a named Regen batch on chain regen-1. The title and opening line make clear it is 'step 1 of 2' (prepare, not submit), distinguishing it from submit_credit_offer and from the sibling prepare_token_offer / prepare_direct_offer / prepare_backing paths.

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?

States the timing ('Before the work'), the required follow-up ('sign with the backer wallet's personal_sign, then call submit_credit_offer within 5 minutes'), and the precise when-refused conditions (claimed, settled, expired, already funded) plus the creator/beneficiary exception. It does not explicitly route to alternative offer tools for other asset types, which keeps it 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.

prepare_credit_settlementRecord that you were paid in a VSH ecocredit (step 1 of 2)A
Read-onlyIdempotent
Inspect

After your proof is approved and someone sent you VSH ecocredits on Regen Ledger: name the batch denom and the regen-1 transaction hash, and the board reads the transfer that reached the regen1 account YOUR signing key controls, then writes the same settlement record a dollar payout writes. Your work record, the place's standing and the board's settled count all move; paymentUsd stays 0 because the board never prices a credit. Payment is the TRADABLE amount you received: tradable credits sit in your balance and can pay for the next job, which is what lets work pay for work. Credits retired on your behalf are a claim you cannot spend onward, so a transfer that only retires is refused here and names both amounts; retiring is yours to do whenever you choose with credits you hold. The payer must have standing: an active credit offer on this packet whose regen1 account sent the transfer. FREE, no gas. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the worker wallet's personal_sign, then call submit_credit_settlement within 5 minutes. Cost and signer: free, no gas; the person signs the result with their own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
txHashYesThe 64-character hex hash of the regen-1 transaction that paid you (no 0x prefix).
workIdYesThe packet you proved.
batchDenomYesThe Regen credit batch denom you were paid in, e.g. VSH01-001-20260907-20270907-001.
workerWalletYesThe 0x… address on the approved proof, the wallet that was paid and will sign.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.8/5.0
Behavior2/5

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

Rich disclosure of cost ('FREE, no gas'), signer model (worker wallet personal_sign or passkey, house never holds a key), payer standing requirement (active credit offer on the packet), and the 5-minute signature TTL. However, it states this call 'writes the same settlement record' and that 'your work record, the place's standing and the board's settled count all move' — a state mutation attributed to this invoke — while annotations declare readOnlyHint=true and idempotentHint=true. The write actually belongs to submit_credit_settlement, so the description misleads about when state changes.

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 action and the inputs are front-loaded, which is good, but the body wanders into motivation ('what lets work pay for work') and repeats the cost/signer information twice ('FREE, no gas' mid-paragraph and again as 'Cost and signer: free, no gas'). Roughly a quarter of the text could be cut without losing instructions.

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?

Given an output schema exists, return values need not be detailed, and the description still flags MESSAGE_TO_SIGN/BODY_JSON and the signing step. It covers prerequisites, cost, signer, refusal cases and the next call; the main gap is that the two-step commit semantics are described inconsistently, leaving the agent unsure whether the settlement is final at prepare time or at submit time.

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?

Schema coverage is 100%, so the baseline is 3, but the description adds real constraint beyond the schema: the txHash must be a transfer that reached the regen1 account controlled by the signing key, and the amount credited must be tradable rather than retired. That materially narrows which values are valid, though it doesn't spell out the relationship between workerWallet and worker identity beyond 'YOUR signing key controls'.

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?

Names a specific verb and resource ('record that you were paid in a VSH ecocredit'), the exact inputs required (batch denom + regen-1 tx hash), and positions itself as step 1 of 2 with submit_credit_settlement as the follow-up. An agent can distinguish it from submit_credit_settlement and from the dollar-payout path 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 Guidelines4/5

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

Clear entry condition ('after your proof is approved and someone sent you VSH ecocredits'), an explicit exclusion ('a transfer that only retires is refused here'), and the required follow-up call plus 5-minute window. It does not name the sibling alternatives (prepare_direct_settlement / prepare_token_settlement) outright, so the routing decision between settlement types is only implied.

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

prepare_direct_offerOffer to pay a packet directly, by card or bank (step 1 of 2)A
Read-onlyIdempotent
Inspect

Before the work: offer to pay this packet yourself, OFF the board, in US dollars, through your own card processor (your own Stripe, for example), your bank, or any way you and the worker agree. FREE: a signed statement, no fee, no gas, NO money moves through Vealth and none is held. The wallet only signs, so it needs no balance; an agent can generate one locally in one line (we never see the key). method is card, bank or other. One offer per wallet per packet; offering again replaces it. Refused where funding is refused by state (claimed, settled, expired, already funded). When you accept the worker's proof, pay them directly; they record it with prepare_direct_settlement. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the payer wallet's personal_sign, then call submit_direct_offer within 5 minutes. Cost and signer: free, no gas; the person signs the result with their own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
methodYescard (your own card processor), bank, or other.
reasonNoOptional, up to 280 characters, public: why this packet. No email, phone or account numbers.
workIdYesThe packet id, from find_work.
amountUsdYesThe dollars you will pay the worker directly, at most two decimals.
backerKindNoSelf-declared attribution. Defaults to agent if omitted.
backerWalletYesThe 0x… address that will sign as the payer. Address only, never a key.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.3/5.0
Behavior5/5

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

Goes well beyond the annotations: no fee, no gas, no money moves through the platform, the wallet needs no balance and can be generated locally, the key is never seen, and offering again replaces the prior offer. It also discloses the return payload (MESSAGE_TO_SIGN, BODY_JSON) and a 5-minute submit window, which no annotation conveys.

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?

Purpose is front-loaded and every clause is substantive, but it is a single dense block that states cost twice ("FREE: ... no fee, no gas" then "Cost and signer: free, no gas") and leans on ALL-CAPS emphasis where structure would read better. It is efficient but not tight.

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 two-step signing flow the description covers the full contract: what is produced, what signs it, how long the artifact is valid, what state blocks it, and where to go next. With an output schema present it need not restate field shapes, and it doesn't.

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 six parameters are already documented in structured form. The description restates method values and adds only marginal meaning (the wallet needs no balance, the amount is paid directly off-platform), so it neither compensates for nor exceeds the schema.

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

Purpose5/5

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

States a specific verb and resource (offer to pay this packet yourself), pins the scope (OFF the board, US dollars, own card processor or bank), and separates it from the on-chain instrument siblings by contrast. It also names the two tools it pairs with (submit_direct_offer, prepare_direct_settlement), so an agent can place it in the workflow without opening a schema.

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 explicit timing ("Before the work"), preconditions ("One offer per wallet per packet; offering again replaces it"), and exclusions ("Refused where funding is refused by state (claimed, settled, expired, already funded)"). It also routes the post-acceptance leg to prepare_direct_settlement, though it never contrasts against the other offer-preparation siblings such as prepare_credit_offer or prepare_funding.

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

prepare_direct_settlementRecord that you were paid directly, off the board (step 1 of 2)A
Read-onlyIdempotent
Inspect

After your proof is approved and the payer paid you directly (card, bank, or any way you agreed): name the payer's wallet, the dollars you received and how, plus an optional short receipt id. The board accepts it only from a payer with standing (an active direct offer your amount covers, or the packet's creator or beneficiary) and only against your approved proof, and refuses a packet whose wage was paid into Vealth. Your signature is your word that you were paid and closes the packet. Vealth never saw the money, so the settlement is recorded as UNVERIFIED: paymentUsd stays 0 and the amount is shown as your own statement. FREE, no gas. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the worker wallet's personal_sign, then call submit_direct_settlement within 5 minutes. Cost and signer: free, no gas; the person signs the result with their own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
methodYescard, bank, or other.
workIdYesThe packet you proved.
amountUsdYesThe dollars you received, at most two decimals.
referenceNoOptional, public: a short receipt id (letters, digits, _ . : # -). Never a card, account or phone number.
payerWalletYesThe 0x… wallet of the payer who paid you: the one that made the direct offer, or the packet's creator.
workerWalletYesThe 0x… address on the approved proof, which will sign. Address only, never a key.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description still adds substantial context beyond them: the resulting record is UNVERIFIED, paymentUsd stays 0, the amount is the worker's own statement, the call is free with no gas, and the signing window is 5 minutes. It also discloses the signer model (user's own wallet or passkey, house never holds a key).

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 core action and preconditions are front-loaded, but the single dense paragraph repeats the cost/signer facts twice ('FREE, no gas' then 'Cost and signer: free, no gas; the person signs...') and restates the Vealth-never-saw-the-money idea, wasting space that could have been trimmed.

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?

An output schema exists, yet the description still tells the agent what it gets back (MESSAGE_TO_SIGN, BODY_JSON) and what to do with it, and it covers eligibility, refusal, cost, signer, and expiry. Nothing material for correct invocation 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?

Schema coverage is 100%, so the baseline is 3, but the description adds real constraints: payerWallet must be a payer with standing (an active direct offer the amount covers, or the packet's creator/beneficiary) and amountUsd is what was actually received. It also marks the receipt reference as optional, which reinforces the schema.

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

Purpose5/5

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

States a specific verb and resource (prepare a direct settlement record) plus its position in the flow ('step 1 of 2' in the title, and the description says it 'Returns MESSAGE_TO_SIGN and BODY_JSON'). It is clearly distinguishable from the sibling submit_direct_settlement, which it names explicitly.

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 precondition ('After your proof is approved and the payer paid you directly'), an explicit eligibility rule ('only from a payer with standing... or the packet's creator or beneficiary'), an explicit exclusion ('refuses a packet whose wage was paid into Vealth'), and an explicit next step with a deadline ('call submit_direct_settlement within 5 minutes').

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

prepare_evidence_surfaceReserve a board-hosted evidence surface — free (step 1 of 2)A
Read-onlyIdempotent
Inspect

The door for an agent with NOTHING but a wallet: funded remote template packets need {{target}} = an https origin the worker controls, and this reserves one ON THE BOARD, free. You get a targetUrl (https://vealth.net/labor/evidence/) that belongs to your wallet by signature. Flow: reserve here → pass targetUrl UNCHANGED to prepare_claim (the claim gate records the honest empty baseline) → after the claim binds, publish the packet's required JSON files with prepare_evidence_write → prepare_proof as normal. v1 serves application/json only, and only the exact paths the packet's own definition of done probes. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the worker wallet's personal_sign, then call submit_evidence_surface within 5 minutes. Cost and signer: free, no gas; the person signs the result with their own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
workIdYesThe funded remote template packet id, from find_work.
workerWalletYesThe 0x… address that will claim and complete this packet. Never a private key.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.3/5.0
Behavior5/5

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

Adds substantial context beyond annotations: free/no gas, the signing party is the worker's own wallet or passkey, the house never holds a key, v1 serves application/json only and only the exact probed paths, and the return shape is MESSAGE_TO_SIGN plus BODY_JSON with a 5-minute submission window. The prepare/submit split also explains why readOnlyHint=true is consistent despite the word 'reserves'.

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 content is information-dense, but the purpose is buried behind a long conditional metaphor in the first sentence and cost is restated ('free' appears in the title, mid-description, and again in 'Cost and signer: free, no gas'). Front-loading the actual reservation action would improve it.

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 two-parameter prepare step with an output schema, the description covers flow position, prerequisites, timing constraints, signing authority, cost, and content-type limits. Nothing an agent needs to invoke it correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so both workId and workerWallet are already documented in the schema. The description adds context that workId is the funded remote template packet, but nothing about workerWallet beyond what the schema states; 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 — reserves a board-hosted https evidence surface — and situates it precisely against siblings (prepare_claim, prepare_evidence_write, prepare_proof, submit_evidence_surface). The opening sentence is a dense conditional ('The door for an agent with NOTHING but a wallet...') that delays the actual purpose, keeping it from a clean 5.

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 ordered flow: reserve here, pass targetUrl UNCHANGED to prepare_claim, then prepare_evidence_write after the claim binds, then prepare_proof as normal. It also names prerequisites (funded remote template packet needing a worker-controlled https {{target}}) and the 5-minute follow-up call to submit_evidence_surface.

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

prepare_evidence_writePublish the packet's files to your evidence surface — free (step 1 of 2)A
Read-onlyIdempotent
Inspect

After your claim binds the surface, publish the JSON files the packet's definition of done probes — e.g. its /.well-known/… path. Pass resources: [{path, contentType, body}] where path is exactly a path the packet checks (the write gate refuses any other), contentType is application/json, and body is the JSON text you authored. Atomic: readers see the old set or the new set, never half. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the SAME wallet that claimed, then call submit_evidence_write within 5 minutes. Cost and signer: free, no gas; the person signs the result with their own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
workIdYesThe packet id.
claimIdYesYour claim id, from submit_claim.
recordIdYesThe 24-hex record id, from submit_evidence_surface.
resourcesYes1-8 files: {path: "/.well-known/…", contentType: "application/json", body: "<json text>"}. Only paths the packet's checks probe are accepted; 32KB per file, 48KB total.
workerWalletYesThe 0x… wallet that claimed.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.6/5.0
Behavior4/5

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

Goes well beyond the annotations: signer must be the same wallet that claimed, 5-minute validity window, free/no gas, house never holds a key, and the write gate rejects non-probed paths. The only soft spot is 'Atomic: readers see the old set or the new set, never half,' which describes the eventual surface state rather than this prepare step, an ambiguity given readOnlyHint=true — though it does not truly contradict the hint since this tool only returns a message to sign.

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

Conciseness4/5

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

Front-loaded with the action and ordered as action → payload rules → next step → cost/signer, with no filler sentences. It is dense to the point of being run-on in places (the resource-payload sentence packs three rules), but every clause carries information.

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 5-required-parameter tool with prerequisites and a two-step sign/submit flow, the description covers ordering, signer identity, timing, cost, and the gating constraint. An output schema exists, so return values need not be explained — the brief mention of MESSAGE_TO_SIGN/BODY_JSON is redundant but harmless.

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?

Schema coverage is 100%, so baseline is 3; the description earns a bump by pinning down resources semantics (path must be exactly a path the packet checks, contentType is application/json, body is the JSON text authored) and by tying workerWallet to the signing requirement ('SAME wallet that claimed'). Size limits and the other ids are left to the schema.

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 concrete verb and object — publish the JSON files the packet's definition of done probes — and frames it explicitly as 'step 1 of 2' whose counterpart is submit_evidence_write. An agent can distinguish this from prepare_evidence_surface and submit_evidence_write without opening a 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 the precondition ('After your claim binds the surface'), the follow-up route ('then call submit_evidence_write within 5 minutes'), and the exclusion rule ('the write gate refuses any other' path). Both when-to-call and what-to-call-next are explicit.

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

prepare_fundingGet everything needed to actually pay for a packetA
Read-onlyIdempotent
Inspect

Step 2 for a buyer: returns the live payment requirements for funding a packet — the onchain door's own x402 challenge (accepts[], exact amount, asset, chain, pay-to address) read from that door at this moment, and, when a card rail is mounted on this host, its hosted checkout URL. To chip in a slice instead of the whole remaining amount, pass the typed contributeUsd input and it is forwarded to the real door verbatim; omit it to pay everything the packet still needs (the canonical remaining amount, never a stale posted wage, and never an implicit premium). The door remains the authority on floors, ceilings and the exact challenge — this tool never calculates a charge itself. The exact amount is the wage still owed plus the Vealth service fee (10%), shown apart, while a door is open; while paying Vealth is closed the doors refuse and you pay the worker directly. You pay from YOUR own wallet or card; this server holds no funds and no keys, takes no payment, and marks nothing funded. A packet becomes funded only when a payment actually settles and is verified. Not ready to pay, or want to signal backing without money moving yet? prepare_backing is the FREE sibling door — a signed pledge, no payment required. Cost and signer: free to read; no payment is taken here while paying Vealth is closed, and when a door is open the buyer's own wallet or card pays and signs, and the house never holds a key.

NameRequiredDescriptionDefault
workIdYesThe packet id, from find_work.
funderWalletNoThe 0x… address that will pay onchain. Needed for the onchain door's live challenge; the card path does not use it.
contributeUsdNoOptional EXPLICIT contribution in USD. Omit to fund the canonical remaining amount. Forwarded to the live door verbatim; the door enforces its own floor, ceiling and remaining-amount truth. An explicit amount above the remaining is a deliberate worker premium.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.7/5.0
Behavior5/5

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

Beyond readOnlyHint/idempotent, it discloses that the server holds no funds or keys, takes no payment, marks nothing funded, and that funding only occurs when a payment actually settles and is verified. It also states the door — not this tool — is the authority on floors, ceilings, and the exact charge, which is exactly the behavioral context an agent needs.

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 key facts are front-loaded in the first sentence, but the description is long and repeats itself — the 'no funds, no keys, no payment' point appears twice ('this server holds no funds and no keys… marks nothing funded' and later 'the house never holds a key'), and the closed-door caveat is restated in the closing cost/signer sentence.

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 3-parameter, read-only preparation tool with an output schema, this covers everything an agent needs: what is returned, who signs and pays, what this tool does not do, the fallback state when the payment rail is closed, and the free alternative.

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?

Schema coverage is 100%, so baseline is 3; the description adds real meaning by explaining that contributeUsd is forwarded verbatim to the door, that omitting it funds the canonical remaining amount (never a stale wage and never an implicit premium), and that an over-remaining amount is a deliberate premium. funderWallet's role (onchain door only, unused by the card path) is stated in the schema rather than repeated here.

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 precise verb+resource: returns the live payment requirements (x402 challenge with accepts[], amount, asset, chain, pay-to, plus hosted checkout URL) for funding a packet. It is immediately distinguishable from nearby siblings like funding_quote, payment_options, and prepare_backing.

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?

Explicitly frames the call as 'Step 2 for a buyer' and names the alternative: 'Not ready to pay, or want to signal backing without money moving yet? prepare_backing is the FREE sibling door.' It also gives the when-not condition ('while paying Vealth is closed the doors refuse and you pay the worker directly').

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

prepare_outcome_bidBid one price for one rung at one place (step 1 of 2)A
Read-onlyIdempotent
Inspect

Offer ONE price to move ONE condition of ONE place up ONE rung of the Vealth Standard (Unread, Read, Tended, Kept, Whole), over open packets at that place that serve that condition (find_work near the place; place_standing gives each condition's rung). Name every packet with its share of the price; the shares must add up exactly. Name how you expect to be paid: usdc (the board's USDC rail on Base), token (your group's ERC-20 on Base 8453 or Robinhood Chain 4663) or work_credit. FREE: a signed offer, no fee, no gas, NO money moves and none is held. The packets' creator decides; accepting holds the packets for you and each is then claimed at its share through the same admission every claim passes. A person accepts every proof; whether the rung was reached is read from the Standing, never from you. Every problem is named before you sign. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the bidder wallet's personal_sign, then call submit_outcome_bid within 5 minutes. Cost and signer: free, no gas; the person signs the result with their own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
crewNoOptional: the people who will do the hours, as { ref, label? } (the managed account).
noteNoOptional, up to 500 characters.
placeYesThe place: a placeId (plc_...), an address, or a venue|city reference.
packetsYesThe open packets you will use, each with its share of the price. At most 25.
holdDaysNoOptional: how many days, 1 to 90, the packets stay held for you once accepted. Default 30.
priceUsdYesYour one price in USD, in whole cents.
conditionYesThe Standard's condition id, for example the_ground_is_alive (place_standing lists them).
bidderKindNoSelf-declared attribution. Defaults to agent.
targetRungYesThe rung you will move the condition to: exactly one above where it reads now.
bidderWalletYesThe 0x address that will sign, hold the claims and be paid. Address only, never a key.
paymentTermsYesHow you expect to be paid. A declaration only: money moves on the existing rails, never through this bid.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description corroborates it explicitly: no fee, no gas, no money moves, none held. It goes further with things annotations cannot express — the packets' creator decides, acceptance holds packets, claims still pass the same admission, a person accepts every proof, rung progress is read from the Standing rather than the bidder, and all problems are surfaced before signing.

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

Conciseness4/5

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

It is a dense single block but front-loaded with the core action before the constraints and the sign-and-submit mechanics. The cost statement is duplicated ('no fee, no gas, NO money moves' then 'Cost and signer: free, no gas'), which is the main wasted sentence.

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 an 11-parameter nested tool with 7 required fields, it covers the full round trip: what to gather first, what is returned (MESSAGE_TO_SIGN and BODY_JSON), how to sign (personal_sign with the bidder wallet), the deadline, and who signs. With an output schema present, it does not need to describe return payloads in more detail.

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?

Schema coverage is 100%, so the baseline is 3, but the description adds real semantics: shares must sum exactly to the price, the target rung must be exactly one above the current reading, and the payment rails are explained (usdc = the board's USDC rail on Base; token = your group's ERC-20 on Base 8453 or Robinhood Chain 4663), which enriches the rail/chainId enums.

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 first sentence states a very specific verb+resource+scope: offer one price for one condition of one place, one rung up, over open packets at that place. The title's '(step 1 of 2)' plus the explicit follow-up (submit_outcome_bid) makes its position in the flow unambiguous, and the rung ladder (Unread, Read, Tended, Kept, Whole) is enumerated.

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 names the prerequisite lookups (find_work near the place; place_standing for each condition's current rung) and the mandatory next step with a hard deadline (submit_outcome_bid within 5 minutes). It never contrasts with the many sibling prepare_* tools, notably prepare_bid, so the agent must infer when an outcome bid is preferred over a plain bid.

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

prepare_physical_proofRecord the physical proof for review (step 1 of 2)A
Read-onlyIdempotent
Inspect

After submit_proof has handed in your photos, record them on the physical proof rail so a human can review them against the packet's checklist. Pass workId, claimId, your wallet and the on-site gps you captured (the board never reads a stored location back to a caller, because the packet, claim and wallet are public). By default the photo hashes are the photos the board ALREADY HOLDS for this claim (it hashed them itself), so the photos are never typed from memory. You may name photoHashes yourself, but each must be a photo the board holds for this claim, and one it does not hold is refused before you sign: an assistant cannot hand in a photo nobody took. Photos reach the board BY REFERENCE, never through this conversation: on the person's own machine run node vealth-agent.mjs proof-photo <workId> <claimId> <photo files>, then pass {"type":"photo","upload":"sha256:"} items to prepare_proof. FREE when signed. A HUMAN decides: the packet's creator signs the checklist verdict and you can never review your own work. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the claiming wallet, then call submit_physical_proof within 5 minutes. Cost and signer: free, no gas; the person signs the result with their own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
gpsNoThe {lat, lng} you captured ON SITE with your photos. Required: the board does not read a stored location back to a caller.
workIdYesThe packet id.
claimIdYesYour claim on it, from submit_claim or my_work.
capturedAtNoOptional ISO time the photos were taken. Defaults to the camera's own time, else the capture time on your proof items.
photoHashesNoOptional, 1 to 12 SHA-256 hex hashes of photo FILES the board holds for this claim (what proof-photo printed). Leave it out to use every photo the board holds for this claim.
workerWalletYesThe same 0x address that claimed. Address only, never a private key.
revisesProofIdNoOnly when answering a needs-more verdict: the id of the physical proof that asked for more evidence.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description is consistent with a prepare tool that emits MESSAGE_TO_SIGN and BODY_JSON rather than mutating state. It adds real context the annotations cannot convey: hashes not held by the board are refused before signing, photos arrive by reference not through the conversation, the call is free with no gas, and the signer's key is never held by the house. Minor deduction only because cost/signer information is stated twice.

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 core flow is front-loaded, but the text is long for a 7-parameter prepare step and repeats itself: 'FREE when signed' is restated as 'Cost and signer: free, no gas', and the photos-by-reference rule appears twice. The aside about an assistant handing in 'a photo nobody took' is vivid but not load-bearing.

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?

Covers everything an agent needs for a two-step signing flow: prerequisites, the out-of-band photo upload path, hash validation, the 5-minute submit window, who signs, and who adjudicates. Return values are summarized even though an output schema already exists, so nothing material 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?

Schema coverage is 100%, so baseline is 3, but the description adds behavioral meaning beyond the schema: the default photoHashes set is what the board already holds, caller-supplied hashes are validated against that set and refused pre-signature, and gps must be captured on-site because stored location is never read back. It does not mention revisesProofId, which the schema covers on its own.

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

Purpose5/5

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

States a specific verb and resource ('record them on the physical proof rail so a human can review them against the packet's checklist') and situates it precisely as step 1 of 2, after submit_proof and before submit_physical_proof. An agent can distinguish it from submit_proof and submit_physical_proof 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 explicit sequencing (after submit_proof hands in photos, then sign, then call submit_physical_proof within 5 minutes), names the prerequisite command (`node vealth-agent.mjs proof-photo ...`), and states the exclusion that a human, never the caller, renders the verdict. Alternatives and ordering are spelled out rather than implied.

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

prepare_placeHand the board your own place (step 1 of 2)A
Read-onlyIdempotent
Inspect

Your place is not on the board yet: this is how it gets there. FREE, a signed statement, no fee, no gas, no money moves and nothing is held. You give the pin where you are standing, the radius of the place, plain words for its name, the name of the local person who will acknowledge the handover, the SHA-256 hash of one photo you took at the spot, and a short list of what you can DO there, which is the half that makes a match possible. SEND THE HASH, NEVER THE PHOTO: this board takes a hash and never a file. You give NO Regen address either, because the board derives the Regen account your signing key controls from the signature itself. What happens next is NOT automatic: the house reads the intake and decides whether to post hours-counting work at your place, because the flag that makes a packet count hours is server-owned and a stranger's own post can never carry it. Nothing here is a job, a claim or a promise of pay. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with that wallet's personal_sign, then call submit_place within 5 minutes. Cost and signer: free, no gas; the person signs the result with their own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
latYesLatitude of the exact spot, as your phone reads it. Not a city centre.
lngYesLongitude of the exact spot, as your phone reads it.
noteNoOptional, up to 300 characters: anything the house should know about the place.
offersNoOptional, and the half that makes a match possible: 1 to 5 short plain-word lines saying what you can DO at this place, at most 80 characters each, e.g. ["trail clearing, hand tools", "can bring two people"]. A human reads them beside the work the house is about to post. Descriptive only: they gate nothing and price nothing.
radiusKmYesHow far the place reaches, in km, from 0.1 to 3. A place someone can walk, not a region.
placeNameYesPlain words a person would recognise, e.g. 'the north boundary of the community forest'. Up to 120 characters.
stewardNameYesThe local person who will acknowledge that the work was handed back. A NAME ONLY: this record is public, so never a phone number, an address or an email. Up to 80 characters.
workerWalletYesThe 0x… address that signs. Address only, never a private key.
sitePhotoSha256YesThe 64-character hex SHA-256 of one photo taken at the spot. The hash only. Keep the photo yourself; it is what proves the hash later.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.1/5.0
Behavior5/5

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

Adds substantial behavior beyond the annotations: no fee, no gas, no money moves, nothing held; the hash-not-photo constraint; that no Regen address is supplied because it is derived from the signature; that posting is not automatic and the hours-counting flag is server-owned. It also discloses the 5-minute signature window and who signs (user's own wallet or passkey, house never holds a key). Nothing described contradicts the readOnly/idempotent/non-destructive hints, since this step only produces a payload.

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 one dense run-on paragraph with repetition ("FREE... no fee, no gas, no money moves and nothing is held") and a duplicated phrase about offers being "the half that makes a match possible" that also appears in the schema. Every fact is relevant, but the lack of structure and the redundancy make it heavier to parse than necessary.

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 nine-parameter, seven-required prepare step with an output schema and full annotation coverage, the description covers the essentials: what is produced, how to sign, the deadline, and the downstream gate. It stops short of covering failure modes such as an expired signature window or rejected intake, but the output schema and annotations carry the rest.

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?

Schema coverage is 100%, so the schema already documents all nine parameters, but the description reinforces the two high-risk semantics: send the SHA-256 hash and never the photo, and supply no Regen address. It also explains that the offers list is descriptive only and enables matching. This adds intent and safety emphasis beyond the field-level text, though it mostly mirrors what the schema says.

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 establishes a specific action (get a place onto the board) and explicitly frames it as step 1 of 2, naming the follow-up sibling submit_place and its outputs. The opening sentence is narrative rather than a declarative verb+resource statement, which costs it a point, but an agent can still tell it apart from submit_place and the other prepare_* tools.

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 gives the triggering condition ("Your place is not on the board yet"), the exact next step ("sign with that wallet's personal_sign, then call submit_place within 5 minutes"), and excludes misreadings ("Nothing here is a job, a claim or a promise of pay"). There is no explicit contrast against any alternative besides submit_place, but for a two-step pair that is sufficient context.

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

prepare_post_workPost your own work packet (step 1 of 2)A
Read-onlyIdempotent
Inspect

Put work YOU define on the public board — your place, your problem, your terms. Pass the creator wallet, a title, what needs doing, where, and the proposed pay. Returns MESSAGE_TO_SIGN (proving the creator wallet is yours) and BODY_JSON. Posting is a board WRITE: it costs $0.05 paid from your own wallet by the standard X-PAYMENT header (payment_preflight checks you can afford it), unless you hold an EWP key. The pay you propose stays PROPOSED until someone funds it — approved proof on an unfunded packet earns provable credit rather than cash, and the packet says which before anyone claims. Sign MESSAGE_TO_SIGN with the creator wallet's personal_sign, then call submit_post_work within 5 minutes. The board carries only work with a home in the Vealth Standard and a documented method: a post that names neither is refused before any charge, and the refusal lists the nearest documented standards; pass one back as standard. Say who can do it (skillLevel; omitted, it posts as entry), its hazards (safetyNotes), its proof items (proofRequirements) and any permit or licensed trade it needs (flags). Cost and signer: free to prepare; submitting costs $0.05, paid and signed by the person's own wallet, and the house never holds a key.

NameRequiredDescriptionDefault
flagsNoOptional authority flags, the two the claim gate reads and no others: permit-required when the work needs a permit, regulated when it needs a licensed trade (licensed electrician, plumber or contractor, asbestos or lead abatement). The board records the need and keeps such work closed to claims while regulated claims are closed; never leave a flag off to make work claimable.
titleYesShort honest title, e.g. 'Monthly care and growth check, planted neem tree'.
locationYesWhere the work is: address or place name. Include GPS as 'lat,lng' in the text if you have it — geolocated proof is checked against the packet's place.
standardNoOptional. The documented standard this work serves (a snake_case id such as 'tree_planting_establishment'); when a refusal lists suggestedStandards, pass one of them here. Omit it and the board lands the title on a documented standard itself when the title is that work's name.
workTypeNo0 = water, 1 = soil/land/planting, 2 = building/structure. Trees are 1.
proofRuleNoWhat proof completes the work, e.g. 'GPS pin + photo of the tree next to a measuring stick + watering confirmation'.
skillLevelNoOptional. Who can do this work: entry (a newcomer, safely, from the text alone), intermediate or advanced. Omitted, it posts as entry and the reply says so; the board's entry-level filter reads it, so never leave skilled work at the default.
descriptionYesWhat needs doing, concretely — a stranger (or the poster themselves) should be able to do it from this text alone.
safetyNotesNoOptional. The hazards and stop-work rules a worker must read before starting, at most 600 characters. A packet with safety notes asks every claimer to affirm they are 18 or over and have read this exact text.
creatorWalletYesThe 0x… address posting this work. It signs, and it owns the posting.
expiresInDaysNoDays the packet stays open. Default 30.
workTypeLabelNoOptional. A documented work type (snake_case) when you know the board's own name for the work.
proposedPayUsdYesProposed pay in USD. Proposed, not promised: unfunded packets settle as provable credit.
proofRequirementsNoOptional. The proof items, one line each (at most 20, 600 characters each), e.g. 'photo of the tree beside a measuring stick'.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.1/5.0
Behavior5/5

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

Adds rich behavioral context beyond annotations: free to prepare, returns MESSAGE_TO_SIGN and BODY_JSON, $0.05 submission cost via X-PAYMENT unless holding an EWP key, proposed pay settles as credit if unfunded, and refusals occur before any charge. It also discloses that the house never holds a key and spells out the 5-minute signing window.

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?

Front-loads purpose and workflow well, but is long and contains redundancy — the $0.05 cost and 'own wallet' point appear twice ("Posting is a board WRITE..." and "Cost and signer: free to prepare; submitting costs $0.05"). The density is somewhat justified by the payment/signature flow, but it could be tightened.

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 14-parameter tool with full schema coverage, output schema, and annotations, the description covers the entire prepare→sign→submit flow, cost, timing, and error handling, so an agent has what it needs to call it correctly. Any remaining gaps (e.g., exact return shape) are handled by the output schema.

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?

With 100% schema coverage the schema already documents every field, and the description reinforces key semantics — skillLevel defaulting to entry, flags being permit/regulated, safetyNotes and proofRequirements — mapping the important inputs to their meaning. Much of this repeats the schema rather than adding new format/syntax detail, so it sits at a solid 4 rather than 5.

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 ("Put work YOU define on the public board") and clearly frames this as a preparation step that returns MESSAGE_TO_SIGN and BODY_JSON, with the title noting "step 1 of 2". The opening line slightly overstates the tool as putting work on the board, but the explicit "then call submit_post_work" and "free to prepare" clarify the two-step split from its sibling.

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 workflow guidance: pass the five fields, sign MESSAGE_TO_SIGN with the wallet's personal_sign, then call submit_post_work within 5 minutes. It also states the constraint that the board only carries work with a documented standard/method, and what to do when refused (pass one back as `standard`). It stops short of explicit 'when not to use' exclusions, but the flow and routing to the next sibling are well covered.

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

prepare_proofPrepare signed proof of finished work (step 1 of 2)A
Read-onlyIdempotent
Inspect

You did the work — start handing in proof. Pass the packet's workId, your claimId (from submit_claim), your wallet, and proof items matching the packet's own proof line (photos with GPS for field work; documents/text for digital work). On an hours-eligible job, state the hours you actually worked as hoursClaimed, and whatever the job asks to be counted as counts: you state them, and the human who accepts decides the accepted figure. To count toward a place's Standing, a reading carries measurement.kind "measurement" (with measuredAt, and delta on a re-measure) and a repair carries kind "repair". Returns MESSAGE_TO_SIGN and BODY_JSON. Submitting proof is FREE when signed — a worker is never charged at the moment they have earned the right to be asked for nothing. Sign, then call submit_proof within 5 minutes. Cost and signer: free, no gas; the person signs the result with their own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
gpsNoFor geolocated field work: {lat, lng} captured ON SITE — the gate refuses geolocated proof without it.
crewNoOptional, for a manager handing in proof for a crew: the people who did the work, 1 to 25 of {"ref":"amina","hoursClaimed":2}, refs as on the claim. Either every person states hoursClaimed or none does; stated hours add up to the proof's hoursClaimed (omit that and their sum becomes it). The human who accepts decides the accepted total, split back across the crew in proportion (equally with no per-person hours). Omit crew on a managed claim and the claim's crew carries over.
countsNoOptional: what the job asked to be counted, in the packet's own units, as plain numbers — {"metres_cleared": 120, "blockages_removed": 4, "check_dams_built": 3}. Lower_snake_case names, at most 40 of them. Recorded with the proof; it decides nothing on its own.
proofsYes1-20 proof items. A photo goes in BY REFERENCE: {"type":"photo","upload":"sha256:<hex>","step":1,"capturedAt":"<ISO>"}, where the reference is what `node vealth-agent.mjs proof-photo <workId> <claimId> <photo files>` printed on the person's own machine; the photo bytes never pass through this conversation. A small file may still go inline as {"type":"photo","data":"<base64>"}. Text notes are {"type":"text","data":"…"}. The packet's proof line (get_work_packet) says exactly what it needs.
workIdYesThe packet id.
claimIdYesReturned by submit_claim.
measurementNoOptional: what this proof is. A reading: {"kind":"measurement","measuredAt":"<ISO>","delta":0}, with delta on a re-measure (above 0 better, 0 held, below 0 worse). A repair: {"kind":"repair","measuredAt":"<ISO>","delta":1}. Only a reading counts toward a place's Standing. Without it the proof is accepted as usual and covers no condition.
hoursClaimedNoOn an hours-eligible job, the hours you ACTUALLY worked, breaks out — a positive number, at most 168, to 6 decimal places. You state it; the human who accepts decides the accepted figure. Required on such a packet (the completion gate refuses a proof without it), optional everywhere else.
workerWalletYesThe same 0x… address that claimed.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4/5.0
Behavior5/5

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

Beyond the readOnlyHint/idempotent annotations, it discloses that the call is free with no gas, that the house never holds a key and the person signs with their own wallet or passkey, that it returns MESSAGE_TO_SIGN and BODY_JSON, and that the signature expires in 5 minutes. It also warns about gate behavior (a proof without hoursClaimed is refused on an hours-eligible job; a geolocated packet refuses proof without GPS). This is substantive context an agent could not infer from annotations alone.

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 critical facts (free, sign within 5 minutes, returns MESSAGE_TO_SIGN/BODY_JSON) come reasonably early, but the prose is padded with rhetorical asides such as 'a worker is never charged at the moment they have earned the right to be asked for nothing' and 'whatever the job asks to be counted as counts'. Several sentences repeat the same point about the human decider setting the accepted figure.

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

Completeness4/5

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

With an output schema, rich annotations and a fully documented schema, the description fills the remaining gaps well: cost, signer, signature expiry and the hand-off to submit_proof. What is missing is any statement of failure behavior after signature (expiry/retry) and routing to the sibling preparation tools for other proof types.

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 spells out proofs, counts, measurement, crew and hoursClaimed in detail. The description mostly restates those semantics (hours actually worked, measurement.kind determining Standing, proof line from get_work_packet) rather than adding format or edge-case detail the schema lacks. Baseline 3 applies when the schema carries the parameter burden.

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 plus title state a specific verb and resource: prepare a signed proof of finished work as step 1 of a two-step hand-in, requiring workId, claimId, wallet and proof items. It clearly names the successor tool (submit_proof) so an agent knows this is the preparation half. It never mentions the closely-named sibling prepare_physical_proof or prepare_evidence_surface, so differentiation from those is not established.

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 gives a concrete workflow context: use this after doing the work, take workId from the packet and claimId from submit_claim, then sign and call submit_proof within 5 minutes. That is a clear when-to-use signal with a hard sequencing constraint. It stops short of saying when NOT to use it versus prepare_physical_proof or the other prepare_* sibling tools.

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

prepare_requestAsk for real work at a place (prepare signed request)A
Read-onlyIdempotent
Inspect

Prepare an attributable request for an existing work packet, a canonical definition, or a specific objective. Unlike posting a new packet, this asks the existing /labor/request bridge to resolve the need to one governed packet or an explicit blocker. Your own wallet signs the exact MESSAGE_TO_SIGN locally; never provide a private key. Set requesterKind=agent only when an agent is the genuine requester; do not relabel a human request as agent demand. Optional lat/lng must come explicitly from an entitled caller, never inferred from device or host location. A request does NOT fund a job, hire anyone, grant site access, or certify an ecological outcome. It is free when the signed waiver lane is enabled. Check the real gate's response. Cost and signer: free, no gas; the person signs the result with their own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
latNoOptional real latitude from the requester, never inferred; give with lng to locate the objective.
lngNoOptional real longitude from the requester, never inferred; give with lat.
noteNoOptional public context, at most 280 characters. No secrets, names or contact details.
workIdNoRequest an existing posted packet by its workId. Mutually exclusive with definitionId and objective.
objectiveNoDescribe the needed outcome in 5-300 characters. Mutually exclusive with workId and definitionId.
definitionIdNoRequest existing documented work that may not have a posting yet. Mutually exclusive with workId and objective.
requesterKindYesWho actually requests the work. Use agent only for true agent-originated demand.
requesterWalletYes0x address the requester controls and will sign with. Never submit a private key.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.6/5.0
Behavior5/5

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

Adds substantial context beyond the annotations: the wallet signs MESSAGE_TO_SIGN locally, private keys are never provided, cost is free/no gas when the waiver lane is enabled, and the house never holds a key. It also enumerates explicit non-effects (does not fund, hire, grant site access, or certify an ecological outcome), which is exactly the boundary an agent needs before calling a prepare-step.

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

Conciseness4/5

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

Front-loaded with purpose and the sibling contrast, then safety and cost constraints; nearly every sentence carries information. There is mild redundancy around cost — 'It is free when the signed waiver lane is enabled' and 'Cost and signer: free, no gas' restate the same fact.

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?

An output schema exists, so return values need not be explained; what remains — signer model, key handling, cost, non-goals, and the gate check — is all covered. For a prepare/sign tool with read-only semantics, nothing an agent needs to call it safely 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?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: requesterKind=agent only for genuine agent-originated demand (never relabel a human request), and lat/lng must come explicitly from an entitled caller, never inferred from device or host location. Those are policy constraints the schema does not encode, though the mutual exclusivity of workId/definitionId/objective is left to the schema.

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

Purpose5/5

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

States a specific verb and resource ('prepare an attributable request for an existing work packet, a canonical definition, or a specific objective') and explicitly distinguishes itself from posting a new packet by naming the /labor/request bridge that resolves the need. An agent can tell it apart from prepare_post_work and submit_request without opening a schema.

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 when-to-use contrast ('Unlike posting a new packet, this asks the existing bridge to resolve the need to one governed packet or an explicit blocker') and signals the follow-up step with 'Check the real gate's response.' It does not explicitly name submit_request as the next call or state when to prefer request_status over this tool, so routing is clear but not fully exhaustive.

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

prepare_token_offerOffer to pay a packet in ANY token (step 1 of 2)A
Read-onlyIdempotent
Inspect

Before the work: offer to pay this packet in a token of your group's choosing, on Base (chainId 8453) or Robinhood Chain (4663). FREE — a signed offer, no fee, no gas, NO money moves and none is held. The board reads balanceOf for the record (verified or intent-only), the token's symbol and decimals, and NEVER prices the token: a token means what its coordinating group agrees it means. amount is in the token's smallest unit (atomic). One offer per wallet per packet; offering again replaces it. Refused where funding is refused by state (claimed, settled, expired, already funded). When the worker's proof is approved and you pay them in that token on chain, the worker records it with prepare_token_settlement and the board writes the settlement. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the backer wallet's personal_sign, then call submit_token_offer within 5 minutes. Cost and signer: free, no gas; the person signs the result with their own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
tokenYesThe 0x… ERC-20 contract address of the token you will pay in.
amountYesPositive integer in the token's smallest unit (atomic). For an 18-decimal token, 5 tokens = 5000000000000000000.
reasonNoOptional, up to 280 characters: why this packet.
workIdYesThe packet id, from find_work.
chainIdYes8453 = Base, 4663 = Robinhood Chain.
backerKindNoSelf-declared attribution. Defaults to agent if omitted.
backerWalletYesThe 0x… address that will sign and later pay. Address only, never a key.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.3/5.0
Behavior5/5

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

Goes well beyond the readOnlyHint/destructiveHint=false annotations: no fee, no gas, no money moves and none is held, the board reads balanceOf/symbol/decimals but never prices the token, re-offering replaces the prior offer, and the house never holds a key. These are exactly the behavioral facts an agent needs and none of them are recoverable from the annotations.

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

Conciseness4/5

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

Front-loaded with the timing ('Before the work') and the zero-cost guarantee, then flows into mechanics and the follow-up call. Slightly redundant: 'FREE — a signed offer, no fee, no gas, NO money moves' is restated at the end as 'Cost and signer: free, no gas'.

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?

Covers timing, cost, signer, on-chain reads, refusal conditions, the follow-up submit step and its 5-minute window, and names the return payload. With an output schema present, nothing an agent needs to invoke this correctly 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?

Schema coverage is 100%, so the baseline is 3; the description still adds meaning by tying backerWallet to the signing/paying identity, clarifying that amount is atomic and that the token's decimals are read on chain, and explaining that the token has no board-assigned price. Minor duplication of schema facts (atomic units, chain IDs) keeps it from a 5.

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 ('offer to pay this packet in a token'), scopes it to an arbitrary ERC-20 on Base or Robinhood Chain, and frames it as step 1 of 2 with submit_token_offer as step 2. It never explicitly distinguishes itself from the other offer tools (prepare_direct_offer, prepare_credit_offer, prepare_funding), which is the main gap for a family this crowded.

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?

'Before the work' plus the full sequence (sign with personal_sign, then call submit_token_offer within 5 minutes) tells the agent exactly when and how to invoke it. It also lists refusal states (claimed, settled, expired, already funded) and the one-offer-per-wallet-per-packet rule. Missing only an explicit statement of when a sibling offer tool would be the better choice.

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

prepare_token_settlementRecord that you were paid in a token (step 1 of 2)A
Read-onlyIdempotent
Inspect

After your proof is approved and someone paid you in a token on chain: name the chain (8453 Base or 4663 Robinhood Chain) and the transaction hash, and the board reads the transfer to YOUR wallet and writes the same settlement record a dollar payout writes — your work record, the place's standing and the board's settled count all move; paymentUsd stays 0 because the board never prices a group's token. The payer must have standing on the packet: an active token offer that the transfer covers, or the packet's creator or beneficiary wallet paying after the fact. A stranger's junk transfer settles nothing. Base USDC is refused here (that is the priced rail: /labor/settle). Your signature is your consent to the token as payment. FREE, no gas. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the worker wallet's personal_sign, then call submit_token_settlement within 5 minutes. Cost and signer: free, no gas; the person signs the result with their own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
txHashYesThe 0x… hash of the transaction that paid you.
workIdYesThe packet you proved.
chainIdYes8453 = Base, 4663 = Robinhood Chain.
workerWalletYesThe 0x… address on the approved proof — the wallet that was paid and will sign.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.3/5.0
Behavior4/5

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

Rich context beyond the annotations: free/no gas, signature equals consent to token payment, house never holds a key, and the returned MESSAGE_TO_SIGN must be signed then submitted within 5 minutes. Minor tension: the text says the board 'writes the same settlement record' while readOnlyHint=true is technically right only because the actual write happens in submit_token_settlement — an agent could misread this call as the write.

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 key inputs and prerequisites are front-loaded, but the prose is a dense run-on and the cost/signer guidance is stated twice ('FREE, no gas' then 'Cost and signer: free, no gas'). Several clauses (place standing, board settled count) are background rather than actionable.

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 two-step sign-then-submit flow with a documented output schema, the description supplies the missing operational context: what comes back (MESSAGE_TO_SIGN, BODY_JSON), how to sign it, which wallet signs, and the 5-minute deadline. Nothing an agent needs to invoke it correctly is absent.

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 every parameter (txHash, workId, chainId, workerWallet) is already documented there, including the chain enum. The description reinforces that workerWallet must be the wallet on the approved proof and will be the signer, but adds little syntax/format 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.

Purpose5/5

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

States a specific action (prepare the record that a token payment settled a proved packet) with the exact inputs (chain id, tx hash) and names the paired submit_token_settlement step. It also carves itself away from prepare_direct_settlement and the priced Base USDC rail (/labor/settle), so an agent can place it among ~80 siblings.

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?

Explicit preconditions: proof must be approved, the transfer must be on chain, and the payer must hold an active token offer covering the transfer (or be the packet's creator/beneficiary). It also gives the exclusions ('A stranger's junk transfer settles nothing', 'Base USDC is refused here') and points at the alternative rail, plus the 5-minute submit window.

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

prepare_visitPrepare a factual private visit briefA
Read-onlyIdempotent
Inspect

Private, read-only visit preparation. Organizes the person's reason, facts, records and questions without turning them into diagnoses or treatment recommendations. The clinician's actual instructions remain authoritative. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
factsNoShort factual bullets only; omit direct identifiers unless strictly necessary.
recordsNoNames/types of relevant records, not full documents or record identifiers.
questionsNo
reasonForVisitYesMinimum-necessary reason in the person's own words; omit direct identifiers.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds genuinely new context beyond that: the output deliberately excludes diagnoses and treatment recommendations, the clinician's instructions override anything produced, and the call is free with no signer or signing step. It doesn't describe what the returned brief looks like, but an output schema exists.

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 read-only/private framing and the core organizing function. Every sentence carries distinct information; only the 'Cost and signer: free and keyless, nothing to sign' phrasing is slightly compressed and awkward, but it still conveys a real constraint.

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 four-parameter, single-required-field tool with full annotations and an output schema, the description covers scope, the clinical-advice boundary, and cost/signing expectations. The one remaining gap is the relationship to any downstream step (what the agent does with the brief), which is minor given the 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?

The description names all four inputs (reason, facts, records, questions), which mirrors the schema's own property descriptions rather than extending them. With 75% schema description coverage the schema already carries the semantics, including the identifier-omission guidance, so this is the baseline 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 and artifact: it prepares a private visit brief by organizing reason, facts, records and questions. It also draws a clear boundary (no diagnoses or treatment recommendations), so an agent can tell it produces a factual summary rather than clinical advice. It doesn't name a sibling alternative, but none of the listed siblings competes in this domain.

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 'visit preparation' and reinforced by the exclusion of diagnoses/treatment recommendations, which signals the appropriate context. However, there is no explicit 'use this when…' statement, no mention of a follow-up submit/action step, and no guidance on when a different tool would be a better fit.

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

prepare_voteVote for or against a work packet (step 1 of 2)A
Read-onlyIdempotent
Inspect

Say a job should matter more or less. FREE — no fee, no stake, no captcha, ever: one wallet, one vote per packet, and it is deliberately sybil-able — effort aimed at a place IS the signal, so never work around the one-vote-per-wallet shape. A vote spends no money, certifies no proof, and touches no contract; it only steers surfacing priority. Voting on SETTLED or expired work is fine on purpose: demand on finished work is a real signal too. Returns MESSAGE_TO_SIGN and BODY_JSON. Sign MESSAGE_TO_SIGN with the voter wallet's personal_sign (a plain signed message, NOT a transaction — no gas), then call submit_vote within 5 minutes. Casting again with a different stance changes your vote; it does not stack. Cost and signer: free, no gas; the person signs the result with their own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
reasonNoOptional, up to 280 characters, shown on the public tally.
stanceYesYour position on this packet.
workIdYesThe packet id, from find_work.
voterKindNoSelf-declared attribution so agent demand is never shown as human community consensus. Defaults to human if omitted.
voterWalletYesThe 0x… address that will sign and own this vote.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the readOnly/idempotent/non-destructive annotations, the description discloses that voting is free, sybil-able by design, touches no contract, spends no money, and does not certify proofs. It also explains the signing flow, 5-minute submit window, non-transaction personal_sign requirement, and that the house never holds a key.

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 description is dense but front-loads the core vote behavior and signing flow, with each section generally earning its place. It repeats the 'free / no fee / no gas' point more than once, which is useful emphasis but slightly redundant.

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 prepare-step tool with an output schema, it still explains the returned MESSAGE_TO_SIGN and BODY_JSON usage, the required personal_sign flow, the submit_vote follow-up, and the 5-minute deadline. It also covers the unusual sybil-ability and settled-work voting semantics, leaving little ambiguity for an agent.

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?

Schema coverage is already 100%, so the schema documents the five parameters. The description adds useful semantics around stance and voterWallet by explaining one-vote-per-wallet behavior, recasting changing the vote rather than stacking, and that the voter wallet signs the result.

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 definition makes clear this is the first step of casting a vote on a work packet, returning a message to sign before calling submit_vote. The opening sentence ('Say a job should matter more or less') is less precise than the rest, but the surrounding text and step-1-of-2 framing distinguish it from submit_vote.

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 gives concrete conditions: one wallet gets one vote per packet, voting on settled or expired work is acceptable, and casting again with a different stance changes rather than stacks the vote. It also names submit_vote as the required second step within 5 minutes, though it does not mention prepare_vote_withdraw as an alternative path.

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

prepare_vote_withdrawWithdraw your vote (step 1 of 2)A
Read-onlyIdempotent
Inspect

Take back a vote you cast — the position leaves the active tally, but the event stays in the packet's public history (withdrawing is not erasing). Free, same signature-is-the-gate rule as casting. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the SAME wallet that cast the vote, then call submit_vote_withdraw within 5 minutes. Cost and signer: free, no gas; the person signs the result with their own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
workIdYesThe packet id.
voterWalletYesThe same 0x… address that cast the vote.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations: it discloses the exact state effect (position leaves the tally, event stays in history — 'not erasing'), the cost model (free, no gas), the custody model (user signs with own wallet or passkey, house never holds a key), and a hard 5-minute expiry on the returned MESSAGE_TO_SIGN. It also clarifies that this call prepares rather than applies the change, which is consistent with readOnlyHint=true.

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

Conciseness4/5

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

Front-loads the purpose and the state-effect clarification before the mechanics, and every element is relevant. The closing 'Cost and signer' sentence partly restates the earlier 'Free, same signature-is-the-gate rule' and 'sign with the SAME wallet', so there is mild redundancy.

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 two-step prepare/submit flow it covers everything an agent needs: what the call produces (MESSAGE_TO_SIGN, BODY_JSON), which wallet must sign, the submission deadline, and the no-custody guarantee. An output schema exists, and the description still names the key return artifacts without duplicating field-level docs.

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 workId and voterWallet are already fully documented in the schema, including the 'same 0x… address that cast the vote' constraint. The description reinforces the signer-must-match rule and ties it to the submit step, but adds no syntax or format detail the schema lacks — baseline 3.

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

Purpose5/5

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

States a specific verb and resource ('Take back a vote you cast') and immediately clarifies the semantics: the position leaves the active tally but the event remains in public history. This distinguishes it cleanly from prepare_vote (casting) and from submit_vote_withdraw, which is named as the required follow-up.

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 the operative conditions: use it to withdraw, sign with the SAME wallet that cast the vote, then call submit_vote_withdraw within 5 minutes. The casting/withdrawing split is implied by the name pairing rather than stated as an explicit exclusion, so not quite a 5.

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

provision_planPlan the governed work that answers an objectiveA
Read-onlyIdempotent
Inspect

VEALTH PROVISION: send an objective in plain words (any spelling; English, Spanish or Swahili) and get back a PLAN: a verdict (plan, authority_required, clarify, no_home, or entry_work when the objective only offers help, such as 'I want to help', and names no work), ONE exact next call, the governed work units that answer it (method, safety stops, the authority each needs, whether it is executable) and any live board packets near the place you name with their posted price and what a stranger may do now. Regulated work (lead paint, gas, asbestos, electrical, needles and similar) is never presented as freely doable: the plan names whose authority it needs. Nothing in a plan has happened; no place or price is invented; corpus units have no price until posted. The same plan GET /labor/provision returns. Free, keyless, read-only, moves no money. Not provision_work, which builds a funding path for one packet. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
placeNoOptional place name, e.g. 'Kibera' or 'Los Angeles'. Used as an address filter, never scored as work.
latitudeNoOptional, with longitude: the place's coordinates, for live packets nearby.
radiusKmNoSearch radius for live packets in km. Default 25, at most 200.
longitudeNoOptional, with latitude.
objectiveYesThe useful work you want done, 5 to 300 characters, e.g. 'clear the storm drain on my street before the rain'.
entryLevelOnlyNoOnly work the corpus holds as entry level; the reply also carries entry_set, the posted work a stranger can take today.
excludeAuthorityNoDrop any unit that names an authority it requires.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive/openWorld, and the description still adds substantial context: free, keyless, nothing to sign, no money moves, nothing has happened yet, no place or price is invented, corpus units carry no price until posted, and regulated trades are never shown as freely doable. That is exactly the kind of operational and safety framing annotations cannot convey.

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?

Purpose is front-loaded in the first clause and every sentence carries information (verdict vocabulary, safety framing, cost/signer). It is a single dense run-on paragraph with a nested parenthetical, which costs some readability, but little is redundant.

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 7-parameter planning tool with an output schema, the description covers inputs' intent, the shape of the reply, safety guarantees, and cost/authority requirements. Nothing an agent needs to call it correctly 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?

Schema coverage is 100%, so the baseline is a 3; the description goes beyond it by clarifying that place is an address filter never scored as work and that entryLevelOnly surfaces entry_set. It does not add meaning for radiusKm bounds or the lat/long pairing, but the schema already documents those.

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 concrete verb and resource ('send an objective ... get back a PLAN') and enumerates what the plan contains: verdict, one exact next call, governed work units, live board packets. It explicitly distinguishes itself from the nearest sibling ('Not provision_work, which builds a funding path for one packet'), so an agent can route without opening either schema.

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

Usage Guidelines5/5

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

Gives the trigger condition (any objective in plain words, any spelling/language), names the alternative tool and why it differs (provision_work builds a funding path for one packet), and explains verdict outcomes such as entry_work when the objective names no work. The 'when not to use' case is covered explicitly.

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

provision_workProvision a bounded packet of real ecological workA
Read-onlyIdempotent
Inspect

Turn a place + problem (or a board packet id) into provisioned work: a bounded packet with scope, standards-registered method, proof requirement, tCO2e estimate, and the keyless funding path YOU pay from your own wallet. This tool returns the packet and the path; it never spends, never holds funds, never signs. When the retirement lane is running, approved proof queues a carbon retirement and an on-chain certificate — provision, not offset; that lane is paused by operator order since 2026-08-04. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
queryNoOr free text for the problem, e.g. 'storm drain' or 'tree planting'.
workIdNoProvision a specific open board packet by id (from find_work).
latitudeNoCenter of the search, with query.
radiusKmNoSearch radius in km. Default 50.
longitudeNoCenter of the search, with query.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.1/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, the description states the operation never spends, holds funds, or signs, that it is free and keyless with no wallet signature required, and that the retirement lane has been paused by operator order since 2026-08-04. That paused-lane caveat is exactly the kind of operational context annotations cannot convey.

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 sentences, front-loaded with the core transformation, then the safety guarantee, then the lane status and cost. The 'never spends / never signs' idea is restated in the final sentence ('keyless, nothing to sign'), which is minor redundancy but the overall density is justified.

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 read-only, keyless provisioning tool with an output schema and full schema coverage, the description supplies everything an agent needs: what comes back, what it will not do, that it costs nothing, and that a downstream lane (retirement/certificate) is currently paused. No meaningful gaps remain.

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?

With 100% schema coverage the baseline is 3, but the description adds real meaning: it explains the two mutually alternative entry modes (geo query+coords vs workId packet reference) and ties workId to find_work as its source. It still does not clarify how multiple modes should be combined or which takes precedence.

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 concrete transformation (place + problem or board packet id → provisioned work packet) and enumerates exactly what the packet contains: scope, registered method, proof requirement, tCO2e estimate, funding path. It does not, however, explicitly contrast itself with nearby siblings like provision_plan, get_work_packet, or funding_quote, so an agent must infer the boundary.

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 two input modes ('place + problem' or 'a board packet id (from find_work)'), which tells the agent roughly when to reach for it. There is no explicit when-not or named alternative for overlapping tools such as get_work_packet or provision_plan, leaving the routing decision partly to inference.

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

regen_address_lookupWhat a Regen address holds right nowA
Read-onlyIdempotent
Inspect

Live balance, bonded stake, unclaimed staking rewards, and REGEN locked in open governance deposits for any regen1… address — read directly from Regen's own public LCD API (the same one Vealth's browser explorer hits; no Vealth backend caches or alters it). Any figure that cannot be read answers so honestly rather than defaulting to zero, and the total is withheld until every figure is known. Free, keyless, read-only — this never asks for a private key, only the address. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
addressYesA regen1… bech32 address (not a 0x… Base address — Regen is a separate Cosmos chain).

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, yet the description adds genuinely useful behavior: data comes straight from Regen's public LCD with no Vealth caching or alteration, unreadable figures surface as such rather than defaulting to zero, and the total is withheld until all components resolve. That 'partial data' contract is exactly the kind of disclosure annotations cannot express.

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 payload and source are well front-loaded, but the final sentence ('Cost and signer: free and keyless, nothing to sign') repeats the earlier 'Free, keyless, read-only' clause almost verbatim. Redundant phrasing dilutes an otherwise tight 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?

An output schema exists, so return shape needn't be spelled out, and the description covers source, partial-data behavior, cost, and credential requirements. It is complete enough to call correctly, with only the missing sibling-routing guidance as a real 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?

With a single parameter at 100% schema coverage, the schema already carries the address format (regen1… bech32, not 0x…). The description restates the address scope but adds no format, validation, or example detail beyond it, so baseline 3 applies.

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

Purpose5/5

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

Names a specific resource (a Regen account's holdings) and enumerates exactly what it returns: liquid balance, bonded stake, unclaimed rewards, and governance deposits. That enumeration distinguishes it cleanly from siblings like regen_governance_status or regen_token_volume, which cover adjacent but different data.

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 scopes usage to 'any regen1… address' and implicitly positions the tool for point-in-time account inspection, but it never says when to prefer it over siblings or what conditions make it the wrong choice. The agent must infer the routing decision.

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

regen_burn_trackerRegen Compute's real on-chain REGEN burn, verifiedA
Read-onlyIdempotent
Inspect

Regen Compute (compute.regen.network, run by Regen Network Development PBC — unaffiliated with Vealth) burns 5% of net subscriber revenue as REGEN via MsgBurnRegen. This tool returns every burn transaction found on-chain by querying the public Regen LCD network-wide (no sender filter, so the single-wallet claim is itself verified, not assumed), the running total, cadence, and a reconciliation against the $REGEN Tokenomics DAO's own claimed weekly range. Free, keyless, read-only. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
limitNoMax recent burns to list, newest first. Default 10.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.1/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing that it queries the public Regen LCD network-wide with no sender filter, verifies the single-wallet claim, returns burn transactions plus running total and cadence, reconciles against the DAO's claimed weekly range, and requires no cost or signature.

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?

Purpose is front-loaded and the content is information-dense, but the description repeats the free/keyless/read-only point in two separate sentences ('Free, keyless, read-only' and 'Cost and signer: free and keyless, nothing to sign'). Some promotional framing could be trimmed.

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 one-parameter read-only tool with full schema coverage, rich annotations, and an output schema, the description supplies the important context: data source, network-wide scope, no sender filter, return contents, and cost/auth model. An agent has enough to invoke 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?

The schema already documents the single optional limit parameter at 100% coverage. The description does not add syntax or behavioral detail about the limit beyond what the schema provides, so the baseline of 3 applies.

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

Purpose5/5

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

States a specific verb and resource: returns every REGEN burn transaction found on-chain, plus running total, cadence, and DAO reconciliation. The scope is precise enough to distinguish it from siblings like regen_token_volume or regen_governance_status.

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 makes the tool's purpose clear and notes that it is free, keyless, and read-only, but it does not explicitly say when to use this tool versus alternatives such as regen_token_volume. Usage is implied rather than guided.

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

regen_forum_feedWhat's new on Vealth's Regen governance forumA
Read-onlyIdempotent
Inspect

Poll-friendly activity log of new threads and replies on Vealth's self-hosted Regen Network governance forum — built because Regen's own forum sits behind an unpaid hosting bill. Each event carries the author's regen1 address and the bonded REGEN stake behind it, captured at post time, so an argument about a vote sits next to its weight. Pass the returned next_cursor back as since to page forward without re-listing what you already read. Free, keyless, read-only — posting needs a Regen wallet signature this tool never asks for; get the exact recipe from GET /regen/forum/signing-spec. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
limitNoMax events, 1-200. Default 50.
sinceNoOptional: a cursor a PRIOR call to this tool returned (next_cursor). Not a timestamp — pass it back verbatim to page forward.
authorNoOptional: only events from this regen1… address.
proposalIdNoOptional: only events tied to this Regen governance proposal number, e.g. '71'.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld, non-destructive, so the safety profile is covered; the description adds real value on top by disclosing auth posture (free, keyless, never asks for a wallet signature), pointing to a signing-spec endpoint for the write path, and explaining that stake is snapshotted at post time. The only blemish is redundancy: "free and keyless, nothing to sign" is restated at the end.

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?

Purpose is front-loaded in the first clause, which is good, but the backstory about Regen's forum sitting behind an unpaid hosting bill does no work for tool selection, and the free/keyless/signature point is made twice in the final two sentences. Roughly a third of the text could be cut without losing call-relevant 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?

An output schema exists, so return shape needn't be explained, and the description still covers pagination, filtering, auth posture, and data provenance (address + bonded stake at post time). Nothing critical for correct invocation is missing, though rate/refresh expectations for a polling tool go unmentioned.

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 four parameters are already documented, and the description's cursor sentence largely restates what the `since` field already says ("pass it back verbatim to page forward"). The author/address and stake framing adds mild context but no syntax or 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 concrete verb and resource: an activity log of new threads and replies on a specific self-hosted Regen governance forum, with each event carrying author address and bonded stake. An agent can tell this is a forum-activity feed rather than a governance-status or token-volume tool. It never explicitly names a sibling to contrast with, so it stops short of 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?

"Poll-friendly" and the cursor paging instruction imply the intended usage pattern (repeated polling forward through an event stream), but the description never says when to prefer this over regen_governance_status or other Regen tools, nor any when-not-to-use condition. Usage is inferable rather than stated.

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

regen_governance_statusRegen Network governance: what's open, and how one proposal standsA
Read-onlyIdempotent
Inspect

Live-mirrored Regen Network (regen-1) governance: bonded stake, active validator count, and every proposal — decoded, with phase (deposit/voting/resolved) and tally. Omit proposalId for an overview of what is open right now; pass one to get that proposal's full deposit/voting/tally detail. Read from a periodically regenerated mirror straight off the public ledger and registry, not asserted on Vealth's own authority — the response states exactly when it was generated. Free, keyless, read-only. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
proposalIdNoOptional: one proposal number, e.g. '71'. Omit for the overview of everything open.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.4/5.0
Behavior4/5

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

Adds real context beyond the annotations: data comes from a periodically regenerated mirror off the public ledger rather than asserted on the vendor's own authority, and the response states its generation timestamp — meaningful freshness/provenance disclosure for a governance read. Cost and keyless auth are also stated. Annotation coverage already establishes read-only/idempotent safety, so this is additive rather than load-bearing.

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

Conciseness4/5

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

Front-loaded with the resource and payload, and the mode-selection rule sits before the provenance rationale. Minor waste: 'Free, keyless, read-only' is restated in the closing 'Cost and signer: free and keyless, nothing to sign' sentence.

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 one-parameter read tool with an output schema, provenance, freshness, cost/auth, and both invocation modes are all covered. Nothing an agent needs to select or call it correctly 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?

Schema coverage is 100% for the single optional parameter, so the baseline is 3. The description adds meaning by explaining that supplying proposalId changes the returned granularity (overview vs. full deposit/voting/tally detail), which the schema's own text only partially conveys.

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

Purpose5/5

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

States a specific verb and resource — live-mirrored Regen Network (regen-1) governance data — and enumerates the payload: bonded stake, active validator count, decoded proposals with phase and tally. This is clearly distinguishable from siblings like regen_burn_tracker, regen_token_volume, or regen_forum_feed 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 Guidelines4/5

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

Explicitly prescribes both invocation modes: omit proposalId for the overview of what is open now, pass one for that proposal's full detail. It gives clear selection context but does not name a competing sibling or state when this tool is the wrong choice.

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

regen_provisioning_subscription_quoteFund work at a place you name: the plan, and why it is not live yetA
Read-onlyIdempotent
Inspect

The regenerative provisioning subscription, BUILT AND OFF. Someone picks an amount from $1 to $1,000 and a period (day or month) and names a place; this tool returns the plan: exactly which OPEN, unfunded, claimable packets at that place the money would back, in the board's own order, at the board's own prices, never over the amount, with the remainder carried, plus the place's Standing link and every reason it is not live. Call it with no arguments for the product and the ladder. NOTHING CHARGES: there is no payment path on any of these routes, no store and no scheduler, and the lane refuses on its own kill file and its own lane state. Free, keyless, read-only. This funds work at a place you name. It buys no token. It promises no return. Standing is earned by the work, never by the payment. Cancel any time; what was funded stays funded. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
placeNoA place label string, or an object { lat, lng, radiusKm } naming a coordinate cluster.
amountNoWhole dollars, 1 to 1000. Omit for the product and the ladder only.
periodNo"day" or "month".
walletNoThe subscriber's OWN 0x address, used for receipts and for reading Standing. Never custody.
holdEcowealthOptInNoRecord that the subscriber wants to hold ECOWEALTH in their own wallet. A preference only: we never hold, price, or issue a token.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.8/5.0
Behavior5/5

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

Annotations already cover the safety profile, but the description earns credit by adding what they cannot: no payment path on any route, no store and no scheduler, the lane refuses on its own kill file and lane state, no token is bought or issued, no return is promised, and cancel-any-time with funded work staying funded. Those are exactly the risk facts an agent needs before invoking a money-shaped 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?

The core capability is front-loaded in the second sentence, but the text is a long run-on and repeats itself: "This funds work at a place you name" and "Free, keyless" each appear twice, once restated as "Cost and signer: free and keyless." Several clauses about token speculation and cancel-any-time are product copy rather than invocation guidance.

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?

An output schema exists, so return values need no prose, and the annotations plus the explicit no-charge/no-custody language make the safety picture complete. The remaining gap is definitional: "the product and the ladder" is never explained, so an agent calling with zero arguments cannot predict the shape of the no-argument 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 coverage is 100% and all five parameters are documented in-schema, including the object form for `place` and the "never custody" note on `wallet`. The description reinforces the amount range ($1–$1,000), the period values (day/month) and the cap-plus-remainder behavior, but those repeat the schema rather than adding new 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 concrete verb and resource: given an amount, period and place, it returns which OPEN, unfunded, claimable packets the money would back, at board order and prices, plus the place's Standing link. That is far more specific than the title's marketing phrasing ("Fund work at a place you name: the plan, and why it is not live yet"). It does not explicitly separate itself from the close siblings regen_provisioning_subscription_status or provision_plan, so an agent must infer the quote-vs-status distinction.

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?

"Call it with no arguments for the product and the ladder" plus "Omit for the product and the ladder only" gives one concrete invocation mode. However, nothing says when to choose this over regen_provisioning_subscription_status, provision_plan, or net_subscription_quote, and the phrase "the product and the ladder" is undefined jargon. Usage is implied by the amount/period/place framing rather than stated as when/when-not guidance.

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

regen_provisioning_subscription_statusA wallet's provisioning subscription: there is none, and whyC
Read-onlyIdempotent
Inspect

Given a wallet, returns its regenerative provisioning subscription state. There is no subscription store and nothing has ever been charged, so this answers "no subscription" honestly rather than inventing an empty record, and it names every reason the lane is not live. Standing belongs to a PLACE and is read free at GET /labor/standing?place=. Free, keyless, read-only. This funds work at a place you name. It buys no token. It promises no return. Standing is earned by the work, never by the payment. Cancel any time; what was funded stays funded. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
walletYesThe wallet to look up (0x…). The read is public and proves nothing about who you are.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

C2.9/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, but the description adds genuinely useful behavior beyond them: free, keyless, nothing to sign, no charges have ever occurred, and the response enumerates why the lane is not live. That tells the agent to expect a negative/empty answer rather than a populated record, which annotations cannot convey. It stops short of describing the response shape 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.

Conciseness2/5

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

The first sentence is well-placed, but the remainder is padded with unrelated copy: "It buys no token. It promises no return. Standing is earned by the work, never by the payment. Cancel any time; what was funded stays funded." None of that helps an agent decide or invoke, and "Cancel any time" is especially confusing for a read-only lookup. Roughly half the text could be deleted with no loss.

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?

An output schema exists, so return-format gaps are forgivable, and the annotations plus the "keyless/free/no subscription" notes cover the operational essentials. What's missing is a clear statement of what the agent should do with a permanently negative answer and how this differs from the quote sibling. The unrelated place-standing material adds length without filling that 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?

Only one parameter with 100% schema description coverage, so the schema already explains the 0x… wallet format and its public nature. The description's "Given a wallet" restates the schema without adding format, validation, or examples. Baseline 3 is the correct ceiling here.

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 opening sentence gives a specific verb and resource ("returns its regenerative provisioning subscription state"), which is usable. But it immediately undercuts itself with "There is no subscription store and nothing has ever been charged," blurring whether this is a real status lookup or a stub that always answers negatively. The last half of the description drifts into place-standing and payment philosophy that has nothing to do with what the tool returns.

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 statement of when to call this rather than regen_provisioning_subscription_quote or net_subscription_status, both of which sit right next to it in the sibling list. The only routing hint is incidental ("Standing belongs to a PLACE and is read free at GET /labor/standing?place="), which redirects to a different concept rather than helping choose this tool. An agent must 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.

regen_token_volumeREGEN token trading volume, across every exchange it trades onA
Read-onlyIdempotent
Inspect

How much of the $REGEN token itself changes hands — NOT Regen ecocredit retirement volume, a completely different market (use regen_burn_tracker or the commons page for that). Returns live price, 24h volume, market cap, a 7-day trend read off real daily history, a per-exchange/DEX breakdown of where that volume actually happens, and the peak/most-recent complete month from a year of monthly history (the human page at /regen/volume.html has a full daily/monthly chart toggle). Sourced from CoinGecko's own aggregation. Free, keyless, read-only. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive, so the repeated 'free, keyless, read-only, nothing to sign' adds little. However, 'Sourced from CoinGecko's own aggregation' and the live/24h freshness framing disclose data provenance and staleness context the annotations do not.

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

Conciseness4/5

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

Front-loads the key disambiguation in the first clause, which is the highest-value content. The parenthetical human-page reference and some return-field enumeration are slightly padded, but nothing is misleading.

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?

Data source, freshness, and scope are covered, and an output schema exists so the return enumeration is not strictly needed. The description is more than sufficient for a parameterless read tool; minor redundancy rather than a gap.

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 the baseline is 4; there is nothing to mis-specify. No parameter-level guidance is needed or expected.

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+resource ('how much of the $REGEN token itself changes hands') and immediately distinguishes it from the confusingly similar ecocredit retirement volume. An agent can separate it from regen_burn_tracker and the commons page without opening a 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?

Explicitly names the wrong use case (ecocredit retirement volume) and redirects to alternatives (regen_burn_tracker, commons page). This is a clear when-to-use / when-not-to-use pairing with named alternatives.

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

request_statusRead the recorded need, its bridge result and what to do nextA
Read-onlyIdempotent
Inspect

Read one public signed request by its id from the existing /labor/requests door, including the request's current resolution and existing next-action projection. This is a read, not a new request, a funding event or proof of completion. If a work packet has been linked, use funding_quote to read whether it is actually fundable. A missing, blocked or still-open request is not a promise of service. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
requestIdYesThe request.id returned by submit_request (e.g. REQ_...). Public read, no signature required.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds useful context beyond the annotations: it is free, keyless, requires no signature, and a blocked/open result carries no service guarantee. It does not describe pagination or error semantics, but the output schema plus annotations cover most of that burden.

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

Conciseness4/5

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

Front-loads the operation and then adds exclusions, warning, cost, and signer details in a compact set of sentences. Slightly verbose with phrasing like 'door' and repeated assurance of public access, but every sentence is relevant.

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?

Covers what is read, what the result represents, the read-only safety profile, cost/signing requirements, and a caveat about missing or blocked requests. With the output schema and annotations already present, this is nearly complete, though it could more explicitly distinguish itself from next_action and work_status siblings.

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 parameter is fully documented in the schema as the request.id returned by submit_request. The description only restates that the id comes from a public signed request, adding no format or lookup details beyond the schema.

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

Purpose5/5

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

States a specific verb and resource: read one public signed request by id, returning its current resolution and next-action projection. It explicitly distinguishes itself from submit_request, funding events, and proof of completion, so an agent can tell it apart from siblings without opening the schema.

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?

Clearly says this is a read, directs agents to funding_quote when a work packet is linked, and warns that a missing, blocked, or still-open request is not a promise of service. It does not explicitly route against next_action, my_next_step, or work_status, so the guidance is strong but not exhaustive.

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

retire_and_certifyRetire carbon on-chain and get the certificateA
Read-onlyIdempotent
Inspect

How to retire a given tCO2e amount for real, on-chain, via the Klima rail — paid keyless from the caller's own wallet, returning a confirmed retire transaction as the certificate. Returns instructions and the exact door; this server never performs the retirement and never holds a wallet. The retirement is real; any footprint number behind it stays orientation, never a precise carbon claim. Cost and signer: this read is free and keyless; the retirement itself is paid and signed by the caller's own wallet.

NameRequiredDescriptionDefault
amount_tco2eYesTonnes of CO2e to retire, e.g. 0.005.
beneficiary_nameNoOptional name to record on the retirement.
retirement_messageNoOptional message to record on the retirement.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.8/5.0
Behavior5/5

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

Beyond the annotations it discloses non-custody ('this server never holds a wallet'), the signer ('signed by the caller's own wallet'), the cost model, and the epistemic caveat that any footprint number is orientation only. This also reconciles the readOnlyHint annotation with the fact that the downstream retirement is a paid write, which is exactly the kind of nuance an agent needs.

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 scope constraint is front-loaded, but the prose is padded and repetitive ('for real', 'The retirement is real', restating cost/signer twice), diluting the load-bearing signals about keyless reads and non-custody.

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

Completeness4/5

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

With an output schema present and full schema descriptions, the description covers the remaining gaps — cost, signer, non-custody, and the precision caveat — so an agent can call it and interpret the result correctly. Only the lack of sibling routing keeps it from being fully 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 coverage is 100%, so amount_tco2e, beneficiary_name, and retirement_message are already fully documented in the schema; the description adds no syntax, bounds, or unit nuance beyond that baseline.

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?

It states the specific action and rail (retire tCO2e on-chain via Klima) and, crucially, clarifies that the tool only returns instructions rather than performing the retirement — which corrects the misleading name/title 'retire_and_certify'. It distinguishes itself from estimation/swaps siblings implicitly via 'the exact door', but never names a sibling to route to.

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 gives the condition of use implicitly (you want to retire tCO2e on-chain and need the door), and it states the free read / paid retirement split, but there is no explicit when-not guidance or named alternative among the many prepare_*/submit_* siblings an agent must choose between.

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

start_hereStart here — how an agent with no wallet and no money starts doing real workA
Read-onlyIdempotent
Inspect

The door for an agent arriving with nothing. Leads with the front-door set: the few posted packets of physical work an ordinary person can take today (no licence, no special equipment, no supervisor), checked against the live board. Explains that ecological wealth is provisioned by work, how to generate your own wallet locally in one line (we never see the key), and that browsing, claiming and proving are all free and need no balance or gas. Read-only, free, keyless — it performs nothing and asks for nothing. Pass the person's place (near, or latitude and longitude) and the set is sorted nearest first; when none of it is near that place, it says so and points to find_work there. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
nearNoOptional. The person's place in plain words, e.g. 'Echo Park, Los Angeles' or '90026'.
latitudeNoOptional. Only if you already have the person's real coordinates.
longitudeNoOptional. Only if you already have the person's real coordinates.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and open-world. The description adds information the annotations cannot carry: no balance or gas required, the wallet key is generated locally and never seen by the service, and nothing needs to be signed. That is genuinely useful for a zero-funds agent deciding whether the call is safe and possible.

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 first sentence is metaphorical ('The door for an agent arriving with nothing') rather than functional, so the actual deliverable is not front-loaded. The free/keyless/no-sign point is made at least three times ('browsing, claiming and proving are all free', 'it performs nothing and asks for nothing', 'Cost and signer: free and keyless, nothing to sign'), which pads a description that could be half its length.

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?

An output schema exists and annotations cover the safety profile, so the description only needs to explain intent, cost posture, and input behavior — all of which it does. Minor gap: it never says what happens on a first call when the person's location is unknown or omitted, given all three parameters are optional.

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?

Schema coverage is 100%, so the baseline is 3. The description earns an extra point by stating the effect of the location inputs — results are sorted nearest-first — and by framing 'near' versus latitude/longitude as alternatives, which the schema does not say.

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 concrete deliverable: the handful of posted physical-work packets an ordinary person can take today, checked against the live board and sorted by proximity. It also distinguishes itself from find_work by explicitly handing off when nothing is near. It does not, however, distinguish itself from the other onboarding-flavored siblings (next_action, my_next_step, support_next, day_card), so the boundary is only partly drawn.

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 usage condition is implied by the framing ('an agent arriving with nothing'), and one alternative is named — find_work, for when nothing is near the given place. But many sibling tools (next_action, my_next_step, support_next, how_to_claim) sound like plausible substitutes for a first call, and the description gives no rule for choosing between them.

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

submit_accept_hoursSubmit the signed acceptance (step 2 of 2)AInspect

Complete the acceptance: pass the BODY_JSON from prepare_accept_hours UNCHANGED and the signature your wallet produced over MESSAGE_TO_SIGN. Relays to the same public door any HTTP client uses (POST /labor/work/:workId/accept-hours); this server holds no keys and no funds. FREE and KEYLESS with a valid signature, and the signature is YOUR OWN, from the wallet the packet named. NOBODY IS PAID by this call: no wage is released, no settlement is recorded and nothing is minted. Returns the hours the worker claimed, the hours you accepted, and who the record now says accepted them. THE HOUSE CANNOT ACCEPT ITS OWN HOURS, so the house cannot make this call for you. Cost and signer: free, no gas; signed by the person's own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
workIdYesThe packet id, the same one prepare_accept_hours was given.
bodyJsonYesThe exact BODY_JSON string from prepare_accept_hours, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.3/5.0
Behavior4/5

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

Adds substantial context beyond annotations: it relays to a public door (POST /labor/work/:workId/accept-hours), the server holds no keys or funds, the call is free/keyless, and critically it discloses that nothing is paid, settled, or minted, which reframes an otherwise opaque 'accept' mutation. Annotations already cover safety (readOnly=false, destructive=false), and the description is consistent with them, though it never addresses idempotency despite idempotentHint=false.

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 core instruction (pass bodyJson unchanged, submit signature) is front-loaded and clear. However, the keyless/no-keys point is restated three times ('this server holds no keys and no funds', 'FREE and KEYLESS', 'the house never holds a key'), and 'NOBODY IS PAID' is padded with overlapping clauses, so several sentences do not fully earn their place.

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?

Given the tool is a mutation with a two-step dependency, an output schema, and hostile-environment constraints, the description covers the prerequisite, the trust model (no keys, no funds), what does and does not happen economically, and who must sign. Nothing an agent needs to call it correctly 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 all three parameters are already documented in the schema, including 'exact BODY_JSON string, unchanged' and '0x… personal_sign output over MESSAGE_TO_SIGN'. The description echoes the same constraints rather than adding syntax, format, or validation 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.

Purpose5/5

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

States a specific verb (complete the acceptance), the resource (accept-hours for a workId), and its exact position in a two-step flow, explicitly naming prepare_accept_hours as the source of bodyJson and signature. An agent can distinguish this from prepare_accept_hours and the other submit_* siblings 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?

Explicitly frames this as 'step 2 of 2' and instructs passing BODY_JSON from prepare_accept_hours UNCHANGED, naming the prerequisite tool directly. It also states a hard exclusion ('THE HOUSE CANNOT ACCEPT ITS OWN HOURS, so the house cannot make this call for you'), which is a genuine when-not rule.

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

submit_backingSubmit the signed pledge (step 2 of 2)AInspect

Complete the pledge: pass workId, the BODY_JSON from prepare_backing UNCHANGED, and the signature your wallet produced over MESSAGE_TO_SIGN. This server relays the signed request to the same public pledge gate any HTTP client uses — it holds no keys and no funds, and without your signature it can do nothing. Free, always: no fee is ever charged for a validly signed pledge. Returns whether your wallet's balance verified against the pledged amount, and the packet's current backer ledger. Cost and signer: free, no gas; signed by the person's own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
workIdYesThe packet id.
bodyJsonYesThe exact BODY_JSON string from prepare_backing, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.3/5.0
Behavior5/5

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

Annotations only give readOnly=false, openWorld=true, idempotent=false, destructive=false; the description adds the trust model (server holds no keys and no funds, relays to the same public gate any HTTP client uses), the cost profile (free, no gas, never a fee), and who signs (user's own wallet or passkey). That is substantial behavior disclosure beyond the structured fields.

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 critical instructions and the no-keys trust model are front-loaded, but the cost message is stated twice ('Free, always: no fee is ever charged…' then 'Cost and signer: free, no gas'), and the closing sentence repeats signing/key custody already covered. The redundancy costs it a point.

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?

An output schema exists, so return values need only a pointer — the description supplies one (balance verification plus backer ledger). Combined with full parameter coverage, annotations, and the stated prerequisite chain, an agent has everything needed to invoke 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 coverage is 100% and already documents all three parameters, including 'the exact BODY_JSON string from prepare_backing, unchanged'. The description restates the same constraint (UNCHANGED, signature over MESSAGE_TO_SIGN) rather than adding new format or validation detail, so the baseline 3 applies.

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

Purpose5/5

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

The description states a specific verb and resource ('Complete the pledge'), names the three inputs it consumes, and ties itself explicitly to prepare_backing as 'step 2 of 2'. An agent can identify this as the signing/relay half of a two-step flow 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 Guidelines4/5

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

It clearly establishes the precondition — BODY_JSON must come from prepare_backing and be passed UNCHANGED, and the signature must be over MESSAGE_TO_SIGN — which effectively says 'use this only after prepare_backing and wallet signing'. It does not name alternatives or state when NOT to use it, so it falls short of the explicit when/when-not/alternative bar.

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

submit_backing_withdrawSubmit the signed pledge withdrawal (step 2 of 2)AInspect

Complete the withdrawal: pass workId, the BODY_JSON from prepare_backing_withdraw UNCHANGED, and the signature over MESSAGE_TO_SIGN. Free, always, and relays to the same public gate any HTTP client uses. Cost and signer: free, no gas; signed by the person's own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
workIdYesThe packet id.
bodyJsonYesThe exact BODY_JSON string from prepare_backing_withdraw, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover the read/write, openness, idempotency, and destructive profile. The description adds useful behavioral detail beyond those annotations: it is free, requires no gas, relays through the same public gate as any HTTP client, and is signed by the user's own wallet or passkey without the house holding a key.

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 description is front-loaded and appropriately short, first explaining the completion action and then the signing/cost context. There is minor redundancy between 'Free, always' and 'Cost and signer: free, no gas', but it does not obscure the instruction.

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?

Given the 100% schema coverage and the presence of an output schema, the description supplies what the agent needs for correct invocation: the step-2 relationship to prepare_backing_withdraw, the unchanged body requirement, and the signing and cost model. No essential calling context appears to be missing.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters. The description reinforces the key constraint that bodyJson must be the exact BODY_JSON from prepare_backing_withdraw, but this largely repeats what the schema descriptions already state rather than adding new semantics.

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 and resource: completing the backing withdrawal as step 2. It explicitly references prepare_backing_withdraw, so an agent can distinguish this submit step from the prepare step and from other submit_* siblings.

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 description makes the usage context clear by naming prepare_backing_withdraw and saying to pass its BODY_JSON unchanged with the signature. It implicitly tells the agent this is the post-preparation step, but it does not state exclusions or when not to use it.

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

submit_bidSubmit the signed offer (step 2 of 2)AInspect

Complete the bid: pass workId, the BODY_JSON from prepare_bid UNCHANGED, and the signature your wallet produced over MESSAGE_TO_SIGN. Relays to the same public bid gate any HTTP client uses; this server holds no keys and no funds. Free with a valid signature. Returns your recorded offer; the creator accepts or declines it later — work_status and my_work show what happened. Cost and signer: free, no gas; signed by the person's own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
workIdYesThe packet id.
bodyJsonYesThe exact BODY_JSON string from prepare_bid, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4/5.0
Behavior4/5

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

Beyond annotations it discloses real behavioral context: the call is a pure relay to a public gate, the server holds no keys or funds, there is no gas cost, signing is done by the user's own wallet or passkey, and the offer is only recorded — the creator accepts or declines later. What it omits is the consequence of idempotentHint=false: nothing warns that a retry or double-submit may create a duplicate offer.

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 action and inputs are front-loaded, which is good, but the closing sentence duplicates earlier content: 'free' appears twice, and 'this server holds no keys and no funds' is restated as 'the house never holds a key.' That repetition in a short description is wasted space an agent must parse.

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 non-idempotent, open-world write with an output schema, the description covers custody, cost, signing identity, and the downstream lifecycle (creator accepts/declines, check work_status/my_work) — more than enough to call it. The remaining gap is retry/failure semantics for a non-idempotent mutation.

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 description largely restates schema text ('BODY_JSON from prepare_bid UNCHANGED', 'signature your wallet produced over MESSAGE_TO_SIGN'). The 'UNCHANGED' emphasis is a useful warning about byte-exactness, but it does not add format, ordering, or validation detail beyond the schema, so the baseline of 3 applies.

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

Purpose5/5

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

The description names a specific verb+resource ('Complete the bid') and states exactly which inputs finalize it, plus the value proposition that it relays to the same public bid gate any HTTP client uses. Its position in the two-step prepare_bid → submit_bid sequence is unambiguous, and it clearly is not one of the many other submit_* siblings (submit_outcome_bid, submit_direct_offer).

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 gives a clear precondition (bodyJson must be the exact BODY_JSON from prepare_bid, unchanged, plus the signature over MESSAGE_TO_SIGN) and routes post-submission questions to work_status and my_work. It does not state when-not to use it or what to do on a failed/duplicate submission, so it falls short of a full when/when-not/alternatives guide.

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

submit_claimSubmit the signed claim (step 2 of 2)AInspect

Complete the claim: pass the BODY_JSON string from prepare_claim UNCHANGED plus the signature your wallet produced over MESSAGE_TO_SIGN. This server relays the signed request to the same public claim gate any HTTP client uses — it holds no keys and no funds, and without your signature it can do nothing. Success returns your claimId; keep it, proof submission needs it. Cost and signer: free, no gas; signed by the person's own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
bodyJsonYesThe exact BODY_JSON string from prepare_claim, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations: it explains the trust model (relay to the same public claim gate any HTTP client uses, server holds no keys or funds, cannot act without the signature), the cost profile (free, no gas), the signing authority (person's own wallet or passkey), and the return value (claimId). This is exactly the context an agent needs to reassure a user about a signature-bearing call.

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

Conciseness4/5

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

Front-loaded with the action and inputs, then the trust/cost context, then the return value. Slightly redundant on key custody ("holds no keys and no funds" restated as "the house never holds a key"), but every sentence is functional.

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?

An output schema exists, yet the description still flags the one return value that matters downstream (claimId for proof submission). With 100% schema coverage, both annotations and a sequenced sibling workflow documented, nothing an agent needs to call this correctly 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 both parameters are already documented with equal specificity. The description reinforces the critical constraint (pass BODY_JSON UNCHANGED, signature is over MESSAGE_TO_SIGN) but adds no new syntax or format detail. Baseline 3 is correct 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.

Purpose5/5

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

States a specific verb and resource ("Complete the claim") and positions itself precisely as step 2 of 2, naming prepare_claim as the producer of the inputs. An agent can distinguish it from the many prepare_* siblings and from submit_proof 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 Guidelines4/5

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

Makes the sequence explicit: use after prepare_claim and after the wallet has signed MESSAGE_TO_SIGN, and it names the downstream consumer (proof submission needs the claimId). It lacks an explicit "do not call before preparing" exclusion or a pointer to how_to_claim, so it is clear context rather than full when/when-not guidance.

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

submit_credit_offerSubmit the signed credit offer (step 2 of 2)AInspect

Complete the offer: pass workId, the BODY_JSON from prepare_credit_offer UNCHANGED, and the signature your wallet produced over MESSAGE_TO_SIGN. Relays to the same public door any HTTP client uses (POST /labor/work/:workId/back/credit); this server holds no keys, no funds and no credits. Free with a valid signature. Returns the recorded offer, including the regen1 account the board derived for you. Cost and signer: free, no gas; signed by the person's own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
workIdYesThe packet id.
bodyJsonYesThe exact BODY_JSON string from prepare_credit_offer, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing the actual transport (POST /labor/work/:workId/back/credit), custody model (no keys, no funds, no credits held server-side), cost (free, no gas), and what is returned (the recorded offer plus the derived regen1 account). This is real behavioral context an agent could not infer from readOnlyHint/openWorldHint alone.

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

Conciseness4/5

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

Front-loaded with the action and inputs, then cost/trust details. The closing sentence ("Cost and signer: free, no gas... house never holds a key") partially repeats the earlier "no keys, no funds" and "Free with a valid signature" statements, costing some efficiency.

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?

With an output schema present and full annotation coverage, the description supplies exactly the missing pieces: sequencing from the prepare step, exact input provenance, custody and cost expectations, and endpoint semantics. Nothing an agent needs to invoke it correctly is absent.

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 all three parameters are already documented in structured fields. The description reinforces the critical constraint that bodyJson must be passed UNCHANGED and that signature comes from personal_sign over MESSAGE_TO_SIGN, but adds little syntax beyond the schema. Baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ("Complete the offer") and positions itself precisely as step 2 of 2, naming the sibling prepare_credit_offer as the source of its input. An agent can distinguish it from the many submit_* siblings without inspecting schemas.

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 prerequisite path is explicit: call prepare_credit_offer first, then pass its BODY_JSON unchanged along with the wallet signature. It lacks an explicit when-not clause (e.g., behavior on retry given idempotentHint=false), but the ordered step framing gives clear context.

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

submit_credit_settlementSubmit the signed credit settlement (step 2 of 2)AInspect

Complete the record: pass workId, the BODY_JSON from prepare_credit_settlement UNCHANGED, and the signature your wallet produced over MESSAGE_TO_SIGN. Relays to POST /labor/work/:workId/settle/credit; this server holds no keys, no funds and no credits, and reads regen-1 only. Free with a valid signature. Returns the settlement with settledIn naming the ledger, the batch, the tradable amount and the paying account. Cost and signer: free, no gas; signed by the person's own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
workIdYesThe packet id.
bodyJsonYesThe exact BODY_JSON string from prepare_credit_settlement, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the annotations, the description discloses that the server holds no keys, funds, or credits; reads regen-1 only; relays to a specific POST endpoint; costs no gas; and is signed by the user's wallet or passkey. This is meaningful behavioral context for a non-read-only, open-world settlement submission.

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 action and required inputs are front-loaded and the description is generally dense. However, the custody/cost point is repeated across multiple sentences, slightly reducing efficiency.

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 two-step, non-idempotent, open-world settlement write, the description covers the prior tool, required unchanged payload, signature provenance, relay endpoint, custody model, cost, and settlement return shape. With an output schema and annotations also present, this is complete enough for an agent to invoke 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 coverage is 100%, and the schema already explains workId, the exact BODY_JSON requirement, and the personal_sign signature. The description reinforces that bodyJson comes from prepare_credit_settlement and that signature is over MESSAGE_TO_SIGN, but adds little parameter meaning beyond the schema.

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 and resource: submit the signed credit settlement, explicitly framed as step 2 of 2 that completes a record after prepare_credit_settlement. It distinguishes this tool from the prepare step and from other submit_* siblings by naming the exact signed payload and relay endpoint.

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 description clearly places the tool after prepare_credit_settlement and says to pass the BODY_JSON unchanged plus the wallet-produced signature. It does not explicitly state when not to use it, but the step-2-of-2 framing gives enough context for correct routing.

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

submit_direct_offerSubmit the signed direct offer (step 2 of 2)AInspect

Complete the offer: pass workId, the BODY_JSON from prepare_direct_offer UNCHANGED, and the signature your wallet produced over MESSAGE_TO_SIGN. Relays to the same public door any HTTP client uses (POST /labor/work/:workId/back/direct); this server holds no keys and no funds. Free with a valid signature. Returns the recorded offer and the packet's direct terms. Cost and signer: free, no gas; signed by the person's own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
workIdYesThe packet id.
bodyJsonYesThe exact BODY_JSON string from prepare_direct_offer, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations: discloses the exact relay endpoint, that the server holds no keys or funds, that the call is free with no gas, that signing is done by the user's own wallet or passkey, and what is returned. These are real operational traits (custody model, cost, trust boundary) not encoded in readOnlyHint/openWorldHint/idempotentHint/destructiveHint.

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

Conciseness4/5

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

Front-loads the action and the three inputs in the first sentence, which is the right structure. However, the closing sentence repeats 'free' and 'house never holds a key' already stated earlier ('Free with a valid signature', 'this server holds no keys'), so a little trimming is possible.

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?

With an output schema present and full annotation coverage, the description supplies everything an agent needs: the upstream prepare step, the required payload provenance, the trust/cost model, and the relay target. No material gaps remain for a three-parameter submit 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 coverage is 100%, so the schema already documents all three parameters, including that bodyJson is the exact string from prepare_direct_offer and signature is personal_sign over MESSAGE_TO_SIGN. The description reinforces the 'UNCHANGED' constraint and the MESSAGE_TO_SIGN target but adds no new semantics, so the baseline of 3 applies.

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

Purpose5/5

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

States a specific verb ('Complete the offer') plus the exact resource and its place in a two-step flow ('step 2 of 2'), and names the sibling prepare_direct_offer as the source of the payload. An agent can distinguish this from submit_direct_settlement and the other submit_* tools without opening a schema.

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

Usage Guidelines4/5

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

Explicitly frames the tool as the second half of a prepare/submit pair and instructs that BODY_JSON must come from prepare_direct_offer unchanged, which implies when to call it. It does not name exclusions or contrast with submit_direct_settlement, so it stops short of full when/when-not guidance.

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

submit_direct_settlementSubmit the signed direct settlement (step 2 of 2)AInspect

Complete the record: pass workId, the BODY_JSON from prepare_direct_settlement UNCHANGED, and the signature your wallet produced over MESSAGE_TO_SIGN. Relays to POST /labor/work/:workId/settle/direct; this server holds no keys and no funds. Free with a valid signature. Returns the settlement with settledDirect naming the stated amount, the method and the payer. Cost and signer: free, no gas; signed by the person's own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
workIdYesThe packet id.
bodyJsonYesThe exact BODY_JSON string from prepare_direct_settlement, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.2/5.0
Behavior5/5

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

Beyond annotations, it discloses that the server is non-custodial (holds no keys or funds), the call is free/no-gas and requires a valid signature, the signer is the person's own wallet or passkey, and it names the return payload shape (settledDirect with amount, method, payer). This is substantial behavioral context 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.

Conciseness3/5

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

The core instruction is front-loaded, but the tail repeats itself: 'Free with a valid signature' and then 'Cost and signer: free, no gas; signed by the person's own wallet or passkey, and the house never holds a key' say the same thing twice. Trimming one of these would tighten the definition.

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

Completeness4/5

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

With an output schema present, the description needn't detail return values, but it helpfully names settledDirect fields anyway. It covers inputs, the endpoint, and the non-custodial/free profile; only minor gaps like idempotency behavior (annotations flag idempotentHint=false) are left to the agent's inference.

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 schema already documents all three parameters, including 'unchanged' bodyJson and the personal_sign output over MESSAGE_TO_SIGN. The description echoes those constraints but adds no new syntax, format, or edge-case guidance, so baseline 3 applies.

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

Purpose5/5

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

The description states a specific action (complete the settlement record), names its inputs, and gives the concrete endpoint (POST /labor/work/:workId/settle/direct). It distinguishes itself from prepare_direct_settlement by framing itself as 'step 2 of 2' consuming that tool's BODY_JSON and MESSAGE_TO_SIGN.

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 clearly situates the tool in a two-step flow, telling the agent this is the second step and that the body must be passed unchanged from prepare_direct_settlement. It doesn't explicitly exclude or compare against sibling settlement tools like submit_token_settlement or submit_credit_settlement, 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.

submit_evidence_surfaceSubmit the signed reservation (step 2 of 2)AInspect

Complete the reservation: pass the BODY_JSON from prepare_evidence_surface UNCHANGED and the signature your wallet produced over MESSAGE_TO_SIGN. Free, always. Returns the targetUrl to pass to prepare_claim. Re-submitting for the same packet returns the surface you already hold. Cost and signer: free, no gas; signed by the person's own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
bodyJsonYesThe exact BODY_JSON string from prepare_evidence_surface, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.6/5.0
Behavior2/5

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

The description adds genuinely useful behavior — free, no gas, signed by the person's own wallet or passkey, the house never holds a key, and the tool returns a targetUrl. But it asserts 'Re-submitting for the same packet returns the surface you already hold,' which describes idempotent semantics while the annotations declare idempotentHint=false. That conflict undercuts the behavioral contract the annotations are meant to provide.

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

Conciseness4/5

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

Front-loaded with the action and its inputs, then the chain to prepare_claim, then cost/signer notes. It is dense but nearly every clause carries information; only the trailing 'Cost and signer:' fragment is slightly redundant with 'Free, always' earlier in the text.

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 only two required params, full schema coverage, and an output schema available, the description covers what an agent needs: inputs, source of inputs, cost/auth model, and the next step. The one gap is the unresolved idempotency behavior on retries, which matters for an agent recovering from a failed call.

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?

Schema coverage is already 100%, so the baseline is 3. The description earns more by stressing that bodyJson must be passed UNCHANGED and that signature is the wallet's output over MESSAGE_TO_SIGN, which conveys the integrity requirement the field names alone do not.

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 ('Complete the reservation') and ties it explicitly to step 1, prepare_evidence_surface, so an agent knows the ordering. It does not, however, distinguish this from the very similar sibling submit_evidence_write, which an agent must disambiguate on its own.

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?

Sequencing guidance is explicit: use it after prepare_evidence_surface produces BODY_JSON and a wallet signature over MESSAGE_TO_SIGN, and pass the resulting targetUrl to prepare_claim. It also covers the re-submission case. What is missing is any statement of when NOT to use it (e.g., versus submit_evidence_write).

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

submit_evidence_writeSubmit the signed publish (step 2 of 2)AInspect

Complete the publish: pass the BODY_JSON from prepare_evidence_write UNCHANGED and the signature over MESSAGE_TO_SIGN. Free when signed. On success the files are live at your targetUrl and the next step is prepare_proof — the verifier probes them passively like any public machine surface. Cost and signer: free, no gas; signed by the person's own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
bodyJsonYesThe exact BODY_JSON string from prepare_evidence_write, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.4/5.0
Behavior4/5

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

Goes well beyond the annotations: it discloses cost (free, no gas), signer/custody model (person's own wallet or passkey, house never holds a key), the post-success state (files live at targetUrl), and that the verifier probes them passively. It does not describe failure modes or what happens on a duplicate submission, which is the notable gap given idempotentHint=false.

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

Conciseness4/5

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

Front-loaded with the actionable instruction (what to pass) before the outcome and cost details, and every clause carries operational information. The closing cost/signer sentence is slightly dense and could be trimmed, but it is not filler.

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?

An output schema exists, so return format need not be explained, and the description still covers the success state, the next step, cost, and signer. For a two-parameter write tool inside a multi-step chain, nothing an agent needs in order to call it correctly is absent.

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?

Schema coverage is 100%, so baseline is 3. The description still earns a bump by stressing the pass-BODY_JSON-UNCHANGED constraint and tying signature to MESSAGE_TO_SIGN, both common failure points that the schema states but does not emphasize.

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 action (complete the publish), names the exact resource, and pins itself to step 2 of a two-step flow. It also names the sibling tool whose output it consumes (prepare_evidence_write), so an agent can place it precisely in the flow without opening other definitions.

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

Usage Guidelines4/5

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

Explicitly says it is step 2 of 2 and must follow prepare_evidence_write, and names prepare_proof as the next step. What is missing is a statement of when-not to call it (e.g. if the body was edited, or after a prior successful submit), which matters for a non-idempotent write.

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

submit_feedbackReport friction or a missing capabilityAInspect

Record what you tried to do with Vealth, what happened, and what you expected. Use this when a tool, endpoint, page or capability is missing, confusing, blocked or appears broken. Free and keyless. Feedback is untrusted observation only: it does not change work, proof, payment, safety, authority, standards or code. Do not include passwords, private keys, seed phrases or API keys. Cost and signer: free and keyless (rate-limited), nothing to sign.

NameRequiredDescriptionDefault
actorRefNoOptional self-declared reporter reference. This is attribution only, never verified identity.
requestIdNoOptional request/trace id if one was returned.
targetKindYesWhat kind of Vealth surface you were using.
targetNameYesThe exact endpoint, MCP tool, capability or page, e.g. find_work or POST /labor/work.
evidenceRefsNoOptional references to existing evidence/receipts. Do not paste secrets.
targetVersionNoOptional exact version/ref if known.
expectedResultNoOptional: what you expected instead.
observedResultYesWhat actually happened, including the refusal/error if useful.
attemptedIntentYesWhat you were trying to accomplish.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.8/5.0
Behavior4/5

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

Adds substantial context beyond the annotations: it states feedback is untrusted observation with no effect on work, proof, payment, safety, authority, standards or code, discloses rate limiting and keyless/no-signer auth, and gives an explicit secrets-exclusion rule. That is rich behavioral disclosure for a write-shaped call. It stops short of a 5 because it never says what happens to the submission afterward (review, triage, dedupe) despite idempotentHint=false.

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?

Front-loaded with the core instruction, which is good, but the cost/signer fact is stated twice ("Free and keyless" near the start and "Cost and signer: free and keyless (rate-limited), nothing to sign" at the end). That duplication costs space in an otherwise tight definition.

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?

An output schema exists so return values need no explanation, and the description covers cost, auth, privacy limits, and the non-effects of submitting. For a 9-parameter open-world write tool the remaining gap is the post-submission lifecycle and how evidenceRefs should be chosen, but nothing an agent needs in order to call it correctly 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% and every property including the targetKind enum is already documented, so the schema carries the load. The prose maps loosely onto attemptedIntent/observedResult/expectedResult, but adds no format, limit, or evidenceRefs guidance beyond what the schema states. 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?

Names a specific verb and resource: record what you attempted, what happened, and what you expected, and the scope sentence ("a tool, endpoint, page or capability is missing, confusing, blocked or appears broken") makes the domain unmistakable. It does not explicitly distinguish itself from submit_request, which plausibly overlaps on 'missing capability', so sibling 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 Guidelines4/5

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

"Use this when a tool, endpoint, page or capability is missing, confusing, blocked or appears broken" is a concrete trigger condition with five enumerated failure modes. There is no explicit when-not or named alternative (e.g. submit_request for new capabilities), so it stops short of full routing guidance.

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

submit_fundingSend your signed payment to the funding door (step 3 for a buyer)AInspect

Finish funding a packet from your own wallet: pass the workId, your funderWallet, and xPayment — the standard X-PAYMENT header value (x402 exact scheme, an EIP-3009 USDC authorization on Base) that YOUR wallet built and signed against the challenge prepare_funding returned. This tool forwards it, unchanged, to the same public funding door any HTTP client uses (POST /nurture/fund) and returns that door's own answer. It holds no key, takes no payment itself, and marks nothing funded: the door settles the payment and only a verified settlement stamps a packet funded. Without xPayment it refuses and points you back to prepare_funding. A packet whose claim lane is closed is refused before any challenge, in plain words. If the door times out, do NOT pay again: read work_status first. Cost and signer: no payment is taken while paying Vealth is closed; when a door is open the buyer's own wallet signs and pays, and the house never holds a key.

NameRequiredDescriptionDefault
workIdYesThe packet id, from funding_quote or find_work.
xPaymentYesThe X-PAYMENT header value your own wallet built and signed for the exact accepts[] terms from prepare_funding. Required; this server cannot create it.
funderWalletYesThe 0x… address that signed the payment. The ADDRESS only, never a private key.
contributeUsdNoOptional. The same EXPLICIT contribution you passed to prepare_funding; it must match the amount you signed.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations: it discloses that the tool holds no key and takes no payment, that the external door settles and only a verified settlement marks a packet funded, that closed claim lanes are refused before any challenge, and that the call is not safely repeatable on timeout. The duplicate-payment warning is exactly the context the idempotentHint=false annotation cannot convey on its own.

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 core action and required inputs are front-loaded in the first sentence, and each subsequent sentence covers a distinct concern (forwarding, settlement, refusal, timeout). The closing cost/signer sentence restates ground already covered earlier ('holds no key, takes no payment'), costing some tightness.

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?

An output schema already exists, so return values need no explanation; the description instead covers the paths an agent cannot infer — missing xPayment, closed claim lane, door timeout, and who signs and pays. Nothing needed to call this correctly 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% and each parameter already documents itself, including the accepts[] linkage and the address-only rule. The description reinforces the order dependency on prepare_funding but adds little syntax or format detail beyond the schema, so the baseline applies.

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

Purpose5/5

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

States a specific verb and resource ('Finish funding a packet from your own wallet') and immediately names the three required inputs. It distinguishes itself from the preparation sibling by requiring an already-signed xPayment built against prepare_funding's challenge, so an agent can tell it apart from prepare_funding and the other submit_* tools.

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 explicit sequencing (call after prepare_funding), explicit failure routing ('Without xPayment it refuses and points you back to prepare_funding'), and explicit when-not-to-retry guidance ('If the door times out, do NOT pay again: read work_status first'). Alternatives and the conditions selecting them are named, not inferred.

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

submit_outcome_bidSubmit the signed outcome bid (step 2 of 2)AInspect

Complete the outcome bid: pass the BODY_JSON from prepare_outcome_bid UNCHANGED and the signature your wallet produced over MESSAGE_TO_SIGN. Relays to POST /labor/outcome-bids, the same public door any HTTP client uses; this server holds no keys and no funds. Free with a valid signature. Returns the recorded bid; the packets' creator accepts it or lets it lapse, and outcome_bid_status shows which. Cost and signer: free, no gas; signed by the person's own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
bodyJsonYesThe exact BODY_JSON string from prepare_outcome_bid, unchanged.
signatureYesThe 0x personal_sign output over MESSAGE_TO_SIGN.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.2/5.0
Behavior5/5

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

Goes well past the annotations: discloses that the server holds no keys or funds, that it relays to the same public door any HTTP client uses, that it is free with no gas, and that the signature comes from the user's own wallet or passkey. With annotations only saying non-readonly/open-world/non-idempotent, this adds real custody and cost context.

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?

Front-loads the core instruction well, but the tail repeats itself: 'Free with a valid signature' is restated as 'Cost and signer: free, no gas', and 'this server holds no keys and no funds' is restated as 'the house never holds a key.' Roughly a sentence of 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?

With an output schema present, return-value detail is not required, and the description still notes the recorded bid and the accept/lapse follow-up. The one gap is non-idempotency: it never says what happens on a duplicate submission, despite idempotentHint=false.

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, including the 'unchanged' and 'personal_sign output' constraints. The description restates those same constraints rather than adding new meaning, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('Complete the outcome bid') and immediately anchors it as step 2 of 2, distinguishing it from prepare_outcome_bid and outcome_bid_status. The relay target POST /labor/outcome-bids makes the underlying action unambiguous.

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 sequencing context: use the BODY_JSON from prepare_outcome_bid UNCHANGED plus the wallet signature over MESSAGE_TO_SIGN, and points to outcome_bid_status to see whether the creator accepted or let it lapse. No explicit 'do not use' case, but the prerequisite chain is effectively an exclusion.

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

submit_physical_proofSubmit the signed physical proof (step 2 of 2)AInspect

Relay the signed physical proof to the same public door any HTTP client uses (POST /labor/work/:workId/physical-proof): pass workId, the BODY_JSON from prepare_physical_proof UNCHANGED, and the signature over MESSAGE_TO_SIGN. FREE with a valid signature from the claiming wallet. It records the photo hashes and the on-site GPS against the packet's 350 m place; a far GPS is flagged for the human, never auto-rejected. NOBODY IS PAID by this call and nothing is accepted: the packet's creator signs the verdict, never the worker. Cost and signer: free, no gas; signed by the person's own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
workIdYesThe packet id, the same one prepare_physical_proof was given.
bodyJsonYesThe exact BODY_JSON string from prepare_physical_proof, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations: it discloses that the call is free with no gas, that it records photo hashes and on-site GPS against the packet's 350 m place, that a far GPS is flagged for human review rather than auto-rejected, and that nobody is paid and nothing is accepted. It also names the key custodian (own wallet or passkey, house never holds a key), all of which annotations only crudely signal via readOnlyHint=false / destructiveHint=false.

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

Conciseness4/5

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

Front-loaded with the action and endpoint, then supporting constraints; every clause carries information. There is mild redundancy, since freedom-with-no-gas is stated twice ("FREE with a valid signature" and "free, no gas"), and the all-caps clarifications add density.

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?

Covers what an agent needs for a two-step signing flow: prerequisite, exact inputs to reuse verbatim, signing requirement, cost, side effects on GPS/hashes, and the fact that no payout or acceptance happens here. Return values are covered by the output schema, so nothing material 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?

Schema coverage is 100%, so the baseline is 3; the description adds a constraint the schema does not state, namely that the signature must come from the claiming wallet. Otherwise it largely restates the three parameters (workId, unchanged bodyJson, signature over MESSAGE_TO_SIGN), so it sits just above baseline.

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

Purpose5/5

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

States a specific verb and resource ("Relay the signed physical proof") and pins it to the exact endpoint POST /labor/work/:workId/physical-proof. It explicitly positions itself as step 2 of 2 relative to prepare_physical_proof, so an agent can distinguish it from that sibling without opening either schema.

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

Usage Guidelines4/5

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

Clear usage context: call after prepare_physical_proof, passing that call's BODY_JSON unchanged plus the signature over MESSAGE_TO_SIGN, and only with a signature from the claiming wallet. It names the prerequisite sibling explicitly but gives no negative conditions (e.g., what to do if the packet is already submitted or the signature is invalid), which keeps it 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.

submit_placeSubmit the signed place intake (step 2 of 2)AInspect

Complete the handover: pass the BODY_JSON from prepare_place UNCHANGED and the signature your wallet produced over MESSAGE_TO_SIGN. Relays to the same public door any HTTP client uses (POST /labor/place/intake); this server holds no keys and no funds. Free with a valid signature. Returns the recorded intake with its id and the Regen account the board derived for you. It is recorded, not accepted: watch it with place_status. Cost and signer: free, no gas; signed by the person's own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
bodyJsonYesThe exact BODY_JSON string from prepare_place, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.8/5.0
Behavior5/5

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

Beyond annotations, it explains that the tool relays to the same public POST endpoint, holds no keys or funds, is free with a valid signature, and records but does not accept the intake. It also identifies the signer model (wallet or passkey) and the returned id/Regen account 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?

The description is front-loaded around the handover flow and concrete inputs. It is slightly repetitive in restating the free/no-key behavior twice, but the repetition reinforces important constraints rather than obscuring the core instruction.

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?

With an output schema present, the description need not fully document return fields, yet it still summarizes the recorded intake id and derived Regen account. It also covers cost, signer, relay behavior, and the distinction between recorded and accepted state.

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?

Schema coverage is already 100%, so the schema does most of the parameter work. The description still adds meaningful constraints by emphasizing that bodyJson must be passed unchanged from prepare_place and that signature is over MESSAGE_TO_SIGN.

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?

It names a specific action and resource: completing the signed place-intake handover as step 2 of 2. It explicitly links to prepare_place and distinguishes the recorded state from acceptance, making the tool's role clear against sibling tools.

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?

The description gives explicit when-to-use instructions: pass the BODY_JSON from prepare_place unchanged and the wallet signature over MESSAGE_TO_SIGN. It also directs the agent to place_status for tracking, which clarifies the alternative follow-up tool.

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

submit_post_workSubmit the signed posting (step 2 of 2)AInspect

Complete the posting: pass BODY_JSON from prepare_post_work UNCHANGED, the creator wallet's signature over MESSAGE_TO_SIGN, and (unless you hold an EWP key) xPayment — the standard X-PAYMENT header value your own wallet produced for the $0.05 write fee. If you send no payment, the answer is the live 402 challenge with exact price and pay-to; pay it from your own wallet and retry with a fresh prepare. This server relays to the same public gate any HTTP client uses — it holds no keys and no funds. Success returns your packet's id and public page; claiming it (even yourself) is free. Cost and signer: $0.05 for the post (claiming it stays free), paid and signed by the person's own wallet, and the house never holds a key.

NameRequiredDescriptionDefault
bodyJsonYesThe exact BODY_JSON string from prepare_post_work, unchanged.
xPaymentNoOptional: the X-PAYMENT header value (EIP-3009 USDC on Base, from YOUR wallet) settling the $0.05 write fee. Omit if you hold an EWP key.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN, from the creator wallet.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only declare openWorld and non-idempotent; the description adds substantial context beyond them: the server holds no keys or funds, it relays to the same public gate any HTTP client uses, an unpaid call returns a live 402 challenge, and success returns a packet id and public page. It also discloses the $0.05 fee and that claiming remains free.

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 critical instruction (pass BODY_JSON unchanged) is front-loaded, but the closing sentence repeats points already made: the $0.05 cost, wallet-paid signing, and the house holding no keys are stated twice in near-identical wording. It is padded rather than tight.

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 paid, two-step write tool with an output schema present, the description covers the payment flow, the retry path on 402, custody guarantees, and the EWP-key exception. An agent has everything needed to invoke 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%, so the schema already documents all three parameters, and the description largely restates them (BODY_JSON unchanged, signature over MESSAGE_TO_SIGN, xPayment header). It adds modest emphasis on the 'unchanged' constraint and the EWP-key exception, but nothing the schema lacks syntactically.

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 (complete the posting) and names the resource (the work post packet) plus its exact position in a two-step flow. It explicitly names the sibling prepare_post_work as the source of bodyJson, so an agent can distinguish this submit tool from the many prepare_* tools.

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 explicit when-to-use (after prepare_post_work, passing BODY_JSON unchanged), a conditional alternative (skip xPayment if you hold an EWP key), and a failure path (a 402 challenge with exact price and pay-to, then retry via a fresh prepare). No inference about sequencing or payment is left to the agent.

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

submit_proofSubmit the signed proof (step 2 of 2)AInspect

Relay the signed proof to the public completion gate: pass workId, the BODY_JSON from prepare_proof UNCHANGED, and the signature over MESSAGE_TO_SIGN. Approval follows (the creator, or self-verification where the packet supports it); on a funded packet, approval releases the wage into settlement; on an unfunded packet, approval RECORDS earned credit — never a settlement by itself. work_status shows where it stands. Cost and signer: free, no gas; signed by the person's own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
workIdYesThe packet id.
bodyJsonYesThe exact BODY_JSON string from prepare_proof, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations by naming what approval actually does downstream: on a funded packet it releases the wage into settlement, on an unfunded packet it only RECORDS earned credit and is 'never a settlement by itself.' It also discloses who approves, that the call is free/no gas, and that signing uses the person's own wallet or passkey with the house never holding a key — none of which the annotations convey.

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

Conciseness4/5

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

Front-loads the action and the three inputs before the downstream consequences, and every clause carries substantive information. It is a dense run-on block rather than a structured list, which slightly hurts scanability for a multi-step tool.

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?

Covers the full lifecycle an agent needs: required inputs and their provenance, what approval grants under both funded and unfunded conditions, cost/signer model, and where to check status. With an output schema present, no return-value explanation is owed.

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 are already documented in the schema. The description restates the critical constraint (bodyJson must be UNCHANGED, signature over MESSAGE_TO_SIGN) but adds no syntax, format, or failure-mode detail beyond it; baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource — 'Relay the signed proof to the public completion gate' — and anchors it as step 2 of the prepare_proof/submit_proof pair. An agent can immediately distinguish it from prepare_proof and from sibling submit_* tools without opening a schema.

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 prerequisites: call only with workId, the BODY_JSON from prepare_proof UNCHANGED, and the signature over MESSAGE_TO_SIGN, which implicitly sequences it after prepare_proof. It also points to work_status for follow-up state. It stops short of an explicit 'do not call before prepare_proof / do not re-sign the body' exclusion, so it is strong but not fully prescriptive.

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

submit_requestSubmit the request signed by its own requesterAInspect

Relay BODY_JSON from prepare_request, unchanged, with the caller's personal_sign signature over MESSAGE_TO_SIGN to the existing /labor/request gate. Never hold or sign a key or send payment. The gate validates wallet ownership and either records a demand request, resolves it to an existing or newly posted governed packet, or returns a blocker. A request is not a purchase order, funding commitment, employment agreement, permission to work, or verified outcome. If a relay times out, first read existing requests for that wallet rather than blindly submitting again. Cost and signer: free, no gas; signed by the person's own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
bodyJsonYesThe exact BODY_JSON from prepare_request, unchanged.
signatureYesThe caller's 0x personal_sign signature over MESSAGE_TO_SIGN. Never the key.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations: discloses cost (free, no gas), custody model (house never holds a key; signed by the person's own wallet or passkey), the gate's validation behavior, and the three possible outcomes (recorded request, resolved to an existing/new governed packet, or blocker). The retry warning is especially valuable given idempotentHint=false, where a blind resubmit could duplicate.

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

Conciseness4/5

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

Front-loaded with the action and the exact payload/signature contract before any caveats, and the timeout rule is placed where it will be read. It is dense but nearly every sentence carries operational weight; the disclaimer about what a request is not is the one partially expendable clause.

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?

With an output schema available, the description needn't explain return shapes, and it covers the remaining gaps an agent needs: precondition, custody/signing model, cost, failure/blocker behavior, and retry safety. Nothing material is missing for correct invocation.

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 parameters are already documented, so the schema does the heavy lifting. The description reinforces the 'unchanged' constraint on bodyJson and that the signature is personal_sign over MESSAGE_TO_SIGN and never the key, but adds no new format or syntax detail beyond the schema.

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?

Specific verb (relay/submit) plus specific resource (BODY_JSON from prepare_request to the /labor/request gate), and it names its upstream companion tool explicitly, so the prepare_request -> submit_request pairing is unmistakable. It is clearly distinguished from the many other submit_* siblings by the target endpoint and payload contract.

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 precondition (payload must come from prepare_request, unchanged) and gives a concrete when-not rule: on timeout, read existing requests for that wallet rather than resubmitting. It stops short of naming the specific sibling to read (request_status vs. my_work), so the alternative is implied rather than explicit.

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

submit_token_offerSubmit the signed token offer (step 2 of 2)AInspect

Complete the offer: pass workId, the BODY_JSON from prepare_token_offer UNCHANGED, and the signature your wallet produced over MESSAGE_TO_SIGN. Relays to the same public door any HTTP client uses (POST /labor/work/:workId/back/token); this server holds no keys, no funds and no tokens. Free with a valid signature. Returns the recorded offer and the packet's token terms. Cost and signer: free, no gas; signed by the person's own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
workIdYesThe packet id.
bodyJsonYesThe exact BODY_JSON string from prepare_token_offer, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4/5.0
Behavior4/5

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

Goes well beyond the annotations by disclosing that the server relays to a public door, holds no keys/funds/tokens, requires no gas, and that signing happens in the user's own wallet or passkey. That is real trust and cost context an agent needs. It omits the non-idempotent retry behavior implied by idempotentHint=false, which matters for a submission step.

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?

Front-loaded with the required inputs, which is good, but the tail repeats itself: 'Free with a valid signature' is restated as 'Cost and signer: free, no gas,' and the no-key point is made twice. Roughly a third of the text is redundant.

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?

An output schema exists, so return values need not be explained, though the description usefully notes it returns the recorded offer and token terms. Combined with the openWorldHint relay context, the definition is nearly complete; the main gap is guidance on re-submission given the non-idempotent hint.

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 schema descriptions already say bodyJson is the exact string from prepare_token_offer and signature is the personal_sign output over MESSAGE_TO_SIGN. The description restates those constraints rather than adding new semantics, so the baseline 3 applies.

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

Purpose5/5

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

States a concrete action (complete the offer), names the exact endpoint it relays to (POST /labor/work/:workId/back/token), and ties itself to step 1 via prepare_token_offer. This is clearly distinguishable from siblings like prepare_token_offer and submit_token_settlement.

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 the explicit precondition chain: run prepare_token_offer first, pass its BODY_JSON unchanged, and supply a wallet signature over MESSAGE_TO_SIGN. It also states the operation is free with a valid signature. It does not name a when-not-to-use case or point to submit_token_settlement as the contrasting path, so it stops short of full routing guidance.

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

submit_token_settlementSubmit the signed token settlement (step 2 of 2)AInspect

Complete the record: pass workId, the BODY_JSON from prepare_token_settlement UNCHANGED, and the signature your wallet produced over MESSAGE_TO_SIGN. Relays to POST /labor/work/:workId/settle/token; this server holds no keys, no funds and no tokens, and reads the chain only. Free with a valid signature. Returns the settlement with settledIn naming the chain, token, atomic amount and payer. Cost and signer: free, no gas; signed by the person's own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
workIdYesThe packet id.
bodyJsonYesThe exact BODY_JSON string from prepare_token_settlement, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4/5.0
Behavior4/5

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

Adds substantial context beyond annotations: relays to POST /labor/work/:workId/settle/token, the server holds no keys/funds/tokens and reads the chain only, and there is no gas cost because the user's own wallet or passkey signs. It does not describe failure behavior for an invalid signature or whether the settlement becomes irreversible on-chain, which keeps it from 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.

Conciseness3/5

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

The core instruction is front-loaded and useful, but cost and key-custody facts are duplicated: 'this server holds no keys... and reads the chain only' is repeated as 'the house never holds a key', and 'Free with a valid signature' is restated as 'Cost and signer: free, no gas'. Trimming those repetitions would sharpen it.

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

Completeness4/5

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

For a mutating submission tool with annotations, full schema coverage and an output schema, this covers the workflow, custody model, cost, and what the settlement response contains. The main remaining gap is error/failure guidance for a rejected or invalid signature.

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 explains workId, bodyJson and signature. The description reinforces that bodyJson must be passed unchanged and ties it to prepare_token_settlement, but largely repeats the field documentation rather than adding format or validation rules. Baseline 3 is 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?

States a specific verb and resource ('Complete the record', pass workId/bodyJson/signature) and identifies itself as step 2 of 2, which cleanly distinguishes it from prepare_token_settlement. An agent can tell exactly what this does without opening the schema.

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

Usage Guidelines4/5

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

Explicitly names the prerequisite tool and the exact artifact to carry forward ('BODY_JSON from prepare_token_settlement UNCHANGED', signature over MESSAGE_TO_SIGN). It stops short of stating when not to call (e.g., missing/expired signature), but for a chained submit tool this is clear, actionable context.

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

submit_voteSubmit the signed vote (step 2 of 2)AInspect

Complete the vote: pass workId, the BODY_JSON from prepare_vote UNCHANGED, and the signature your wallet produced over MESSAGE_TO_SIGN. This server relays the signed request to the same public vote gate any HTTP client uses — it holds no keys and no funds, and without your signature it can do nothing. Free, always: no fee is ever charged for a validly signed vote. Returns the live tally for this packet. Cost and signer: free, no gas; signed by the person's own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
workIdYesThe packet id.
bodyJsonYesThe exact BODY_JSON string from prepare_vote, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the annotations, it discloses that the server only relays the signed request to a public vote gate, holds no keys or funds, charges no fee or gas, and requires the user's own wallet or passkey signature. These are meaningful trust, cost, and security traits not captured by readOnlyHint/openWorldHint/destructiveHint.

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 action and prerequisites are front-loaded, which is good. However, the no-fee, no-key, and self-custody points are repeated across multiple sentences, so the description is longer than necessary.

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 three-parameter tool with full schema coverage, annotations, and an output schema, the description supplies the necessary sequence, signing/security context, fee behavior, and a brief return summary. An agent has enough context to invoke 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%, so all three parameters are already documented in the schema. The description reinforces provenance and the 'UNCHANGED' constraint for bodyJson, but mostly repeats the schema rather than adding new syntax or format semantics.

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 and resource: 'Complete the vote' and 'step 2 of 2'. It explicitly references prepare_vote as the source of BODY_JSON, so an agent can distinguish this submission step from the preparation sibling.

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 clearly establishes the required sequence: use the BODY_JSON from prepare_vote unchanged and supply the wallet signature over MESSAGE_TO_SIGN. It does not spell out when not to use this tool or name all alternative paths, but the prerequisite is unambiguous.

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

submit_vote_withdrawSubmit the signed withdrawal (step 2 of 2)AInspect

Complete the withdrawal: pass workId, the BODY_JSON from prepare_vote_withdraw UNCHANGED, and the signature over MESSAGE_TO_SIGN. Free, always, and relays to the same public gate any HTTP client uses. Cost and signer: free, no gas; signed by the person's own wallet or passkey, and the house never holds a key.

NameRequiredDescriptionDefault
workIdYesThe packet id.
bodyJsonYesThe exact BODY_JSON string from prepare_vote_withdraw, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare non-readonly, open-world, non-idempotent, non-destructive behavior; the description adds material context beyond that — no gas cost, signing by the user's own wallet or passkey, and that the house never holds a key, plus the relay path to the same public gate as any HTTP client. It does not address replay/retry behavior despite idempotentHint=false, which is the one notable 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?

The critical instruction (pass these three values, body unchanged, signature over MESSAGE_TO_SIGN) is front-loaded in the first clause. Minor redundancy between 'Free, always' and 'Cost and signer: free, no gas' costs it a point, but nothing is padding.

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

Completeness4/5

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

With an output schema available and annotations covering the safety profile, the description supplies the flow position, cost, and signer model an agent needs to invoke it correctly. The missing piece is what happens on a repeated or failed submission, which matters given a non-idempotent write step.

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 baselines at 3; the description reinforces the 'UNCHANGED' constraint on bodyJson but adds no syntax, format, or validation detail beyond what the schema fields already state for workId, bodyJson, and signature.

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 opens with a specific verb+resource ('Complete the withdrawal') and positions the tool as step 2 of 2, explicitly tied to prepare_vote_withdraw. This makes it distinguishable from the adjacent prepare_vote_withdraw and from the many sibling submit_* tools by naming the exact predecessor artifact.

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 clearly states the prerequisite flow: use this after prepare_vote_withdraw, passing that tool's BODY_JSON and the signature over MESSAGE_TO_SIGN. It does not spell out failure/recovery cases (e.g., what to do if the signature expires or the body was modified), so it lacks explicit when-not guidance, but the ordering context is unambiguous.

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

support_nextWhere the next dollar or the next hour does the mostA
Read-onlyIdempotent
Inspect

Answers "where should the next dollar go" (view backer) or "what should I do next near me" (view worker): one ranked list of open claimable jobs, place conditions that are not yet covered, and open outcome bids, each row explained in plain words by named score parts that add up to its score. It composes reads that already exist: open claimable work and its funding state, the Standing of the places it sits at (which conditions are not yet covered or are due to be measured again), votes, market admission and open outcome bids, and creates no store. The scoring table is in every reply. OUR OWN ACTIVITY NEVER RAISES A SCORE: only votes the board's own rule counted score, demand the records call ours scores nothing, and a bid placed by the house earns nothing. A count nobody could read is a dash, never a zero, and the row says what was not read. Pay is proposed unless a job is funded, and a person accepts every proof. In the worker view, give lat and lng to see only work within radiusKm of you (default 25); remote work stays. Free, keyless, read-only. VEALTH IS AN EXPERIMENT AND THIS IS A READING OF THE BOARD, NOT ADVICE: a rank is no promise that a job will be funded, accepted or paid, and says nothing about anyone's fitness for a job. The reply ends with the top row's own next call. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
latNoYour latitude, from -90 to 90. Send with lng. Optional; with it nearness scores and the worker view drops work beyond radiusKm.
lngNoYour longitude, from -180 to 180. Send with lat.
viewNobacker (the default): who and where to back next. worker: what to do next near me.
limitNoMost rows to return, from 1 to 50. Defaults to 10.
radiusKmNoKilometres around you, from 0.1 to 500. Defaults to 25. Needs lat and lng.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.9/5.0
Behavior5/5

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

Beyond the annotations (which already declare read-only/idempotent/non-destructive), the description discloses real behavioral rules: it 'composes reads that already exist... and creates no store', 'OUR OWN ACTIVITY NEVER RAISES A SCORE', unreadable counts render as a dash rather than zero, and pay is proposed unless a job is funded. These are non-obvious semantics an agent could not get from the schema or annotations, and nothing contradicts the readOnlyHint.

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 core is front-loaded well (what it returns, then how it's composed, then caveats), but the prose is dense jargon and repeats itself: 'Free, keyless, read-only' appears mid-text and again as 'Cost and signer: free and keyless, nothing to sign.' The ALL-CAPS scoring rule and the experiment disclaimer add value but the duplication costs space.

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

Completeness4/5

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

With an output schema present the description needn't detail return shape, and it still covers composition sources, scoring transparency, the worker proximity behavior, and the no-advice caveat. What's missing is placement relative to sibling tools like find_work or next_action, which matters given how crowded this tool family is.

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?

Schema coverage is 100%, so the baseline is 3; the description nonetheless adds meaning the schema lacks — that lat/lng makes 'nearness scores' count and that in the worker view 'remote work stays' even when out-of-radius work is dropped, plus the default radius of 25. It does not explain limit or the backer view's ranking inputs, but the added proximity semantics justify going above baseline.

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 concrete output — 'one ranked list of open claimable jobs, place conditions that are not yet covered, and open outcome bids' — and frames the two modes (backer/worker) with their questions. It is clear what the tool returns, but it never distinguishes itself from near-neighbours in the sibling list such as find_work, next_action, my_next_step, or place_standing, leaving the agent to guess which is the right entry point.

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 through the two views and the note that lat/lng switches on the worker proximity filter ('In the worker view, give lat and lng to see only work within radiusKm of you'). There is no explicit when-not guidance and no named alternative among the many overlapping siblings, so the agent must infer routing from the description's framing alone.

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

track_followupTrack unresolved care follow-upA
Read-onlyIdempotent
Inspect

Private, read-only follow-up tracking. Keeps appointments, referrals, records and other stated next steps from disappearing. It records what another person or service said should happen; it does not invent clinical next steps. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
itemsYes

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false. The description adds useful context beyond those annotations: it is private, free, keyless, and requires nothing to sign. It also explains that it records externally stated next steps rather than generating clinical recommendations.

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 short and front-loaded with the core identity: private, read-only follow-up tracking. Each following sentence adds a distinct constraint or boundary without redundancy.

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?

Annotations and an output schema reduce the description's burden for safety and return-value details. However, the input schema is extremely vague, and the description does not specify what fields each item object should contain, leaving a meaningful gap for an agent constructing the required input.

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 schema has 0% description coverage and only defines items as an array of unspecified objects. The description helps by explaining that items represent appointments, referrals, records, and other stated next steps, but it does not describe the expected object fields or structure within each item.

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 resource and action: tracking follow-up items such as appointments, referrals, and records. It also clarifies the boundary that it records what another person or service said should happen rather than inventing clinical next steps. It does not explicitly differentiate itself from nearby siblings like next_action or my_next_step.

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 when to use it by saying it keeps appointments, referrals, records, and other stated next steps from disappearing. It also states a negative boundary: it does not invent clinical next steps. However, it gives no explicit routing guidance to alternatives such as next_action, my_next_step, or support_next.

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

understand_needTurn a health or care problem into bounded coordination workA
Read-onlyIdempotent
Inspect

Private, read-only coordination. Converts the person's own description into a nonclinical coordination frame, routes explicit emergency/crisis/withdrawal/safeguarding signals to qualified humans, and never diagnoses, treats, prescribes, or creates an employer-facing health record. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
summaryYesMinimum-necessary description of what is making life or care harder. Do not include names, date of birth, full address, medical-record number, insurance/member id, account credentials, or other identifiers.
categoryNo
safetySignalNoOnly pass a stronger signal when the user/context explicitly supports it. Never infer one from vague distress.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, open-world, so the safety profile is covered. The description adds genuinely new behavioral context: it never diagnoses, treats, prescribes, or creates an employer-facing health record, it escalates crisis signals to qualified humans, and it is free/keyless with nothing to sign. What 'routes to qualified humans' concretely means is left vague.

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 privacy/read-only framing and the scope boundary are front-loaded, and the cost/signer note is compressed into one clause. Slight redundancy with the annotations' readOnly hint, but nothing 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?

With an output schema present, return values need no explanation, and the description covers the privacy stance, escalation behavior, and scope limits for a read-only 3-param tool. The only real gap is the undocumented category enum, which is a schema problem the description could have patched.

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 67%, with the summary and safetySignal parameters well described in the schema itself (including the don't-infer-from-vague-distress rule). The description reinforces the safety-signal routing semantics but says nothing about the 12-value category enum, which is undocumented in both schema and description. Baseline 3 fits.

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+resource combination: it converts a person's own problem description into a nonclinical coordination frame and routes safety signals to humans. That is clearer than the bare name and sets a boundary (no diagnosis/treatment), but it never names a sibling tool (e.g. capacity_checkin, prepare_visit, support_next) to disambiguate within this large catalog.

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?

"Private, read-only coordination" and the routing of explicit emergency/crisis/withdrawal/safeguarding signals imply the context of use, but there is no explicit "use this when / not when" statement and no mention of which sibling to pick instead for adjacent tasks like visit prep or follow-up tracking. Usage is left to inference.

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

verify_anchorCheck whether a file was anchored, and whenA
Read-onlyIdempotent
Inspect

Given the SHA-256 of a file, say whether it is anchored, when, and return the merkle proof plus the transaction so the caller can check it independently without trusting Vealth. Use it to confirm someone held a document when they claim they did, or to confirm your own submission landed. Free and keyless. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
sha256YesSHA-256 of the file, 64 lowercase hex characters.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/openWorld, so the safety profile is covered. The description adds genuinely useful context beyond that: the proof is independently verifiable without trusting the operator, and the call is free and keyless with nothing to sign. The cost/signer point is, however, stated twice in the same sentence, diluting the value.

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 core purpose and return payload are front-loaded and efficient. The closing 'Free and keyless. Cost and signer: free and keyless, nothing to sign.' is a redundant restatement within two sentences, which is sloppy structure rather than harmful, but it costs a point.

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?

An output schema exists, so return values need no further explanation, and annotations carry the safety profile. The description covers purpose, trust model, cost, and use cases adequately; only the relationship to anchor_proof is unaddressed.

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

Parameters3/5

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

Schema coverage is 100% and the single parameter's format (64 lowercase hex characters) is documented in the schema itself. The description only restates that it takes a file's SHA-256, adding no semantics beyond the structured field, 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 concrete verb+resource: given a SHA-256, report whether the file is anchored, when, and return the merkle proof and transaction. That is far more specific than the title alone. It does not explicitly differentiate itself from the conceptually adjacent sibling anchor_proof, leaving the agent to infer which one 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 Guidelines4/5

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

Gives two clear usage scenarios: verifying a third party's claim about holding a document at a time, and confirming your own submission landed. No explicit when-not conditions or sibling alternatives are named, so it stops short of full routing guidance.

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

verify_workVerify a work claim into a signed certificateA
Read-onlyIdempotent
Inspect

Check a proof URI is safely machine-checkable, then get the exact path to Vealth's paid verification door: a SIGNED, re-checkable certificate anyone can reproduce — no oracle, no judge. Digital claims only; physical proof (photo + GPS + signature) is honestly routed to human review, never faked. This tool validates and instructs; the caller pays the door from their own wallet. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
workIdNoOptional board packet id, to check its specific proof requirement.
proofUriYeshttps URL of the LIVE proof to verify. No auth, no query parameters.
standardNoOptional standard key the claim is made against.
definitionIdNoOptional self-verifying definition id, if known.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.7/5.0
Behavior4/5

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

The description adds meaningful context beyond the annotations: the tool validates and instructs, does not pay the door itself, is free and keyless, and does not fake physical proof. This clarifies cost, signing, and trust behavior, though it does not cover auth or rate-limit details.

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 description is front-loaded with the core action and remains reasonably compact. Some phrasing is rhetorical ('honestly routed,' 'never faked'), but it still supports the behavioral context rather than wasting space.

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?

Given an output schema, full parameter coverage, and annotations, the description is complete enough to call the tool correctly. It explains the digital-only scope and the validate-then-instruct behavior, with only minor ambiguity around sibling selection.

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 only light context such as 'digital claims only' and 'safely machine-checkable,' without additional parameter syntax or constraints 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?

The description states specific actions: check a proof URI for machine-checkability and return the path to a paid verification door for a signed, re-checkable certificate. It clearly distinguishes digital claims from physical proof routing, though it does not explicitly differentiate itself from sibling proof-submission 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?

It gives a useful condition: digital claims only, while physical proof is routed to human review. However, it does not name when to use this versus siblings like prepare_proof, submit_proof, or verify_anchor, leaving the alternative selection implied rather than explicit.

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

worker_titlesThe titles and credentials one wallet declares, with status and evidenceA
Read-onlyIdempotent
Inspect

The Vealth titles register for one wallet: every title the worker declared on their own signature (CHST, OSHA 30, CPR, a guard card, anything), each with a status derived from the worker's OWN declared dates (current, expired, unknown_expiry), a verify pointer to the ISSUER'S record (we carry the link, we never fetch it), board evidence in that title's scope (on-chain-confirmed settlements and reviews the wallet accepted), and the declaration's anchor hash. Self-declared and shown as such; nothing here gates a claim or makes hiring, employment, qualification, or fitness decisions for an employer. Public mirror: https://vealth.net/labor/worker//titles. Free, keyless, read-only. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
walletYesThe worker's wallet address (0x…).

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4/5.0
Behavior5/5

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

Annotations only declare read-only/idempotent/openWorld; the description adds substantial context beyond that: how statuses are derived (worker's own declared dates), that verify pointers are carried but never fetched, that everything is self-declared and non-gating for employment decisions, and that access is free and keyless with nothing to sign. Those are exactly the behavioral traits an agent can't get from the structured fields.

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 core content is front-loaded and the scope/status/evidence/anchor enumeration is efficient, but the final clauses are redundant: 'Free, keyless, read-only' is immediately restated as 'Cost and signer: free and keyless, nothing to sign.' The single run-on sentence also makes it harder to scan.

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

Completeness4/5

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

With an output schema present, the description doesn't need to explain return values, and it already covers provenance, status derivation, evidence scope, and access model. The only meaningful gap is the absence of routing guidance versus closely related tools like compare_titles or verify_work.

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 wallet parameter is already documented in the schema, and the tool has only one parameter. The description reinforces that the wallet is the subject of the register but adds no format, validation, or edge-case detail beyond that. Baseline 3 applies.

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

Purpose5/5

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

Names a specific resource (the Vealth titles register for one wallet) and enumerates exactly what is returned: titles, derived status, issuer verify pointer, board evidence, and anchor hash. It is clearly distinguishable from siblings like compare_titles or verify_work, which do different things with title data.

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 establishes the unit of retrieval ('for one wallet') and the self-declared nature of the data, which implicitly tells an agent when this is the right source. However, it never names alternatives such as compare_titles or verify_work, nor states a when-not condition. Usage is inferable but not stated.

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

work_statusWhere a packet stands right nowB
Read-onlyIdempotent
Inspect

Live lifecycle state of one packet — OPEN, CLAIMED, PROOF_SUBMITTED, APPROVED, PROOF_REJECTED, SETTLED or EXPIRED — plus its honest pay status (funded vs proposed). Free, keyless, read-only. Cost and signer: free and keyless, nothing to sign.

NameRequiredDescriptionDefault
workIdYesThe packet id.

Output Schema

NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The one genuinely additive disclosure is 'keyless, nothing to sign', which tells the agent no wallet signature is required — annotations cannot express that. The rest repeats annotations nearly verbatim and doubles down with a redundant 'Cost and signer: free and keyless' sentence, adding no rate-limit, auth-scope, or staleness behavior.

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 first clause is well front-loaded and information-dense with the state enumeration. The closing sentence 'Cost and signer: free and keyless, nothing to sign' restates 'Free, keyless' already given in the same description — a wasted sentence in a two-sentence definition.

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?

An output schema exists, so return-value explanation is unnecessary, and the single parameter is fully documented. For a read-only single-packet lookup with rich annotations and a typed output, the description covers what an agent needs before calling. The remaining gap is disambiguation from the overlapping status siblings, which the sibling list makes costly 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% for the single parameter, so the schema already documents workId ('The packet id.'). The description only adds the scope hint 'one packet', which confirms cardinality but gives no id format, source, or example beyond the schema. Baseline 3 applies when the schema carries the parameter burden.

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 ('Live lifecycle state of one packet') and enumerates the exact state vocabulary (OPEN, CLAIMED, PROOF_SUBMITTED, APPROVED, PROOF_REJECTED, SETTLED, EXPIRED) plus a pay-status dimension. It does not, however, distinguish itself from close siblings like chain_work_status, request_status, or get_work_packet, so an agent cannot route on purpose alone.

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: 'Live' and 'right now' suggest polling for current state, and the state list tells the agent what it will learn. There is no explicit when-to-use, no when-not-to-use, and no mention of the near-duplicate status tools in the sibling set.

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. 3 tool updates
    • Changedhow_to_claim1 field changed
      • addedInput schema / properties / workId
        Added value: +{
        +  "description": "Optional. The job in hand (e.g. WORK_1784530149768_4z4r6jz). With it the reply ends in the exact prepare_claim for that job; without it, in find_work.",
        +  "type": "string"
        +}
    • Changedprepare_physical_proof1 field changed
      • changedInput schema / properties / gps / description
        Previous value: -"Optional {lat, lng} captured ON SITE. Defaults to the on-site GPS your signed proof already carried."New value: +"The {lat, lng} you captured ON SITE with your photos. Required: the board does not read a stored location back to a caller."
    • Changedprepare_proof1 field changed
      • addedInput schema / properties / measurement
        Added value: +{
        +  "description": "Optional: what this proof is. A reading: {\"kind\":\"measurement\",\"measuredAt\":\"<ISO>\",\"delta\":0}, with delta on a re-measure (above 0 better, 0 held, below 0 worse). A repair: {\"kind\":\"repair\",\"measuredAt\":\"<ISO>\",\"delta\":1}. Only a reading counts toward a place's Standing. Without it the proof is accepted as usual and covers no condition.",
        +  "properties": {
        +    "delta": {
        +      "type": "number"
        +    },
        +    "kind": {
        +      "enum": [
        +        "measurement",
        +        "repair"
        +      ],
        +      "type": "string"
        +    },
        +    "measuredAt": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
  2. 6 tool updates
    • Addedbeacon
    • Changedprepare_accept_hours3 fields changed
      • addedInput schema / properties / decision
        Added value: +{
        +  "description": "accept (the default), reject: return the proof to the worker with your reason, or step-down: stop being this packet's acceptor.",
        +  "enum": [
        +    "accept",
        +    "reject",
        +    "step-down"
        +  ],
        +  "type": "string"
        +}
      • addedInput schema / properties / reason
        Added value: +{
        +  "description": "Required when decision is reject: one plain sentence saying what the worker must fix.",
        +  "type": "string"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "workId",
        -  "acceptor",
        -  "hoursAccepted"
        -]New value: +[
        +  "workId",
        +  "acceptor"
        +]
    • Addedprepare_direct_offer
    • Addedprepare_direct_settlement
    • Addedsubmit_direct_offer
    • Addedsubmit_direct_settlement
  3. 8 tool updates
    • Removedcrypto_lanes
    • Removedcrypto_route_set
    • Removedgmx_get_orders
    • Removedgmx_get_positions
    • Removedgmx_get_prices
    • Removedoperator_decisions
    • Removedprepare_gmx_order
    • Removedsubmit_gmx_order
  4. 1 tool update
    • Changedprepare_bid2 fields changed
      • addedInput schema / properties / attestAtLeast18
        Added value: +{
        +  "description": "Physical bids only. Set true ONLY after the human caller explicitly affirms: I am at least 18 years old. A bid is a deferred claim, so prepare_bid will refuse to create a signable bid when this statement is required and has not been affirmed.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / attestSafetyRead
        Added value: +{
        +  "description": "Hazard-bearing physical bids only. Set true ONLY after the human caller has actually read and affirms the exact packet safety / stop-work text that prepare_bid surfaces. Never infer or auto-fill this affirmation.",
        +  "type": "boolean"
        +}
  5. 9 tool updates
    • Addedmy_ledger
    • Addedmy_next_step
    • Addednet_mechanism
    • Addednet_open_tasks
    • Addednet_order_status
    • Addednet_plan_commission
    • Addednet_programs
    • Addednet_review_evidence
    • Addedsupport_next
  6. 3 tool updates
    • Addedprepare_request
    • Addedrequest_status
    • Addedsubmit_request
  7. 1 tool update
    • Addedday_card
  8. 3 tool updates
    • Addedoutcome_bid_status
    • Addedprepare_outcome_bid
    • Addedsubmit_outcome_bid
  9. 2 tool updates
    • Changedfind_work1 field changed
      • changedInput schema / properties / near / description
        Previous value: -"A place in plain words: a city, neighborhood, address, or ZIP, e.g. 'Los Angeles, CA' or '90036'. Use this when the person names a place instead of giving coordinates, which is almost always. Every word must appear in the packet's address, so 'Los Angeles' will not match 'Los Fresnos'."New value: +"A place in plain words: a city, neighborhood, address, or ZIP, e.g. 'Los Angeles, CA' or '90036'. Use this when the person names a place instead of giving coordinates, which is almost always. The board finds the place from the open jobs whose address names every word (so 'Los Angeles' never matches 'Los Fresnos'), then returns the jobs around it, nearest first."
    • Changedstart_here3 fields changed
      • addedInput schema / properties / latitude
        Added value: +{
        +  "description": "Optional. Only if you already have the person's real coordinates.",
        +  "type": "number"
        +}
      • addedInput schema / properties / longitude
        Added value: +{
        +  "description": "Optional. Only if you already have the person's real coordinates.",
        +  "type": "number"
        +}
      • addedInput schema / properties / near
        Added value: +{
        +  "description": "Optional. The person's place in plain words, e.g. 'Echo Park, Los Angeles' or '90026'.",
        +  "type": "string"
        +}
  10. 2 tool updates
    • Addedsubmit_feedback
    • Addedsubmit_funding
  11. 5 tool updates
    • Addedcapacity_checkin
    • Addednext_action
    • Addedprepare_visit
    • Addedtrack_followup
    • Addedunderstand_need
  12. 2 tool updates
    • Addedchain_work_status
    • Addedprepare_chain_step
  13. 1 tool update
    • Changedfind_work1 field changed
      • addedInput schema / properties / flag
        Added value: +{
        +  "description": "One posting flag, exact match, e.g. vsh_eligible — the packets that carry Regen Network proposal 77's terms (accepted hours pay REGEN, never a USD conversion). Omit for every flag.",
        +  "type": "string"
        +}
  14. 3 tool updates
    • Changedprepare_claim1 field changed
      • addedInput schema / properties / crew
        Added value: +{
        +  "description": "Optional, for a MANAGER claiming for a crew: the people who will do the work, 1 to 25 of {\"ref\":\"amina\",\"label\":\"Amina\"}. A ref is your own handle for the person (2 to 40 lowercase letters, digits or hyphens), a label an optional short name to call out; never an identity (no legal name, phone or email). This wallet stays the worker of record: it signs, hands in the proof and is paid. The crew rides inside the signed body; a bad crew is refused before any message to sign.",
        +  "items": {
        +    "properties": {
        +      "label": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "ref"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
    • Changedprepare_post_work4 fields changed
      • addedInput schema / properties / flags
        Added value: +{
        +  "description": "Optional authority flags, the two the claim gate reads and no others: permit-required when the work needs a permit, regulated when it needs a licensed trade (licensed electrician, plumber or contractor, asbestos or lead abatement). The board records the need and keeps such work closed to claims while regulated claims are closed; never leave a flag off to make work claimable.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / proofRequirements
        Added value: +{
        +  "description": "Optional. The proof items, one line each (at most 20, 600 characters each), e.g. 'photo of the tree beside a measuring stick'.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / safetyNotes
        Added value: +{
        +  "description": "Optional. The hazards and stop-work rules a worker must read before starting, at most 600 characters. A packet with safety notes asks every claimer to affirm they are 18 or over and have read this exact text.",
        +  "type": "string"
        +}
      • addedInput schema / properties / skillLevel
        Added value: +{
        +  "description": "Optional. Who can do this work: entry (a newcomer, safely, from the text alone), intermediate or advanced. Omitted, it posts as entry and the reply says so; the board's entry-level filter reads it, so never leave skilled work at the default.",
        +  "enum": [
        +    "entry",
        +    "intermediate",
        +    "advanced"
        +  ],
        +  "type": "string"
        +}
    • Changedprepare_proof1 field changed
      • addedInput schema / properties / crew
        Added value: +{
        +  "description": "Optional, for a manager handing in proof for a crew: the people who did the work, 1 to 25 of {\"ref\":\"amina\",\"hoursClaimed\":2}, refs as on the claim. Either every person states hoursClaimed or none does; stated hours add up to the proof's hoursClaimed (omit that and their sum becomes it). The human who accepts decides the accepted total, split back across the crew in proportion (equally with no per-person hours). Omit crew on a managed claim and the claim's crew carries over.",
        +  "items": {
        +    "properties": {
        +      "hoursClaimed": {
        +        "type": "number"
        +      },
        +      "label": {
        +        "type": "string"
        +      },
        +      "ref": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "ref"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
  15. 4 tool updates
    • Addedprepare_physical_proof
    • Changedprepare_proof1 field changed
      • changedInput schema / properties / proofs / description
        Previous value: -"1-20 proof items, e.g. {\"type\":\"photo\",\"uri\":\"https://…\",\"capturedAt\":\"<ISO>\",\"lat\":…,\"lng\":…}. The packet's proof line (get_work_packet) says exactly what it needs."New value: +"1-20 proof items. A photo goes in BY REFERENCE: {\"type\":\"photo\",\"upload\":\"sha256:<hex>\",\"step\":1,\"capturedAt\":\"<ISO>\"}, where the reference is what `node vealth-agent.mjs proof-photo <workId> <claimId> <photo files>` printed on the person's own machine; the photo bytes never pass through this conversation. A small file may still go inline as {\"type\":\"photo\",\"data\":\"<base64>\"}. Text notes are {\"type\":\"text\",\"data\":\"…\"}. The packet's proof line (get_work_packet) says exactly what it needs."
    • Changedprovision_plan1 field changed
      • changedInput schema / properties / entryLevelOnly / description
        Previous value: -"Only work the corpus holds as entry level."New value: +"Only work the corpus holds as entry level; the reply also carries entry_set, the posted work a stranger can take today."
    • Addedsubmit_physical_proof
  16. 1 tool update
    • Addedprovision_plan
  17. 1 tool update
    • Changedprepare_claim2 fields changed
      • addedInput schema / properties / attestAtLeast18
        Added value: +{
        +  "description": "Physical claims only. Set true ONLY after the human caller explicitly affirms: I am at least 18 years old. prepare_claim will refuse to create a signable claim when this statement is required and has not been affirmed.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / attestSafetyRead
        Added value: +{
        +  "description": "Hazard-bearing physical claims only. Set true ONLY after the human caller has actually read and affirms the exact packet safety / stop-work text that prepare_claim surfaces. Never infer or auto-fill this affirmation.",
        +  "type": "boolean"
        +}
  18. 2 tool updates
    • Changedhour_card1 field changed
      • addedInput schema / properties / lang
        Added value: +{
        +  "description": "Optional, defaults to \"en\". \"sw\" reads the card in Swahili.",
        +  "enum": [
        +    "en",
        +    "sw"
        +  ],
        +  "type": "string"
        +}
    • Addedmy_money

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    A
    maintenance
    Agentic job board for too hard basket items, with independently verifiable participant reputation status that is earned via participant activity
    -
  • F
    license
    A
    quality
    C
    maintenance
    Universal work attestation for autonomous agents. Register any AI agent or machine with persistent cryptographic identity, attest completed work with tamper-evident on-chain records, and query trust scores. The reputation layer for the agent economy. 3 MCP tools over SSE. Settled on Solana.
    11
    2
    -
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI agents to register under a human voucher, then browse, post, claim, deliver and verify tasks on a shared board while accruing reputation from verified work. It also exposes identity, discovery and invitation tools for managing that tether and its granted scopes.
    24
    2,562 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    AI agents hire people for work they can't finish alone (data curation, red-teaming, scraping, transcription), paid via non-custodial USDC escrow on Base. Returns unsigned transactions and holds no keys.
    1
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources